diff options
Diffstat (limited to 'game/server/tf/halloween/halloween_behavior/headless_hatman_dying.cpp')
| -rw-r--r-- | game/server/tf/halloween/halloween_behavior/headless_hatman_dying.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/game/server/tf/halloween/halloween_behavior/headless_hatman_dying.cpp b/game/server/tf/halloween/halloween_behavior/headless_hatman_dying.cpp new file mode 100644 index 0000000..5a4a0ea --- /dev/null +++ b/game/server/tf/halloween/halloween_behavior/headless_hatman_dying.cpp @@ -0,0 +1,44 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// headless_hatman_dying.cpp +// The HHH in the process of dying +// Michael Booth, October 2010 + +#include "cbase.h" + +#include "particle_parse.h" + +#include "../headless_hatman.h" +#include "headless_hatman_dying.h" + + +//--------------------------------------------------------------------------------------------- +ActionResult< CHeadlessHatman > CHeadlessHatmanDying::OnStart( CHeadlessHatman *me, Action< CHeadlessHatman > *priorAction ) +{ + me->GetBodyInterface()->StartActivity( ACT_DIESIMPLE ); + me->EmitSound( "Halloween.HeadlessBossDying" ); + return Continue(); +} + + +//--------------------------------------------------------------------------------------------- +ActionResult< CHeadlessHatman > CHeadlessHatmanDying::Update( CHeadlessHatman *me, float interval ) +{ + if ( me->IsActivityFinished() ) + { + me->Break(); + DispatchParticleEffect( "halloween_boss_death", me->GetAbsOrigin(), me->GetAbsAngles() ); + + UTIL_Remove( me ); + + IGameEvent *event = gameeventmanager->CreateEvent( "pumpkin_lord_killed" ); + if ( event ) + { + gameeventmanager->FireEvent( event ); + } + + return Done(); + } + + return Continue(); +} + |