<undefined> 0 -1 0 0 <undefined> sMask1 1 603 7 0 0 -1 2 self 0 0 1 myid = 0; sax = global.sax; spectator = 0; STANDING = 10; RUNNING = 11; DUCKING = 12; LOOKING_UP = 13; JUMPING = 15; FALLING = 16; DYING = 17; LEFT = 18; RIGHT = 19; ON_GROUND = 20; IN_AIR = 21; ON_LADDER = 22; BALL = 23; AIRBALL = 24; GRIP = 25; CLIMBING = 26; SPIDERBALL = 27; BRAKING = 28; SJSTART = 29; SUPERJUMP = 30; SJEND = 31; HURT = 32; IDLE = 33; SAVING = 34; SAVINGFX = 35; SAVINGSHIP = 36; SAVINGSHIPFX = 37; GRABBEDGAMMA = 38; KNOCKBACK1 = 39; KNOCKBACK1_LAND = 40; KNOCKBACK2 = 41; KNOCKBACK2_LAND = 42; A4EXPL = 43; ELEVATOR = 44; RECOVER = 45; GRABBED = 49; WATERJET = 50; GFELEVATOR = 51; GRABBEDOMEGA = 52; GRABBEDQUEEN = 53; GRABBEDQUEENMORPH = 54; GRABBEDQUEENBELLY = 55; LOCKEDBALL = 60; DEFEATED = 100; screwattackpickupframe = irandom(4); screwattackpickupangle = irandom(359); absorb = false; absorbDone = false; time = 0; 1 603 7 0 0 -1 2 self 0 0 1 if(instance_exists(oClient)){ var findID = ds_list_find_index(global.hitboxList, myid); if(findID >= 0){ if(ds_list_size(oClient.roomListData) > 0){ for(var i=0; i<ds_list_size(oClient.roomListData); i++){ var arrDraw = oClient.roomListData[| i]; var arrID = arrDraw[0]; var arrX = arrDraw[1]; var arrY = arrDraw[2]; var arrSprite = arrDraw[3]; var arrImage = arrDraw[4]; var arrState = arrDraw[19]; var arrSAX = arrDraw[20]; var arrSJBall = arrDraw[22]; var arrInvincible = arrDraw[27]; if(arrID == myid){ if(!absorb) x = arrX; if(!absorb) y = arrY; sax = arrSAX; spectator = arrDraw[26]; } mask_index = sMask1; if (arrState == DUCKING) mask_index = sMask3; if (arrState == BALL || arrState == AIRBALL || arrState == SPIDERBALL || arrState == WATERJET) mask_index = sMask4; if (arrSJBall == 1 && (arrState == SUPERJUMP || arrState == SJSTART || arrState == SJEND || arrState == BRAKING)) mask_index = sMask4; if (instance_exists(oCharacter) && distance_to_object(oCharacter) <= 500 && arrState == RUNNING && (abs(arrImage) >= 4 && abs(arrImage) < 4.9 || abs(arrImage) >= 9 && abs(arrImage) < 9.9) && arrSAX) PlayFootstepSAX(get_floor_material()); if(arrSprite == sCoreXSAX){ if(place_meeting(x, y, oCharacter) && arrInvincible == 0 && !global.spectator){ if(!absorb){ PlaySoundMono(sndAbsorbX); with(instance_create(oCharacter.x,oCharacter.y-oCharacter.sprite_height/2,oAbsorbX)) core = true; relativeX = x - oCharacter.x; relativeY = y - (oCharacter.y-oCharacter.sprite_height/2); screwattackpickupfx = oCharacter.fxtimer; absorb = true; global.otherAbsorbID = myid; global.otherAbsorbRelativeX = oCharacter.x; global.otherAbsorbRelativeY = oCharacter.y; global.otherAbsorbSpriteHeight = oCharacter.sprite_height/2; with(oClient) event_user(4); } } } } } } else { instance_destroy(); } } else { instance_destroy(); } if(absorb){ if(time == 1){ global.enablecontrol = 0; with (oCharacter) { fxtimer = other.screwattackpickupfx; speedmultiplier = 0; speedmultiresettimer = 10000; kLeft = 0; kRight = 0; kUp = 0; kDown = 0; kJump = 0; kJumpPressed = 0; kRun = 0; kAim = 0; kFire = 0; kMissile = 0; charge = 0; Mute_Loops(); } with(oFXTrail) { if(sprite_index == sScrewSpark) visible = false; } } if(time == 2) { image_xscale = 1; image_xscale = 1; with (oCharacter) { speedmultiplier = 0; speedmultiresettimer = 10000; sfx_stop(sndCoreXIdle); } } if(time > 2 && !absorbDone){ x = oCharacter.x + relativeX; y = (oCharacter.y-oCharacter.sprite_height/2) + relativeY; relativeX = lerp(relativeX, 0, 0.1); relativeY = lerp(relativeY, 0, 0.1); if(image_xscale > 0) { image_xscale -= 0.0225; image_yscale -= 0.0225; } if(image_xscale <= 0) { absorbDone = true; with (oCharacter) speedmultiresettimer = 0; global.enablecontrol = 1; if(global.item[11] == 0){ global.item[11] = 1; global.ibeam = 1; } with(instance_find(oFXTrail, instance_number(oFXTrail) - 1)) { if(sprite_index == sScrewSpark) { visible = true; sprite_index = sScrewAttack; image_index = other.screwattackpickupframe; image_alpha = 1; image_angle = other.screwattackpickupangle; image_blend = c_white; image_xscale = 1; image_yscale = 1; } } //instance_destroy(); } } time++; } 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 0