예제 #1
0
class PhysicsConfig(Model):
    """物理属性"""
    move_speed = FloatField(0x2A8, label='移动速度')
    jump_height = FloatField(0x2EC, label='跳跃高度')
    friction = FloatField(0x2D8, label='摩擦力')
    viewing_height = FloatField(0x350, label='可视高度')
예제 #2
0
class ShieldHealth(Value):
    """护甲和生命"""
    regen_rate = FloatField(0x98, label='回复速度')
    status = Field(0x104, label='切换')  # Normal: 5, God: 6
예제 #3
0
class WeaponAmmo(Value):
    """弹药"""
    regen_rate = FloatField(0x84, label='回复速度')
    status = Field(0x104, label='切换')  # Normal: 5, Infinite: 6
    infinite = ToggleField(0x104, enable=6, disable=5, label='不减')
예제 #4
0
class SystemConfig(Model):
    """系统属性"""
    time_scale_multiplier = FloatField(0x328, label='时间流逝倍数')
    gravity = FloatField(0x3A0, label='重力')
예제 #5
0
class AbilityCooldown(Value):
    mult = FloatField(0x70, label='冷却倍数')
예제 #6
0
class TeamConfig(Model):
    """团队属性"""
    skill_mgr = ModelPtrField((0xB74, 0x58), SkillManager, label='技能')
    ability_cooldown = ModelPtrField(0xB64, AbilityCooldown, label='主技能冷却')
    damage_heals_self = FloatField(0xBF4)
    team_ammo_regen = FloatField(0xE58, label='团队弹药回复')
    explosives_heal_allies = FloatField(0xF90)
    bullets_heal_allies = FloatField(0xF54)
    badass_tokens = FloatField(0x1664, label='坏小子徽章')
    badass_bonuses = ArrayField((0x1678, 0), 14, Field(0))  # 坏小子加成效果
    team_kill_skill_timer_mult = FloatField(0x18A4)

    bullets_resistance = FloatField(0x4A0, label='普通抗性')
    physical_resistance = FloatField(0x580, label='物理抗性')
    melee_resistance = FloatField(0x4C8, label='近战抗性')
    explosive_resistance = FloatField(0x5A8, label='爆炸抗性')
    shock_resistance = FloatField(0x5D0, label='闪电抗性')
    corrosive_resistance = FloatField(0x5F8, label='腐蚀抗性')
    fire_resistance = FloatField(0x620, label='火焰抗性')
    slag_resistance = FloatField(0x648, label='紫渣抗性')
    elemental_resistance = FloatField(0x4B4, label='元素抗性')
    grenades_resistance = FloatField(0x4DC, label='手榴弹/枪桶抗性')
    rockets_resistance = FloatField(0x4F0, label='火箭炮抗性')
    chock_time = FloatField(0x464, label='闪电时间')
    corrosive_time = FloatField(0x478, label='腐蚀时间')
    fire_time = FloatField(0x450, label='火焰时间')
    melee_damage = FloatField(0x374, label='近战伤害')
    physical_damage = FloatField(0x57C, label='物理伤害')
    explosive_damage = FloatField(0x554, label='爆炸伤害')
    shock_damage = FloatField(0x540, label='闪电伤害')
    corrosive_damage = FloatField(0x568, label='腐蚀伤害')
    fire_damage = FloatField(0x52C, label='火焰伤害')
    slag_damage = FloatField(0x590, label='紫渣伤害')
예제 #7
0
class PhysicsManager(Model):
    movement_mgr = ModelPtrField((0, 0x28, 0x5A0), MovementManager)
    view_height = FloatField((0x10, 0x28, 0x360), label='可视高度')
예제 #8
0
class SkillManager(Model):
    ability_status = Field(0x1C, label='主技能状态')
    ability_duration = FloatField((0, 0x74), label='主技能持续时间')
    skills = ArrayField(0x40, 33, ModelField(0, SkillItem))
예제 #9
0
class WeaponAmmo(Value):
    """弹药"""
    SIZE = 4
    regen_rate = FloatField(0x80, label='回复速度')
예제 #10
0
class Movement(Model):
    coord = CoordField(0, label='坐标')
    air_time = FloatField(-0x14, label='空中滞留时间')  # 初始30, 减慢为15
    jump_height = FloatField(-0x18, label='跳跃高度')
    move_speed_mult = FloatField(-0x38, label='移动速度倍数')
예제 #11
0
class ResourceManager(Model):
    SIZE = 12
    food = FloatField(0, label='食物')
    wood = FloatField(4, label='木材')
    rock = FloatField(8, label='石材')
    gold = FloatField(12, label='黄金')
예제 #12
0
class UnitType(Model):
    # type = ByteField(0x4, label="类型")  # 类型
    # dll_name = WordField(0xC, label="语言DLL:名称")
    # dll_hint = WordField(0xE, label="语言DLL:创建提示")
    # id1 = WordField(0x10, label="ID 1")
    # id2 = WordField(0x12, label="ID 2")
    # id3 = WordField(0x14, label="ID 3")
    # type2 = WordField(0x16, label="类别")
    # fn_str = ModelPtrField(0x18, StringField(0), 'fn名称指针')
    # name_str = ModelPtrField(0x20, StringField(0), '名称指针')
    # dll_help = Field(0xA8, label="语言DLL:帮助说明")
    # dll_hot_text = Field(0xAC, label="语言DLL:热键文字")
    # dll_hot_text_ = Field(0xB0, label="热键文字")
    hp_max = WordField(0x2A, label="HP上限")
    view = FloatField(0x2C, label="视野")
    shipload = ByteField(0x30, label="Shipload")
    collision = FloatField(0x34, label="碰撞")
    move_speed = FloatField(0xC8, label="移动速度")
    search = FloatField(0x104, label="搜索")
    work_efficiency = FloatField(0x108, label="工作效率")
    def_items = ModelPtrField(0x128, AtkDefItems)  # 防御列表
    atk_items = ModelPtrField(0x130, AtkDefItems)  # 攻击列表
    range_max = FloatField(0x138, label="最大射程")
    damage_radius = FloatField(0x13C, label="攻击范围")
    damage_type = Field(0x140, label="伤害方式")
    atk_interval = FloatField(0x144, label="攻击间隔")  # 越小攻速越快(>0)
    atk_interval2 = FloatField(0x168, label="攻击间隔2")
    range_min = FloatField(0x15C, label="最小射程")
    base_def = WordField(0x160, label="显示的防御")
    base_atk = WordField(0x162, label="显示的攻击")
    range_base = FloatField(0x164, label="显示的射程")
    construction_time = WordField(0x182, label="建造时间")
    thrown_object = WordField(0x148, label="抛掷物单位")
    addition_thrown_object = WordField(0x1AC, label="附加抛掷物单位")
    min_thrown_object_count = WordField(0x19C, label="最小附加弹药数")
    thrown_object_area = CoordField(0x1A0, label="抛掷物产生区域")
예제 #13
0
class PopulationManager(Model):
    current = FloatField(0x2C, label='当前')
    total = FloatField(0x10, label='剩余')
    max = FloatField(0x80, label='上限')