<!-- All internal events have a first parameter of self, which is the object receiving the event. They may have additial parameters, depending
on the specific event. -->
<InternalEvent Name="OnDamaged" /> <!-- OnDamaged(self, other) other is attacking object, may be nil -->
<InternalEvent Name="OnDestroyed" /> <!-- OnDestroyed(self) No parameters. Note that self is dead, but name and team are still valid. -->
<InternalEvent Name="OnArrived" /> <!-- OnArrived(self) Arrived at the end of a waypoint path. No parameters. -->
<InternalEvent Name="OnUnitEntered" /> <!-- OnUnitEntered(self, areaName) Unit entered an area. Name of area is parameter. -->
<!-- disabled since its really slow and nobody is using it... [mh, 5/7/2004]--><InternalEvent Name="OnTeamEntered" /> <!-- OnTeamEntered(self, areaName) Sent to the last unit of a team entering an area. -->
<InternalEvent Name="OnUnitExited" /> <!-- OnUnitExited(self, areaName) Unit left an area. Name of area is parameter. -->
<!-- disabled since its really slow and nobody is using it... [mh, 5/7/2004] --><InternalEvent Name="OnTeamExited" /> <!-- OnTeamExited(self, areaName) Sent to the last unit of a team leaving an area. -->
<InternalEvent Name="OnTeamDestroyed" /> <!-- OnTeamDestroyed(self) Sent to the last unit of a team as it is destroyed. -->
<InternalEvent Name="BeScary" /> <!-- Broadcast to a unit when he uses a power that makes him radiate scariness.. -->
<InternalEvent Name="OnAflame" /> <!-- OnAflame(self) Broadcast to allies that I am on fire :) -->
<InternalEvent Name="OnQuenched" /> <!-- OnQuenched(self) Broadcast to allies that I am no longer on fire :) -->
<InternalEvent Name="OnCreated" /> <!-- OnCreated(self) sent when an object has been constructed -->
<InternalEvent Name="OnBuildingComplete" /> <!--OnBuildingComplete sent when an object has completed building. IE construction complete-->
<InternalEvent Name="DamageIncoming" /> <!-- DamageIncoming(self, other, delay, amount) other is shooter, delay is when the damage should hit, amount is how much. So we can do a defense, or a "Oh heck" animation -->
<ScriptedEvent Name="ExampleGuardMe" /> <!-- GuardMe(self, other, string) other is object generating the scripted event. May be nil. -->
<!-- Second kind of scripted event is a spy event. -->
<ScriptedEvent Name="ExampleSpyMoving" /> <!-- SpyMoving(self, spySelf, parameters...) spySelf is the object self is spying on, parameters is the spied event paramters, may be nil. -->
<ScriptedEvent Name="BeAfraidOfBalrog" /> <!-- Becoming afraid of balrog -->
<ScriptedEvent Name="BeAfraidOfRampage" /> <!-- Becoming afraid of rampage -->
<ScriptedEvent Name="BeAfraidOfPhial" /> <!-- Becoming afraid of Frodo -->
<ScriptedEvent Name="BeUncontrollablyAfraid" /> <!-- Becoming afraid whether we like it or not -->
<ScriptedEvent Name="BeingEnraged" /> <!-- Be enraged! Revenge!! -->
<ScriptedEvent Name="BeAfraidOfGateDamaged" /> <!-- Be afraid of the gate being damaged -->
<ScriptedEvent Name="BeTerrified" /> <!-- Run Away! -->
<ScriptedEvent Name="ChantForUnit" /> <!-- Chant for a special unit! -->
<ScriptedEvent Name="StopChantForUnit" /> <!-- Stop Chant for a special unit! -->
<ScriptedEvent Name="BeginChanting" /> <!-- Begin Chanting! -->