objects/oManTrap/collision_oShopkeeper.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.
oManTrap's collision oShopkeeper event, 24 lines of GML.
if (status != STUNNED and status != EATING){ xVel = 0; status = EATING; if (other.x > x) facing = RIGHT; else facing = LEFT; sprite_index = sManTrapEatShopkeeperL; if (other.hp > 0) ateShopkeeper = true; with other { if (hasGun) { obj = instance_create(x+8, y+8, oShotgun); obj.yVel = rand(4,6); if (xVel < 0) obj.xVel = -1 * rand(4,6); else obj.xVel = rand(4,6); obj.cost = 0; obj.forSale = false; hasGun = false; } instance_destroy(); }}