objects/oShopkeeper/create.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.
oShopkeeper's create event, 49 lines of GML.
// ==== action 0: lib 1 id 604: action_inherited() ====// ==== action 1: lib 1 id 603: code ====makeActive();setCollisionBounds(2, 0, sprite_width-2, sprite_height);xVel = 0;image_speed = 0.5;myGrav = 0.6;// statstype = "Shopkeeper";style = "General";hp = 20;invincible = 0;favor = 12;IDLE = 0;WALK = 1;ATTACK = 2;THROW = 3;PATROL = 4;FOLLOW = 5;STUNNED = 98;DEAD = 99;status = 0;whipped = false;bounced = false;dead = false;counter = 0;sightCounter = 0;turnTimer = 0;throwCount = 0;stunTime = 5;betValue = 1000 + global.currLevel * 500;LEFT = 0;RIGHT = 1;facing = LEFT;shakeCounter = 0;shakeToggle = 1;welcomed = false;angered = false;hasGun = true;firing = 0;firingMax = 30;