Files
IL-GSC/BO1/PC/ZM/maps/_serverfaceanim.gsc
2024-02-18 17:32:07 -05:00

87 lines
2.4 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include maps\_utility;
#include common_scripts\utility;
#using_animtree( "generic_human" );
null_ai_face_anims_func()
{
anims = %faces;
anims = %f_idle_casual_v1;
anims = %f_idle_alert_v1;
anims = %f_idle_alert_v2;
anims = %f_idle_alert_v3;
anims = %f_firing_v1;
anims = %f_firing_v2;
anims = %f_firing_v3;
anims = %f_firing_v4;
anims = %f_firing_v5;
anims = %f_firing_v6;
anims = %f_firing_v7;
anims = %f_firing_v8;
anims = %f_firing_v9;
anims = %f_firing_v10;
anims = %f_firing_v12;
anims = %f_firing_v13;
anims = %f_firing_v14;
anims = %f_firing_v15;
anims = %f_im_reloading;
anims = %f_melee_v1;
anims = %f_melee_v2;
anims = %f_melee_v3;
anims = %f_melee_v4;
anims = %f_pain_v1;
anims = %f_pain_v2;
anims = %f_pain_v3;
anims = %f_pain_v4;
anims = %f_pain_v5;
anims = %f_death_v1;
anims = %f_death_v2;
anims = %f_death_v3;
anims = %f_death_v4;
anims = %f_death_v5;
anims = %f_death_v6;
anims = %f_death_v7;
anims = %f_death_v8;
anims = %f_react_v1;
anims = %f_react_v2;
anims = %f_react_v3;
anims = %f_react_v4;
anims = %f_react_v5;
anims = %f_running_v1;
anims = %f_running_v2;
}
init_serverfaceanim()
{
self addAIEventListener( "grenade danger" );
self addAIEventListener( "bulletwhizby" );
self addAIEventListener( "projectile_impact" );
self.do_face_anims = true;
if( !IsDefined( level.face_event_handler ) )
{
level.face_event_handler = SpawnStruct();
level.face_event_handler.events = [];
level.face_event_handler.events["death"] = "face_death";
level.face_event_handler.events["grenade danger"] = "face_alert";
level.face_event_handler.events["bulletwhizby"] = "face_alert";
level.face_event_handler.events["projectile_impact"] = "face_alert";
level.face_event_handler.events["explode"] = "face_alert";
level.face_event_handler.events["alert"] = "face_alert";
level.face_event_handler.events["shoot"] = "face_shoot_single";
level.face_event_handler.events["melee"] = "face_melee";
level.face_event_handler.events["damage"] = "face_pain";
level thread wait_for_face_event();
}
}
wait_for_face_event()
{
while( true )
{
level waittill( "face", face_notify, ent );
if( IsDefined( ent ) && IsDefined( ent.do_face_anims ) && ent.do_face_anims )
{
if( IsDefined( level.face_event_handler.events[face_notify] ) )
{
ent SendFaceEvent( level.face_event_handler.events[face_notify] );
}
}
}
}