i'm Out Of Ideas Except One Idea
Scene 5 0.1 Second Time Save I Did Say TAS Only But I Think It's Possible A Super Wall Jump Would Save Just Enough Time To Get 1:14.9XX But with Lag Crusher A 1:12
BOYS! The Plan Is Simple I Need Help
I may be dumb but the room with the red key door has an open ceiling what if you get up that
thats the point also where is the open ceiling Do You Have A Picture
This is crazy, but what if when you get pushed down by the yellow key door you avoided dying you could then run to the side and skip the green key door
Define Check touching solid (warp=true)
{
If (Sensing.TouchingObject(Level) Or (Sensing.TouchingObject(Moving Platform) Or Sensing.TouchingObject(Lock door)))
{
touching! = 1;
}
Else
{
touching! = 0;
}
}
Define Collide X - Slope or Wall? (warp=true)
{
Call Check can Wall Slide;
Motion.ChangeYBy(1);
Call Check touching solid;
If (touching! > 0)
{
Motion.ChangeYBy(1);
Call Check touching solid;
If (touching! > 0)
{
Motion.ChangeYBy(-2);
Motion.SetX(Last value);
speed x = 0;
Stop(this script);
}
speed x = (speed x * 0.8);
}
speed x = (speed x * 0.95);
Call Slip;
}
Define Collide Y - Celling and floor (warp=true)
{
Motion.SetY(Last value);
If (speed y > 0)
{
speed y = 0;
Stop(this script);
}
If (falling? > 0)
{
falling? = 0;
Call Slip;
}
speed y = (speed y * 0.8);
}
Define Controls - left and right (warp=true)
{
If (long jump > 0)
{
long jump += -1;
Stop(this script);
}
KEY X = (Stick X - ((Sensing.KeyPressed(left arrow) Or Sensing.KeyPressed(a)) - (Sensing.KeyPressed(right arrow) Or Sensing.KeyPressed(d))));
If (KEY X == 0)
{
If ((falling? > 2) And (wall slide < 1))
{
speed x = (speed x * 0.98);
Stop(this script);
}
If (abs(speed x) < 1)
{
frame = 0;
speed x = 0;
}
Else
{
frame += 0.5;
}
}
Else
{
speed x += (KEY X * AcCeLEraTIoN);
Motion.PointInDirection((KEY X * 90));
frame += 1;
}
speed x = (speed x * resisTANCE);
}
Define Controls - up and down (warp=true)
{
If ((Sensing.KeyPressed(up arrow) Or Sensing.KeyPressed(w)) Or (Stick Y > 0.5))
{
If ((wall slide > 0) And (jumping == 0))
{
Sound.Play(Jump);
jumping = 1;
falling? = 3;
wall slide = 0;
Motion.TurnRight(180);
speed x = ((Motion.Direction() / 90) * 7);
long jump = 12;
}
If ((falling? < 3) And (jumping == 0))
{
Sound.Play(Jump);
jumping = 1;
falling? = 3;
}
If ((jumping > 0) And (jumping < JUMP DURATION))
{
jumping += 1;
speed y = Jump force;
}
}
Else
{
jumping = 0;
}
speed y += GRAVITY;
If (wall slide > 0)
{
Call Check can Wall Slide;
If (speed y < 0)
{
speed y = (speed y * 0.6);
}
}
}
Define Find Closet Space to(string x)(string y) max(string max) (warp=true)
{
temp = Motion.Direction();
distance = 1;
Motion.PointInDirection(0);
Repeat (max)
{
Repeat (16)
{
Motion.GoToXY(x, y);
Motion.Move(distance);
Call Check touching solid;
If (touching! < 1)
{
Motion.PointInDirection(temp);
Stop(this script);
}
Motion.TurnRight(22.5);
}
distance += 1;
}
Motion.GoToXY(x, y);
Motion.PointInDirection(temp);
}
Define Fix Collision in Direction(string dir) (warp=true)
{
temp = Motion.Direction();
distance = 1;
Motion.PointInDirection(dir);
Repeat (128)
{
Call Check touching solid;
If (touching! < 1)
{
Motion.PointInDirection(temp);
Stop(this script);
}
Motion.Move(distance);
Motion.TurnRight(180);
distance += 1;
}
}
Define Moved - by Moving Platform (warp=true)
{
Motion.ChangeXBy(PLATFORM DX);
Motion.ChangeYBy(PLATFORM DY);
Call Check touching solid;
If (touching! > 0)
{
Call Find Closet Space to(Motion.XPosition())(Motion.YPosition()) max(16);
If (touching! > 0)
{
Event.Broadcast("Die ");
}
}
}
This Is The Collisions Scripts I Think That The Range For Going To Land Would Be Too Small To Reach It But You Also Can't Clip Under The Yellow Key Door There is 43 x Positions That You Can Die From And About 10 You Can't And None Put You In the Floor Because Nothing Pushes You In To The Floor Except Maybe Moving Platforms.
Also https://www.speedrun.com/scratchys_adventure_1/resources/57h7a If You Want To See The Full Code
Made a new category for All Fish, the timing was incredibly off and wrong and the fact that All Fish is faster than Any% makes absolutely 0 sense so I changed the timing to normal.