WiseCanisters: Headcrab Canisters

From Valve Developer Community
Jump to navigation Jump to search


This tutorial was originally created by wisemx. It was originally posted on SDKnuts.net.

Introduction

These canisters are awesome because Valve packed tons of effects into them. When you begin working with them you’ll notice there are more than the usual inputs and outputs plus additional properties and flags. We can just stick these canisters in the ground and then they can be triggered to come rocketing out of the sky, crash with sound and smoke then spawn headcrabs. There are many ways to use these and lots of effects that you can use with them.

Creation

For this tutorial we’re going to build the one in the image. In the game it will come down from the air. Trust me.

WiseCanister Explosion.png

Create an env_headcrabcanister partially stuck in the ground, with these properties:

  • Pitch Yaw Roll: (Use the “Point At” button to point at the spot of origin.)
  • Name: cannister01
  • Which Headcrabs to spawn: Normal headcrabs
  • Headcrab count: 3
  • Flight Speed: 2700
  • Flight Time: 1.5
  • Impact Damage: 100
  • Smoke Duration: 60
  • Flags: No Launch Sound, Land at Initial Position, Wait for Input to Open, Wait for Input to Spawn Headcrabs


Now place three info_node_hints on the ground around the env_headcrabcanister.

  • Hint: Headcrab Burrow Point
  • Node FOV: 180 Degrees
  • Start Hint Disabled: No
  • Minimum State: Idle
  • Maximum State: Combat
Note.pngNote:info_node_hints are not like scripts, these are hints the headcrabs will use if they don’t go into combat instantly. The three headcrabs we’ll spawn are going to either attack or burrow into the ground and wait for their attack but either way they will attack.

Next place info_nodes all around the canister. Placement is not important, these are hints the headcrabs can use but they will also bypass these to attack or burrow in the info_node_hints above. Place about 6 of these around the canister. Don’t check any of the flags and there’s nothing to set, just place them and forget them.


Create 3 env_physexplosions and place them around the canister. These are not needed but they add a nice effect.

  • Name: exp01 (All three, same name)
  • Magnitude: 85 (85-100 is typically enough)
  • Limit to Entity: cannister01


Create and place an ambient_generic.

  • Name: canister01_sound
  • Sound Name: d1_canals_05.canister_open
  • Volume: 8
  • SourceEntityName: cannister01
  • Flags: Start Silent, Is NOT Looped


Place a logic_relay in the map.

  • Name: relay_exp
  • Start Disabled: No

(Porter's note: I decided to omit wisemx's detour into how to make a trigger because it was really off-topic.)

All the map events start with a trigger_once. It has one output: when the output OnStartTouch fires, it targets cannister01 (the env_headcrabcanister) with the input FireCanister.

See also