Appearance
sp_range
Version: Dink Freedink DinkHD YeDink
Prototypeint sp_range(int active_sprite, int range[-1])
sp_range() gets or sets the range value for the active_sprite.
For an active_sprite that is playing an animation sequence with a special damage frame (i.e. attack sequences), the range value is used to temporarily deform the hardbox of all other sprites according to the current direction of the active_sprite. The active_sprite will hit any of the active_sprites that it overlaps.
If range is 0 (default), the range will be 28 for left and right, and 36 for up and down.
| Direction | Left | Top | Right | Bottom |
|---|---|---|---|---|
| 2 | -10 - (range / 8) | -range | +10 + (range / 8) | 0 |
| 4 | 0 | -10 - (range / 8) | +range | +10 + (range / 8) |
| 6 | -range | -10 - (range / 8) | 0 | +10 + (range / 8) |
| 8 | -10 | 0 | +10 | +range |
So, the range value essentially extends the hardboxes so that they're easier to hit based on the active_sprite's current direction. If the active_sprite is facing right and attacks, the hardboxes of all sprites are temporarily extended left range pixels (among other changes).
For sp_brain() 11 and 17 (missiles), range pixels are added around the missile's hardbox to make it more likely to hit enemies.
It is possible to see sp_range deformed hardboxes in debug mode.