Beispiel #1
0
 def render_main(self):
     with Group("global", "全局", self._global):
         ModelInput("lives")
         ModelInput("continues")
         ModelInput("score")
         ModelSelect("weapon", choices=WEAPONS)
         ModelCheckBox("invincible")
         ModelCheckBox("hit_anywhere")
Beispiel #2
0
    def render_main(self):
        self._global = Global(0, self.handler)

        with Group("global", "全局", self._global):
            ModelCheckBox("invincible_1", "1P无敌", enable=0xff, disable=0)
            ModelCheckBox("invincible_2", "2P无敌", enable=0xff, disable=0)
            ModelSelect("weapon_1", "1P武器", choices=BULLETS, values=BULLET_VALUES)
            ModelSelect("weapon_2", "2P武器", choices=BULLETS, values=BULLET_VALUES)
            ModelInput("lives_1", "1P生命")
            ModelInput("lives_2", "2P生命")
Beispiel #3
0
    def render_main(self):
        self._global = Global(0, self.handler)

        with Group("global", "全局", self._global):
            ModelInput("lives_1", "1P生命")
            ModelInput("lives_2", "2P生命")
            ModelCheckBox("invincible_1", "1P无敌", enable=0xFF, disable=0)
            ModelCheckBox("invincible_2", "2P无敌", enable=0xFF, disable=0)
            # ModelInput("level", "关卡(0-4)")
            ModelFlagWidget("medicine_1", "1P药水效果", labels=MEDICINE)
            ModelFlagWidget("medicine_2", "2P药水效果", labels=MEDICINE)
Beispiel #4
0
    def render_main(self):
        self._global = Global(0, self.handler)

        with Group("global", "全局", self._global):
            ModelInput("bomb_count")
            ModelInput("bomb_power")
            ModelInput("level")
            ModelInput("invincible")
            ModelCheckBox("through_bomb")
            ModelCheckBox("timebomb")
            ModelCheckBox("through_wall")
Beispiel #5
0
    def render_main(self):
        self._global = Global(0, self.handler)

        with Group("global", "全局", self._global):
            ModelInput("hp", "HP(max:47)")
            ModelInput("star", "星星")
            ModelInput("lives", "生命")
            # ModelInput("credits", "分数")
            ModelCheckBox("invincible", "闪光无敌")
            ModelCheckBox("invincible2", "状态无敌")
            ModelInput("form", "形态")
            ModelSelect("ability", "能力", choices=ABILITY)
Beispiel #6
0
    def render_main(self):

        with Group("player", "角色", self._global):
            ModelCheckBox("x_invincible", "X无敌", enable=0xFF, disable=0)
            ModelCheckBox("zero_invincible", "ZEOR无敌", enable=0xFF, disable=0)
            ModelCheckBox("axl_invincible", "AXL无敌", enable=0xFF, disable=0)
            ModelInput("hp_axl", "AXL HP")
            ModelInput("hpmax_axl", "AXL最大HP")
            ModelInput("hp_x", "X HP")
            ModelInput("hpmax_x", "X最大HP")
            ModelInput("hp_zero", "ZERO HP")
            ModelInput("hpmax_zero", "ZERO最大HP")

        with Group("global", "全局", self._global):
            ModelInput("metal", "金属")
            ModelInput("resurgence", "复活晶片")
            ModelInput("joint_attack", "双人合击气槽")
            ModelCheckBox("zero_jump", "ZERO无限跳", enable=0x02, disable=0)
            ModelCheckBox("all_weapon", "解锁全部武器", enable=0xFF, disable=0)
            ModelCheckBox("super_x", "超级装甲X", enable=0xFF, disable=0)
            ModelCheckBox("back_zero_white_axl",
                          "暗黑ZERO和坠天使AXL",
                          enable=0xFF,
                          disable=0)
            ModelCheckBox("ultimate_x", "终极装甲X", enable=0xFF, disable=0)
