public void object::RetreiveObjects(int cat,int retreiveTo){ object item=radar(cat,0,360,50,1000); if (this.energyCell==null){message(this.category + " reports : waiting for PowerCell");} while(this.energyCell==null) {wait(0.2); } move(-3); message(this.category +" reports: 'object found'",DisplayInfo); errmode(0); while(goto(item.position)!=000) { wait(0.2); message(this.category +" reports: waiting for space to clear ",DisplayInfo); } grab(); item=radar(retreiveTo); message(this.category +" reports: retreiving object to the ship ",DisplayInfo); while(goto(item.position)!=000) { wait(0.2); message(this.category +" reports:waiting for landing space to clear ",DisplayInfo); item=radar(retreiveTo); } if(drop(InFront)!=000) { message(this.category +" reports: impossible to drop here...moving on",DisplayInfo); wait(0.2); item=radar(retreiveTo); turn(90); move(2); drop(InFront); }; message(this.category +" reports: object retreived ",DisplayInfo); }