Crusher

From Valve Developer Community
Revision as of 23:31, 30 April 2011 by Jzbradley (talk | contribs) (Created page with ''''Crushers''' are Panels with spikes. Like panels, they are attached to robotic arms. However, directly behind the robotic arm is a massive piston which drives the crusher. …')

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

Crushers are Panels with spikes. Like panels, they are attached to robotic arms. However, directly behind the robotic arm is a massive piston which drives the crusher.

Creating Crushers

1. Create a prop_dynamic entity with the following settings:

Property Name Value
World Model models/anim_wp/cursher/crusher.mdl
Name crusher1
Collision Not Solid
Hold animation? Yes

2. Create a 128x64x192 block brush around the spikes on the model. Tie it to a func_brush entity with the following settings:

Property Name Value
Name crusher1_brush
Parent crusher1

3. Create a 200x112x192 block brush around the previous brush. Tie it to a trigger_hurt entity with the following settings:

Property Name Value
Name crusher1_trigger_hurt
Parent crusher1
Damage 1000
Damage Cap 1000
Damage Type CRUSH

4. Create a 200x96x192 block brush around the trigger_hurt brush. Tie it to a trigger_portal_cleanser entity with the following settings:

Property Name Value
Name crusher1_trigger_hurt
Parent crusher1
Visible No

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnDissolve (your dropper's trigger's name) Trigger 0.00 No

5. Create a logic_auto entity and set up the outputs as follows:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnMapSpawn crusher1_brush SetParentAttachmentMaintainOffset base_attach 0.05 No
Io11.png OnMapSpawn crusher1_trigger_hurt SetParentAttachmentMaintainOffset base_attach 0.05 No

6. Create a logic_relay with the following settings:

Property Name Value
Name crusher1_logic_relay_crush

with the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger crusher1 SetAnimation smash_in 0.00 No
Io11.png OnTrigger crusher1_trigger_hurt Enable 0.00 No
Io11.png OnTrigger crusher1_math_counter SetValue 0 0.00 No

7. Create a logic_relay with the following settings:

Property Name Value
Name crusher1_logic_relay_uncrush

with the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger crusher1 SetAnimation smash_out 0.00 No
Io11.png OnTrigger crusher1_trigger_hurt Disable 0.00 No
Io11.png OnTrigger crusher1_math_counter SetValue 1 0.00 No

8. Create a logic_compare with the following settings:

Property Name Value
Name crusher1_logic_compare
Initial Value 0
Compare Value 1

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnLessThan crusher1_logic_relay_crush CancelPending 0.00 No
Io11.png OnLessThan crusher1_logic_relay_crush Disable 0.00 No

9. Create a math_counter with the following settings:

Property Name Value
Name crusher1_math_counter
Maximum Legal Value 1

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OutValue crusher1_logic_compare SetValue 0.00 No

10. Create a func_instance_io_proxy entity with the following settings:

Property Name Value
Name crusher1_proxy_crush

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnProxyRelay1 crusher1_logic_relay_crush Trigger 0.00 No
Io11.png OnProxyRelay2 crusher1_logic_relay_uncrush Trigger 0.00 No
Io11.png OnProxyRelay3 crusher1_logic_compare Compare 0.00 No

11. Create a logic_relay entity with the following settings:

Property Name Value
Name crusher1_proxy_crush

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnProxyRelay1 crusher1_logic_relay_crush Trigger 0.00 No
Io11.png OnProxyRelay2 crusher1_logic_relay_uncrush Trigger 0.00 No
Io11.png OnProxyRelay3 crusher1_logic_compare Compare 0.00 No

12. Set up triggers to open or close the crusher by triggering the proxy relays on crusher1_proxy_crush. Use crusher1_logic_compare to get the state of the crusher.


See also