IL-GSC/AW/PC/maps/_utility_dogs.gsc
InfinityLoader b2389dbcb9 Full AW Dump
2024-04-22 02:38:24 -04:00

295 lines
5.6 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: _utility_dogs.gsc
* Game: Call of Duty: Advanced Warfare
* Platform: PC
* Function Count: 16
* Decompile Time: 254 ms
* Timestamp: 4/22/2024 2:24:20 AM
*******************************************************************/
//Function Number: 1
init_dog_anims()
{
if(isdefined(level.dog_anims_initialized))
{
return;
}
level.dog_anims_initialized = 1;
level.scr_anim["generic"]["dog_sniff_idle"][0] = %iw6_dog_sniff_idle;
level.scr_anim["generic"]["dog_sniff_walk"] = %iw6_dog_sniff_walk;
level.scr_anim["generic"]["dog_sneak_idle"][0] = %iw6_dog_sneakidle;
level.scr_anim["generic"]["dog_sneak_walk"] = %iw6_dog_sneak_walk_forward;
}
//Function Number: 2
dog_follow_path_func(param_00,param_01)
{
init_dog_anims();
if(self.type != "dog")
{
return;
}
switch(param_00)
{
case "enable_sniff":
dyn_sniff_disable();
enable_dog_sniff();
break;
case "disable_sniff":
dyn_sniff_disable();
disable_dog_sniff();
break;
case "enable_dyn_sniff":
dyn_sniff_enable();
break;
case "disable_dyn_sniff":
dyn_sniff_disable();
break;
case "enable_sneak":
dyn_sniff_disable();
enable_dog_sneak();
break;
case "disable_sneak":
dyn_sniff_disable();
disable_dog_sneak();
break;
}
}
//Function Number: 3
enable_dog_sniff()
{
self.old_moveplaybackrate = self.moveplaybackrate;
self.moveplaybackrate = 1;
self.movementtype = "sniff";
maps\_utility::disable_arrivals();
self notify("stop_pant");
}
//Function Number: 4
disable_dog_sniff()
{
if(isdefined(self.old_moveplaybackrate))
{
self.moveplaybackrate = self.old_moveplaybackrate;
}
self.movementtype = "run";
maps\_utility::enable_arrivals();
}
//Function Number: 5
enable_dog_sneak()
{
init_dog_anims();
self.run_overridesound = undefined;
self.customidlesound = undefined;
self.old_moveplaybackrate = self.moveplaybackrate;
self.moveplaybackrate = 1;
self.script_noturnanim = 1;
self.script_nostairs = 1;
maps\_utility::disable_arrivals();
maps\_utility::disable_exits();
maps\_utility::set_generic_idle_anim("dog_sneak_idle");
maps\_utility::set_generic_run_anim("dog_sneak_walk");
}
//Function Number: 6
disable_dog_sneak()
{
if(isdefined(self.old_moveplaybackrate))
{
self.moveplaybackrate = self.old_moveplaybackrate;
}
self.run_overridesound = undefined;
self.customidlesound = undefined;
self.script_noturnanim = undefined;
self.script_nostairs = undefined;
maps\_utility::enable_arrivals();
maps\_utility::enable_exits();
maps\_utility::clear_generic_idle_anim();
maps\_utility::clear_generic_run_anim();
}
//Function Number: 7
dog_lower_camera(param_00)
{
if(!isdefined(param_00))
{
param_00 = 0.75;
}
self setanim(%camera,1,param_00,1);
self setanimknob(%iw6_dog_camera_down_add,1,param_00,1);
}
//Function Number: 8
dog_raise_camera(param_00)
{
if(!isdefined(param_00))
{
param_00 = 0.75;
}
self setanim(%camera,1,param_00,1);
self setanimknob(%iw6_dog_camera_up_add,1,param_00,1);
}
//Function Number: 9
dyn_sniff_enable(param_00,param_01)
{
self endon("death");
self endon("dynsniff_off");
if(isdefined(self.dyn_sniff))
{
return;
}
self.dyn_sniff = 1;
if(!isdefined(param_00))
{
param_00 = 400;
}
if(!isdefined(param_01))
{
param_01 = 200;
}
self.old_moveplaybackrate = self.moveplaybackrate;
for(;;)
{
var_02 = player_is_behind_me();
var_03 = distance(self.origin,level.player.origin);
if(var_02 && var_03 > param_00)
{
enable_dog_sniff();
wait(4);
while(player_is_behind_me() && distance(self.origin,level.player.origin) > param_01)
{
wait(0.1);
}
disable_dog_sniff();
wait(6);
}
wait(0.3);
}
}
//Function Number: 10
dyn_sniff_disable()
{
self notify("dynsniff_off");
disable_dog_sniff();
self.dyn_sniff = undefined;
}
//Function Number: 11
player_is_behind_me()
{
var_00 = (self.angles[0],self.angles[1],0);
var_01 = anglestoforward(var_00);
var_02 = self.origin - (0,0,self.origin[2]);
var_03 = level.player.origin - (0,0,level.player.origin[2]);
var_04 = vectornormalize(var_03 - var_02);
var_05 = vectordot(var_04,var_01);
return var_05 < -0.1;
}
//Function Number: 12
dog_bark(param_00)
{
if(!isdefined(param_00))
{
param_00 = "anml_dog_bark_attention_npc";
}
self setanimrestart(%iw6_dog_attackidle_bark_add,1,0.1,1);
maps\_utility::play_sound_on_entity(param_00);
}
//Function Number: 13
dog_pant_think()
{
self notify("stop_panting");
self endon("stop_panting");
self endon("death");
for(;;)
{
if(!isdefined(self.run_overridesound) && !isdefined(self.customidlesound) && self.script != "dog_combat")
{
dog_pant();
}
wait(randomfloatrange(15,25));
}
}
//Function Number: 14
dog_pant(param_00)
{
self endon("stop_panting");
self endon("stop_pant");
self endon("death");
var_01 = self isdogbeingdriven() || isdefined(self.controlling_dog);
var_02 = undefined;
if(self.script == "dog_stop")
{
if(var_01)
{
var_02 = "anml_dog_pants_med_plr";
}
else
{
var_02 = "anml_dog_pants_med";
}
}
else
{
if(self.movemode == "walk" || isdefined(self.movementtype) && self.movementtype == "walk_fast" || self.movementtype == "sniff" || self.movementtype == "sneak")
{
var_02 = "anml_dog_pants_med";
}
else
{
var_02 = "anml_dog_pants_fast";
}
if(var_01)
{
var_02 = var_02 + "_plr";
}
}
maps\_utility::play_sound_on_entity(var_02);
}
//Function Number: 15
enable_dog_walk(param_00)
{
self.old_movementtype = self.movementtype;
if(isdefined(param_00))
{
self.movementtype = "walk_fast";
return;
}
self.movementtype = "walk";
}
//Function Number: 16
disable_dog_walk()
{
self.movementtype = "run";
}