if(global.hp > 0 && lock == 0) { //Floor Collision if(position_meeting(x+16,y+26,PlatParent) || position_meeting(x+16,y+26,PlatParent2)) { vspeed = 0; fall = 0; if(keyboard_check_pressed(ord("S"))) { vspeed = -6.25; vspeed -= jumpboost; } } //Ceiling Collision else if(position_meeting(x+16,y+5,PlatParent) || position_meeting(x+16,y+5,PlatParent2)) { while(position_meeting(x+16,y+5,PlatParent) || position_meeting(x+16,y+5,PlatParent2)) { y += 1; } if(vspeed < 0) { vspeed = 0; } } //Wall Collision Left if(position_meeting(x+11,y+16,PlatParent) || position_meeting(x+11,y+16,PlatParent2)) { if(hspeed < 0) { hspeed *= -.5; } } //Wall Collision Right else if(position_meeting(x+20,y+16,PlatParent) || position_meeting(x+20,y+16,PlatParent2)) { if(hspeed > 0) { hspeed *= -.5; } } //Gravity if(!(position_meeting(x+16,y+26,PlatParent) || position_meeting(x+16,y+26,PlatParent2))) { vspeed += .5; } //Jump if(vspeed <= 0 && keyboard_check_released(ord("S"))) { fall = 1; } if(fall) { vspeed = .25; } }