Beispiel #7
0
 def render_char(self):
     datasets = self.datasets
     ModelInput("addr_hex", "R键地址", readonly=True).set_help("R键人物详情中人物属性")
     ModelInput("no", "序号")
     ModelSelect("prof",
                 "职业",
                 choices=datasets.PROFESSIONS,
                 values=datasets.PROFESSION_VALUES)
     ModelInput("level", "等级")
     ModelInput("exp", "经验")
     ModelCheckBox("moved", "已行动", enable=1, disable=0)
     ModelInput("posx", "X坐标")
     ModelInput("posy", "Y坐标")
     ModelInput("hpmax", "HP最大值")
     ModelInput("hp", "HP")
     ModelInput("power", "力量")
     ModelInput("skill", "技术")
     ModelInput("speed", "速度")
     ModelInput("defense", "守备")
     ModelInput("magicdef", "魔防")
     ModelInput("lucky", "幸运")
     ModelInput("physical_add", "体格+")
     ModelInput("move_add", "移动+")
     ModelSelect("status", "状态种类", choices=datasets.STATUS)
     ModelInput("status_turn", "状态持续")
     for i, label in enumerate(("剑", "枪", "斧", "弓", "杖", "理", "光", "暗")):
         ModelInput("proficiency.%d" % i, "%s熟练度" %
                    label).set_help("E级:1 D级:31 C级:71 B级:121 A级:181 S级:251")
Beispiel #8
0
    def render_main(self):
        person = (self._person, models.Character)

        with Group("player", "全局", self._global):
            ModelInput("money.money", "金钱")

        with Group("player", "角色", person):
            Choice("角色", tuple("play%d" % i for i in range(1, 5)),
                   self.weak.on_person_change)
            ModelInput("health")
            ModelInput("health_max")
            ModelCoordWidget("coord",
                             labels=('X坐标', 'Z坐标', 'Y坐标'),
                             savable=True)
            ModelCheckBox("invincible")

        self.lazy_group(
            Group("person_items", "角色物品", person, serializable=False, cols=4),
            self.render_person_items)
        self.lazy_group(
            Group("saved_items",
                  "整理界面物品",
                  self._saved_items,
                  serializable=False,
                  cols=6), self.render_saved_items)
        # self.lazy_group(StaticGroup("物品箱/宝物箱"), self.render_inventory_treasure_items)
        self.lazy_group(StaticGroup("代码插入"), self.render_assembly_functions)
Beispiel #9
0
 def render_person(self):
     datasets = self.datasets
     ModelInput("addr_hex", "地址", readonly=True)
     ModelInput("no", "序号")
     ModelSelect("prof",
                 "职业",
                 choices=datasets.PROFESSIONS,
                 values=datasets.PROFESSION_VALUES)
     ModelInput("level", "等级")
     ModelInput("exp", "经验")
     ModelCheckBox("moved", "已行动", enable=1, disable=0)
     ModelInput("posx", "X坐标")
     ModelInput("posy", "Y坐标")
     ModelInput("hpmax", "HP上限+")
     ModelInput("hp", "HP")
     ModelInput("power", "力量+")
     ModelInput("magic", "魔力+")
     ModelInput("skill", "技术+")
     ModelInput("speed", "速度+")
     ModelInput("defense", "守备+")
     ModelInput("magicdef", "魔防+")
     ModelInput("lucky", "幸运+")
     ModelInput("move_add", "移动+")
     # ModelSelect("status", "状态种类", choices=datasets.STATUS)
     # ModelInput("status_turn", "状态持续")
     for i, label in enumerate(("剑", "枪", "斧", "弓", "书", "杖")):
         ModelInput("proficiency.%d" % i,
                    "%s熟练度+" % label).set_help(datasets.PROFICIENCY_HINT)
