Fandom

Doom Wiki

Projectiles explode on impact with "sky"

3,484pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Projectiles in Doom are designed to explode when encountering an obstacle, including certain things as well as walls, floors and ceilings, but they are meant to disappear without exploding if they are aimed toward the sky. Due to a bug, projectiles will sometimes explode against the sky instead.

Technical

There are two ways in which a projectile can "reach" the sky: The most common way is for the projectile to be fired horizontally toward the top of a linedef in a sector that uses the sky texture for a ceiling. In this case, the projectile is removed without exploding as seen below.

From P_XYMovement in p_mobj.c:

  // explode a missile
  if (ceilingline &&
      ceilingline->backsector &&
      ceilingline->backsector->ceilingpic == skyflatnum)
  {
      // Hack to prevent missiles exploding
      // against the sky.
      // Does not handle sky floors.
      P_RemoveMobj (mo);
      return;
  }
  P_ExplodeMissile (mo);

When a projectile crosses the top of linedef ceilingline, indicating that the projectile is crossing out of the sector toward the "sky," the projectile will be removed.

Less frequently, a projectile will directly hit the ceiling that uses a sky texture, rather than a linedef. This will happen when an attack is aimed at a fast-moving target with a different height than the source, such as a monster running along a ledge above the player. In this situation, when aimed properly, the player's rocket will move up toward the monster, but if the monster moves out of the way the rocket will continue until it strikes something else.

Because there is no logic in the game that checks if a projectile is directly hitting a "sky" ceiling, the rocket will explode rather than be removed.

See also

Also on Fandom

Random Wiki