combine_ballspawner

From Valve Developer Community
Revision as of 06:06, 24 May 2018 by Pinsplash (talk | contribs) (Fixing this prefab: about the TODO, no SDK release ever fixed this issue, to my surprise)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


A dissected combine_ballspawner prefab.

A prefab located in the Prefabs HL2 folder, containing a huge Combine energy conduit shaft that spawns a constant stream of energy balls, as seen in the Citadel elevator shaft in Half-Life 2.

This prefab includes the following:

  • 4 func_detail brushes, making up the two transmitter bases.
  • An ambient_generic entity playing the d3_citadel.combine_ball_field_loop2 sound.
  • An env_beam paired up with an info_target entity to provide the visual effect of a wide beam of light.
  • A func_combine_ball_spawner brush, with its Combine Power Supply flag cleared, that will spawn a steady stream of balls moving upwards.
  • A trigger_vphysics_motion that applies a downward force, probably used to suck down anything that comes in contact with the conduit stream, with the exception of the energy balls. Doesn't work properly - see below.
  • A trigger_physics_trap used to disintegrate anything that comes into contact with the conduit stream, with the exception of the energy balls. Doesn't work properly - see below.
  • Two logic_relay entities - one that handles its startup if the conduit is turned on, and one handling its shutdown if the conduit is turned off.

The conduit is turned off by default. You will have to add a trigger that will trigger the relay_ballspawner1_on logic_relay to turn it on.

When relay_ballspawner1_on relay is triggered, it will turn on all the effects of the conduit. When the relay_ballspawner1_off relay is triggered, it will turn off the same effects.


Fixing this prefab

As is, this prefab does not work very well due to the trigger entities relying a nonexistent filter entity called "filter_combine_ball". To fix this, make a filter_activator_class excluding the class prop_combine_ball (or better yet, try filter_combineball_type) to prevent them from being disintegrated or sucked down by the stream.