def render_main(self): with Group("global", "全局", self._global): ModelInput("lives") ModelInput("continues") ModelInput("score") ModelSelect("weapon", choices=WEAPONS) ModelCheckBox("invincible") ModelCheckBox("hit_anywhere")
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生命")
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)
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")
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)
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)
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")
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)
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)
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")
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)
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)
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'))
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'))
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)
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", "好感度快速提升")
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")
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)
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")
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)
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+空格")
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)
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'))
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
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)
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)
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)