dev
This commit is contained in:
@@ -12,7 +12,7 @@ from core.basic.equipment import get_equipment, EquEffect, Equ
|
|||||||
|
|
||||||
# from core.basic.equipment import equipments
|
# from core.basic.equipment import equipments
|
||||||
# from core.basic.skill import Skill, ActiveSkill, PassiveSkill
|
# from core.basic.skill import Skill, ActiveSkill, PassiveSkill
|
||||||
from .formula import 增幅计算, 强化技攻, 武器强化计算, 精通计算, 获取基础属性, 耳环计算, 左右计算, 锻造计算
|
from .formula import 增幅计算, 强化技攻, 武器强化计算, 精通计算, 获取唤醒属性, 获取基础属性, 耳环计算, 左右计算, 锻造计算
|
||||||
from .roleinfo import CharacterEquipInfo, get_key_by_value
|
from .roleinfo import CharacterEquipInfo, get_key_by_value
|
||||||
# from .property import 精通计算, 角色基础, CharacterInfo
|
# from .property import 精通计算, 角色基础, CharacterInfo
|
||||||
|
|
||||||
@@ -229,8 +229,9 @@ class Character(CharacterProperty):
|
|||||||
"""设角色基础属性"""
|
"""设角色基础属性"""
|
||||||
# 角色四维
|
# 角色四维
|
||||||
temp = 获取基础属性(self.角色, self.职业)
|
temp = 获取基础属性(self.角色, self.职业)
|
||||||
|
唤醒 = 获取唤醒属性()
|
||||||
for index, i in enumerate([get_key_by_value(i) for i in ['力量', '体力', '智力', '精神']]):
|
for index, i in enumerate([get_key_by_value(i) for i in ['力量', '体力', '智力', '精神']]):
|
||||||
setattr(self, i, getattr(self,i) + temp[index])
|
setattr(self, i, getattr(self,i) + temp[index] + 唤醒)
|
||||||
# 角色属性抗性
|
# 角色属性抗性
|
||||||
pass
|
pass
|
||||||
# 角色异常抗性
|
# 角色异常抗性
|
||||||
@@ -826,7 +827,20 @@ class Character(CharacterProperty):
|
|||||||
info = self.get_buffer_info()
|
info = self.get_buffer_info()
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
skillInfos = self.calc_carry_skills()
|
# 如果存在
|
||||||
|
if len(self.输出类型选项) > 1:
|
||||||
|
temp = self.输出类型选项[0]
|
||||||
|
if '固伤' in temp:
|
||||||
|
if self.INT > self.STR:
|
||||||
|
self.输出类型 = '魔法固伤'
|
||||||
|
else:
|
||||||
|
self.输出类型 = '物理固伤'
|
||||||
|
else:
|
||||||
|
if self.INT > self.STR or self.AtkM > self.AtkP:
|
||||||
|
self.输出类型 = '魔法百分比'
|
||||||
|
else:
|
||||||
|
self.输出类型 = '物理百分比'
|
||||||
|
skillInfos = self.calc_carry_skills(setInfo.get("DSB", False),setInfo.get("BUFF", False))
|
||||||
info = self.get_carry_info()
|
info = self.get_carry_info()
|
||||||
return {
|
return {
|
||||||
'uuid': uuid1().hex,
|
'uuid': uuid1().hex,
|
||||||
@@ -840,7 +854,7 @@ class Character(CharacterProperty):
|
|||||||
|
|
||||||
# region 输出计算项
|
# region 输出计算项
|
||||||
|
|
||||||
def calc_damage_ration(self):
|
def calc_damage_ration(self,DSB:bool,BUFF:bool):
|
||||||
"""计算属性系数"""
|
"""计算属性系数"""
|
||||||
# 计算最终属性
|
# 计算最终属性
|
||||||
# 力/智 攻击力 攻击力%(特效不吃这部分)
|
# 力/智 攻击力 攻击力%(特效不吃这部分)
|
||||||
@@ -854,9 +868,13 @@ class Character(CharacterProperty):
|
|||||||
if self.输出类型 == '魔法固伤':
|
if self.输出类型 == '魔法固伤':
|
||||||
attrs.extend(['INT', 'AtkI', 'PAtkI'])
|
attrs.extend(['INT', 'AtkI', 'PAtkI'])
|
||||||
# 力智系数
|
# 力智系数
|
||||||
ratio_0: float = getattr(self, attrs[0]) / 250 + 1
|
value0_1 = getattr(self, attrs[0])
|
||||||
|
value0_2 = 获取基础属性(self.角色, self.职业)[0] if attrs[0] == 'STR' else 获取基础属性(self.角色, self.职业)[1]
|
||||||
|
# 系统奶及奶系增幅
|
||||||
|
value = value0_1 + ((value0_1 - value0_2) * 3.08 + 2886) * (1 if DSB else 0) + (170000 + 300000) * (1 if BUFF else 0)
|
||||||
|
ratio_0: float = value / 250 + 1
|
||||||
# 物理/魔法/独立攻击力
|
# 物理/魔法/独立攻击力
|
||||||
ratio_1: float = getattr(self, attrs[1])
|
ratio_1: float = getattr(self, attrs[1]) + 30000 * (1 if BUFF else 0)
|
||||||
# 技能 物理/魔法/独立攻击力%
|
# 技能 物理/魔法/独立攻击力%
|
||||||
ratio_2: float = getattr(self, attrs[2])
|
ratio_2: float = getattr(self, attrs[2])
|
||||||
# 属强系数
|
# 属强系数
|
||||||
@@ -876,7 +894,7 @@ class Character(CharacterProperty):
|
|||||||
ratio_9 = 1.0 * self.ElementIncrease
|
ratio_9 = 1.0 * self.ElementIncrease
|
||||||
return (ratio_0, ratio_1, ratio_2, ratio_3, ratio_4, ratio_5, ratio_6, ratio_7, ratio_8, ratio_9)
|
return (ratio_0, ratio_1, ratio_2, ratio_3, ratio_4, ratio_5, ratio_6, ratio_7, ratio_8, ratio_9)
|
||||||
|
|
||||||
def calc_carry_skills(self):
|
def calc_carry_skills(self,DSB:bool,BUFF:bool):
|
||||||
skillInfos = []
|
skillInfos = []
|
||||||
for i in self.skills:
|
for i in self.skills:
|
||||||
if i.damage and i.lv > 0:
|
if i.damage and i.lv > 0:
|
||||||
@@ -895,7 +913,7 @@ class Character(CharacterProperty):
|
|||||||
'learnLv': i.learnLv,
|
'learnLv': i.learnLv,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
ratios = self.calc_damage_ration()
|
ratios = self.calc_damage_ration(DSB,BUFF)
|
||||||
ratio_char_skill = ratios[0] * ratios[1] * ratios[2] * ratios[3] * ratios[4] * ratios[5] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 1000
|
ratio_char_skill = ratios[0] * ratios[1] * ratios[2] * ratios[3] * ratios[4] * ratios[5] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 1000
|
||||||
ratuio_equ_skill = ratios[0] * ratios[1] * ratios[3] * ratios[4] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 1000
|
ratuio_equ_skill = ratios[0] * ratios[1] * ratios[3] * ratios[4] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 1000
|
||||||
for i in skillInfos:
|
for i in skillInfos:
|
||||||
|
|||||||
@@ -572,15 +572,14 @@ def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类,属性='',ca
|
|||||||
def 获取基础属性(角色, 职业):
|
def 获取基础属性(角色, 职业):
|
||||||
角色数据 = 角色基础系数[角色]
|
角色数据 = 角色基础系数[角色]
|
||||||
职业数据 = 职业基础数据[职业 + '-' + 角色]
|
职业数据 = 职业基础数据[职业 + '-' + 角色]
|
||||||
|
力量 = int(角色数据[4] + 角色数据[0] * min(14, 当前等级 - 1) + 职业数据[0] * max(当前等级 - 15, 0) + 93 + 当前等级)
|
||||||
唤醒 = 335 if 当前等级 >= 75 else (145 if 当前等级 >= 15 else 0)
|
体力 = int(角色数据[5] + 角色数据[1] * min(14, 当前等级 - 1) + 职业数据[1] * max(当前等级 - 15, 0) + 93 + 当前等级)
|
||||||
|
智力 = int(角色数据[6] + 角色数据[2] * min(14, 当前等级 - 1) + 职业数据[2] * max(当前等级 - 15, 0) + 93 + 当前等级)
|
||||||
力量 = int(角色数据[4] + 角色数据[0] * min(14, 当前等级 - 1) + 职业数据[0] * max(当前等级 - 15, 0) + 唤醒 + 93 + 当前等级)
|
精神 = int(角色数据[7] + 角色数据[3] * min(14, 当前等级 - 1) + 职业数据[3] * 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 (力量, 智力, 体力, 精神)
|
return (力量, 智力, 体力, 精神)
|
||||||
|
|
||||||
|
def 获取唤醒属性():
|
||||||
|
return 335 if 当前等级 >= 75 else (145 if 当前等级 >= 15 else 0)
|
||||||
|
|
||||||
def 获取属性抗性基础(角色, 职业):
|
def 获取属性抗性基础(角色, 职业):
|
||||||
return 职业属性抗性数据[职业 + '-' + 角色]
|
return 职业属性抗性数据[职业 + '-' + 角色]
|
||||||
|
|||||||
@@ -562,8 +562,8 @@ class classChange(Character):
|
|||||||
self.role = 'gunner_male'
|
self.role = 'gunner_male'
|
||||||
|
|
||||||
self.武器选项 = ['手弩', '步枪','左轮枪','自动手枪','手炮']
|
self.武器选项 = ['手弩', '步枪','左轮枪','自动手枪','手炮']
|
||||||
self.输出类型选项 = ['物理固伤','魔法固伤']
|
self.输出类型选项 = ['物理百分比','魔法百分比']
|
||||||
self.输出类型 = '物理固伤'
|
self.输出类型 = '物理百分比'
|
||||||
self.防具精通属性 = ['智力', '力量']
|
self.防具精通属性 = ['智力', '力量']
|
||||||
self.防具类型 = '皮甲'
|
self.防具类型 = '皮甲'
|
||||||
self.buff = 1.84
|
self.buff = 1.84
|
||||||
|
|||||||
@@ -11,11 +11,14 @@
|
|||||||
<div class="flex h-auto p-1 overflow-y-hidden" v-if="!!infoStore.infos?.alter">
|
<div class="flex h-auto p-1 overflow-y-hidden" v-if="!!infoStore.infos?.alter">
|
||||||
<RouterView></RouterView>
|
<RouterView></RouterView>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-1 ml-auto h-auto overflow-y-auto z-2">
|
<div class="p-1 ml-auto h-auto overflow-x-auto z-2">
|
||||||
<Result></Result>
|
<Result></Result>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer flex"></div>
|
<div class="footer flex">
|
||||||
|
<calc-checkbox round v-model="configStore.config.DSB">系统奶</calc-checkbox>
|
||||||
|
<calc-checkbox round v-model="configStore.config.BUFF">组队</calc-checkbox>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -76,9 +79,9 @@ onUnmounted(() => {
|
|||||||
.footer {
|
.footer {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: end;
|
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
|
gap : 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
|
|||||||
@@ -52,6 +52,10 @@ export interface IConfig {
|
|||||||
>
|
>
|
||||||
sundry: Record<string, any>
|
sundry: Record<string, any>
|
||||||
bindAwake: number
|
bindAwake: number
|
||||||
|
/** 系统奶 */
|
||||||
|
DSB : boolean
|
||||||
|
/** 奶 */
|
||||||
|
BUFF : boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultEqusConfig = {
|
const defaultEqusConfig = {
|
||||||
@@ -83,7 +87,9 @@ export const useConfigStore = defineStore('configStore', () => {
|
|||||||
jades: {},
|
jades: {},
|
||||||
avatar: {},
|
avatar: {},
|
||||||
sundry: {},
|
sundry: {},
|
||||||
bindAwake: 50
|
bindAwake: 50,
|
||||||
|
DSB: true,
|
||||||
|
BUFF: true,
|
||||||
})
|
})
|
||||||
|
|
||||||
const skillCountConfig = ref<IResultSkillCount[]>([])
|
const skillCountConfig = ref<IResultSkillCount[]>([])
|
||||||
@@ -109,7 +115,9 @@ export const useConfigStore = defineStore('configStore', () => {
|
|||||||
jades: {},
|
jades: {},
|
||||||
avatar: {},
|
avatar: {},
|
||||||
sundry: {},
|
sundry: {},
|
||||||
bindAwake: 50
|
bindAwake: 50,
|
||||||
|
DSB: true,
|
||||||
|
BUFF: true,
|
||||||
}
|
}
|
||||||
if (!config.value?.equips) config.value.equips = {}
|
if (!config.value?.equips) config.value.equips = {}
|
||||||
if (!config.value?.skills) config.value.skills = {}
|
if (!config.value?.skills) config.value.skills = {}
|
||||||
|
|||||||
Reference in New Issue
Block a user