def begin(self, gameStateObj, metaDataObj): if not self.started: # Get units to display self.units = [unit for unit in gameStateObj.allunits if unit.position and unit.team == 'player'] self.bg_surf = Image_Modification.flickerImageTranslucent(GC.IMAGESDICT['UnitMenuBackground'], 10) self.title_bg = Image_Modification.flickerImageTranslucent(GC.IMAGESDICT['TitleBar'], 10) self.background = MenuFunctions.MovingBackground(GC.IMAGESDICT['RuneBackground']) self.states = [('Character', ['Class', 'Lv', 'Exp', 'HP', 'Max'], [4, 66, 89, 113, 133]), ('Fighting Skill', ['STR', 'MAG', 'SKL', 'SPD', 'LCK', 'DEF', 'RES'], [4, 26, 48, 71, 94, 119, 142]), ('Equipment', ['Equip', 'Atk', 'Hit', 'Avoid'], [16, 72, 103, 136]), ('Personal Data', ['MOV', 'CON', 'Aid', 'Rat', 'Trv'], [4, 33, 60, 82, 106]), ('Weapon Level', Weapons.TRIANGLE.types, [9 + idx*16 for idx in range(len(Weapons.TRIANGLE.types))])] if cf.CONSTANTS['support']: self.states.append(('Support Chance', ['Ally'], [0])) self.state_index = 0 self.prev_state_index = 0 self.unit_index = 1 # 0 means on banner self.scroll_index = 1 self.banner_index = 0 self.num_per_page = 6 self.state_scroll = 0 self.scroll_direction = 0 self.weapon_icons = [Weapons.Icon(weapon) for weapon in Weapons.TRIANGLE.types] self.help_boxes = [] self.info = False self.scroll_bar = GUIObjects.ScrollBar((233, 59)) self.left_arrow = GUIObjects.ScrollArrow('left', (7, 41)) self.right_arrow = GUIObjects.ScrollArrow('right', (GC.WINWIDTH - 7 - 8, 41), 0.5) # For sort self.current_sort = 'Name' self.descending = False self.sort_surf = MenuFunctions.CreateBaseMenuSurf((64, 24)) self.sort_surf = Image_Modification.flickerImageTranslucent(self.sort_surf, 10) self.sort_arrow_counter = Counters.ArrowCounter() self.sort_arrow_counter.arrow_anim = [0, 1, 2] self.sort() # Transition in: gameStateObj.stateMachine.changeState("transition_in") return 'repeat' else: chosen_unit = gameStateObj.info_menu_struct['chosen_unit'] if chosen_unit and chosen_unit in self.units: self.move_to_unit(chosen_unit) gameStateObj.info_menu_struct['chosen_unit'] = None
def begin(self, gameStateObj, metaDataObj): if not self.started: self.config = [('Animation', ['Always', 'Your Turn', 'Combat Only', 'Never'], cf.WORDS['Animation_desc'], 0), ('temp_Screen Size', ['1', '2', '3', '4', '5'], cf.WORDS['temp_Screen Size_desc'], 18), ('Unit Speed', list(reversed(range(15, 180, 15))), cf.WORDS['Unit Speed_desc'], 1), ('Text Speed', cf.text_speed_options, cf.WORDS['Text Speed_desc'], 2), ('Cursor Speed', list(reversed(range(0, 220, 20))), cf.WORDS['Cursor Speed_desc'], 8), ('Show Terrain', ['ON', 'OFF'], cf.WORDS['Show Terrain_desc'], 7), ('Show Objective', ['ON', 'OFF'], cf.WORDS['Show Objective_desc'], 6), ('Autocursor', ['ON', 'OFF'], cf.WORDS['Autocursor_desc'], 13), ('HP Map Team', ['All', 'Ally', 'Enemy'], cf.WORDS['HP Map Team_desc'], 10), ('HP Map Cull', ['None', 'Wounded', 'All'], cf.WORDS['HP Map Cull_desc'], 10), ('Music Volume', [x/10.0 for x in range(0, 11, 1)], cf.WORDS['Music Volume_desc'], 15), ('Sound Volume', [x/10.0 for x in range(0, 11, 1)], cf.WORDS['Sound Volume_desc'], 16), ('Autoend Turn', ['ON', 'OFF'], cf.WORDS['Autoend Turn_desc'], 14), ('Confirm End', ['ON', 'OFF'], cf.WORDS['Confirm End_desc'], 14), ('Display Hints', ['ON', 'OFF'], cf.WORDS['Display Hints_desc'], 3)] self.controls = {'key_SELECT': Engine.subsurface(GC.IMAGESDICT['Buttons'], (0, 66, 14, 13)), 'key_BACK': Engine.subsurface(GC.IMAGESDICT['Buttons'], (0, 82, 14, 13)), 'key_INFO': Engine.subsurface(GC.IMAGESDICT['Buttons'], (1, 149, 16, 9)), 'key_AUX': Engine.subsurface(GC.IMAGESDICT['Buttons'], (1, 133, 16, 9)), 'key_START': Engine.subsurface(GC.IMAGESDICT['Buttons'], (0, 165, 33, 9)), 'key_LEFT': Engine.subsurface(GC.IMAGESDICT['Buttons'], (1, 4, 13, 12)), 'key_RIGHT': Engine.subsurface(GC.IMAGESDICT['Buttons'], (1, 19, 13, 12)), 'key_DOWN': Engine.subsurface(GC.IMAGESDICT['Buttons'], (1, 34, 12, 13)), 'key_UP': Engine.subsurface(GC.IMAGESDICT['Buttons'], (1, 50, 12, 13))} self.currentSelection = 0 self.start_offset = 32 self.top_of_menu = 0 self.control_order = ['key_SELECT', 'key_BACK', 'key_INFO', 'key_AUX', 'key_LEFT', 'key_RIGHT', 'key_UP', 'key_DOWN', 'key_START'] self.background = MenuFunctions.MovingBackground(GC.IMAGESDICT['StatusBackground']) self.state = CustomObjects.StateMachine('TopMenu') Counters.CursorControl.__init__(self) self.up_arrow = GUIObjects.ScrollArrow('up', (GC.WINWIDTH//2 - 7, self.start_offset - 4), 0) self.down_arrow = GUIObjects.ScrollArrow('down', (GC.WINWIDTH//2 - 7, self.start_offset + 6*16 - 1), 0.5) self.left_arrow = GUIObjects.ScrollArrow('left', (0, 0), 0) self.right_arrow = GUIObjects.ScrollArrow('right', (0, 0), 0.5) self.backSurf = gameStateObj.generic_surf # Transition in: gameStateObj.stateMachine.changeState("transition_in") return 'repeat'