1
0
mirror of https://github.com/JezuzLizard/BO2-Reimagined.git synced 2025-06-09 23:02:53 -05:00
Files
BO2-Reimagined/scripts/zm/replaced/zm_transit_ai_screecher.gsc

77 lines
1.8 KiB
Plaintext

#include maps\mp\zm_transit_ai_screecher;
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include maps\mp\zombies\_zm_weapons;
#include maps\mp\zombies\_zm_ai_screecher;
#include maps\mp\zm_transit_utility;
#include maps\mp\animscripts\zm_shared;
#include maps\mp\zombies\_zm_gump;
#include maps\mp\zombies\_zm_stats;
#include maps\mp\zm_transit;
init()
{
level.screecher_should_burrow = ::screecher_should_burrow;
level.screecher_should_runaway = ::screecher_should_runaway;
level.screecher_cleanup = ::transit_screecher_cleanup;
level.screecher_init_done = ::screecher_init_done;
level.portals = [];
}
screecher_init_done()
{
self endon( "death" );
self.maxhealth = 150;
self.health = self.maxhealth;
while ( true )
{
ground_ent = self getgroundent();
if ( isdefined( ground_ent ) && ground_ent == level.the_bus )
{
self dodamage( self.health + 666, self.origin );
}
wait 0.1;
}
}
player_wait_land()
{
self endon( "disconnect" );
while ( !self isonground() )
wait 0.1;
if ( level.portals.size > 0 )
{
remove_portal = undefined;
foreach ( portal in level.portals )
{
dist_sq = distance2dsquared( self.origin, portal.origin );
if ( dist_sq < 4096 )
{
remove_portal = portal;
break;
}
}
if ( isdefined( remove_portal ) )
{
portal portal_use( self );
wait 0.5;
}
}
}
portal_use( player )
{
player playsoundtoplayer( "zmb_screecher_portal_warp_2d", player );
self thread teleport_player( player );
playsoundatposition( "zmb_screecher_portal_end", self.hole.origin );
}