def create_unit(self): info = {} info['faction'] = str(self.faction_select.currentText()) faction = self.unit_data.factions[info['faction']] if faction: info['name'] = faction.unit_name info['faction_icon'] = faction.faction_icon info['desc'] = faction.desc info['level'] = int(self.level.value()) info['gender'] = int(self.gender.value()) info['klass'] = str(self.class_box.currentText()) info['items'] = self.getItems() info['ai'] = self.get_ai() info['ai_group'] = str(self.ai_group.text()) info['team'] = str(self.team_box.currentText()) info['generic'] = True info['mode'] = self.get_modes() created_unit = DataImport.Unit(info) return created_unit
def create_unit(self): info = {} info['faction'] = str(self.faction_select.currentText()) faction = self.unit_data.factions[info['faction']] if faction: info['name'] = faction.unit_name info['faction_icon'] = faction.faction_icon info['desc'] = faction.desc info['level'] = int(self.level.value()) info['gender'] = int(self.gender.value()) info['klass'] = str(self.class_box.currentText()) info['items'] = self.getItems() info['ai'] = self.get_ai() info['ai_group'] = str(self.ai_group.text()) info['pack'] = str(self.pack.text()) info['event_id'] = EditorUtilities.next_available_event_id([rein for rein in self.unit_data.reinforcements if rein.pack == info['pack']]) info['team'] = str(self.team_box.currentText()) info['generic'] = True info['mode'] = self.get_modes() created_unit = DataImport.Unit(info) return created_unit
def create_unit_from_legend(self, legend, mode): GC.U_ID += 1 u_i = {} u_i['id'] = GC.U_ID u_i['team'] = legend['team'] if '_' in legend['event_id']: u_i['pack'], u_i['event_id'] = legend['event_id'].split('_') u_i['event_id'] = int(u_i['event_id']) elif legend['event_id'] != '0': u_i['pack'] = legend['event_id'] u_i['event_id'] = 1 else: u_i['pack'] = None u_i['event_id'] = 0 if legend['class'].endswith('F'): legend['class'] = legend['class'][:-1] # strip off the F u_i['gender'] = 5 # Default female gender is 5 else: u_i['gender'] = 0 # Default male gender is 0 classes = legend['class'].split(',') u_i['klass'] = classes[-1] # Give default previous class # default_previous_classes(u_i['klass'], classes, class_dict) if legend['level'].startswith('f'): legend['level'] = legend['level'][1:] # Remove f at the beginning u_i['level'] = int( legend['level'] ) # Doesn't need force_fixed since it is fixed by default in LevelEditor u_i['position'] = tuple([ int(num) for num in legend['position'].split(',') ]) if ',' in legend['position'] else None u_i['faction'] = legend['faction'] faction = self.factions[u_i['faction']] u_i['name'] = faction.unit_name u_i['faction_icon'] = faction.faction_icon u_i['desc'] = faction.desc stats, u_i['growths'], u_i['growth_points'], u_i['items'], u_i['wexp'] = \ self.get_unit_info(Data.class_dict, u_i['klass'], u_i['level'], legend['items']) u_i['stats'] = self.build_stat_dict(stats) u_i['tags'] = Data.class_dict[u_i['klass']]['tags'] if '_' in legend['ai']: u_i['ai'], u_i['ai_group'] = legend['ai'].split('_') else: u_i['ai'], u_i['ai_group'] = legend['ai'], None u_i['movement_group'] = Data.class_dict[u_i['klass']]['movement_group'] u_i['skills'] = [] u_i['generic'] = True u_i['mode'] = mode cur_unit = DataImport.Unit(u_i) # Reposition units cur_unit.position = u_i['position'] if legend['event_id'] != '0': # Unit does not start on board self.reinforcements.append(cur_unit) else: # Unit does start on board self.units.append(cur_unit) # Status Effects and Skills # get_skills(class_dict, cur_unit, classes, u_i['level'], gameStateObj, feat=False) # Extra Skills cur_unit.extra_statuses = legend['extra_status']