objects/oBatTarget/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.
oBatTarget's step event, 22 lines of GML.
if (dir == UP){ y -= difficulty; if (y <= 64) { dir = DOWN; }}else if (dir == DOWN){ y += difficulty; if (y >= 160) { dir = UP; }} if (oMoonRoom.timer <= 20 and y > 64){ x = xMid - abs(sin(xDiff)*32); xDiff += 0.01;}