mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
205 lines
4.9 KiB
Plaintext
205 lines
4.9 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: maps\mp\animscripts\dog_move.gsc
|
|
* Game: Call of Duty: Black Ops 2
|
|
* Platform: PC
|
|
* Function Count: 6
|
|
* Decompile Time: 1 ms
|
|
* Timestamp: 10/28/2023 12:10:24 AM
|
|
*******************************************************************/
|
|
|
|
#include maps/mp/animscripts/dog_stop;
|
|
#include maps/mp/animscripts/shared;
|
|
#include maps/mp/animscripts/utility;
|
|
|
|
//Function Number: 1
|
|
setup_sound_variables()
|
|
{
|
|
level.dog_sounds["far"] = spawnstruct();
|
|
level.dog_sounds["close"] = spawnstruct();
|
|
level.dog_sounds["close"].minrange = 0;
|
|
level.dog_sounds["close"].maxrange = 500;
|
|
level.dog_sounds["close"].sound = "aml_dog_bark_close";
|
|
level.dog_sounds["close"].soundlengthplaceholder = 0.2;
|
|
level.dog_sounds["close"].aftersoundwaitmin = 0.1;
|
|
level.dog_sounds["close"].aftersoundwaitmax = 0.3;
|
|
level.dog_sounds["close"].minrangesqr = level.dog_sounds["close"].minrange * level.dog_sounds["close"].minrange;
|
|
level.dog_sounds["close"].maxrangesqr = level.dog_sounds["close"].maxrange * level.dog_sounds["close"].maxrange;
|
|
level.dog_sounds["far"].minrange = 500;
|
|
level.dog_sounds["far"].maxrange = 0;
|
|
level.dog_sounds["far"].sound = "aml_dog_bark";
|
|
level.dog_sounds["far"].soundlengthplaceholder = 0.2;
|
|
level.dog_sounds["far"].aftersoundwaitmin = 0.1;
|
|
level.dog_sounds["far"].aftersoundwaitmax = 0.3;
|
|
level.dog_sounds["far"].minrangesqr = level.dog_sounds["far"].minrange * level.dog_sounds["far"].minrange;
|
|
level.dog_sounds["far"].maxrangesqr = level.dog_sounds["far"].maxrange * level.dog_sounds["far"].maxrange;
|
|
}
|
|
|
|
//Function Number: 2
|
|
main()
|
|
{
|
|
self endon("killanimscript");
|
|
debug_anim_print("dog_move::main()");
|
|
self setaimanimweights(0,0);
|
|
do_movement = 1;
|
|
/#
|
|
if(!(debug_allow_movement()))
|
|
{
|
|
do_movement = 0;
|
|
}
|
|
#/
|
|
if(IsDefined(level.hostmigrationtimer))
|
|
{
|
|
do_movement = 0;
|
|
}
|
|
|
|
if(!IsDefined(self.traversecomplete) && !IsDefined(self.skipstartmove) && self.a.movement == "run" && do_movement)
|
|
{
|
|
self startmove();
|
|
blendtime = 0;
|
|
}
|
|
else
|
|
{
|
|
blendtime = 0.2;
|
|
}
|
|
|
|
self.traversecomplete = undefined;
|
|
self.skipstartmove = undefined;
|
|
if(do_movement)
|
|
{
|
|
if(shouldrun())
|
|
{
|
|
debug_anim_print("dog_move::main() - Setting move_run");
|
|
self setanimstate("move_run");
|
|
maps/mp/animscripts/shared::donotetracksfortime(0.1,"done");
|
|
debug_anim_print("dog_move::main() - move_run wait 0.1 done ");
|
|
}
|
|
else
|
|
{
|
|
debug_anim_print("dog_move::main() - Setting move_start ");
|
|
self setanimstate("move_walk");
|
|
maps/mp/animscripts/shared::donotetracksfortime(0.1,"done");
|
|
}
|
|
}
|
|
|
|
self thread maps/mp/animscripts/dog_stop::lookattarget("normal");
|
|
while(1)
|
|
{
|
|
self moveloop();
|
|
if(self.a.movement == "run")
|
|
{
|
|
if(self.disablearrivals == 0)
|
|
{
|
|
self thread stopmove();
|
|
}
|
|
|
|
self waittill("run");
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
moveloop()
|
|
{
|
|
self endon("killanimscript");
|
|
self endon("stop_soon");
|
|
while(1)
|
|
{
|
|
do_movement = 1;
|
|
/#
|
|
if(!(debug_allow_movement()))
|
|
{
|
|
do_movement = 0;
|
|
}
|
|
#/
|
|
if(IsDefined(level.hostmigrationtimer))
|
|
{
|
|
do_movement = 0;
|
|
}
|
|
|
|
if(!(do_movement))
|
|
{
|
|
self setaimanimweights(0,0);
|
|
self setanimstate("stop_idle");
|
|
maps/mp/animscripts/shared::donotetracks("done");
|
|
continue;
|
|
}
|
|
|
|
if(self.disablearrivals)
|
|
{
|
|
self.stopanimdistsq = 0;
|
|
}
|
|
else
|
|
{
|
|
self.stopanimdistsq = level.dogstoppingdistsq;
|
|
}
|
|
|
|
if(shouldrun())
|
|
{
|
|
debug_anim_print("dog_move::moveLoop() - Setting move_run");
|
|
self setanimstate("move_run");
|
|
maps/mp/animscripts/shared::donotetracksfortime(0.2,"done");
|
|
debug_anim_print("dog_move::moveLoop() - move_run wait 0.2 done ");
|
|
continue;
|
|
}
|
|
|
|
debug_anim_print("dog_move::moveLoop() - Setting move_walk ");
|
|
self setanimstate("move_walk");
|
|
maps/mp/animscripts/shared::donotetracksfortime(0.2,"done");
|
|
debug_anim_print("dog_move::moveLoop() - move_walk wait 0.2 done ");
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
startmove()
|
|
{
|
|
debug_anim_print("dog_move::startMove() - Setting move_start ");
|
|
self setanimstate("move_start");
|
|
maps/mp/animscripts/shared::donotetracks("done");
|
|
debug_anim_print("dog_move::startMove() - move_start notify done.");
|
|
self animmode("none",0);
|
|
self set_orient_mode("face motion");
|
|
}
|
|
|
|
//Function Number: 5
|
|
stopmove()
|
|
{
|
|
self endon("killanimscript");
|
|
self endon("run");
|
|
debug_anim_print("dog_move::stopMove() - Setting move_stop");
|
|
self setanimstate("move_stop");
|
|
maps/mp/animscripts/shared::donotetracks("done");
|
|
debug_anim_print("dog_move::stopMove() - move_stop notify done.");
|
|
}
|
|
|
|
//Function Number: 6
|
|
shouldrun()
|
|
{
|
|
/#
|
|
if(GetDvarInt(#"DFB12081") != 0)
|
|
{
|
|
return 1;
|
|
}
|
|
else if(GetDvarInt(#"D5D7999B") != 0)
|
|
{
|
|
return 0;
|
|
}
|
|
#/
|
|
if(IsDefined(self.enemy))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(self.lookaheaddist <= 90)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
angles = VectorToAngles(self.lookaheaddir);
|
|
yaw_desired = absangleclamp180(angles[1]);
|
|
yaw = absangleclamp180(self.angles[1]);
|
|
if(Abs(yaw_desired - yaw) >= 8)
|
|
{
|
|
return 0;
|
|
}
|
|
} |