IL-GSC/BO1/PC/ZM/animscripts/traverse/zombie_mantle_over_40.gsc
2024-02-18 17:32:07 -05:00

79 lines
1.5 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include animscripts\traverse\zombie_shared;
#include common_scripts\utility;
#include maps\_utility;
#include animscripts\Utility;
main()
{
if( IsDefined( self.is_zombie ) && self.is_zombie && !self.isdog)
{
if(self.animname == "quad_zombie" )
{
wall_hop_quad();
}
else
{
wall_hop_zombie();
}
}
else if( self.isdog )
{
dog_wall_and_window_hop( "wallhop", 40 );
}
}
#using_animtree( "generic_human" );
wall_hop_zombie()
{
traverseData = [];
if( self.has_legs )
{
switch (self.zombie_move_speed)
{
case "walk":
traverseData[ "traverseAnim" ] = array(
%ai_zombie_traverse_v1,
%ai_zombie_traverse_v2
);
break;
case "run":
traverseData[ "traverseAnim" ] = array(
%ai_zombie_traverse_v5
);
break;
case "sprint":
traverseData[ "traverseAnim" ] = array(
%ai_zombie_traverse_v6,
%ai_zombie_traverse_v7
);
break;
default:
assertmsg("Zombie move speed of '" + self.zombie_move_speed + "' is not supported for wall hop.");
}
}
else
{
traverseData[ "traverseAnim" ] = array(
%ai_zombie_traverse_crawl_v1,
%ai_zombie_traverse_v4
);
}
self DoTraverse(traverseData);
}
wall_hop_quad()
{
traverseData = [];
if( self.has_legs )
{
traverseData[ "traverseAnim" ] = array(
%ai_zombie_traverse_v3
);
}
else
{
traverseData[ "traverseAnim" ] = array(
%ai_zombie_traverse_crawl_v1,
%ai_zombie_traverse_v4
);
}
DoTraverse( traverseData );
}