objects/oPsychicWaveP/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.
oPsychicWaveP's step event, 17 lines of GML.
if (counter > 0){ counter -= 1; x += xVel; if (xVel > 0) dir = 0; else dir = 180;}else{ if (instance_exists(oEnemy)) { obj = instance_nearest(x, y, oEnemy); dir = point_direction(x, y, obj.x+8, obj.y+8); } x += 2 * cos(degtorad(dir)); y += -2 * sin(degtorad(dir));}