A_MonitorPop

From SRB2 Wiki
Jump to navigation Jump to search

A_MonitorPop is an action that is used when a monitor is destroyed, doing all of the below all at once and more;

  • Spawning an explosion effect
  • Playing the Object's DeathSound
  • Making the Object Non-Solid and No-Clip
  • Spawning the floating icon that comes out of the monitor
  • Triggering a Linedef Executor if set to do so

Note that this Action will not cause the monitor to appear destroyed, only giving the object the properties of a destroyed monitor, this is meant to be handled by the object itself, by changing the state after 4 tics to S_BOX_POP2 or some other equivalent state.

The actor's Damage attribute determines the Object type to spawn as the monitor's "icon" (i.e. the item which will rise up and award the monitor's power-up to the actor's target), unless the Object that is set to be spawned is MT_UNKNOWN – in which case, the Object type used for the monitor's icon is determined by a function randomly picking one of 10 hardcoded object types and spawning it, however the odds of these objects being spawned can be weighted in multiplayer through the following console variables.

Object type Monitor Icon Console variable
MT_RING_ICON Super Ring Monitor
tv_superring
MT_SNEAKERS_ICON Super Sneakers
tv_supersneaker
MT_INVULN_ICON Invincibility
tv_invincibility
MT_WHIRLWIND_ICON Whirlwind Shield
tv_jumpshield
MT_ELEMENTAL_ICON Elemental Shield
tv_watershield
MT_ATTRACT_ICON Attraction Shield
tv_ringshield
MT_FORCE_ICON Force Shield
tv_forceshield
MT_ARMAGEDDON_ICON Armageddon Shield
tv_bombshield
MT_1UP_ICON Extra Life Monitor
tv_1up
MT_EGGMAN_ICON Eggman Monitor
tv_eggman
MT_MIXUP_ICON Teleporter Monitor
tv_teleporter
MT_RECYCLER_ICON Recycler Monitor
tv_recycler

By default, all monitors on this list have an equal probability of 8.33% of being used by a Random Monitor. The respective console variables can be used to increase or decrease the chances of each monitor being used, but doing so will mark the game as "cheated".

If the icon is of Object type MT_1UP_ICON (the icon for the Extra Life Monitor), this action also handles the overlay that shows the player's face on the icon; if the actor's target's current skin has a sprite frame to show for the icon it will be displayed, otherwise it will display a default "1up" sprite. The skin color of the actor's target will also be applied.

If the Object's "Extra" Flag is checked, this function will also trigger a linedef executor that has the same tag as the object's thing's angle value, and the triggerer is the object that broke the monitor.

Object property Use
DeathSound Sound to play when the monitor is initially destroyed
Damage Object type to spawn for monitor's icon (unless the Object type specified is MT_UNKNOWN)

  Actions – Powers and monitors [view]
A_1upThinkerA_AwardScoreA_BombShieldA_CustomPowerA_EggmanBoxA_ExtraLifeA_GiveShieldA_ForceShieldA_GiveWeaponA_GravityBoxA_InvincibilityA_JumpShieldA_MixUpA_MonitorPopA_PityShieldA_RecyclePowersA_RingBoxA_RingShieldA_SuperSneakersA_WaterShield