mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
295 lines
5.6 KiB
Plaintext
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";
|
|
} |