def craft_ship(fuel: int, ammo: int, steel: int, baux: int, dockid: int): admiral = g.admiral ship = get_ship_from_recipe(fuel, ammo, steel, baux) if ship: nship = Kanmusu(ship) nship.active = False nship.number = len(g.admiral.kanmusu) else: print("Something bad happened. Where are your recipes?") abort(404) return # Change dock data. try: dock = admiral.docks_craft[dockid] except IndexError: abort(404) return if dock.kanmusu is not None: # wat abort(400) return dock = dock.update(nship, fuel, ammo, steel, baux, True) admiral.resources.sub(fuel, ammo, steel, baux) db.session.add(dock) admiral.add_kanmusu(nship) db.session.add(admiral) api_data = { "api_ship_id": nship.ship.api_id, "api_kdock": MemberHelper.dock_data([dock], False), "api_id": nship.number, "api_slotitem": [], "api_ship": MemberHelper.kanmusu(kanmusu=dock.kanmusu) } db.session.commit() return api_data