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.skill import Skill, ActiveSkill, PassiveSkill
|
||||
from .formula import 增幅计算, 强化技攻, 武器强化计算, 精通计算, 获取基础属性, 耳环计算, 左右计算, 锻造计算
|
||||
from .formula import 增幅计算, 强化技攻, 武器强化计算, 精通计算, 获取唤醒属性, 获取基础属性, 耳环计算, 左右计算, 锻造计算
|
||||
from .roleinfo import CharacterEquipInfo, get_key_by_value
|
||||
# from .property import 精通计算, 角色基础, CharacterInfo
|
||||
|
||||
@@ -229,8 +229,9 @@ class Character(CharacterProperty):
|
||||
"""设角色基础属性"""
|
||||
# 角色四维
|
||||
temp = 获取基础属性(self.角色, self.职业)
|
||||
唤醒 = 获取唤醒属性()
|
||||
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
|
||||
# 角色异常抗性
|
||||
@@ -826,7 +827,20 @@ class Character(CharacterProperty):
|
||||
info = self.get_buffer_info()
|
||||
pass
|
||||
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()
|
||||
return {
|
||||
'uuid': uuid1().hex,
|
||||
@@ -840,7 +854,7 @@ class Character(CharacterProperty):
|
||||
|
||||
# region 输出计算项
|
||||
|
||||
def calc_damage_ration(self):
|
||||
def calc_damage_ration(self,DSB:bool,BUFF:bool):
|
||||
"""计算属性系数"""
|
||||
# 计算最终属性
|
||||
# 力/智 攻击力 攻击力%(特效不吃这部分)
|
||||
@@ -854,9 +868,13 @@ class Character(CharacterProperty):
|
||||
if self.输出类型 == '魔法固伤':
|
||||
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])
|
||||
# 属强系数
|
||||
@@ -876,7 +894,7 @@ class Character(CharacterProperty):
|
||||
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)
|
||||
|
||||
def calc_carry_skills(self):
|
||||
def calc_carry_skills(self,DSB:bool,BUFF:bool):
|
||||
skillInfos = []
|
||||
for i in self.skills:
|
||||
if i.damage and i.lv > 0:
|
||||
@@ -895,7 +913,7 @@ class Character(CharacterProperty):
|
||||
'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
|
||||
ratuio_equ_skill = ratios[0] * ratios[1] * ratios[3] * ratios[4] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 1000
|
||||
for i in skillInfos:
|
||||
|
||||
@@ -572,15 +572,14 @@ def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类,属性='',ca
|
||||
def 获取基础属性(角色, 职业):
|
||||
角色数据 = 角色基础系数[角色]
|
||||
职业数据 = 职业基础数据[职业 + '-' + 角色]
|
||||
|
||||
唤醒 = 335 if 当前等级 >= 75 else (145 if 当前等级 >= 15 else 0)
|
||||
|
||||
力量 = 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 + 当前等级)
|
||||
力量 = 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 335 if 当前等级 >= 75 else (145 if 当前等级 >= 15 else 0)
|
||||
|
||||
def 获取属性抗性基础(角色, 职业):
|
||||
return 职业属性抗性数据[职业 + '-' + 角色]
|
||||
|
||||
@@ -562,8 +562,8 @@ class classChange(Character):
|
||||
self.role = 'gunner_male'
|
||||
|
||||
self.武器选项 = ['手弩', '步枪','左轮枪','自动手枪','手炮']
|
||||
self.输出类型选项 = ['物理固伤','魔法固伤']
|
||||
self.输出类型 = '物理固伤'
|
||||
self.输出类型选项 = ['物理百分比','魔法百分比']
|
||||
self.输出类型 = '物理百分比'
|
||||
self.防具精通属性 = ['智力', '力量']
|
||||
self.防具类型 = '皮甲'
|
||||
self.buff = 1.84
|
||||
|
||||
@@ -11,11 +11,14 @@
|
||||
<div class="flex h-auto p-1 overflow-y-hidden" v-if="!!infoStore.infos?.alter">
|
||||
<RouterView></RouterView>
|
||||
</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>
|
||||
</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>
|
||||
</template>
|
||||
|
||||
@@ -76,9 +79,9 @@ onUnmounted(() => {
|
||||
.footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: end;
|
||||
z-index: 2;
|
||||
height: 40px;
|
||||
gap : 10px;
|
||||
}
|
||||
|
||||
.content {
|
||||
|
||||
@@ -52,6 +52,10 @@ export interface IConfig {
|
||||
>
|
||||
sundry: Record<string, any>
|
||||
bindAwake: number
|
||||
/** 系统奶 */
|
||||
DSB : boolean
|
||||
/** 奶 */
|
||||
BUFF : boolean
|
||||
}
|
||||
|
||||
const defaultEqusConfig = {
|
||||
@@ -83,7 +87,9 @@ export const useConfigStore = defineStore('configStore', () => {
|
||||
jades: {},
|
||||
avatar: {},
|
||||
sundry: {},
|
||||
bindAwake: 50
|
||||
bindAwake: 50,
|
||||
DSB: true,
|
||||
BUFF: true,
|
||||
})
|
||||
|
||||
const skillCountConfig = ref<IResultSkillCount[]>([])
|
||||
@@ -109,7 +115,9 @@ export const useConfigStore = defineStore('configStore', () => {
|
||||
jades: {},
|
||||
avatar: {},
|
||||
sundry: {},
|
||||
bindAwake: 50
|
||||
bindAwake: 50,
|
||||
DSB: true,
|
||||
BUFF: true,
|
||||
}
|
||||
if (!config.value?.equips) config.value.equips = {}
|
||||
if (!config.value?.skills) config.value.skills = {}
|
||||
|
||||
Reference in New Issue
Block a user