-- Required control rate. control_rate = 2 -- Required "control" function. function control() task = ai.taskname() if task == "hyperspace" then ai.hyperspace() -- Try to go to hyperspace. elseif task == "none" then planet = ai.rndplanet() ai.pushtask(0, "go", planet) end end -- Required "attacked" function. function attacked(attacker) if ai.taskname() ~= "runaway" then -- Let's have some messages. num = ai.rnd(0,3) if num == 0 then msg = "Mayday! We are under attack!" elseif num == 1 then msg = "Requesting assistance! Some scoundral is attacking us!" elseif num == 2 then msg = "Merchant vessle under attack here! HALP!" end if msg then ai.broadcast(msg) end -- So bravely run away! ai.pushtask(0, "runaway", attacker) end end -- Runs away. function runaway() target = ai.targetid() dir = ai.face(target, 1) ai.accel() end -- Fly to the target. function go() target = ai.target() dir = ai.face(target) dist = ai.dist(target) bdist = ai.minbrakedist() if dir < 10 and dist > bdist then ai.accel() elseif dir < 10 and dist < bdist then ai.poptask() ai.pushtask(0, "stop") end end -- Backthrust. function stop() ai.brake() if ai.isstopped() then ai.stop() ai.poptask() ai.settimer(0, ai.rnd(8000, 15000)) ai.pushtask(0, "land") else ai.brake() end end --Waits. function land() if ai.timeup(0) then ai.pushtask(0, "hyperspace") end end -- Go to hyperspace YEAAAHHH!! function hyperspace() dir = ai.face(-1) -- Face away from (0,0) if(dir < 10) then ai.accel() end end