The Explod controller is a flexible tool for displaying animations such as sparks. Its functionality includes that of GameMakeAnim, which is now deprecated.

Required parameters:

- anim = [F]anim_no (int)
  anim_no specifies the number of the animation to play back. The 'F' prefix is optional: if included, then the animation is played back from fight.def.

Optional parameters:

- ID = id_no (int)
  id_no specifies an ID number for this explod. Useful mainly with the NumExplod trigger and the RemoveExplod controller.
- pos = x_pos, y_pos (int)
  x_pos and y_pos specify the offset at which to create the explod. The exact behavior depends on the postype.
  If these parameters are omitted, they default to 0.
- postype = string (string)
  string specifies the postype -- how to interpret the pos parameters. In all cases, a positive y offset means a downward displacement. Valid values for postype are the following:
  - p1 - Interprets pos relative to p1's axis. A positive x offset is toward the front of p1. This is the default value for postype.
  - p2 - Interprets pos relative to p2's axis. A positive x offset is toward the front of p2.
  - front - Interprets xpos relative to the edge of the screen that p1 is facing toward, and ypos relative to the top of the screen. A positive x offset is away from the center of the screen, whereas a negative x offset is toward the center.
  - back - Interprets xpos relative to the edge of the screen that p1 is facing away from, and ypos relative to the top of the screen. A positive x offset is toward the center of the screen, whereas a negative x offset is away from the center.
  - left - Interprets xpos and ypos relative to the upper-left corner of the screen. A positive x offset is toward the right of the screen.
  - right - Interprets xpos and ypos relative to the upper-right corner of the screen. A positive x offset is toward the left of the screen.
- facing = facing (int)
  Set facing to 1 to have the explod face in the same direction as the positive x offset (as determined by postype), and -1 to have the explod face in the opposite direction. Defaults to 1.
- vfacing = facing (int)
  Set vfacing to -1 to have the explod display vertically flipped, or 1 to have the explod display vertically unflipped. Defaults to 1 if omitted.
- bindtime = bind_time (int)
  Specifies the number of game ticks to bind the explod to the bind point specified by postype. For instance, if postype = p1, pos = 30, -40, and bindtime = 5, then the explod will be drawn at position 30, -40 relative to p1's axis for 5 ticks, no matter how p1 moves during this time. After the bindtime has expired, the explod will no longer be bound to the bind point, and will maintain its position (unless affected by the vel or accel parameters). If bindtime = -1, then the explod will be bound forever.
- vel = x_vel, y_vel (float)
  Specifies initial X and Y velocity components for the explod. These are interpreted relative to the explod's "facing" direction. These default to 0 if omitted.
- accel = x_accel, y_accel (float)
  Specifies X and Y acceleration components for the explod. These default to 0.
- random = rand_x, rand_y (int)
  Causes the explod's bind point to be displaced by a random amount when created. rand_x specifies the displacement range in the x direction, and rand_y specifies the displacement range in the y direction. For instance, if pos = 0,0 and random = 40,80, then the explod's x location will be a random number between -20 and 19, and its y location will be a random number between -40 and 39. Both arg1 and arg2 default to 0 if omitted.
- removetime = rem_time (int)
  If rem_time is positive, the explod will be removed after having been displayed for that number of game ticks. If rem_time is -1, the explod will be displayed indefinitely. If rem_time is -2, the explod will be removed when its animtime reaches 0. The default value if omitted is -2.
- supermove = bvalue (boolean)
  Deprecated -- use supermovetime parameter instead
  Set supermove = 1 to have the explod persist until the end of a super pause, regardless of the value of removetime. Defaults to 0.
- supermovetime = move_time (int)
  Determines the number of ticks that the explod should be "unfrozen" during a SuperPause. Often useful if you want the explod to be animated during a SuperPause, such as for custom super sparks. Defaults to 0.
- pausemovetime = move_time (int)
  Determines the number of ticks that the explod should be "unfrozen" during a Pause. Defaults to 0.
- scale = x_scale [,y_scale] (float)
  x_scale and y_scale specify the scaling factors to apply to the explod in the horizontal and vertical directions. Both default to 1 (no scaling) if omitted.
- sprpriority = pr (int)
  pr specifies the drawing priority for the explod. Animations with higher priority get drawn over animations with lesser priority. For instances, setting sprpriority = -3 will cause the explod to be drawn under most characters and other explods, which usually have sprpriority >= -2. Defaults to 0 if omitted.
- ontop = bvalue (boolean)
  Set ontop = 1 to have the explod drawn over all other sprites and background layers. This parameter has precedence over sprpriority. Defaults to 0.
- shadow = shad_r, shad_g,shad_b (int)
  Specifies the R, G, and B components of the explod's shadow. Valid values for each component are 0-255. The greater a component, the less of that color will be displayed in the shadow. To use the shadow color of the stage, set shad_r to -1. Defaults to 0,0,0 (no shadow).
- ownpal = bvalue (boolean)
  Set ownpal = 1 to give the explod its own copy of its palette. This is desirable if you want to keep temporary changes to the player's palette, such as recovering from a fall or using the PalFX controller, from affecting the color of the explod. Defaults to 0 if omitted.
- removeongethit = bvalue (boolean)
  Setting this to 1 will have the explod removed if the player gets hit. Defaults to 0.
- ignorehitpause = bvalue (boolean)
  If this is 1, the explod will be animated independently of the player that created it. If set to 0, it will not be updated when the player is in hitpause. Defaults to 1.
- trans = trans_type (string)
  Overrides the explod's animation transparency settings. See the Trans controller for details. An "alpha" parameter must be specified if trans_type is "addalpha". If omitted, does nothing.

Notes:

The position of an explod that is created relative to a player (eg. using "postype = p1") is determined only after all player updates have completed (contrast this to helpers, which are created relative to the player's immediate position when the controller was executed). This behavior is necessary to make explods bind properly to the player's screen position.

For example, assume the player has an x velocity of 5 and a position of (160,0). If an explod is created with an offset of 0,0 relative to p1, then the explod's actual screen position will be 165,0.

Example:

`none`