Beispiel #10
0
    def render_main(self):
        person = self.person
        chariot = self.chariot
        with Group("global", "全局", self._global):
            ModelInput("money", "金钱")
            ModelInput("battlein", "遇敌率")
            ModelCheckBox("battlein", "不遇敌", enable=0xFF, disable=0)

        with Group("player", "角色", person, cols=4):
            Choice("角色", datasets.PERSONS, self.on_person_change)
            ModelInput("level", "等级")
            ModelInput("hpmax", "HP上限")
            ModelInput("hp", "HP")
            ModelInput("atk", "攻击")
            ModelInput("defense", "守备")
            ModelInput("strength", "强度")
            ModelInput("intelli", "智力")
            ModelInput("stamina", "体力")
            ModelInput("speed", "速度")
            ModelInput("battle", "战斗")
            ModelInput("drive", "驾驶")
            ModelInput("fix", "修理")
            ModelInput("exp", "经验")

        self.lazy_group(Group("human_items", "角色装备/物品", person, cols=4), self.render_human_items)
        self.lazy_group(Group("chariot", "战车", chariot, cols=4), self.render_chariot)
        self.lazy_group(Group("chariot_items", "战车装备/物品", chariot, cols=4), self.render_chariot_items)

        with StaticGroup("快捷键"):
            ui.Text("左移: alt+left\n"
                "右移: alt+right\n"
                "上移: alt+up\n"
                "下移: alt+right\n"
                "恢复HP: alt+h")
Beispiel #11
0
    def render_main(self):
        with Group("global", "全局", self._global, cols=4):
            ModelInput("hp")
            ModelInput("hpmax")
            ModelInput("rupees")
            ModelInput("rupeesmax")
            ModelInput("bomb")
            ModelInput("array")
            ModelInput("conch")
            ModelSelect("weapon_a", choices=WEAPONS)
            ModelSelect("weapon_b", choices=WEAPONS)
            ModelSelect("bodysize", choices=("大", "小"), values=(0, 0x80))
            ModelCheckBox("all_scrolls")
            ModelCheckBox("all_skills")
            ModelCheckBox("all_map")

        self.lazy_group(Group("items", "物品", self._global), self.render_items)
Beispiel #12
0
 def render_pilot(self):
     Choice("角色", datasets.ROBOT_CHARACTERS, self.on_pilot_change)
     ModelSelect("pilot", choices=datasets.PILOT_CHARACTERS)
     ModelInput("exp")
     ModelInput("sp")
     ModelInput("killed")
     ui.Hr()
     ui.Hr()
     ModelFlagWidget("skill_1", labels=datasets.SKILLS_1, cols=2)
     ModelFlagWidget("skill_2", labels=datasets.SKILLS_2, cols=2)
     ModelCheckBox("skill_1_status")
     ModelCheckBox("skill_2_status")
     ModelInput("help_atk")
     ModelInput("help_def")
     ModelInput("energy")
     ModelInput("points")
     ModelArrayInput("develop")
     ModelArraySelect("skill_chip", choices=datasets.SHILL_CHIPS)
Beispiel #13
0
    def render_main(self):
        self._global = Global(0, self.handler)

        with Group("global", "全局", self._global):
            ModelInput("hp", "HP")
            ModelInput("hpmax", "最大HP")
            ModelCheckBox("invincible", "无敌", enable=0xFF, disable=0)
            ModelSelect("dragon", "当前龙", choices=DRAGONS)

        with StaticGroup("功能"):
            self.render_functions(('hp_max', 'all_dragons', 'all_tools'))
Beispiel #14
0
    def render_main(self):
        with Group("global", "全局", self._global):
            ModelInput("hp")
            ModelInput("hpmax")
            ModelInput("mp")
            ModelInput("mpmax")
            ModelInput("str")
            ModelInput("con")
            ModelInput("int")
            ModelInput("lck")
            ModelInput("level")
            ModelCheckBox("invincible1")
            ModelCheckBox("enemy_static")
            ModelCheckBox("invincible2")

        with StaticGroup("功能"):
            self.render_functions(
                ('set_monster_flag', 'set_skill_flag', 'set_soul_flag',
                 'set_equip_counts', 'set_tool_counts', 'set_enemy_flag',
                 'set_map_flag', 'set_extra_flag', 'set_boss_rush_flag'))
