mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
196 lines
5.7 KiB
Plaintext
196 lines
5.7 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: _stealth_behavior_enemy.gsc
|
|
* Game: Call of Duty: Advanced Warfare
|
|
* Platform: PC
|
|
* Function Count: 9
|
|
* Decompile Time: 138 ms
|
|
* Timestamp: 4/22/2024 2:23:00 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
stealth_behavior_enemy_main()
|
|
{
|
|
enemy_init();
|
|
var_00 = self._stealth.behavior.ai_functions["state"]["hidden"];
|
|
thread maps\_stealth_shared_utilities::ai_message_handler_hidden(var_00,"enemy_behavior");
|
|
var_00 = self._stealth.behavior.ai_functions["state"]["spotted"];
|
|
thread maps\_stealth_shared_utilities::ai_message_handler_spotted(var_00,"enemy_behavior");
|
|
thread enemy_animation_loop();
|
|
}
|
|
|
|
//Function Number: 2
|
|
enemy_animation_loop()
|
|
{
|
|
self endon("death");
|
|
self endon("pain_death");
|
|
self endon("damage");
|
|
for(;;)
|
|
{
|
|
self waittill("event_awareness",var_00);
|
|
if(!maps\_utility::ent_flag("_stealth_enabled"))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_01 = self._stealth.behavior.ai_functions["animation"]["wrapper"];
|
|
self thread [[ var_01 ]](var_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
enemy_state_hidden()
|
|
{
|
|
self.fovcosine = 0.5;
|
|
self.fovcosinebusy = 0.1;
|
|
self.favoriteenemy = undefined;
|
|
self.dontattackme = 1;
|
|
self.dontevershoot = 1;
|
|
thread maps\_utility::set_battlechatter(0);
|
|
if(self.type == "dog")
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.diequietly = 1;
|
|
self clearenemy();
|
|
}
|
|
|
|
//Function Number: 4
|
|
enemy_state_spotted(param_00)
|
|
{
|
|
self.fovcosine = 0.01;
|
|
if(!isdefined(self.dog_attacking_me))
|
|
{
|
|
self.ignoreall = 0;
|
|
thread maps\_utility::set_battlechatter(1);
|
|
}
|
|
|
|
self.dontattackme = undefined;
|
|
self.dontevershoot = undefined;
|
|
if(isdefined(self.oldfixednode))
|
|
{
|
|
self.fixednode = self.oldfixednode;
|
|
}
|
|
|
|
if(self.type != "dog")
|
|
{
|
|
self.diequietly = 0;
|
|
if(!isdefined(param_00))
|
|
{
|
|
maps\_utility::clear_run_anim();
|
|
maps\_stealth_shared_utilities::enemy_stop_current_behavior();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
self.script_growl = undefined;
|
|
self.script_nobark = undefined;
|
|
}
|
|
|
|
if(isdefined(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isdefined(level._stealth.group.spotted_enemy))
|
|
{
|
|
var_01 = level._stealth.group.spotted_enemy[self.script_stealthgroup];
|
|
if(isdefined(var_01))
|
|
{
|
|
self getenemyinfo(var_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
enemy_init()
|
|
{
|
|
maps\_utility::ent_flag_init("_stealth_override_goalpos");
|
|
maps\_utility::ent_flag_init("_stealth_enemy_alert_level_action");
|
|
maps\_utility::ent_flag_init("_stealth_running_to_corpse");
|
|
maps\_utility::ent_flag_init("_stealth_behavior_reaction_anim");
|
|
maps\_utility::ent_flag_init("_stealth_behavior_first_reaction");
|
|
maps\_utility::ent_flag_init("_stealth_behavior_reaction_anim_in_progress");
|
|
self._stealth.behavior = spawnstruct();
|
|
self.a.nofirstframemelee = 1;
|
|
self._stealth.behavior.ai_functions = [];
|
|
enemy_default_state_behavior();
|
|
enemy_default_anim_behavior();
|
|
self._stealth.behavior.event = spawnstruct();
|
|
if(self.type == "dog")
|
|
{
|
|
enemy_dog_init();
|
|
}
|
|
|
|
self._stealth.plugins = spawnstruct();
|
|
thread maps\_stealth_shared_utilities::ai_stealth_pause_handler();
|
|
}
|
|
|
|
//Function Number: 6
|
|
enemy_dog_init()
|
|
{
|
|
if(threatbiasgroupexists("dog"))
|
|
{
|
|
self setthreatbiasgroup("dog");
|
|
}
|
|
|
|
if(isdefined(self.enemy) || isdefined(self.favoriteenemy))
|
|
{
|
|
return;
|
|
}
|
|
|
|
maps\_utility::ent_flag_init("_stealth_behavior_asleep");
|
|
if(isdefined(self.script_pet) || isdefined(self.script_patroller))
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.ignoreme = 1;
|
|
self.ignoreall = 1;
|
|
self.allowdeath = 1;
|
|
thread maps\_anim::anim_generic_custom_animmode_loop(self,"gravity","_stealth_dog_sleeping");
|
|
maps\_utility::ent_flag_set("_stealth_behavior_asleep");
|
|
}
|
|
|
|
//Function Number: 7
|
|
enemy_custom_state_behavior(param_00)
|
|
{
|
|
foreach(var_03, var_02 in param_00)
|
|
{
|
|
maps\_stealth_shared_utilities::ai_create_behavior_function("state",var_03,var_02);
|
|
}
|
|
|
|
var_04 = self._stealth.behavior.ai_functions["state"]["hidden"];
|
|
thread maps\_stealth_shared_utilities::ai_message_handler_hidden(var_04,"enemy_behavior");
|
|
var_04 = self._stealth.behavior.ai_functions["state"]["spotted"];
|
|
thread maps\_stealth_shared_utilities::ai_message_handler_spotted(var_04,"enemy_behavior");
|
|
}
|
|
|
|
//Function Number: 8
|
|
enemy_default_state_behavior()
|
|
{
|
|
var_00 = [];
|
|
var_00["hidden"] = ::enemy_state_hidden;
|
|
var_00["spotted"] = ::enemy_state_spotted;
|
|
enemy_custom_state_behavior(var_00);
|
|
}
|
|
|
|
//Function Number: 9
|
|
enemy_default_anim_behavior()
|
|
{
|
|
maps\_stealth_shared_utilities::ai_create_behavior_function("animation","wrapper",::maps\_stealth_shared_utilities::enemy_animation_wrapper);
|
|
if(self.type == "dog")
|
|
{
|
|
maps\_stealth_shared_utilities::ai_create_behavior_function("animation","grenade danger",::maps\_stealth_animation_funcs::dog_animation_wakeup_fast);
|
|
maps\_stealth_shared_utilities::ai_create_behavior_function("animation","bulletwhizby",::maps\_stealth_animation_funcs::dog_animation_wakeup_fast);
|
|
maps\_stealth_shared_utilities::ai_create_behavior_function("animation","gunshot_teammate",::maps\_stealth_animation_funcs::dog_animation_wakeup_fast);
|
|
maps\_stealth_shared_utilities::ai_create_behavior_function("animation","projectile_impact",::maps\_stealth_animation_funcs::dog_animation_wakeup_slow);
|
|
return;
|
|
}
|
|
|
|
maps\_stealth_shared_utilities::ai_create_behavior_function("animation","grenade danger",::maps\_stealth_animation_funcs::enemy_animation_nothing);
|
|
maps\_stealth_shared_utilities::ai_create_behavior_function("animation","bulletwhizby",::maps\_stealth_animation_funcs::enemy_animation_nothing);
|
|
maps\_stealth_shared_utilities::ai_create_behavior_function("animation","gunshot_teammate",::maps\_stealth_animation_funcs::enemy_animation_nothing);
|
|
maps\_stealth_shared_utilities::ai_create_behavior_function("animation","projectile_impact",::maps\_stealth_animation_funcs::enemy_animation_nothing);
|
|
} |