def get_producers(self): supplies_page = OgameClient.get_supplies(self._comm, self._planet_id).get_producers_list() producers_list = ["metalMine", "crystalMine", "deuteriumSynthesizer", "solarPlant", "fusionPlant", "metalStorage", "crystalStorage", "deuteriumStorage"] return {producer_name: supplies_page.get_item(producer_name) for producer_name in producers_list}
def make_fleet(self, fleet): assert isinstance(fleet, FleetArmy) fleet_to_build = fleet.get_data() for fl in fleet_to_build: hangar_page = OgameClient.get_hangar(self._comm, self._planet_id) url = hangar_page.get_production_url(fl[0], fl[1]) #TODO: refactor! self._comm.get(url) print("[{} (planet)] Hangar production: {}x {}".format(self._planet_name, fl[1], fl[2])) pass
def get_spy_messages(self) -> [SpyMessageDetail]: spy_msg_reports = True spy_message_details = [] while spy_msg_reports: spy_msg_reports = OgameClient.get_spy_messages( self._comm).get_spy_messages() for report in spy_msg_reports: msg_detail_page = OgameClient.get_spy_message_detail( self._comm, report) location = msg_detail_page.get_location() resources = msg_detail_page.get_resources() fleet = msg_detail_page.get_fleet() defense = msg_detail_page.get_defense() buildings = msg_detail_page.get_buildings() research = msg_detail_page.get_research() spy_message_details.append( SpyMessageDetail(location, resources, fleet, defense, buildings, research)) OgameClient.remove_message(self._comm, report) return spy_message_details
def make_defense(self, defense): assert isinstance(defense, DefenseArmy) defense_to_build = defense.get_data() for fl in defense_to_build: defense_page = OgameClient.get_defense(self._comm, self._planet_id) url = defense_page.get_production_url(fl[0], fl[1]) #TODO: refactor! self._comm.get(url) print("[{} (planet)] Defense production: {}x {}".format( self._planet_name, fl[1], fl[2])) pass
def get_facilities(self): facilities_page = OgameClient.get_facilities( self._comm, self._planet_id).get_producers_list() facilities_list = [ "roboticsFactory", "shipyard", "researchLaboratory", "allianceDepot", "missileSilo", "naniteFactory", "terraformer", "repairDock" ] return { facility_name: facilities_page.get_item(facility_name) for facility_name in facilities_list }
def send_fleet(self, location: Location, mission_type: MissionType, fleet: FleetArmy): assert isinstance(location, Location) assert isinstance(mission_type, MissionType) assert isinstance(fleet, FleetArmy) print("Sending {} to {}".format(mission_type, location)) fleetdispatch_page = OgameClient.get_fleet_dispatch( self._comm, self._planet_id) token = fleetdispatch_page._get_token() """****** stage 1 ******""" stage1_payload = FleetDispatcher._build_stage1_payload(location, fleet) stage1_params = FleetDispatcher._build_stage1_params() res_stage_1 = OgameClient.post_action(self._comm, params=stage1_params, data=stage1_payload) """****** stage 2 ******""" stage2_payload = FleetDispatcher._build_stage2_payload( stage1_payload, mission_type, token) stage2_params = FleetDispatcher._build_stage2_params() res_stage_2 = OgameClient.post_action(self._comm, params=stage2_params, data=stage2_payload)
def __init__(self, comm, planet_id): self._comm = comm self._planet_id = planet_id overview_page = OgameClient.get_overview(self._comm, self._planet_id) self._planet_name = overview_page.get_planet_name() self._location = overview_page.get_location() self._galaxy_explorer_manager = GalaxyExplorerManager( comm, planet_id, self._location) self._fleet_manager = None self._reseach_manager = None self._buildings = None self._facility_manager = None self._hangar_manager = None self._defense_manager = None
def get_reseach(self): research_page = OgameClient.get_reseach( self._comm, self._planet_id).get_research_list() research_list = [ 'energyTechnology', 'laserTechnology', 'ionTechnology', 'hyperspaceTechnology', 'plasmaTechnology', 'combustionDriveTechnology', 'impulseDriveTechnology', 'hyperspaceDriveTechnology', 'espionageTechnology', 'computerTechnology', 'astrophysicsTechnology', 'researchNetworkTechnology', 'gravitonTechnology', 'weaponsTechnology', 'shieldingTechnology', 'armorTechnology' ] return { reseach_name: research_page.get_item(reseach_name) for reseach_name in research_list }
def get_galaxy_debris(self): return OgameClient.get_galaxy( self._comm, self._planet_id, self._planet_location.coord).get_expedition_debris()
def galaxy_inactive_players(self, coord: Coord): inactive_players = OgameClient.get_galaxy(self._comm, self._planet_id, coord).getInactivePlanets() return inactive_players
def clear_messages(self): OgameClient.clear_messages(self._comm, 20)
def __init__(self, comm): planets_id = OgameClient.get_overview(comm).getPlanetsId() self._planets = [ PlanetInfo(comm, planets_id) for planets_id in planets_id ]
def _update_fleet_status(self) -> FleetStatus: fleet_dispatch = OgameClient.get_fleet_dispatch( self._comm, self._planet_id) return fleet_dispatch.get_fleet_status()