feat:修正职业基础系数

This commit is contained in:
2026-06-28 21:59:12 +08:00
parent 879d765d51
commit e3660034ea
4 changed files with 182 additions and 1212 deletions
+176 -111
View File
@@ -342,107 +342,152 @@ def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类, 属性='',
# 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, 6.5, 6.5, 5.5, 5.5),
'帝国骑士': (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),
'协战师-神枪手(女)': (3.5, 5.5, 3.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, 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, 4.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
'蓝拳圣使-圣职者(女)': (5.5, 5, 3.9, 3.9),
# 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, 5.5, 3.5),
'奇美拉-弓箭手': (5.5, 5.5, 3.5, 3.5),
#
'破浪者-帝国骑士': (6, 5.5, 3.5, 3.5),
character_base = {
"archer": {
"initial": (100.5, 100.5, 99.5, 99.5),
"basic": (5.6, 5.6, 5.4, 5.4),
"muse": (4.5, 6.5, 4.5, 6.5),
"traveler": (6.5, 6.5, 4.5, 4.5),
"hunter": (6.5, 6.0, 4.5, 5.0),
"vigilante": (4.5, 4.5, 6.5, 6.5),
"chimera": (6.5, 6.5, 4.5, 4.5),
},
"demonic_lancer": {
"initial": (101.0, 101.0, 99.0, 99.0),
"basic": (5.6, 5.6, 5.4, 5.4),
"vanguard": (6.5, 6.5, 4.5, 4.5),
"skirmisher": (6.0, 6.0, 5.0, 5.0),
"dragoon": (4.0, 5.5, 7.0, 5.5),
"impaler": (4.5, 4.5, 6.5, 6.5),
},
"fighter_male": {
"initial": (101.5, 101.5, 98.5, 98.5),
"basic": (6.0, 6.0, 5.0, 5.0),
"nenmaster_male": (4.5, 4.5, 6.5, 6.5),
"striker_male": (6.5, 6.5, 4.5, 4.5),
"brawler_male": (6.0, 5.0, 6.0, 5.0),
"grappler_male": (6.0, 7.0, 4.5, 4.5),
},
"fighter_female": {
"initial": (101.5, 101.5, 98.5, 98.5),
"basic": (6.0, 6.0, 5.0, 5.0),
"nenmaster_female": (4.5, 4.5, 6.5, 6.5),
"striker_female": (6.5, 6.5, 4.5, 4.5),
"brawler_female": (6.0, 5.0, 6.0, 5.0),
"grappler_female": (6.0, 7.0, 4.5, 4.5),
},
"gunblader": {
"initial": (101.0, 101.0, 99.0, 99.0),
"basic": (5.6, 5.6, 5.4, 5.4),
"hitman": (6.5, 6.5, 4.5, 4.5),
"agent": (6.0, 6.0, 5.0, 5.0),
"trouble_shooter": (6.2, 6.0, 4.5, 5.3),
"specialist": (4.5, 4.5, 6.5, 6.5),
},
"gunner_female": {
"initial": (100.5, 100.5, 99.5, 99.5),
"basic": (5.5, 5.5, 5.5, 5.5),
"ranger_female": (6.5, 6.5, 4.5, 4.5),
"launcher_female": (6.5, 6.5, 4.5, 4.5),
"mechanic_female": (4.5, 4.5, 6.5, 6.5),
"spitfire_female": (5.7, 5.3, 5.7, 5.3),
"paramedic": (6.5, 4.0, 5.0, 6.5),
},
"gunner_male": {
"initial": (100.5, 100.5, 99.5, 99.5),
"basic": (5.5, 5.5, 5.5, 5.5),
"ranger_male": (6.5, 6.5, 4.5, 4.5),
"launcher_male": (6.5, 6.5, 4.5, 4.5),
"mechanic_male": (4.5, 4.5, 6.5, 6.5),
"spitfire_male": (5.7, 5.3, 5.7, 5.3),
"assault": (6.5, 6.5, 4.5, 4.5),
},
"imperialknight": {
"initial": (101.0, 101.0, 99.0, 99.0),
"basic": (5.6, 5.6, 5.4, 5.4),
"breaker": (7.0, 6.5, 4.0, 4.5),
},
"knight": {
"initial": (101.0, 101.0, 99.0, 99.0),
"basic": (5.8, 5.8, 5.2, 5.2),
"elven_knight": (6.0, 6.0, 5.0, 5.0),
"chaos": (4.5, 4.5, 6.5, 6.5),
"paladin": (6.0, 6.5, 3.0, 6.5),
"dragon_knight": (6.0, 6.0, 5.0, 5.0),
},
"mage_male": {
"initial": (98.0, 98.5, 102.0, 101.5),
"basic": (4.5, 5.0, 6.5, 6.0),
"elemental_bomber": (4.5, 4.5, 6.5, 6.5),
"glacial_master": (4.5, 4.8, 6.5, 6.2),
"blood_mage": (6.5, 6.5, 4.5, 4.5),
"swift_master": (6.5, 6.2, 4.5, 4.8),
"dimension_walker": (4.5, 4.5, 6.5, 6.5),
},
"mage_female": {
"initial": (98.5, 98.5, 101.5, 101.5),
"basic": (5.0, 5.0, 6.0, 6.0),
"elementalist": (4.5, 4.5, 6.5, 6.5),
"summoner": (4.8, 4.7, 6.3, 6.2),
"battle_mage": (6.0, 5.0, 6.0, 5.0),
"witch": (5.5, 5.0, 6.2, 5.3),
"enchantress": (4.5, 5.5, 6.5, 5.5),
},
"priest_female": {
"initial": (100.5, 100.5, 98.5, 100.5),
"basic": (5.7, 5.8, 5.0, 5.5),
"crusader_female": (4.5, 6.5, 6.5, 4.5),
"inquistor": (6.2, 6.0, 4.5, 5.3),
"sorceress": (4.5, 4.5, 6.5, 6.5),
"mistress": (4.5, 4.5, 6.5, 6.5),
"infighter_female": (6.5, 5.5, 4.5, 5.5),
},
"priest_male": {
"initial": (100.5, 100.5, 98.5, 100.5),
"basic": (5.7, 5.8, 5.0, 5.5),
"crusader_male": (4.5, 6.5, 4.5, 6.5),
"infighter": (6.2, 6.0, 4.9, 4.9),
"exorcist": (6.0, 5.0, 6.0, 5.0),
"avenger": (4.5, 4.5, 6.5, 6.5)
},
"swordman_female": {
"initial": (101.0, 101.0, 99.0, 99.0),
"basic": (5.6, 5.6, 5.4, 5.4),
"sword_master": (6.0, 6.0, 5.0, 5.0),
"dark_templar": (4.5, 4.5, 6.5, 6.5),
"demon_slayer": (6.5, 6.5, 4.5, 4.5),
"vegabond": (6.5, 6.5, 4.5, 4.5),
"spectre": (6.0, 6.0, 5.0, 5.0),
},
"swordman_male": {
"initial": (101.5, 101.5, 98.5, 98.5),
"basic": (5.8, 5.8, 5.2, 5.2),
"weapon_master": (6.0, 6.0, 5.0, 5.0),
"soul_bender": (4.5, 4.5, 6.5, 6.5),
"berserker": (6.5, 6.5, 4.5, 4.5),
"asura": (4.0, 5.5, 7.0, 5.5),
"ghostblade": (6.0, 6.0, 5.0, 5.0)
},
"thief": {
"initial": (101.5, 99.5, 100.5, 98.5),
"basic": (6.0, 5.0, 6.0, 5.0),
"rogue": (6.3, 5.5, 5.2, 5.0),
"necro": (5.7, 4.5, 6.3, 5.5),
"kunoichi": (5.5, 4.5, 6.5, 5.5),
"shadow_dancer": (6.5, 5.5, 5.0, 5.0),
"growtype_6": (5.0, 4.0, 5.0, 4.0),
},
"creator": {
"initial": (98.5, 98.5, 101.5, 101.5),
"basic": (5.0, 5.0, 6.0, 6.0),
"creator": (5.0, 5.0, 6.0, 6.0),
},
"dark_knight": {
"initial": (101.5, 101.5, 98.5, 98.5),
"basic": (5.8, 5.8, 5.2, 5.2),
"dark_knight": (5.8, 5.8, 5.2, 5.2),
},
}
# 火抗 冰抗 光抗 暗抗
@@ -598,19 +643,39 @@ def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类, 属性='',
}
def 获取基础属性(角色, 职业):
角色数据 = 角色基础系数[角色]
职业数据 = 职业基础数据[职业 + '-' + 角色]
# TODO 将93 + 当前等级 角色基础数据+94 角色成长全部+1
力量 = int(角色数据[4] + 角色数据[0] * min(14, 当前等级 - 1) + 94 + (职业数据[0] + 1) * max(当前等级 - 15, 0))
体力 = int(角色数据[5] + 角色数据[1] * min(14, 当前等级 - 1) + 94 + (职业数据[1] + 1) * max(当前等级 - 15, 0))
智力 = int(角色数据[6] + 角色数据[2] * min(14, 当前等级 - 1) + 94 + (职业数据[2] + 1) * max(当前等级 - 15, 0))
精神 = int(角色数据[7] + 角色数据[3] * min(14, 当前等级 - 1) + 94 + (职业数据[3] + 1) * max(当前等级 - 15, 0))
return (力量, 智力, 体力, 精神)
def get_base_attributes(character, growth, current_level = 115):
'''
获取职业基础属性
返回 (力量, 体力, 智力, 精神)
'''
# 外传特殊处理
key = growth if character == 'extra' else character
basic = character_base.get(key, {})
growth_info = basic.get(growth, None)
if growth_info is None:
return (0,0,0,0)
else:
basic_level = min(14, current_level - 1)
growth_level = max(current_level - 15, 0)
return tuple(
int(basic['initial'][i] + basic['basic'][i] * basic_level + growth_info[i] * growth_level)
for i in range(4)
)
def 获取唤醒属性():
return 335 if 当前等级 >= 75 else (145 if 当前等级 >= 15 else 0)
# def 获取基础属性(角色, 职业):
# 角色数据 = 角色基础系数[角色]
# 职业数据 = 职业基础数据[职业 + '-' + 角色]
# # TODO 将93 + 当前等级 角色基础数据+94 角色成长全部+1
# 力量 = int(角色数据[4] + 角色数据[0] * min(14, 当前等级 - 1) + 94 + (职业数据[0] + 1) * max(当前等级 - 15, 0))
# 体力 = int(角色数据[5] + 角色数据[1] * min(14, 当前等级 - 1) + 94 + (职业数据[1] + 1) * max(当前等级 - 15, 0))
# 智力 = int(角色数据[6] + 角色数据[2] * min(14, 当前等级 - 1) + 94 + (职业数据[2] + 1) * max(当前等级 - 15, 0))
# 精神 = int(角色数据[7] + 角色数据[3] * min(14, 当前等级 - 1) + 94 + (职业数据[3] + 1) * max(当前等级 - 15, 0))
# return (力量, 智力, 体力, 精神)
def 获取唤醒属性(current_level = 115):
return 335 if current_level >= 75 else (145 if current_level >= 15 else 0)
def 获取属性抗性基础(角色, 职业):