Beispiel #15
0
 def render_ammo(self):
     for i, label in enumerate(
         ('突击步枪子弹', '霰弹枪子弹', '手雷', '冲锋枪子弹', '手枪子弹', '火箭炮弹药', '狙击步枪子弹')):
         with ModelInput('mgr.weapon_ammos.%d.value' % i, label).container:
             ui.Button(label="最大",
                       className='btn_sm',
                       onclick=partial(self.weapon_ammo_max, i=i))
         with ModelInput('mgr.weapon_ammos.%d.regen_rate' % i,
                         '恢复速度').container:
             ModelCheckBox('mgr.weapon_ammos.%d.infinite' % i,
                           '不减',
                           alone=True)
Beispiel #16
0
 def render_global(self):
     ModelInput("money", "金钱")
     ModelInput("turns", "回合")
     ModelInput("random", "乱数").set_help("设成0: 招招命中、必杀、贯通等,升级7点成长")
     ModelSelect("chapter", "章节", choices=self.datasets.CHAPTERS)
     ModelCheckBox("inf_move", "无限行动")
     ModelCheckBox("item_count_keep", "武器耐久度不减")
     ModelCheckBox("proficiency_max", "武器熟练度最大")
     ModelCheckBox("ability_up_1", "全能力成长1点")
     ModelCheckBox("ability_up_2", "全能力成长2点")
     ModelCheckBox("got_100exp", "战后升级")
     ModelCheckBox("support_quickly", "好感度快速提升")
Beispiel #17
0
    def render_main(self):
        self._global = Global(0, self.handler)

        with Group("global", "全局", self._global):
            ModelInput("lives")
            ModelInput("money")
            ModelInput("bomb_count")
            ModelSelect("bomb_type", choices=('F', 'B', 'T', 'W'))
            ModelInput("power")
            ModelSelect("bullet_type", choices=('1', '2', '3', '4', '5'))
            ModelInput("bomb_power")
            ModelInput("invincible")
            ModelInput("bomb_time")
            ModelInput("level")
            ModelCheckBox("armor")
Beispiel #18
0
    def render_main(self):
        with Group("global", "全局", self._global):
            ModelInput("hp")
            ModelInput("hpmax")
            ModelInput("cpmax")
            ModelInput("exp")
            ModelInput("mp")
            ModelInput("dark")
            ModelInput("atk")
            ModelInput("battle_hp")
            ModelInput("battle_hpmax")
            ModelCheckBox("riku_enable")

        self.battle_cards_group = Group("battle_cards", "战斗卡片", self._global, cols=4)
        self.lazy_group(self.battle_cards_group, self.render_battle_cards)
Beispiel #19
0
    def render_main(self):
        with Group("global", "全局", self._global):
            ModelInput("hp")
            # ModelInput("tankhp")
            ModelCheckBox("invincible", enable=0x20, disable=0)
            ModelInput("ammo")
            ModelInput("bomb")
            ModelInput("shell")
            ModelSelect("weapon", choices=WEAPONS, values=WEAPON_VALUES)
            ModelSelect("bombtype", choices=BOMB_TYPES, values=BOMB_VALUES)

        with StaticGroup("功能"):
            self.render_functions(('max_ammo', 'fast_shoot'))

        with StaticGroup("快捷键"):
            ui.Text("恢复HP: alt+h")
Beispiel #20
0
 def render_global_ext(self):
     datasets = self.datasets
     ModelInput("game_turn")
     ModelInput("game_time")
     ModelInput("after_money")
     ModelInput("after_exp")
     ModelInput("posx")
     ModelInput("posy")
     ModelSelect("difficulty", choices=datasets.DIFFICULTY)
     ModelSelect("after_money_rate", choices=datasets.RATE, values=datasets.RATE_VALUES)
     ModelSelect("after_exp_rate", choices=datasets.RATE, values=datasets.RATE_VALUES)
     for name in ("quick_switch", "quick_move", "through_wall", "no_battle", "must_winning", "tool_count_keep",
             "ammo_keep", "level_up_max", "weight_zero", "equip_limit_remove", "without_material", "twin_engines",
             "drop_item_three_star", "must_drop_item", "must_first", "allfax", "allmap", "enemy_flash",
             "can_use_other_skill", "must_critical_hit"):
         ModelCheckBox(name)
