Files
IL-GSC/BO2/PC/MP/maps/mp/animscripts/traverse/shared.gsc
2023-10-27 03:49:01 -04:00

232 lines
5.7 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\animscripts\traverse\shared.gsc
* Game: Call of Duty: Black Ops 2
* Platform: PC
* Function Count: 8
* Decompile Time: 26 ms
* Timestamp: 10/27/2023 2:59:45 AM
*******************************************************************/
#include common_scripts/utility;
#include maps/mp/_utility;
#include maps/mp/animscripts/shared;
#include maps/mp/animscripts/utility;
//Function Number: 1
init_traverse()
{
point = getent(self.target,"targetname");
if(IsDefined(point))
{
self.traverse_height = point.origin[2];
point delete();
}
else
{
point = getstruct(self.target,"targetname");
if(IsDefined(point))
{
self.traverse_height = point.origin[2];
}
}
}
//Function Number: 2
teleportthread(verticaloffset)
{
self endon("killanimscript");
self notify("endTeleportThread");
self endon("endTeleportThread");
reps = 5;
offset = (0,0,verticaloffset / reps);
for(i = 0;i < reps;i++)
{
self teleport(self.origin + offset);
wait(0.05);
}
}
//Function Number: 3
teleportthreadex(verticaloffset,delay,frames)
{
self endon("killanimscript");
self notify("endTeleportThread");
self endon("endTeleportThread");
if(verticaloffset == 0)
{
return;
}
wait(delay);
amount = verticaloffset / frames;
if(amount > 10)
{
amount = 10;
}
else if(amount < -10)
{
amount = -10;
}
offset = (0,0,amount);
for(i = 0;i < frames;i++)
{
self teleport(self.origin + offset);
wait(0.05);
}
}
//Function Number: 4
dog_wall_and_window_hop(traversename,height)
{
self endon("killanimscript");
self traversemode("nogravity");
self traversemode("noclip");
startnode = self getnegotiationstartnode();
/#
assert(IsDefined(startnode));
#/
self orientmode("face angle",startnode.angles[1]);
if(IsDefined(startnode.traverse_height))
{
realheight = startnode.traverse_height - startnode.origin[2];
self thread teleportthread(realheight - height);
}
else if(height != 36)
{
self thread teleportthreadex(height - 36,0.2,7);
}
debug_anim_print("traverse::dog_wall_and_window_hop() - Setting " + traversename);
self setanimstate(traversename);
maps/mp/animscripts/shared::donotetracksfortime(1,"done");
debug_anim_print("traverse::dog_wall_and_window_hop() - " + traversename);
self.traversecomplete = 1;
}
//Function Number: 5
dog_jump_down(height,frames,time)
{
self endon("killanimscript");
self traversemode("noclip");
if(!(IsDefined(time)))
{
time = 0.3;
}
startnode = self getnegotiationstartnode();
/#
assert(IsDefined(startnode));
#/
self orientmode("face angle",startnode.angles[1]);
if(IsDefined(startnode.traverse_height))
{
realheight = startnode.traverse_height - startnode.origin[2];
self thread teleportthread(realheight - height);
}
else if(height != 40)
{
self thread teleportthreadex(height - 40,0.1,frames);
}
debug_anim_print("traverse::dog_jump_down() - Setting traverse_jump_down_40");
self setanimstate("traverse_jump_down_40");
maps/mp/animscripts/shared::donotetracksfortime(time,"done");
debug_anim_print("traverse::dog_jump_down() - traverse_jump_down_40 ");
self traversemode("gravity");
self.traversecomplete = 1;
}
//Function Number: 6
dog_jump_down_far(height,frames,time)
{
self endon("killanimscript");
self traversemode("noclip");
if(!(IsDefined(time)))
{
time = 0.3;
}
startnode = self getnegotiationstartnode();
/#
assert(IsDefined(startnode));
#/
self orientmode("face angle",startnode.angles[1]);
if(IsDefined(startnode.traverse_height))
{
realheight = startnode.traverse_height - startnode.origin[2];
self thread teleportthread(realheight - height);
}
else if(height != 80)
{
self thread teleportthreadex(80 - height,0.1,frames);
}
debug_anim_print("traverse::dog_jump_down() - Setting traverse_jump_down_80");
self setanimstate("traverse_jump_down_80");
maps/mp/animscripts/shared::donotetracksfortime(time,"done");
debug_anim_print("traverse::dog_jump_down() - traverse_jump_down_80 ");
self traversemode("gravity");
self.traversecomplete = 1;
}
//Function Number: 7
dog_jump_up(height,frames)
{
self endon("killanimscript");
self traversemode("noclip");
startnode = self getnegotiationstartnode();
/#
assert(IsDefined(startnode));
#/
self orientmode("face angle",startnode.angles[1]);
if(IsDefined(startnode.traverse_height))
{
realheight = startnode.traverse_height - startnode.origin[2];
self thread teleportthread(realheight - height);
}
else if(height != 40)
{
self thread teleportthreadex(height - 40,0.2,frames);
}
debug_anim_print("traverse::dog_jump_up() - Setting traverse_jump_up_40");
self setanimstate("traverse_jump_up_40");
maps/mp/animscripts/shared::donotetracksfortime(0.5,"done");
debug_anim_print("traverse::dog_jump_up() - traverse_jump_up_40 ");
self traversemode("gravity");
self.traversecomplete = 1;
}
//Function Number: 8
dog_jump_up_high(height,frames)
{
/#
assert(self.type == "dog","Only dogs can do this traverse currently.");
#/
self endon("killanimscript");
self traversemode("nogravity");
self traversemode("noclip");
startnode = self getnegotiationstartnode();
/#
assert(IsDefined(startnode));
#/
self orientmode("face angle",startnode.angles[1]);
if(IsDefined(startnode.traverse_height))
{
realheight = startnode.traverse_height - startnode.origin[2];
self thread teleportthreadex(height - 80,0.2,frames);
}
else if(height != 80)
{
self thread teleportthreadex(height - 80,0.2,frames);
}
debug_anim_print("traverse::dog_jump_up_80() - Setting traverse_jump_up_80");
self setanimstate("traverse_jump_up_80");
maps/mp/animscripts/shared::donotetracksfortime(0.6,"done");
debug_anim_print("traverse::dog_jump_up_80() - traverse_jump_up_80 ");
self traversemode("gravity");
self.traversecomplete = 1;
}