mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-21 15:37:51 -05:00
170 lines
3.6 KiB
Plaintext
170 lines
3.6 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: maps\mp\animscripts\traverse\zm_shared.gsc
|
|
* Game: Call of Duty: Black Ops 2
|
|
* Platform: PC
|
|
* Function Count: 6
|
|
* Decompile Time: 0 ms
|
|
* Timestamp: 10/28/2023 12:11:25 AM
|
|
*******************************************************************/
|
|
|
|
#include common_scripts/utility;
|
|
#include maps/mp/_utility;
|
|
#include maps/mp/animscripts/utility;
|
|
#include maps/mp/animscripts/zm_run;
|
|
#include maps/mp/animscripts/zm_shared;
|
|
|
|
//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
|
|
handletraversealignment()
|
|
{
|
|
self traversemode("nogravity");
|
|
self traversemode("noclip");
|
|
if(IsDefined(self.traverseheight) && IsDefined(self.traversestartnode.traverse_height))
|
|
{
|
|
currentheight = self.traversestartnode.traverse_height - self.traversestartz;
|
|
self thread teleportthread(currentheight - self.traverseheight);
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
dosimpletraverse(traversealias,no_powerups,traversestate)
|
|
{
|
|
if(!(IsDefined(traversestate)))
|
|
{
|
|
traversestate = "zm_traverse";
|
|
}
|
|
|
|
if(IsDefined(level.ignore_traverse))
|
|
{
|
|
if(self [[ level.ignore_traverse ]]())
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
|
|
if(IsDefined(level.zm_traversal_override))
|
|
{
|
|
traversealias = self [[ level.zm_traversal_override ]](traversealias);
|
|
}
|
|
|
|
if(!(self.has_legs))
|
|
{
|
|
traversestate = traversestate + "_crawl";
|
|
traversealias = traversealias + "_crawl";
|
|
}
|
|
|
|
self dotraverse(traversestate,traversealias,no_powerups);
|
|
}
|
|
|
|
//Function Number: 6
|
|
dotraverse(traversestate,traversealias,no_powerups)
|
|
{
|
|
self endon("killanimscript");
|
|
self traversemode("nogravity");
|
|
self traversemode("noclip");
|
|
old_powerups = 0;
|
|
if(IsDefined(no_powerups) && no_powerups)
|
|
{
|
|
old_powerups = self.no_powerups;
|
|
self.no_powerups = 1;
|
|
}
|
|
|
|
self.is_traversing = 1;
|
|
self notify("zombie_start_traverse");
|
|
self.traversestartnode = self getnegotiationstartnode();
|
|
/#
|
|
assert(IsDefined(self.traversestartnode));
|
|
#/
|
|
self orientmode("face angle",self.traversestartnode.angles[1]);
|
|
self.traversestartz = self.origin[2];
|
|
if(IsDefined(self.pre_traverse))
|
|
{
|
|
self [[ self.pre_traverse ]]();
|
|
}
|
|
|
|
self setanimstatefromasd(traversestate,traversealias);
|
|
self maps/mp/animscripts/zm_shared::donotetracks("traverse_anim");
|
|
self traversemode("gravity");
|
|
self.a.nodeath = 0;
|
|
if(IsDefined(self.post_traverse))
|
|
{
|
|
self [[ self.post_traverse ]]();
|
|
}
|
|
|
|
self maps/mp/animscripts/zm_run::needsupdate();
|
|
if(!(self.isdog))
|
|
{
|
|
self maps/mp/animscripts/zm_run::moverun();
|
|
}
|
|
|
|
self.is_traversing = 0;
|
|
self notify("zombie_end_traverse");
|
|
if(IsDefined(no_powerups) && no_powerups)
|
|
{
|
|
self.no_powerups = old_powerups;
|
|
}
|
|
} |