Beispiel #21
0
    def render_main(self):
        with Group("global", "全局", self._global):
            ModelSelect("enemy", "角色", choices=datasets.PLAYERS)
            ModelSelect("enemy",
                        "敌人模型",
                        choices=datasets.ENEMY_LABELS,
                        values=datasets.ENEMY_VALUES)
            ModelInput("level", "等级")
            ModelInput("lives", "命数")
            ModelInput("hp", "HP")
            ModelInput("exp", "总经验")
            ModelInput("tool_count", "手持物数量")
            ModelInput("play_level", "关卡")
            ModelCheckBox("invincible", "无伤", enable=0xffff, disable=0)

        with StaticGroup("快捷键"):
            ui.Text("恢复HP: alt+h\n" "敌人一击必杀: alt+空格")
Beispiel #22
0
 def render_global_ext(self):
     datasets = self.datasets
     ModelInput("game_time")
     ModelInput("reward")
     ModelInput("fame")
     ModelInput("move_speed")
     ModelSelect("after_money_rate",
                 choices=datasets.RATE,
                 values=datasets.RATE_VALUES)
     for name in ("quick_move", "through_wall", "no_battle", "must_winning",
                  "tool_count_keep", "ammo_keep", "weight_zero",
                  "equip_limit_remove", "without_material",
                  "drop_item_three_star", "enemy_flash", "skill_count_keep",
                  "can_go_hear", "use_humen_weapon_1", "use_humen_weapon_2",
                  "buy_chariot_item_three_star", "can_buy_not_for_sale",
                  "can_change_even_overweight", "can_always_special_bullet",
                  "skill_count_keep"):
         ModelCheckBox(name)
Beispiel #23
0
    def render_main(self):
        with Group("global", "全局", self._global):
            ModelInput("hp")
            ModelInput("hpmax")
            ModelInput("lives")
            ModelInput("limit_time")
            ModelInput("money")
            ModelInput("weapon_level_1")
            ModelInput("weapon_level_2")
            ModelInput("weapon_level_3")
            ModelInput("weapon_level_4")
            ModelSelect("level", choices=LEVELS)
            ModelFlagWidget("weapon_flag", labels=WEAPONS)
            ModelCheckBox("invincible", enable=0xFF, disable=0)

        with StaticGroup("功能"):
            self.render_functions(
                ('max_weapon_level', 'all_weapon', 'all_element', 'all_fairy',
                 'fairy_use_count_infinite'))
Beispiel #24
0
    def get_ingame_item_dialog(self):
        """物品信息对话框"""
        name = 'ingame_item_dialog'
        dialog = getattr(self, name, None)
        if dialog is None:
            with DialogGroup(name, "物品详情", self.ingame_item, cols=1, dialog_style={'width': 800, 'height': 1400},
                    closable=False, horizontal=False, button=False) as dialog:
                ModelCheckBox("enabled")
                ModelInput("slot")
                ModelSelect("type", choices=datasets.INVENTORY_ITEMS.choices, values=datasets.INVENTORY_ITEMS.values,
                    instance=self.ingame_item)
                ModelInput("quantity")
                ModelInput("max_quantity")
                ModelInput("model", hex=True)
            with dialog.footer:
                ui.Button("复制", className='btn_sm', onclick=self.weak.ingame_item_copy)
                ui.Button("粘贴", className='btn_sm', onclick=self.weak.ingame_item_paste)

            setattr(self, name, dialog)
        return dialog
Beispiel #25
0
    def render_main(self):
        person = (self._person, models.Character)

        with Group("player", "全局", self._global):
            ModelInput("skill_points", instance=(self._skill_points, models.SkillPoints))

        with Group("player", "角色", person):
            self.char_choice = Choice("角色", datasets.PERSONS, self.weak.on_person_change)
            ModelInput("health")
            ModelInput("health_max")
            ModelInput("stamina")
            ModelInput("stamina_max")
            ModelInput("moving_speed")
            ModelInput("rapid_fire")
            ModelInput("is_wet")
            ModelCoordWidget("coord", labels=('X坐标', 'Z坐标', 'Y坐标'), savable=True)
            ModelCheckBox("invincible")

        self.lazy_group(Group("person_items", "角色物品", person, serializable=False, cols=4), self.render_person_items)
        self.lazy_group(Group("person_skills", "角色技能", self._global, cols=4), self.render_person_skills)
        self.lazy_group(StaticGroup("代码插入"), self.render_assembly_functions)
        self.lazy_group(StaticGroup("功能"), self.render_functions)
