Spaces:
Runtime error
Runtime error
File size: 3,205 Bytes
f0b1638 2452398 f0b1638 2f63a42 f0b1638 2f63a42 f0b1638 2452398 f0b1638 3ed500d f0b1638 b76daae f0b1638 6ab7697 f0b1638 36e359a |
1 2 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 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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
import os
from dataclasses import dataclass
from typing import Type, List, Dict, Union, Tuple
from base.attribute import Attribute
from base.buff import Buff
from base.gain import Gain
from base.skill import Skill
# from general.gains import equipment
from schools import bei_ao_jue
""" Directory """
# ASSETS_DIR = os.path.join(os.getcwd(), "qt/assets")
ASSETS_DIR = "qt/assets"
EQUIPMENTS_DIR = os.path.join(ASSETS_DIR, "equipments")
ENCHANTS_DIR = os.path.join(ASSETS_DIR, "enchants")
STONES_DIR = os.path.join(ASSETS_DIR, "stones.json")
""" Equipments """
POSITION_MAP = {
'帽子': 'hat',
'上衣': 'jacket',
'腰带': 'belt',
'护腕': 'wrist',
'下装': 'bottoms',
'鞋子': 'shoes',
'项链': 'necklace',
'腰坠': 'pendant',
'戒指1': 'ring',
'戒指2': 'ring',
'远程武器': 'tertiary_weapon',
'近战武器': 'primary_weapon',
'额外武器': 'secondary_weapon'
}
STONES_POSITIONS = ["primary_weapon", 'secondary_weapon']
EMBED_POSITIONS = {
"hat": 2,
"jacket": 2,
"belt": 2,
"wrist": 2,
"bottoms": 2,
"shoes": 2,
"necklace": 1,
"pendant": 1,
"ring": 0,
"tertiary_weapon": 1,
"primary_weapon": 3,
"secondary_weapon": 3
}
SPECIAL_ENCHANT_POSITIONS = ["hat", "jacket", "belt", "wrist", "shoes"]
""" Attrs """
ATTR_TYPE_TRANSLATE = {
"weapon_damage_base": "基础武器伤害",
"weapon_damage_rand": "浮动武器伤害",
"all_major_base": "全属性",
"agility_base": "身法",
"strength_base": "力道",
"spirit_base": "根骨",
"spunk_base": "元气",
"physical_attack_power_base": "外功攻击",
"magical_attack_power_base": "内功攻击",
"physical_critical_strike_base": "外功会心",
"magical_critical_strike_base": "内功会心",
"all_critical_strike_base": "全会心",
"physical_critical_power_base": "外功会效",
"magical_critical_power_base": "内功会效",
"all_critical_power_base": "全会效",
"physical_overcome_base": "外功破防",
"magical_overcome_base": "内功破防",
"surplus": "破招",
"strain_base": "无双",
"haste_base": "加速",
}
ATTR_TYPE_TRANSLATE_REVERSE = {v: k for k, v in ATTR_TYPE_TRANSLATE.items()}
STONE_ATTR = [
"atMeleeWeaponDamageBase", "atSurplusValueBase", "atStrainBase", "atHasteBase",
"atAllTypeCriticalStrike", "atAllTypeCriticalDamagePowerBase",
"atAgilityBase", "atStrengthBase", "atSpiritBase", "atSpunkBase",
"atPhysicsAttackPowerBase", "atPhysicsCriticalStrike",
"atPhysicsCriticalDamagePowerBase", "atPhysicsOvercomeBase",
"atMagicAttackPowerBase", "atMagicCriticalStrike",
"atMagicCriticalDamagePowerBase", "atMagicOvercome"
]
""" Equip """
MAX_EMBED_ATTR = 3
MAX_BASE_ATTR = 6
MAX_MAGIC_ATTR = 12
MAX_ENCHANT_ATTR = 4
MAX_STONE_ATTR = 3
MAX_EMBED_LEVEL = 8
MAX_STRENGTH_LEVEL = 8
MAX_STONE_LEVEL = 6
def EMBED_COF(level):
if level > 6:
return (level * 0.65 - 3.2) * 1.3
else:
return level * 0.195
def STRENGTH_COF(level):
return level * (0.7 + 0.3 * level) / 200
""" Talent """
MAX_TALENTS = 12
""" Recipes """
MAX_RECIPE_SKILLS = 12
MAX_RECIPES = 4
""" Consumables """
|