Shredder
Shredders (a.k.a. grinders) are spinning blades in Portal 2 that destroy objects and players dropped into them. They function just like bottomless pits and deadly goo, but are factory themed.
Creation
1. Create a new map file to hold the shredder instance.
2. Create a long, thin brush. Tie it to a func_rotating entity with the following settings:
Property Name Value Name shredder1_left_axle Blocking Damage 500
3. Create another long, thin brush. Tie it to a func_rotating entity with the following settings:
Property Name Value Name shredder1_right_axle Blocking Damage 500
4. Create a prop_dynamic entity with the following settings:
Property Name Value Name shredder1_left Parent shredder1_left_axle World Model models/props_gameplay/shredder_left_b.mdl
5. Create a prop_dynamic entity with the following settings:
Property Name Value Name shredder1_right Parent shredder1_right_axle World Model models/props_gameplay/shredder_right_b.mdl
6. Position the props so that the teeth interlock and the brush entities are in the center of their respective props.
7. Create a 256×1024×128
brush where things would fall into it. Tie the brush to a trigger_hurt entity with the following settings:
Property Name Value Name shredder1_trigger_hurt Damage 1000 Damage Cap 1000 Damage Type CRUSH
8. Create a brush in front of that brush and tie it to a trigger_multiple entity with the following settings:
Property Name Value Name shredder1_dissolver Delay Before Reset 5
Tick the "Physics Objects" flag and add the following output:
9. Create a logic_relay with the following settings:
Property Name Value Name shredder1_relay_on
and the following outputs:
10. Create a logic_relay with the following settings:
Property Name Value Name shredder1_relay_off
and the following outputs:
11. Create a func_instance_io_proxy with the following settings:
Property Name Value Name shredder1_proxy
and the following outputs:
12. Save and close the file.
To use, create a func_instance in your map and set the VMF filename to the name of the file you saved your shredder instance in. Then use the following outputs to turn the shredder on or off: