mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-21 23:47:52 -05:00
Added MW3 Scripts
This commit is contained in:
1
MW3/PC/SP/animscripts/dog/dog_combat.gsc
Normal file
1
MW3/PC/SP/animscripts/dog/dog_combat.gsc
Normal file
@ -0,0 +1 @@
|
||||
Failed to decompile this file, open a ticket if you need this fixed.
|
47
MW3/PC/SP/animscripts/dog/dog_death.gsc
Normal file
47
MW3/PC/SP/animscripts/dog/dog_death.gsc
Normal file
@ -0,0 +1,47 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: animscripts\dog\dog_death.gsc
|
||||
* Game: Call of Duty: Modern Warfare 3
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 39 ms
|
||||
* Timestamp: 10/27/2023 2:17:13 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
self endon("killanimscript");
|
||||
if(isdefined(self.a.var_D55))
|
||||
{
|
||||
wait 1.1;
|
||||
var_00 = self getdroptofloorposition();
|
||||
if(isdefined(var_00))
|
||||
{
|
||||
var_01 = common_scripts\utility::spawn_tag_origin();
|
||||
var_01.origin = self.origin;
|
||||
var_01.angles = self.angles;
|
||||
self linkto(var_01);
|
||||
var_01 moveto(var_00,0.5);
|
||||
wait 0.5;
|
||||
self unlink();
|
||||
var_01 delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
wait 0.5;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
self unlink();
|
||||
if(isdefined(self.enemy) && isdefined(self.enemy.var_78A) && self.enemy.var_78A == self)
|
||||
{
|
||||
self.enemy.var_78A = undefined;
|
||||
}
|
||||
|
||||
self clearanim(%root,0.2);
|
||||
self setflaggedanimrestart("dog_anim",%german_shepherd_death_front,1,0.2,1);
|
||||
animscripts/shared::donotetracks("dog_anim");
|
||||
}
|
40
MW3/PC/SP/animscripts/dog/dog_flashed.gsc
Normal file
40
MW3/PC/SP/animscripts/dog/dog_flashed.gsc
Normal file
@ -0,0 +1,40 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: animscripts\dog\dog_flashed.gsc
|
||||
* Game: Call of Duty: Modern Warfare 3
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 31 ms
|
||||
* Timestamp: 10/27/2023 2:17:13 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
self endon("killanimscript");
|
||||
self endon("stop_flashbang_effect");
|
||||
wait randomfloatrange(0,0.4);
|
||||
self clearanim(%root,0.1);
|
||||
var_00 = maps\_utility::flashbanggettimeleftsec();
|
||||
if(var_00 > 2 && randomint(100) > 60)
|
||||
{
|
||||
self setflaggedanimrestart("flashed_anim",%german_shepherd_run_pain,1,0.2,self.var_10F7 * 0.75);
|
||||
}
|
||||
else
|
||||
{
|
||||
self setflaggedanimrestart("flashed_anim",%german_shepherd_run_flashbang_b,1,0.2,self.var_10F7);
|
||||
}
|
||||
|
||||
var_01 = getanimlength(%german_shepherd_run_flashbang_b) * self.var_10F7;
|
||||
if(var_00 < var_01)
|
||||
{
|
||||
animscripts/notetracks::func_D4F(var_00,"flashed_anim");
|
||||
}
|
||||
else
|
||||
{
|
||||
animscripts/shared::donotetracks("flashed_anim");
|
||||
}
|
||||
|
||||
self.var_2097 = 0;
|
||||
self notify("stop_flashbang_effect");
|
||||
}
|
1
MW3/PC/SP/animscripts/dog/dog_init.gsc
Normal file
1
MW3/PC/SP/animscripts/dog/dog_init.gsc
Normal file
@ -0,0 +1 @@
|
||||
Failed to decompile this file, open a ticket if you need this fixed.
|
432
MW3/PC/SP/animscripts/dog/dog_move.gsc
Normal file
432
MW3/PC/SP/animscripts/dog/dog_move.gsc
Normal file
@ -0,0 +1,432 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: animscripts\dog\dog_move.gsc
|
||||
* Game: Call of Duty: Modern Warfare 3
|
||||
* Platform: PC
|
||||
* Function Count: 15
|
||||
* Decompile Time: 270 ms
|
||||
* Timestamp: 10/27/2023 2:17:15 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
self endon("killanimscript");
|
||||
self clearanim(%root,0.2);
|
||||
self clearanim(%german_shepherd_run_stop,0);
|
||||
if(!isdefined(self.var_3B58) && !isdefined(self.var_3B0C) && self.a.movement == "run" && !isdefined(self.disableexits) || self.disableexits == 0)
|
||||
{
|
||||
func_3B61();
|
||||
}
|
||||
|
||||
thread func_3B64();
|
||||
self.var_3B58 = undefined;
|
||||
self.var_3B0C = undefined;
|
||||
if(self.a.movement == "run")
|
||||
{
|
||||
var_00 = undefined;
|
||||
var_00 = func_3B65();
|
||||
self setanimrestart(%german_shepherd_run,var_00["center"],0.2,1);
|
||||
self setanimrestart(%german_shepherd_run_lean_l,var_00["left"],0.1,1);
|
||||
self setanimrestart(%german_shepherd_run_lean_r,var_00["right"],0.1,1);
|
||||
self setflaggedanimknob("dog_run",%german_shepherd_run_knob,1,0.2,self.moveplaybackrate);
|
||||
animscripts/notetracks::func_D4F(0.1,"dog_run");
|
||||
}
|
||||
else
|
||||
{
|
||||
self setflaggedanimrestart("dog_walk",%german_shepherd_walk,1,0.2,self.moveplaybackrate);
|
||||
}
|
||||
|
||||
thread animscripts/dog/dog_stop::func_3B01("normal");
|
||||
for(;;)
|
||||
{
|
||||
func_3B59();
|
||||
if(self.a.movement == "run")
|
||||
{
|
||||
if(self.disablearrivals == 0)
|
||||
{
|
||||
thread func_3B62();
|
||||
}
|
||||
|
||||
self waittill("run");
|
||||
self clearanim(%german_shepherd_run_stop,0.1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
func_3B59()
|
||||
{
|
||||
self endon("killanimscript");
|
||||
self endon("stop_soon");
|
||||
self.var_10B7 = undefined;
|
||||
for(;;)
|
||||
{
|
||||
if(self.disablearrivals)
|
||||
{
|
||||
self.stopanimdistsq = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.stopanimdistsq = level.var_3AEE;
|
||||
}
|
||||
|
||||
if(isdefined(self.var_10B7))
|
||||
{
|
||||
self [[ self.var_10B7 ]]();
|
||||
self.var_10B7 = undefined;
|
||||
}
|
||||
|
||||
if(isdefined(self.var_10AB))
|
||||
{
|
||||
self [[ self.var_10AB ]]();
|
||||
continue;
|
||||
}
|
||||
|
||||
func_3B5A();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_3B5A()
|
||||
{
|
||||
self endon("move_loop_restart");
|
||||
if(self.a.movement == "run")
|
||||
{
|
||||
var_00 = func_3B65();
|
||||
self clearanim(%german_shepherd_walk,0.3);
|
||||
self setanim(%german_shepherd_run,var_00["center"],0.2,1);
|
||||
self setanim(%german_shepherd_run_lean_l,var_00["left"],0.1,1);
|
||||
self setanim(%german_shepherd_run_lean_r,var_00["right"],0.1,1);
|
||||
self setflaggedanimknob("dog_run",%german_shepherd_run_knob,1,0.2,self.moveplaybackrate);
|
||||
animscripts/notetracks::func_D4F(0.2,"dog_run");
|
||||
return;
|
||||
}
|
||||
|
||||
self clearanim(%german_shepherd_run_knob,0.3);
|
||||
self setflaggedanim("dog_walk",%german_shepherd_walk,1,0.2,self.moveplaybackrate);
|
||||
animscripts/notetracks::func_D4F(0.2,"dog_walk");
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
func_1090()
|
||||
{
|
||||
self endon("killanimscript");
|
||||
self.var_10A8 = undefined;
|
||||
for(;;)
|
||||
{
|
||||
self waittill("path_changed",var_00,var_01);
|
||||
if(isdefined(self.var_10A8) || isdefined(self.noturnanims))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(self.a.movement != "run")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_02 = angleclamp180(self.angles[1] - vectortoyaw(var_01));
|
||||
var_03 = func_3B5C(var_02);
|
||||
if(isdefined(var_03))
|
||||
{
|
||||
self.var_10C0 = var_03;
|
||||
self.var_10C1 = gettime();
|
||||
self.var_10AB = ::func_3B5D;
|
||||
self notify("move_loop_restart");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
func_3B5B()
|
||||
{
|
||||
self endon("killanimscript");
|
||||
self.var_10A8 = undefined;
|
||||
for(;;)
|
||||
{
|
||||
if(self.var_774 > 40 && !isdefined(self.var_10AB) && !isdefined(self.var_10A8) && !isdefined(self.noturnanims) && self.a.movement == "run")
|
||||
{
|
||||
var_00 = vectortoyaw(self.var_773);
|
||||
var_01 = angleclamp180(self.angles[1] - var_00);
|
||||
var_02 = func_3B5C(var_01);
|
||||
if(isdefined(var_02))
|
||||
{
|
||||
self.var_10C0 = var_02;
|
||||
self.var_10C1 = gettime();
|
||||
self.var_10AB = ::func_3B5D;
|
||||
self notify("move_loop_restart");
|
||||
}
|
||||
}
|
||||
|
||||
wait 0.05;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
func_3B5C(param_00)
|
||||
{
|
||||
var_01 = undefined;
|
||||
if(param_00 < -135)
|
||||
{
|
||||
var_01 = %german_shepherd_run_start_180_l;
|
||||
}
|
||||
else if(param_00 > 135)
|
||||
{
|
||||
var_01 = %german_shepherd_run_start_180_r;
|
||||
}
|
||||
else if(param_00 < -60)
|
||||
{
|
||||
var_01 = %german_shepherd_run_start_l;
|
||||
}
|
||||
else if(param_00 > 60)
|
||||
{
|
||||
var_01 = %german_shepherd_run_start_r;
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
func_3B5D()
|
||||
{
|
||||
self endon("killanimscript");
|
||||
self.var_10AB = undefined;
|
||||
var_00 = self.var_10C0;
|
||||
if(gettime() > self.var_10C1 + 50)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
self animmode("zonly_physics",0);
|
||||
self clearanim(%root,0.2);
|
||||
self.var_10B7 = ::func_3B5E;
|
||||
self.var_10A8 = 1;
|
||||
self setflaggedanimrestart("turnAnim",var_00,1,0.2,self.moveplaybackrate);
|
||||
self orientmode("face current");
|
||||
var_01 = getanimlength(var_00) * self.moveplaybackrate;
|
||||
animscripts/notetracks::func_D4F(var_01 * 0.2,"turnAnim");
|
||||
self orientmode("face motion");
|
||||
self animmode("none",0);
|
||||
var_02 = self.turnrate;
|
||||
self.turnrate = 0.4;
|
||||
animscripts/notetracks::func_D4F(var_01 * 0.65,"turnAnim");
|
||||
self.turnrate = var_02;
|
||||
self.var_10A8 = undefined;
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
func_3B5E()
|
||||
{
|
||||
self.var_10A8 = undefined;
|
||||
self orientmode("face default");
|
||||
self clearanim(%root,0.2);
|
||||
self animmode("none",0);
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
func_3B5F()
|
||||
{
|
||||
self endon("killanimscript");
|
||||
for(var_00 = 0;var_00 < 2;var_00++)
|
||||
{
|
||||
var_01 = vectortoangles(self.var_773);
|
||||
self orientmode("face angle",var_01);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
func_3B60()
|
||||
{
|
||||
self endon("move_loop_restart");
|
||||
if(self.var_774 == 0)
|
||||
{
|
||||
thread func_3B5B();
|
||||
return;
|
||||
}
|
||||
|
||||
var_00 = self.origin;
|
||||
var_01 = level.var_3AF5 * 0.6;
|
||||
var_00 = var_00 + self.var_773 * var_01;
|
||||
var_02 = distancesquared(self.origin,self.pathgoalpos) < var_01 * var_01;
|
||||
var_03 = vectortoangles(self.var_773);
|
||||
if(!var_02 && self maymovetopoint(var_00))
|
||||
{
|
||||
var_04 = angleclamp180(var_03[1] - self.angles[1]);
|
||||
if(var_04 >= 0)
|
||||
{
|
||||
if(var_04 < 45)
|
||||
{
|
||||
var_05 = 8;
|
||||
}
|
||||
else if(var_05 < 135)
|
||||
{
|
||||
var_05 = 6;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_05 = 3;
|
||||
}
|
||||
}
|
||||
else if(var_05 > -45)
|
||||
{
|
||||
var_05 = 8;
|
||||
}
|
||||
else if(var_05 > -135)
|
||||
{
|
||||
var_05 = 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_05 = 1;
|
||||
}
|
||||
|
||||
self setanimrestart(level.var_3AF8[var_05],1,0.2,1);
|
||||
var_06 = self.angles[1] + level.var_3AF7[var_05];
|
||||
var_07 = angleclamp180(var_03[1] - var_06);
|
||||
self orientmode("face angle",self.angles[1] + var_07);
|
||||
self animmode("zonly_physics",0);
|
||||
var_08 = getanimlength(level.var_3AF8[var_05]) * self.moveplaybackrate;
|
||||
animscripts/notetracks::func_D4F(var_08 * 0.6,"turnAnim");
|
||||
self orientmode("face motion");
|
||||
self animmode("none",0);
|
||||
thread func_3B5B();
|
||||
animscripts/notetracks::func_D4F(var_08 * 0.25,"turnAnim");
|
||||
return;
|
||||
}
|
||||
|
||||
self orientmode("face angle",var_03[1]);
|
||||
self animmode("none");
|
||||
self.var_3AFC = self.turnrate;
|
||||
self.turnrate = 0.5;
|
||||
var_09 = angleclamp180(var_03[1] - self.angles[1]);
|
||||
if(abs(var_09) > 20)
|
||||
{
|
||||
if(var_09 > 0)
|
||||
{
|
||||
var_0A = %german_shepherd_rotate_ccw;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_0A = %german_shepherd_rotate_cw;
|
||||
}
|
||||
|
||||
self setflaggedanimrestart("dog_turn",var_0A,1,0.2,1);
|
||||
animscripts/shared::donotetracks("dog_turn");
|
||||
self clearanim(%german_shepherd_rotate_cw,0.2);
|
||||
self clearanim(%german_shepherd_rotate_ccw,0.2);
|
||||
}
|
||||
|
||||
thread func_3B5B();
|
||||
self.turnrate = self.var_3AFC;
|
||||
self.var_3AFC = undefined;
|
||||
self orientmode("face motion");
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
func_3B61()
|
||||
{
|
||||
if(isdefined(self.pathgoalpos))
|
||||
{
|
||||
if(isdefined(self.pathgoalpos))
|
||||
{
|
||||
func_3B60();
|
||||
self clearanim(%root,0.2);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
self orientmode("face default");
|
||||
self setflaggedanimknobrestart("dog_prerun",%german_shepherd_run_start,1,0.2,self.moveplaybackrate);
|
||||
animscripts/shared::donotetracks("dog_prerun");
|
||||
self animmode("none",0);
|
||||
self clearanim(%root,0.2);
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
func_3B62()
|
||||
{
|
||||
self endon("killanimscript");
|
||||
self endon("run");
|
||||
self clearanim(%german_shepherd_run_knob,0.1);
|
||||
self setflaggedanimrestart("stop_anim",%german_shepherd_run_stop,1,0.2,1);
|
||||
animscripts/shared::donotetracks("stop_anim");
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
func_3B63(param_00,param_01)
|
||||
{
|
||||
maps\_utility::play_sound_on_tag_endon_death(param_00,"tag_eye");
|
||||
if(isalive(self))
|
||||
{
|
||||
self notify(param_01);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
func_3B64()
|
||||
{
|
||||
self endon("killanimscript");
|
||||
wait 0.2;
|
||||
for(;;)
|
||||
{
|
||||
var_00 = undefined;
|
||||
if(isdefined(self.var_23DB))
|
||||
{
|
||||
var_00 = "anml_dog_growl";
|
||||
}
|
||||
else if(!isdefined(self.script_nobark))
|
||||
{
|
||||
var_00 = "anml_dog_bark";
|
||||
}
|
||||
|
||||
if(!isdefined(var_00))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
thread func_3B63(var_00,"randomRunSound");
|
||||
self waittill("randomRunSound");
|
||||
wait randomfloatrange(0.1,0.3);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
func_3B65()
|
||||
{
|
||||
var_00 = [];
|
||||
if(self.var_76C > 0)
|
||||
{
|
||||
if(self.var_76C < 0.95)
|
||||
{
|
||||
self.var_76C = 0.95;
|
||||
}
|
||||
|
||||
if(var_7B["right"] > 1)
|
||||
{
|
||||
}
|
||||
else if(var_7B["right"] < 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
else if(self.var_76C < 0)
|
||||
{
|
||||
if(self.var_76C > -0.95)
|
||||
{
|
||||
self.var_76C = -0.95;
|
||||
}
|
||||
|
||||
if(var_7B["left"] > 1)
|
||||
{
|
||||
}
|
||||
|
||||
if(var_7B["left"] < 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
|
||||
return var_7B;
|
||||
}
|
24
MW3/PC/SP/animscripts/dog/dog_pain.gsc
Normal file
24
MW3/PC/SP/animscripts/dog/dog_pain.gsc
Normal file
@ -0,0 +1,24 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: animscripts\dog\dog_pain.gsc
|
||||
* Game: Call of Duty: Modern Warfare 3
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 32 ms
|
||||
* Timestamp: 10/27/2023 2:17:15 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
self endon("killanimscript");
|
||||
if(isdefined(self.enemy) && isdefined(self.enemy.var_78A) && self.enemy.var_78A == self)
|
||||
{
|
||||
self unlink();
|
||||
self.enemy.var_78A = undefined;
|
||||
}
|
||||
|
||||
self clearanim(%root,0.2);
|
||||
self setflaggedanimrestart("dog_pain_anim",%german_shepherd_run_pain,1,0.2,1);
|
||||
animscripts/shared::donotetracks("dog_pain_anim");
|
||||
}
|
14
MW3/PC/SP/animscripts/dog/dog_reactions.gsc
Normal file
14
MW3/PC/SP/animscripts/dog/dog_reactions.gsc
Normal file
@ -0,0 +1,14 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: animscripts\dog\dog_reactions.gsc
|
||||
* Game: Call of Duty: Modern Warfare 3
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 30 ms
|
||||
* Timestamp: 10/27/2023 2:17:16 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
}
|
51
MW3/PC/SP/animscripts/dog/dog_scripted.gsc
Normal file
51
MW3/PC/SP/animscripts/dog/dog_scripted.gsc
Normal file
@ -0,0 +1,51 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: animscripts\dog\dog_scripted.gsc
|
||||
* Game: Call of Duty: Modern Warfare 3
|
||||
* Platform: PC
|
||||
* Function Count: 2
|
||||
* Decompile Time: 44 ms
|
||||
* Timestamp: 10/27/2023 2:17:16 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
self endon("death");
|
||||
self notify("killanimscript");
|
||||
self.var_3B66["root"] = %root;
|
||||
self endon("end_sequence");
|
||||
self startscriptedanim(self.var_3B66["notifyName"],self.var_3B66["origin"],self.var_3B66["angles"],self.var_3B66["anim"],self.var_3B66["animMode"],self.var_3B66["root"]);
|
||||
self.var_3B66 = undefined;
|
||||
if(isdefined(self.var_3B67))
|
||||
{
|
||||
self.var_3B68 = self.var_3B67;
|
||||
}
|
||||
|
||||
self waittill("killanimscript");
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
init(param_00,param_01,param_02,param_03,param_04,param_05)
|
||||
{
|
||||
self.var_3B66["notifyName"] = param_00;
|
||||
self.var_3B66["origin"] = param_01;
|
||||
self.var_3B66["angles"] = param_02;
|
||||
self.var_3B66["anim"] = param_03;
|
||||
if(isdefined(param_04))
|
||||
{
|
||||
self.var_3B66["animMode"] = param_04;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.var_3B66["animMode"] = "normal";
|
||||
}
|
||||
|
||||
if(isdefined(param_05))
|
||||
{
|
||||
self.var_3B66["root"] = param_05;
|
||||
return;
|
||||
}
|
||||
|
||||
self.var_3B66["root"] = %root;
|
||||
}
|
174
MW3/PC/SP/animscripts/dog/dog_stop.gsc
Normal file
174
MW3/PC/SP/animscripts/dog/dog_stop.gsc
Normal file
@ -0,0 +1,174 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: animscripts\dog\dog_stop.gsc
|
||||
* Game: Call of Duty: Modern Warfare 3
|
||||
* Platform: PC
|
||||
* Function Count: 6
|
||||
* Decompile Time: 109 ms
|
||||
* Timestamp: 10/27/2023 2:17:17 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
self endon("killanimscript");
|
||||
self clearanim(%root,0.1);
|
||||
self clearanim(%german_shepherd_idle,0.2);
|
||||
self clearanim(%german_shepherd_attackidle_knob,0.2);
|
||||
thread func_3B01("attackIdle");
|
||||
for(;;)
|
||||
{
|
||||
if(func_3AFF())
|
||||
{
|
||||
self clearanim(%german_shepherd_idle,0.2);
|
||||
func_3AFE();
|
||||
}
|
||||
else
|
||||
{
|
||||
self orientmode("face current");
|
||||
self clearanim(%german_shepherd_attackidle_knob,0.2);
|
||||
self setflaggedanimrestart("dog_idle",%german_shepherd_idle,1,0.2,self.var_10F7);
|
||||
}
|
||||
|
||||
animscripts/shared::donotetracks("dog_idle");
|
||||
if(isdefined(self.var_3AFC))
|
||||
{
|
||||
self.turnrate = self.var_3AFC;
|
||||
self.var_3AFC = undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
func_3AFD(param_00)
|
||||
{
|
||||
var_01 = self.enemy.origin - self.origin;
|
||||
var_02 = length(var_01);
|
||||
if(var_02 < 1)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
var_03 = anglestoforward(self.angles);
|
||||
return var_03[0] * var_01[0] + var_03[1] * var_01[1] / var_02 > param_00;
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_3AFE()
|
||||
{
|
||||
self clearanim(%german_shepherd_attackidle_knob,0.1);
|
||||
if(func_3AFD(0.866))
|
||||
{
|
||||
self orientmode("face angle",self.angles[1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isdefined(self.enemy))
|
||||
{
|
||||
var_00 = vectortoyaw(self.enemy.origin - self.origin);
|
||||
var_01 = angleclamp180(var_00 - self.angles[1]);
|
||||
if(abs(var_01) > 10)
|
||||
{
|
||||
self orientmode("face enemy");
|
||||
self.var_3AFC = self.turnrate;
|
||||
self.turnrate = 0.3;
|
||||
if(var_01 > 0)
|
||||
{
|
||||
var_02 = %german_shepherd_rotate_ccw;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_02 = %german_shepherd_rotate_cw;
|
||||
}
|
||||
|
||||
self setflaggedanimrestart("dog_turn",var_02,1,0.2,1);
|
||||
animscripts/shared::donotetracks("dog_turn");
|
||||
self.turnrate = self.var_3AFC;
|
||||
self.var_3AFC = undefined;
|
||||
self clearanim(%german_shepherd_rotate_cw,0.2);
|
||||
self clearanim(%german_shepherd_rotate_ccw,0.2);
|
||||
}
|
||||
}
|
||||
|
||||
self orientmode("face angle",self.angles[1]);
|
||||
}
|
||||
|
||||
if(func_3B00())
|
||||
{
|
||||
self setflaggedanimrestart("dog_idle",%german_shepherd_attackidle_growl,1,0.2,1);
|
||||
return;
|
||||
}
|
||||
|
||||
var_03 = 33;
|
||||
var_04 = 66;
|
||||
if(isdefined(self.mode))
|
||||
{
|
||||
if(self.mode == "growl")
|
||||
{
|
||||
var_03 = 15;
|
||||
var_04 = 30;
|
||||
}
|
||||
else if(self.mode == "bark")
|
||||
{
|
||||
var_03 = 15;
|
||||
var_04 = 85;
|
||||
}
|
||||
}
|
||||
|
||||
var_05 = randomint(100);
|
||||
if(var_05 < var_03)
|
||||
{
|
||||
self setflaggedanimrestart("dog_idle",%german_shepherd_attackidle_b,1,0.2,self.var_10F7);
|
||||
return;
|
||||
}
|
||||
|
||||
if(var_05 < var_04)
|
||||
{
|
||||
self setflaggedanimrestart("dog_idle",%german_shepherd_attackidle_bark,1,0.2,self.var_10F7);
|
||||
return;
|
||||
}
|
||||
|
||||
self setflaggedanimrestart("dog_idle",%german_shepherd_attackidle_growl,1,0.2,self.var_10F7);
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
func_3AFF()
|
||||
{
|
||||
return isdefined(self.enemy) && isalive(self.enemy) && distancesquared(self.origin,self.enemy.origin) < 1000000;
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
func_3B00()
|
||||
{
|
||||
if(isdefined(self.var_23DB))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(!isalive(self.enemy))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
return !self cansee(self.enemy);
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
func_3B01(param_00)
|
||||
{
|
||||
self endon("killanimscript");
|
||||
self endon("stop tracking");
|
||||
self clearanim(%german_shepherd_look_2,0);
|
||||
self clearanim(%german_shepherd_look_4,0);
|
||||
self clearanim(%german_shepherd_look_6,0);
|
||||
self clearanim(%german_shepherd_look_8,0);
|
||||
self setdefaultaimlimits();
|
||||
self.var_716 = 90;
|
||||
self.var_717 = -90;
|
||||
self setanimlimited(level.var_3AF9[param_00][2],1,0);
|
||||
self setanimlimited(level.var_3AF9[param_00][4],1,0);
|
||||
self setanimlimited(level.var_3AF9[param_00][6],1,0);
|
||||
self setanimlimited(level.var_3AF9[param_00][8],1,0);
|
||||
animscripts/track::func_CC4(1,0.2);
|
||||
animscripts/track::func_CAA(%german_shepherd_look_2,%german_shepherd_look_4,%german_shepherd_look_6,%german_shepherd_look_8);
|
||||
}
|
Reference in New Issue
Block a user