Beispiel #26
0
    def render_main(self):
        person = self._person
        with Group("global", "全局", self._global):
            ModelInput("money1", "小队1金钱")
            ModelInput("money2", "小队2金钱")
            ModelInput("money3", "小队3金钱")
            ModelInput("exp1", "据点1分配经验值")
            ModelInput("exp2", "据点2分配经验值")
            ModelInput("exp3", "据点3分配经验值")

        with Group("player", "角色", person, cols=4):
            ModelInput("addr_hex", "地址", readonly=True)
            ModelInput("no", "角色编号", readonly=True)
            ModelSelect("prof",
                        "职业",
                        choices=datasets.PROFESSIONS,
                        values=tuple(
                            0x80989A70 + i * 0x11C
                            for i in range(len(datasets.PROFESSIONS))))
            ModelInput("hp", "当前HP")
            ModelInput("level", "等级")
            ModelInput("exp", "经验")
            ModelInput("posx", "横坐标")
            ModelInput("posy", "纵坐标")
            ModelInput("physical_add", "体格/重量+")
            ModelInput("move_add", "移动+")
            ModelInput("hp_add", "HP+")
            ModelInput("power_add", "力+")
            ModelInput("magic_add", "魔力+")
            ModelInput("skill_add", "技术+")
            ModelInput("speed_add", "速+")
            ModelInput("lucky_add", "幸运+")
            ModelInput("defense_add", "守备+")
            ModelInput("magicdef_add", "魔防+")
            ModelCheckBox("moved", "已行动", enable=1, disable=0)

        self.lazy_group(Group("skills", "角色技能", person), self.render_skills)
        self.lazy_group(Group("items", "角色物品", person), self.render_items)
Beispiel #27
0
    def render_main(self):
        datasets = self.datasets
        weak = self.weak

        with Group("global", "全局", self._global, cols=4):
            ModelInput("money", "金钱", instance=weak._config)
            ModelInput("turns", "回合")
            ModelCheckBox("ourturn", "总是我方回合")
            ModelCheckBox("control_enemy", "可控制敌人")
            ModelCheckBox("upgrade_max", "升级能力值最大")
            ModelCheckBox("upgrade_all", "升级全能力提升")
            ModelCheckBox("lv1_can_transfer", "Lv1即可转职")
            ModelCheckBox("can_train", "都可用运输队")
            ModelCheckBox("can_visit", "都可访问村庄")
            ModelCheckBox("can_holddown", "都可压制")
            ModelCheckBox("use_enemy_prof", "使用敌专用兵种不死机")
            ModelCheckBox("infinite_refine", "武器屋炼成无限次")
            ModelCheckBox("item_consume", "道具耐久不减")
            ModelCheckBox("enemy_item_drop", "敌人全道具掉落")
            ModelSelect("exp_rate",
                        "经验值倍数",
                        choices=datasets.RATE,
                        values=datasets.EXP_RATE_VALUES)
            ModelSelect("pro_rate",
                        "熟练度倍数",
                        choices=datasets.RATE,
                        values=datasets.PRO_RATE_VALUES)
            # ModelInput("random", "乱数").set_help("设成0: 招招命中、必杀、贯通等,升级7点成长")
            # ModelSelect("chapter", "章节", choices=datasets.CHAPTERS)

        self.lazy_group(Group("config", "配置", weak._config, cols=4),
                        self.render_config)
        self.lazy_group(Group("player", "角色", weak._person, cols=4),
                        self.render_person)
        self.lazy_group(Group("items", "角色物品", weak._person, cols=4),
                        self.render_items)
        self.lazy_group(Group("iteminfos", "武器属性", weak._iteminfo),
                        self.render_iteminfos)

        self.train_items_group = Group("train_items",
                                       "运输队",
                                       self._global,
                                       cols=4)
        self.lazy_group(self.train_items_group, self.render_train_items)