Bomp is an enemy that appears in Whomp's Fortress. They come in small and large varieties. Exactly 3 appear in the game, all in Whomp's Fortress. One of these is large and the other two are small.

Bomp
STROOP- Small Bomp.png
Technical Constants
Object Group Surface
Model ID 0xAE (Small)
0xB1 (Large)
Hitbox
Damage 0
Health NA
Code
Initialization Behavior Script [1]
Behavior Code [2]

Behavior

When Small Bomp is initialized, its facing angle is decreased by 90 degrees and its initial position is set equal to its current position. Small Bomp’s timer attribute is set by multiplying a random float from 0 to 1 by 100. Bomp has four actions: waiting, poking out, extending, and retracting. When Bomp is in the waiting action, Bomp does nothing until Bomp’s timer reaches a value of at least 101. When this happens, Bomp’s action is set to poking out and its forward velocity is set to 30 units/frame. When Bomp is in the poking out action, Bomp continues moving forward until Bomp’s X-position is greater than 3450. At this point, Bomp’s X-position is set to 3450 and its forward velocity is set to 0. Separately, after an additional 15 frames from poking out, Bomp’s action is set to extending, its forward velocity is set to 40 units/frame, and a sound is played. When Bomp is in the extending action, Bomp moves forward until its X-position is greater than 3830. At this point, Bomp’s X-position is set to 3830 and its forward velocity is set to 0. Separately, after an additional 60 frames from extending being set, Bomp’s action is set to retracting, Bomp’s forward velocity is set to 10 units/frame, a sound plays, and Bomp’s moving angle is decreased by 180 degrees. When Bomp is in the retracting action, Bomp continues moving backwards until its X-position is less than 3330. At this point, Bomp’s X-position is set to 3330 and its forward velocity is set to 0. Separately, after an additional 90 frames from retracting being set, Bomp’s action is set to poking out, its forward velocity is set to 25 units/frame, and its moving angle is decreased by 180 degrees.

Large Bomp’s behavior uses the same loop of actions as Small Bomp. However, when it is initialized, its move angle is increased by 90 degrees rather than its facing angle being decreased by 90 degrees and it does not set its initial position to its current position.

References