mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-10 15:17:57 -05:00
Avogadro: drops a random powerup when killed
This commit is contained in:
@ -81,6 +81,7 @@
|
||||
* 4 round and 5 round special rounds happen more equally
|
||||
|
||||
### Avogadro
|
||||
* Drops a random powerup when killed
|
||||
* Decreased minimum distance away from players to be able to attack
|
||||
|
||||
### Denizens
|
||||
|
@ -43,4 +43,82 @@ check_range_attack()
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
avogadro_exit( from )
|
||||
{
|
||||
self.state = "exiting";
|
||||
self notify( "stop_find_flesh" );
|
||||
self notify( "zombie_acquire_enemy" );
|
||||
self setfreecameralockonallowed( 0 );
|
||||
self.audio_loop_ent stoploopsound( 0.5 );
|
||||
self notify( "stop_health" );
|
||||
powerup_origin = self.origin;
|
||||
|
||||
if ( isdefined( self.health_fx ) )
|
||||
{
|
||||
self.health_fx unlink();
|
||||
self.health_fx delete();
|
||||
}
|
||||
|
||||
if ( isdefined( from ) )
|
||||
{
|
||||
if ( from == "bus" )
|
||||
{
|
||||
self playsound( "zmb_avogadro_death_short" );
|
||||
playfx( level._effect["avogadro_ascend_aerial"], self.origin );
|
||||
self animscripted( self.origin, self.angles, "zm_bus_win" );
|
||||
maps\mp\animscripts\zm_shared::donotetracks( "bus_win_anim" );
|
||||
}
|
||||
else if ( from == "chamber" )
|
||||
{
|
||||
self playsound( "zmb_avogadro_death_short" );
|
||||
playfx( level._effect["avogadro_ascend"], self.origin );
|
||||
self animscripted( self.origin, self.angles, "zm_chamber_out" );
|
||||
wait 0.4;
|
||||
self ghost();
|
||||
stop_exploder( 500 );
|
||||
}
|
||||
else
|
||||
{
|
||||
self playsound( "zmb_avogadro_death" );
|
||||
playfx( level._effect["avogadro_ascend"], self.origin );
|
||||
self animscripted( self.origin, self.angles, "zm_exit" );
|
||||
maps\mp\animscripts\zm_shared::donotetracks( "exit_anim" );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
self playsound( "zmb_avogadro_death" );
|
||||
playfx( level._effect["avogadro_ascend"], self.origin );
|
||||
self animscripted( self.origin, self.angles, "zm_exit" );
|
||||
maps\mp\animscripts\zm_shared::donotetracks( "exit_anim" );
|
||||
}
|
||||
|
||||
if ( !isdefined( from ) || from != "chamber" )
|
||||
level thread do_avogadro_flee_vo( self );
|
||||
|
||||
self ghost();
|
||||
self.hit_by_melee = 0;
|
||||
self.anchor.origin = self.origin;
|
||||
self.anchor.angles = self.angles;
|
||||
self linkto( self.anchor );
|
||||
|
||||
if ( isdefined( from ) && from == "exit_idle" )
|
||||
self.return_round = level.round_number + 1;
|
||||
else
|
||||
self.return_round = level.round_number + randomintrange( 2, 5 );
|
||||
|
||||
level.next_avogadro_round = self.return_round;
|
||||
self.state = "cloud";
|
||||
self thread cloud_update_fx();
|
||||
|
||||
if ( !isdefined( from ) )
|
||||
{
|
||||
if ( level.powerup_drop_count >= level.zombie_vars["zombie_powerup_drop_max_per_round"] )
|
||||
level.powerup_drop_count = level.zombie_vars["zombie_powerup_drop_max_per_round"] - 1;
|
||||
|
||||
level.zombie_vars["zombie_drop_item"] = 1;
|
||||
level thread maps\mp\zombies\_zm_powerups::powerup_drop( powerup_origin );
|
||||
}
|
||||
}
|
@ -37,6 +37,7 @@ main()
|
||||
replaceFunc(maps\mp\zm_transit_bus::bussetup, scripts\zm\replaced\zm_transit_bus::bussetup);
|
||||
replaceFunc(maps\mp\zm_transit_bus::busscheduleadd, scripts\zm\replaced\zm_transit_bus::busscheduleadd);
|
||||
replaceFunc(maps\mp\zombies\_zm_ai_avogadro::check_range_attack, scripts\zm\replaced\_zm_ai_avogadro::check_range_attack);
|
||||
replaceFunc(maps\mp\zombies\_zm_ai_avogadro::avogadro_exit, scripts\zm\replaced\_zm_ai_avogadro::avogadro_exit);
|
||||
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_spawning_logic, scripts\zm\replaced\_zm_ai_screecher::screecher_spawning_logic);
|
||||
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_melee_damage, scripts\zm\replaced\_zm_ai_screecher::screecher_melee_damage);
|
||||
replaceFunc(maps\mp\zombies\_zm_ai_screecher::screecher_detach, scripts\zm\replaced\_zm_ai_screecher::screecher_detach);
|
||||
|
Reference in New Issue
Block a user