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

242 lines
4.5 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: _dog_kinect.gsc
* Game: Call of Duty: Advanced Warfare
* Platform: PC
* Function Count: 6
* Decompile Time: 96 ms
* Timestamp: 4/22/2024 2:20:44 AM
*******************************************************************/
//Function Number: 1
enable_dog_kinect()
{
if(level.script == "enemyhq")
{
speechenablegrammar("speech/s1/grammars/en-us_rileyenemyhq.cfg",1);
}
else if(level.script == "nml")
{
speechenablegrammar("speech/s1/grammars/en-us_rileynml.cfg",1);
}
speechenable(1);
setdvar("show_riley_commands",0);
}
//Function Number: 2
disable_dog_kinect()
{
speechenable(0);
if(level.script == "enemyhq")
{
speechenablegrammar("speech/s1/grammars/en-us_rileyenemyhq.cfg",0);
return;
}
if(level.script == "nml")
{
speechenablegrammar("speech/s1/grammars/en-us_rileynml.cfg",0);
}
}
//Function Number: 3
speechcommands()
{
enable_dog_kinect();
level.player thread listen_for_dog_kinect_commands(level.dog);
}
//Function Number: 4
listen_for_dog_kinect_commands(param_00)
{
self endon("death");
param_00 endon("death");
for(;;)
{
level.player waittill("speechCommand",var_01,var_02);
if(getdvarint("show_riley_commands") == 1)
{
iprintlnbold("speechCommand: " + var_02 + " at " + var_01 + " confidence.");
}
var_03 = 0.3;
var_04 = 0.7;
switch(var_02)
{
case "attack":
if(var_01 > var_03)
{
if(isdefined(param_00.controlling_dog) && param_00 maps\_utility::ent_flag("pause_dog_command"))
{
level.player notify("attack_command");
}
else
{
level.player notify("fired_laser");
}
}
break;
case "cancel":
if(var_01 > var_03)
{
param_00 notify("cancel_dog_attack");
}
break;
case "bark":
if(var_01 > var_04)
{
if(isdefined(param_00.controlling_dog))
{
level.player notify("LISTEN_ads_button_pressed");
}
}
break;
case "platform":
if(var_01 > var_03)
{
var_05 = ["platform","ramp","walkway","catwalk"];
foreach(var_07 in var_05)
{
var_08 = findlocation(var_07);
if(isdefined(var_08))
{
laser_designate_target_kinect(var_08);
break;
}
}
}
break;
case "cart":
if(var_01 > var_03)
{
var_0A = ["cart","counter","stand","conession","concession"];
foreach(var_0C in var_0A)
{
var_08 = findlocation(var_0C);
if(isdefined(var_08))
{
laser_designate_target_kinect(var_08);
break;
}
}
}
break;
case "vehicle":
if(var_01 > var_03)
{
var_0E = ["car","van","bus"];
foreach(var_10 in var_0E)
{
var_08 = findlocation(var_10);
if(isdefined(var_08))
{
laser_designate_target_kinect(var_08);
break;
}
}
}
break;
case "debris":
if(var_01 > var_03)
{
var_12 = ["debris","rubble"];
foreach(var_14 in var_12)
{
var_08 = findlocation(var_14);
if(isdefined(var_08))
{
laser_designate_target_kinect(var_08);
break;
}
}
}
break;
default:
if(var_01 > var_03)
{
var_08 = findlocation(var_02);
if(isdefined(var_08))
{
laser_designate_target_kinect(var_08);
}
}
break;
}
}
}
//Function Number: 5
findlocation(param_00)
{
var_01 = level.bcs_locations;
foreach(var_03 in var_01)
{
if(isdefined(var_03.locationaliases))
{
foreach(var_05 in var_03.locationaliases)
{
if(issubstr(var_05,param_00))
{
return var_05;
}
}
}
}
return undefined;
}
//Function Number: 6
laser_designate_target_kinect(param_00)
{
var_01 = [];
var_02 = getaiarray("axis");
foreach(var_04 in var_02)
{
if(var_04.type == "dog")
{
continue;
}
var_05 = var_04 gettagorigin("J_SpineUpper");
if(maps\_utility::player_looking_at(var_05,0.8,1))
{
var_06 = var_04 animscripts\battlechatter::get_all_my_locations();
foreach(var_08 in var_06)
{
var_09 = var_08.locationaliases;
foreach(var_0B in var_09)
{
if(var_0B == param_00)
{
var_01 = common_scripts\utility::array_add(var_01,var_04);
break;
}
}
}
}
}
var_0F = maps\_dog_control::get_eye();
if(var_01.size > 0)
{
var_01 = sortbydistance(var_01,var_0F);
foreach(var_04 in var_01)
{
if(!isdefined(var_04.a.doinglongdeath))
{
var_11 = maps\_dog_control::get_laser_designated_trace();
self notify("issue_dog_command",var_11,undefined,var_04);
return;
}
}
}
}