{
  "actions": [
    {
      "actionId": 603,
      "appliesTo": -1,
      "argTypes": [
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "argValues": [
        "//Depth\r\nif(sprite_index != Hexport && sprite_index != HexportIn && sprite_index != HexportOut)\r\n{\r\ndepth_set(0,43);\r\nif(mask_index != NaviMask && sprite_index != HexportOut)\r\n  mask_index = NaviMask;\r\n}\r\nelse if(sprite_index == HexportIn || sprite_index == HexportOut)\r\n{\r\nif(dlayer != 0 && ((sprite_index == HexportOut && image_index >= 4) || (sprite_index == HexportIn && image_index <= 47)))\r\n  depth_set(0,23);\r\nelse if(dlayer == 0 && ((sprite_index == HexportOut && image_index < 4) || (sprite_index == HexportIn && image_index > 47)))\r\n  depth_set(4,23);\r\n}\r\nelse if(sprite_index == Hexport)\r\n{\r\nif(collision_rectangle(x-8,y-8,x+sprite_width+8,y+sprite_width+8,hxtsideb,0,1))\r\n{\r\nif(dlayer != 4) depth_set(4,23);\r\n}\r\nelse if(dlayer != 6) depth_set(6,23);\r\nif(mask_index != HexportMask) mask_index = HexportMask;\r\n}\r\n\r\n\r\n//Hexporting Speed\r\nif(sprite_index == Hexport && fspeed > 0 && fspeed < 8)\r\n{\r\nfspeed += 0.2;\r\n}\r\nelse if(fspeed > 8)\r\n{\r\nfspeed = 8;\r\n}\r\n\r\n/*if((sprite_index == Hexport || sprite_index == HexportIn || sprite_index == HexportOut)\r\n{\r\nif(mask_index != Hexport) mask_index = Hexport;\r\n}\r\nelse if(mask_index != NaviCol*/\r\n\r\n\r\n/*if(ispeed != 0 && fspeed != 0 && !(!position_meeting(x+18,y+43,icetile) && position_meeting(x+18,y+43,tile1)))\r\n  fspeed = 0;\r\nelse if(position_meeting(x+18,y+43,icetile) && fspeed != 0)*/\r\n\r\n\r\n\r\n//Movement Tiles\r\nif(sprite_index != Hexport && sprite_index != HexportIn && sprite_index != HexportOut && sprite_index != TeleIn && sprite_index != TeleOut && sprite_index != JoinIn && sprite_index != JoinOut && sprite_index != sprite44 && !jshell)\r\n{\r\n\r\nif(/*position_meeting(x+18,y+43,mtile1r)*/collision_rectangle(x+9,y+40,x+26,y+46,mtile1r,1,1) || collision_rectangle(x+9,y+40,x+26,y+46,mtile3r,1,1))\r\n{\r\nsrspeed += 2;\r\n}\r\nelse if(/*position_meeting(x+18,y+43,mtile1l)*/collision_rectangle(x+9,y+40,x+26,y+46,mtile1l,1,1) || collision_rectangle(x+9,y+40,x+26,y+46,mtile3l,1,1))\r\n{\r\nslspeed += 2;\r\n}\r\nelse if(/*position_meeting(x+18,y+43,mtile1u)*/collision_rectangle(x+9,y+40,x+26,y+46,mtile1u,1,1) || collision_rectangle(x+9,y+40,x+26,y+46,mtile3u,1,1))\r\n{\r\nsuspeed += 2;\r\n}\r\nelse if(/*position_meeting(x+18,y+43,mtile1d)*/collision_rectangle(x+9,y+40,x+26,y+46,mtile1d,1,1) || collision_rectangle(x+9,y+40,x+26,y+46,mtile3d,1,1))\r\n{\r\nsdspeed += 2;\r\n}\r\nsrspeed -= 1;\r\nslspeed -= 1;\r\nsuspeed -= 1;\r\nsdspeed -= 1;\r\nif(srspeed > 6) {srspeed = 6;}\r\nif(slspeed > 6) {slspeed = 6;}\r\nif(suspeed > 6) {suspeed = 6;}\r\nif(sdspeed > 6) {sdspeed = 6;}\r\nif(srspeed < 0) {srspeed = 0;}\r\nif(slspeed < 0) {slspeed = 0;}\r\nif(suspeed < 0) {suspeed = 0;}\r\nif(sdspeed < 0) {sdspeed = 0;}\r\n\r\nif(!keyboard_check(vk_left) && !keyboard_check(vk_right) && !keyboard_check(vk_up) && !keyboard_check(vk_down) && !keyboard_check(vk_alt) &&\r\n  (position_meeting(x+18,y+43,mtile1r) || position_meeting(x+18,y+43,mtile1l) || position_meeting(x+18,y+43,mtile1u) || position_meeting(x+18,y+43,mtile1d)))\r\n{\r\nslidedir = point_direction(x,y,x+srspeed-slspeed,y+sdspeed-suspeed);\r\nif(slidedir >= 337.5 || slidedir < 22.5) sprite_index = NaviStandR;\r\nelse if(slidedir >= 22.5 && slidedir < 67.5) sprite_index = NaviStandUR;\r\nelse if(slidedir >= 67.5 && slidedir < 112.5) sprite_index = NaviStandU;\r\nelse if(slidedir >= 112.5 && slidedir < 157.5) sprite_index = NaviStandUL;\r\nelse if(slidedir >= 157.5 && slidedir < 202.5) sprite_index = NaviStandL;\r\nelse if(slidedir >= 202.5 && slidedir < 247.5) sprite_index = NaviStandDL;\r\nelse if(slidedir >= 247.5 && slidedir < 292.5) sprite_index = NaviStandD;\r\nelse /*if(slidedir >= 292.5 && slidedir < 337.5)*/ sprite_index = NaviStandDR;\r\n}\r\n\r\nx += srspeed;\r\nx -= slspeed;\r\ny -= suspeed;\r\ny += sdspeed;\r\n\r\nif(global.curspeed != fspeed && fspeed != 0)\r\n{\r\nfspeed = global.curspeed;\r\n}\r\n\r\n//Ice Tiles\r\nif(ispeed != 0)\r\n{\r\n\r\nif(!position_meeting(x+18,y+43,icetile) && position_meeting(x+18,y+43,tile1))\r\n{\r\nif(idir == 0 || idir == 360) srspeed = ispeed;\r\nelse if(idir == 180) slspeed = ispeed;\r\nelse if(idir == 90) suspeed = ispeed;\r\nelse if(idir == 270) sdspeed = ispeed;\r\nispeed = 0;\r\n}\r\nelse\r\n{\r\nif(fspeed != 0) fspeed = 0;\r\nif(slspeed != 0) slspeed = 0;\r\nif(srspeed != 0) srspeed = 0;\r\nif(suspeed != 0) suspeed = 0;\r\nif(sdspeed != 0) sdspeed = 0;\r\nni = lengthdir_x(ispeed,idir); //Doitx\r\nfor(i = 0; i < abs(ni); i += 1)\r\n{\r\nif(collision_rectangle(x+9+sign(ni),y+40,x+26+sign(ni),y+46,door1vertical,1,1) || collision_rectangle(x+9+sign(ni),y+40,x+26+sign(ni),y+46,icepillar,1,1))\r\n  {ispeed = 0; break;}\r\nelse x += sign(ni);\r\n}\r\nni = lengthdir_y(ispeed,idir); //Doity\r\nfor(i = 0; i < abs(ni); i += 1)\r\n{\r\nif(collision_rectangle(x+9,y+40+sign(ni),x+26,y+46+sign(ni),door1horizontal,1,1) || collision_rectangle(x+9,y+40+sign(ni),x+26,y+46+sign(ni),icepillar,1,1))\r\n  {ispeed = 0; break;}\r\nelse y += sign(ni);\r\n}\r\n}\r\n\r\n}\r\nelse if(position_meeting(x+18,y+43,icetile) && (fspeed != 0 || slspeed != 0 || srspeed != 0 || suspeed != 0 || sdspeed != 0))\r\n{\r\n\r\nidir = point_direction(lastx,lasty,server.x+round(lengthdir_x(fspeed,direction)),server.y+round(lengthdir_y(fspeed,direction)));\r\nif(idir mod 90 != 0) idir = round(idir/90)*90;\r\nif(idir == 0 || idir == 180 || idir == 360)\r\n  ispeed = abs(server.x+round(lengthdir_x(fspeed,direction))-lastx);\r\nelse if(idir == 90 || idir == 270)\r\n  ispeed = abs(server.y+round(lengthdir_y(fspeed,direction))-lasty);\r\n\r\n}\r\n\r\n} //End Movement/Ice Tiles\r\nelse\r\n{\r\nif(slspeed != 0) slspeed = 0;\r\nif(srspeed != 0) srspeed = 0;\r\nif(suspeed != 0) suspeed = 0;\r\nif(sdspeed != 0) sdspeed = 0;\r\n}\r\n\r\n\r\n//Fall off edge.\r\nif(tcollide == 0 && sprite_index != JoinIn && sprite_index != JoinOut && sprite_index != Hexport && sprite_index != HexportOut && sprite_index != HexportIn && visible && !jshell)\r\n{\r\nrand = random(99);\r\nglobal.dafalls += 1;\r\nglobal.jid = 99;\r\nglobal.p_x[global.jid] = xstart;\r\nglobal.p_y[global.jid] = ystart;\r\nif(ceil(rand) > 9 || global.dafalls <= 5)\r\n{\r\nif(global.duopid != -1 && global.duorole)\r\n  duojoin = 1;\r\nelse\r\n  duojoin = 0;\r\nglobal.p_area[global.jid] = global.area;\r\nglobal.p_room[global.jid] = room;\r\n}\r\nelse\r\n{\r\nif(global.duopid == -1 || !global.duorole)\r\n{\r\nduojoin = 0;\r\nglobal.dafalls = 0;\r\nglobal.p_area[global.jid] = \"Abyssal Ruin\";\r\nglobal.p_room[global.jid] = Digital_Abyss;\r\n}\r\nelse\r\n{\r\nduojoin = 2;\r\nglobal.p_area[global.jid] = global.area;\r\nglobal.p_room[global.jid] = room;\r\ncaddline(\"You have taken a fatal fall. Duo Net utilized!\",global.c_server);\r\nclearbuffer();\r\nwritebyte(23);\r\nwritebyte(global.duopid);\r\nsendmessage(global.s_tcpsocket);\r\n}\r\n}\r\nglobal.watching = -1;\r\nsprite_index = JoinOut;\r\n}\r\n\r\nif(sprite_index == TeleIn || sprite_index == TeleOut || sprite_index == JoinIn || sprite_index == JoinOut)\r\n{\r\nimage_speed = 1;\r\nfspeed = 0;\r\n}\r\nelse if(sprite_index == HexportOut || sprite_index == HexportIn)\r\n{\r\nimage_speed = 0.8;\r\nfspeed = 0;\r\n}\r\n\r\nif(flicker) flicker = 0;\r\nelse flicker = 1;\r\n\r\n\r\n//fSpeed movement\r\n//x+9,y+39,x+26,y+47 (navi collision bounds w/1 pixel coushin)\r\nmove = round(lengthdir_x(fspeed,direction));\r\ni = 0;\r\nfor(i = 0; i < abs(move); i += 1)\r\n{\r\nif(sign(move) == -1 && ((tbordered && (!abscheckheight2(tile1,mplatparent,x+9-1,y+39,8) || sprite_index == Hexport)) || !tbordered || jshell))\r\n  x -= 1;\r\nelse if(sign(move) == 1 && ((tbordered && (!abscheckheight2(tile1,mplatparent,x+26+1,y+39,8) || sprite_index == Hexport)) || !tbordered || jshell))\r\n  x += 1;\r\nelse break;\r\n}\r\nmove = round(lengthdir_y(fspeed,direction));\r\ni = 0;\r\nfor(i = 0; i < abs(move); i += 1)\r\n{\r\nif(sign(move) == -1 && ((tbordered && (!abschecklength2(tile1,mplatparent,y+39-1,x+9,17) || sprite_index == Hexport)) || !tbordered || jshell))\r\n  y -= 1;\r\nelse if(sign(move) == 1 && ((tbordered && (!abschecklength2(tile1,mplatparent,y+47+1,x+9,17) || sprite_index == Hexport)) || !tbordered || jshell))\r\n  y += 1;\r\nelse break;\r\n}\r\n\r\n\r\ntcollide = 0;\r\ntbordered = 0;"
      ],
      "isRelative": false
    },
    {
      "actionId": 603,
      "appliesTo": -1,
      "argTypes": [
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "argValues": [
        "if((global.canduo && global.duopid == -1) || (global.watchpid == -1 && global.duopid == -1))\r\n{\r\nglobal.potenpid = -1;\r\nclosest = 999;\r\ncurdist = 999;\r\nfor(i = 0; i < global.pindex; i += 1)\r\n{\r\ncurdist = point_distance(x,y,global.p_x[i],global.p_y[i]);\r\nif(global.p_room[i] == room && curdist <= closest && curdist <= 42 && global.duopid == -1 && global.watchpid == -1 &&\r\n  (global.p_watchable[i] || (global.p_canduo[i] && !global.p_induo[i] && global.canduo)))\r\n{\r\nglobal.potenpid = i;\r\nclosest = curdist;\r\n}\r\n}\r\n}\r\nelse if(global.potenpid != -1)\r\n  global.potenpid = -1;\r\n\r\nif(global.watching != -1 && !instance_exists(watcher))\r\n{\r\ni = instance_create(x,y,watcher);\r\nif(global.watching == global.duopid && !global.duorole)\r\n  (i).duo = 1;\r\n}\r\n/*else if(global.watching == -1 && instance_exists(watcher))\r\n{\r\n}*/"
      ],
      "isRelative": false
    }
  ],
  "eventNumber": 0,
  "eventType": 3
}
