SpelunkyFan wiki

objects/oThwompTrap/step.gml

From spelunky.gmk, Spelunky Classic 1.1's source, © 2008, 2009 Derek Yu and Mossmouth, LLC, shown whole under the Spelunky User License v1.1b. Extracted by spelunky.ai's tools, an unofficial fan project, one file per script or event; the // ==== lines are the extractor's, naming each action of the event. Some scripts are others' work that Derek Yu credits in the source's readme.txt: Martin Piecyk's platform engine, ChevyRay's view scaling scripts and tsg1zzn's Super Sound System.

oThwompTrap's step event, 37 lines of GML.

dist = distance_to_object(oCharacter)if (status == IDLE){    if (oPlayer1.y > y and dist < 96 and abs(oPlayer1.x - x) < 8)    {        status = DROP;    }}else if (status == DROP){    yVel += myGrav;    if (yVel > 6) yVel = 6;    if (isCollisionBottom(1))    {        status = WAIT;        yVel = 0;        counter = 100;    }}else if (status == WAIT){    if (isCollisionBottom(1)) y -= 1;    if (counter > 0) counter -= 1;    else    {        status = RETURN;        yVel = -1;    }}else if (status == RETURN){    if (isCollisionTop(1))    {        yVel = 0;        status = IDLE;    }}