Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clearArea: function (spectype) {
- if (Config.MFLeader) {
- Pather.makePortal();
- say("clearlevel " + getArea().name);
- }
- var i, room, result, rooms, myRoom;
- function RoomSort(a, b) {
- return getDistance(myRoom[0], myRoom[1], a[0], a[1]) - getDistance(myRoom[0], myRoom[1], b[0], b[1]);
- }
- room = getRoom();
- if (!room) {
- return false;
- }
- if (spectype === undefined) {
- spectype = 0;
- }
- rooms = [];
- do {
- rooms.push([room.x * 5 + room.xsize / 2, room.y * 5 + room.ysize / 2]);
- } while (room.getNext());
- while (rooms.length > 0) {
- // get the first room + initialize myRoom var
- if (!myRoom) {
- room = getRoom(me.x, me.y);
- }
- if (room) {
- if (room instanceof Array) { // use previous room to calculate distance
- myRoom = [room[0], room[1]];
- } else { // create a new room to calculate distance (first room, done only once)
- myRoom = [room.x * 5 + room.xsize / 2, room.y * 5 + room.ysize / 2];
- }
- }
- rooms.sort(RoomSort);
- room = rooms.shift();
- result = Pather.getNearestWalkable(room[0], room[1], 18, 3);
- if (result) {
- Pather.moveTo(result[0], result[1], 3, spectype);
- //this.countUniques();
- if (!this.clear(35, spectype)) { //40
- break;
- }
- }
- }
- return true;
- },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement