Skip to content
This repository has been archived by the owner on Nov 13, 2020. It is now read-only.

Code Snippets

PiecePaperCode edited this page Mar 29, 2020 · 7 revisions

Scan and attack longinactive players

assuming longinactive players have no defence

fleetcap = 10 - len(empire.fleet())
while fleetcap < 10:
    for planet in empire.galaxy(coordinates(1, 1)):
        if status.inactive in planet.status:
            empire.send_fleet(mission=mission.attack,
                              id=empire.id_by_planet_name('MAIN_PLANET'),
                              where=coordinates(1, 1, planet.position),
                              ships=[ships.large_transporter(25), ships.cruiser(1)])
            fleetcap += 1

Send a Probe to Spy other Players

# Send a Spyprobe to a random Player
send_fleet = False
while not send_fleet:
    for planet in empire.galaxy(coordinates(randint(1,6), randint(1, 499))):
        if empire.send_fleet(mission.spy, id, planet.position, [ships.espionage_probe(1)]):
            send_fleet = True
            break

# Wait till Spyprobe arrives
for fleet in empire.fleet():
    if fleet.mission == mission.spy:
        while datetime.now() < fleet.arrival:
            continue

# Print out Spyreport
for spyreport in empire.spyreports():
    print(spyreport.list)

Sell your deuterium on the market by 1M at peace for 1,5M

for id in empire.planet_ids():
    deuterium = empire.resources(id).deuterium
    offers = int(deuterium / 1000000)
    for offer in range(offers):
        if empire.submit_marketplace(resources(deuterium=1000000), 
                                     resources(crystal=1500000), id):
            continue
        else:
            print('Market offer failed')
empire.collect_marketplace()

send expeditions

for expedition in range(4):
    empire.send_fleet(mission=mission.expedition,
                      id=empire.id_by_planet_name('Main_Planet'),
                      where=coordinates(randint(1, 6), randint(1, 499), 16),
                      ships=[ships.explorer(100), ships.large_transporter(200)],
                      holdingtime=1)

build mines routine

for id in empire.planet_ids():
    supply = empire.supply(id)
    res = empire.resources(id)
    if supply.crystal_mine.is_possible:
        empire.build(buildings.crystal_mine, id)
    if res.energy < 0 and not supply.solar_plant.is_possible:
        empire.build(buildings.solar_satellite(100), id)
    else:
        empire.build(buildings.solar_plant, id)

build defences routine

defence = empire.defences(id)
multiplier = 50
rocket_launcher = 1000 * multiplier
laser_cannon_light = 500 * multiplier
laser_cannon_heavy = 100 * multiplier
gauss_cannon = 20 * multiplier
plasma_cannon = 10 * multiplier
ion_cannon = 40 * multiplier

if defence.shield_dome_small is 0 or defence.shield_dome_large is 0:
    empire.build(buildings.shield_dome_large(1), id)
    empire.build(buildings.shield_dome_small(1), id)

elif defence.rocket_launcher < rocket_launcher:
    empire.build(buildings.rocket_launcher(rocket_launcher), id)

elif defence.laser_cannon_light < laser_cannon_light:
    empire.build(buildings.laser_cannon_light(laser_cannon_light), id)

elif defence.laser_cannon_heavy < laser_cannon_heavy:
    empire.build(buildings.laser_cannon_heavy(laser_cannon_heavy), id)

elif defence.gauss_cannon < gauss_cannon:
    empire.build(buildings.gauss_cannon(gauss_cannon), id)

elif defence.plasma_cannon < plasma_cannon:
    empire.build(buildings.plasma_cannon(plasma_cannon), id)

elif defence.ion_cannon < ion_cannon:
    empire.build(buildings.ion_cannon(ion_cannon), id)