SpelunkyFan wiki

Monkey

Verified against the spelunky.ai port v0.1.10 on .

The Monkey is a monster of the Jungle in Spelunky Classic that leaps from vines onto the player and steals his money, a rope or a bomb, or trips him.

Level generation puts Monkeys on the vines of the Jungle. A Monkey climbs up and down its vine until the player passes below, then leaps down at him and jumps about until it lands on him. It doesn't bite: it clings to his back for a second or two, then trips him or throws away some of his money, a rope or a Bomb. With 1 hit point, it dies to any damage.

Behaviour

#

On a vine. A Monkey starts out hanging from a vine. It climbs up it at 1 pixel per step to the vine's top, hangs there for 10–40 steps (0.33–1.33 seconds), climbs down to the bottom, hangs again, and so on [5] [6]. While it climbs, if the player is below it and within 64 pixels of it, counting from the edges of the two, it leaps off toward him, across at 3 pixels per step and up at 2–4, and can't catch hold of a vine again for 30 steps [7]. In the air, it catches the first vine or ladder it meets, once those 30 steps are up, or lands [8].

On the ground. When it lands, it stands for 10–40 steps, then walks at 2 pixels per step (60 per second), turning at walls and stopping for 20–50 steps with a 1 in 100 chance each step [9]. Whenever it's standing still and the player is within 64 pixels, it jumps at him, up at 4–5 pixels per step and across at 2, and chatters as it leaves the ground [10] [11]. Unlike a climbing Monkey, it jumps at a player above it too.

Monkey steals. A monkey leaps off a vine at the player, clings to his back and throws one of his bombs away. It jumps on him again and throws away a rope.

Clinging. When a Monkey touches the player, within 4 pixels of its middle across, and he isn't invincible, it grabs him and holds on, moving with him, for 40–80 steps (1.33–2.67 seconds) [12] [13]. Then it does one thing [14]:

ChanceWhat it does
1 in 4Trips him: he's knocked over and stunned for 40 steps, and drops what he's holding[15]
Otherwise, if he has the money, 8 in 10Takes $500 plus $125 for each area after the Mines ($625 in the Jungle) and throws it out as a Gold Nugget, which can be picked up after 20 steps[16] [17]
Otherwise, if he has a rope, 1 in 2Takes a rope and throws it out[18]
Otherwise, if he has a bombTakes a Bomb and throws it out; 1 time in 10 the bomb is lit, with a 40-step fuse[19]

If none of those applies, it takes nothing. Either way it then leaps off away from him and can't grab him again for 60 steps (2 seconds) [20]. The clip shows a Monkey leaping off its vine, jumping onto the player and throwing away one of his bombs, then jumping on him again and throwing away a rope.

The money it throws out is worth what it took: a Gold Nugget is worth $500, plus a quarter of that for each area after the Mines, when it's picked up, the same sum the Monkey takes [21] [22].

The player can shake a Monkey off by flipping down from a ledge to hang from it, and leaving the level through its exit throws one off too [23] [24] [25].

Items. A Monkey knocks away any item that touches it while it isn't clinging to the player, at most once every 60 steps (2 seconds): the item flies off the way the Monkey faces at 5 pixels per step, and up [26].

Like most monsters, a Monkey only acts while it's on screen or just off it [27].

Damage

#

A Monkey never takes the player's hearts. Its touch code replaces the one most monsters share and has no damage in it: touching a Monkey either stomps it or lets it grab him [28]. What it can cost him is what it takes (above), the fall after a trip, and a lit bomb it throws away, whose explosion hurts him like any Bomb's.

Defeating

#

A Monkey has 1 hit point, so any damage kills it [29]:

WayDamage
Whip1 hit point[30]
Machete2 hit points[30]
Stomp (landing on it, within 4 pixels of its middle), except while it's clinging to the player or he's swimming1, however far he fell, with or without Spike Shoes[31]
A thrown item moving faster than 2 pixels per step, such as a Rock1[32]
A Shotgun or Pistol bullet4 hit points[33]
A Bomb's explosion30 hit points[34]
A Spear Trap's spears2[35]
Falling onto SpikesKills it[36]
Standing in LavaKills it[37]
Ending up inside solid groundKills it[38]

Monkeys killed count toward the player's kills, and the screen between levels draws a Monkey icon for each [39] [40]. One that Spikes, Lava or a Spear Trap killed doesn't count [41] [42] [43].

Locations

#

Level generation makes Monkeys only in the Jungle, on its vines: each vine block has a 1 in 15 chance of one [44].

Custom levels can have them, as the level editor's tile m [45].

Tips

#
  • A Monkey on a vine only leaps at a player below it, so passing above or level with it is safe until it comes down.
  • A Monkey takes nothing a player doesn't have: with no money to spare, no ropes and no bombs, its grab only costs time, or a trip.
  • Flipping down from a ledge to hang from it throws off a Monkey that's holding on.
  • A clinging Monkey can't be stomped, and while it's on the player's back, it moves with him.

Trivia

