extern void object::MoonBlackBox() { object rdr; int errcode; errmode(0); if(category == WheeledGrabber) { rdr = radar(WingedGrabber,0,360,0,100); message("Waiting for WingedGrabber to leave"); while(rdr != null) rdr = radar(WingedGrabber,0,360,0,100); rdr = radar(PowerStation); goto(rdr.position); while(energyCell.energyLevel < 1) wait(0.5); rdr = radar(SpaceShip); goto(rdr.position); message("Making room for the WingedGrabber"); rdr = radar(TitaniumOre,0,360,0,10); while(rdr != null) { goto(rdr.position); grab(); goto(space(rdr.position)); drop(); rdr = radar(SpaceShip); goto(rdr.position); rdr = radar(TitaniumOre,0,360,0,10); } } else { rdr = radar(PowerStation); message("Looking for PowerStation"); while(rdr == null) rdr = radar(PowerStation); errcode = goto(rdr.position); while(errcode != 0) { turn(direction(rdr.position)); move(distance2d(position, rdr.position)); errcode = goto(rdr.position); } while(energyCell.energyLevel < 1) wait(0.5); message("Going to get the BlackBox now"); rdr = radar(BlackBox); goto(rdr.position); grab(); rdr = radar(SpaceShip); goto(rdr.position); drop(); } message(category + ": Mission Complete."); }