Creating an incinerator

== Introduction ==
In this tutorial you will learn how to create an Aperture Science Emergency Intelligence Incinerator.
== Instructions ==
===The Incinerator===
Create a prop_dynamic entity
Set the world model to models/props_bts/glados_aperturedoor.mdl
Change its name to model_incinerator_door 
Choose Collisions and choose Not Solid
===The Floor===
Make a floor, Two brushes are 192w*64l*16h and the other 2 are 40w*128l*16h 
thumb|right|200px|The floor of the incinerator 
===The Little Room===
thumb|right|200px|The Small Room of the incinerator
Make a little room, the walls for each side contain 2 brushes.
2 walls are 152w*16*128h brushes.
The top part of the walls have the texture metalwall_bts_006a and
the bottom part has the texture metalwall_bts_006b_gradient.
Rotate the faces by 180 degrees. Align the textures with the texture tool with Texture Shift.
The floor of the little room is 128w*128l*16h and the top face texture is light_orange001 
===Fire Particles===
thumb|right|200px|The Position of the Fire Particle
Create a info_particle_system entity
Set its name to fire_particles
Set the angles to 0 270 0
Set Particle System Name to fire_incinerator_door
Put this particle in the hole of the incinerator doors 
===Manual Collision===
thumb|right|200px|Manual Collision
Create a 208*208l*16h arch with the invisible texture and
set wall width to "40", Number of sides = 16, Arc = 360, Start Angle = 0
Select the brushes and hold 'ctrl + m' choose the X value and type "25"
Tie the entire shape to a func_detail
Position the brushes just like this.
====Second Part of Manual Collision====
thumb|right|150px|Manual Collision
thumb|right|150px|Manual Collision
thumb|right|150px|Manual Collision
Create a 144*144l*192h arch with the invisible texture
Set Number of sides to 16
Set wall width to 16
Set Arc to 360
Set Start Angle to 0
Select the clipping tool, from the top right of the shape, make a 30 degree cut from right to left.
Then cut off the top side of the shape.
Tie the shape to a func_detail
Now do your best to fit the shape into the incinerator.
 
===Fire Damage to Player===
Create a 152w*128*l*224h brush with the trigger texture.
Tie it to a trigger_hurt entity.
Set Damage and Damage Cap to 100
Change Damage Type to BURN
Set Zero Damage Force to Yes
===Nudging The Box===
thumb|right|200px|Nudging the box
Create a 128s*128l*8h brush with the trigger texture. Tie it to a trigger_multiple.
Set its name to nudge_boxes
Set its filter_name to filter_boxes
Go to flags and check Physics Objects and uncheck clients.
Go to outputs and enter the following:
	OnTrigger	!activator	Wake		0.00	No
Copy and paste the trigger_multiple and make it a trigger_push
Remove the Output from the "Outputs" tab
Set its move direction to 24 90 0 and leave everything else as it is.
Put the two triggers in the same spot and press ctrl + m. Choose the X value and type "25".
Position them just like this.
===Door Collision===
Make 128s*128l*8h brush with the invisible texture.
Tie it to a func_brush entity.
Name it incinerator_collision_door
Hold Ctrl + M and change the x value to 25
Position it just like this
thumb|left|200px|Door Collision
===Sounds===
Make an ambient_generic entity and name it to sound_incinerator.
Set its Sound Name to Portalgun.pedestal_rotate
Set its SourceEntityName to model_incinerator_door
===Making the Incinerator Functional===
Create 3 logic_relay entities
Name them relay_incinerator_open, relay_incinerator_close, and relay_euthanization
On relay_incinerator_open add the following outputs:
	OnTrigger	fire_particles 	Start 	 	0.00	No
	OnTrigger	incinerator_collision_door	Disable 	 	0.00	No
	OnTrigger	model_incinerator_door 	setanimation	open	0.00	No
	OnTrigger	sound_incinerator 	playsound 	 	0.00	No
On relay_incinerator_close add the following outputs:
	OnTrigger	fire_particles 	stop 	 	0.00	No
	OnTrigger	incinerator_collision_door	Enable 	 	0.00	No
	OnTrigger	model_incinerator_door 	setanimation	close	0.00	No
	OnTrigger	sound_incinerator 	playsound 	 	0.00	No
===Killing the Box===
Make 128s*128l*48h brush with the trigger texture.
Tie it to a trigger_once entity.
Name it to trigger_killbox
Set its Filter Name to filter_boxes
Go to flags and check physics objects and uncheck Clients
Enter the following in outputs:
	OnStartTouch	!activator 	kill 		0.00	No
	OnStartTouch	relay_euthanization	Trigger		0.00	No
==Implementation==
Have a certain object trigger relay_incinerator_open to open the incinerator
When that certain object deactivates, trigger relay_incinerator_close.
If that certain object can't deactivate, make relay_euthanization trigger the relay_incinerator_close.
== See also ==
* Portal Level Creation
Category:Portal
Category:Level Design
Category:Tutorials