#
  • The Monkey's touch code is a copy of the one most monsters share, first line included, a comment that names other monsters:

    // jumped on - oCaveman, oManTrap replaces this script with its own
    objects/oMonkey/collision_oCharacter.gml:1, from spelunky.gmk, Spelunky Classic 1.1's source, © 2008, 2009 Derek Yu and Mossmouth, LLC (Spelunky User License v1.1b).
  • Monkeys have a kill count of their own, which a comment says "is for stats", rather than a slot in the monsters' kill counts: the kills table the game writes to stats.txt adds it as a row after the Frog's [46] [47].

  • Its code names a drowned state that nothing ever puts it in, and has a commented-out line, copied from the Frog's, that would have played the Frog's croak when it jumps [48] [49].

FAQ

#
Does a Monkey hurt the player in Spelunky Classic?

Not directly. A Monkey's touch takes no hearts: it clings to the player and then trips him or throws away some of his money, a rope or a bomb. A bomb it throws away is sometimes lit.

What does a Monkey steal in Spelunky Classic?

After clinging to the player for 40–80 steps, it trips him with a 1 in 4 chance. Otherwise it takes $625 in the Jungle and throws it out as a Gold Nugget, if he has that much (8 times in 10); failing that, a rope (half the time), or else a Bomb.

How do you get a Monkey off in Spelunky Classic?

Wait for it to let go, or hang from a ledge: flipping down from a ledge to hang from it throws off any Monkey that's holding on, as does leaving the level.

How do you kill a Monkey in Spelunky Classic?

Hit it once with anything. A Monkey has 1 hit point, so a Whip hit, a stomp, a bullet or a Bomb kills it, though not a stomp while it's clinging to the player.

Where do Monkeys live in Spelunky Classic?

On vines in the Jungle, where level generation puts a Monkey on a vine block with a 1 in 15 chance.

See also

#
Damaged by

References

#
  1. objects/oMonkey/create.gml:13
  2. objects/oMonkey/step.gml:187-290
  3. objects/oMonkey/step.gml:79
  4. objects/oMonkey/step.gml:146-186
  5. objects/oMonkey/create.gml:29
  6. objects/oMonkey/step.gml:135-169
  7. objects/oMonkey/step.gml:170-185
  8. objects/oMonkey/step.gml:93-112
  9. objects/oMonkey/step.gml:61-92
  10. objects/oMonkey/step.gml:61-68
  11. objects/oMonkey/step.gml:113-134
  12. objects/oMonkey/collision_oCharacter.gml:13-23
  13. objects/oMonkey/step.gml:187-197
  14. objects/oMonkey/step.gml:199-275
  15. objects/oMonkey/step.gml:200-229
  16. objects/oMonkey/step.gml:199
  17. objects/oMonkey/step.gml:230-243
  18. objects/oMonkey/step.gml:244-255
  19. objects/oMonkey/step.gml:256-275
  20. objects/oMonkey/step.gml:276-289
  21. objects/oGoldNugget/create.gml:6
  22. objects/oPlayer1/step.gml:1996
  23. scripts/characterStepEvent.gml:803-828
  24. scripts/characterStepEvent.gml:829-852
  25. objects/oPlayer1/step.gml:890-900
  26. objects/oMonkey/collision_oItem.gml:1-26
  27. objects/oMonkey/step.gml:3-4
  28. objects/oMonkey/collision_oCharacter.gml:1-23
  29. objects/oMonkey/step.gml:30-40
  30. objects/oEnemy/collision_oWhip.gml:1
  31. objects/oMonkey/collision_oCharacter.gml:2-12
  32. objects/oItem/step.gml:256-348
  33. objects/oBullet/collision_oEnemy.gml:16
  34. objects/oExplosion/collision_oEnemy.gml:14
  35. objects/oEnemy/step.gml:76-106
  36. objects/oEnemy/step.gml:108-128
  37. objects/oEnemy/step.gml:65-74
  38. objects/oMonkey/step.gml:14
  39. objects/oMonkey/step.gml:33-38
  40. objects/oTransition/alarm_0.gml:185-190
  41. objects/oEnemy/step.gml:68
  42. objects/oEnemy/step.gml:101
  43. objects/oEnemy/step.gml:120
  44. scripts/scrEntityGen.gml:321-324
  45. scripts/scrCreateTileObj.gml:193-196
  46. objects/oMonkey/step.gml:35
  47. scripts/scrWriteStats.gml:214-224
  48. objects/oMonkey/create.gml:25
  49. objects/oMonkey/step.gml:67
  50. objects/oMonkey/collision_oCharacter.gml:6-12
  51. objects/oEnemy/step.gml:63-74

Source code

  • objects/oMonkey/create.gml
  • objects/oMonkey/step.gml
  • objects/oMonkey/collision_oCharacter.gml
  • objects/oMonkey/collision_oItem.gml
  • objects/oEnemy/step.gml
  • objects/oEnemy/collision_oWhip.gml
  • scripts/characterStepEvent.gml
  • scripts/scrEntityGen.gml
#