def slotset(): id = request.values.get("api_id") equip_id = request.values.get("api_item_id") slot = request.values.get("api_slot_idx") Kanmusu.get(id).equip(admiral_equip_id=equip_id, slot=slot) db.session.commit() return svdata({})
def powerup(): id = request.values.get("api_id") id_items = request.values.get("api_id_items").split( ',') # How mean girls aren't items result = Kanmusu.get(id).modernize(id_items) db.session.commit() return svdata(MemberHelper.powerup(id, result))
def ship3(kanmusu_id): fleet_data = [fleet(f) for f in g.admiral.fleets] return { "api_ship_data": [kanmusu(Kanmusu.get(kanmusu_id))], "api_deck_data": fleet_data, "api_slot_data": unsetslot() }
def powerup(kanmusu_id, result): fleet_data = [MemberHelper.fleet(fleet) for fleet in g.admiral.fleets] api_ship = MemberHelper.kanmusu(Kanmusu.get(kanmusu_id)) return { "api_powerup_flag": int(result), "api_ship": api_ship, "api_deck": fleet_data }
def powerup(kanmusu_id, result): fleet_data = [fleet(fleet_) for fleet_ in g.admiral.fleets] api_ship = kanmusu(Kanmusu.get(kanmusu_id)) return { "api_powerup_flag": int(result), "api_ship": api_ship, "api_deck": fleet_data }
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
def kanmusu(kanmusu: Kanmusu): ship = kanmusu.ship # AdmiralShip *must have* entries in AdmiralShipItem table, or we catbomb. equips = [equip.admiral_equipment.id if equip.admiral_equipment_id else -1 for equip in kanmusu.equipments] modern_stats = kanmusu.modernized_stats kanmusu_data = { # This must match api_data2 or we get different Ships in the game and DB. 'api_id': kanmusu.number, 'api_ship_id': ship.api_id, 'api_onslot': [0, 0, 0, 0, 0], # ? 'api_locked_equip': 0, 'api_bull': kanmusu.current_ammo, 'api_soukou': [kanmusu.stats.armour, ship.max_stats.armour], 'api_locked': kanmusu.locked, 'api_nowhp': kanmusu.current_hp, 'api_raisou': [kanmusu.stats.torpedo, ship.max_stats.torpedo], 'api_lv': kanmusu.level, 'api_slotnum': ship.maxslots, 'api_srate': 1, # TODO: Implement stars 'api_cond': kanmusu.fatigue, 'api_kaihi': [kanmusu.stats.evasion, ship.max_stats.evasion], 'api_sortno': ship.number, 'api_fuel': kanmusu.current_fuel, 'api_taiku': [kanmusu.stats.antiair, ship.max_stats.antiair], 'api_leng': ship.max_stats.range_, 'api_taisen': [kanmusu.stats.antisub, ship.max_stats.antisub], # Guesswork on exp part. 'api_exp': [kanmusu.experience, kanmusu.get_exp_to_level(), 0], 'api_slot': equips, 'api_backs': ship.rarity, 'api_sally_area': 0, # dunno 'api_ndock_item': [0, 0], # TODO 'api_karyoku': [kanmusu.stats.firepower, ship.max_stats.firepower], 'api_maxhp': ship.base_stats.hp, # Ship "maxhp" is level 100HP, otherwise base is used. 'api_lucky': [kanmusu.stats.luck, ship.max_stats.luck], 'api_ndock_time': 0, 'api_kyouka': [modern_stats.firepower, modern_stats.torpedo, modern_stats.antiair, modern_stats.armour, modern_stats.luck] if modern_stats else [0, 0, 0, 0, 0], 'api_sakuteki': [ship.base_stats.los, ship.max_stats.los] } return kanmusu_data
def remodeling(): id = request.values.get("api_id") Kanmusu.get(id).remodel() # If it only were that easy... return svdata({})
def powerup(): id = request.values.get("api_id") id_items = request.values.get("api_id_items").split(',') # How mean girls aren't items result = Kanmusu.get(id).modernize(id_items) db.session.commit() return svdata(ActionsHelper.powerup(id, result))
def kanmusu(kanmusu: Kanmusu): ship = kanmusu.ship # AdmiralShip *must have* entries in AdmiralShipItem table, or we catbomb. equips = [ equip.admiral_equipment.id if equip.admiral_equipment_id else -1 for equip in kanmusu.equipments ] modern_stats = kanmusu.modernized_stats kanmusu_data = { # This must match api_data2 or we get different Ships in the game and DB. 'api_id': kanmusu.number, 'api_ship_id': ship.api_id, 'api_onslot': [0, 0, 0, 0, 0], # ? 'api_locked_equip': 0, 'api_bull': kanmusu.current_ammo, 'api_soukou': [kanmusu.stats.armour, ship.max_stats.armour], 'api_locked': kanmusu.locked, 'api_nowhp': kanmusu.current_hp, 'api_raisou': [kanmusu.stats.torpedo, ship.max_stats.torpedo], 'api_lv': kanmusu.level, 'api_slotnum': ship.maxslots, 'api_srate': 1, # TODO: Implement stars 'api_cond': kanmusu.fatigue, 'api_kaihi': [kanmusu.stats.evasion, ship.max_stats.evasion], 'api_sortno': ship.number, 'api_fuel': kanmusu.current_fuel, 'api_taiku': [kanmusu.stats.antiair, ship.max_stats.antiair], 'api_leng': ship.max_stats.range_, 'api_taisen': [kanmusu.stats.antisub, ship.max_stats.antisub], # Guesswork on exp part. 'api_exp': [kanmusu.experience, kanmusu.get_exp_to_level(), 0], 'api_slot': equips, 'api_backs': ship.rarity, 'api_sally_area': 0, # dunno 'api_ndock_item': [0, 0], # TODO 'api_karyoku': [kanmusu.stats.firepower, ship.max_stats.firepower], 'api_maxhp': ship.base_stats. hp, # Ship "maxhp" is level 100HP, otherwise base is used. 'api_lucky': [kanmusu.stats.luck, ship.max_stats.luck], 'api_ndock_time': 0, 'api_kyouka': [ modern_stats.firepower, modern_stats.torpedo, modern_stats.antiair, modern_stats.armour, modern_stats.luck ] if modern_stats else [0, 0, 0, 0, 0], 'api_sakuteki': [ship.base_stats.los, ship.max_stats.los] } return kanmusu_data
def firstship(): shipid = request.values.get("api_ship_id") # TODO: Validation k = Kanmusu(ship_api_id=shipid) g.admiral.add_kanmusu(k, fleet_number=1, position=0) return svdata({'api_result_msg': 'shitty api is shitty', 'api_result': 1})