mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-10 18:57:58 -05:00
182 lines
4.5 KiB
Plaintext
182 lines
4.5 KiB
Plaintext
#include maps/mp/gametypes_zm/_globallogic_score;
|
|
#include maps/mp/zombies/_zm_utility;
|
|
#include common_scripts/utility;
|
|
#include maps/mp/_utility;
|
|
|
|
init()
|
|
{
|
|
if ( is_classic() )
|
|
{
|
|
level thread achievement_transit_sidequest();
|
|
level thread achievement_undead_mans_party_bus();
|
|
}
|
|
level.achievement_sound_func = ::achievement_sound_func;
|
|
onplayerconnect_callback( ::onplayerconnect );
|
|
}
|
|
|
|
init_player_achievement_stats()
|
|
{
|
|
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zm_dont_fire_until_you_see", 0 );
|
|
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zm_the_lights_of_their_eyes", 0 );
|
|
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zm_dance_on_my_grave", 0 );
|
|
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zm_standard_equipment_may_vary", 0 );
|
|
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zm_you_have_no_power_over_me", 0 );
|
|
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zm_i_dont_think_they_exist", 0 );
|
|
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zm_fuel_efficient", 0 );
|
|
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zm_happy_hour", 0 );
|
|
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zm_transit_sidequest", 0 );
|
|
self maps/mp/gametypes_zm/_globallogic_score::initpersstat( "zm_undead_mans_party_bus", 0 );
|
|
}
|
|
|
|
onplayerconnect()
|
|
{
|
|
self thread achievement_the_lights_of_their_eyes();
|
|
self thread achievement_dance_on_my_grave();
|
|
if ( is_classic() )
|
|
{
|
|
self thread achievement_dont_fire_until_you_see();
|
|
self thread achievement_standard_equipment_may_vary();
|
|
self thread achievement_you_have_no_power_over_me();
|
|
self thread achievement_i_dont_think_they_exist();
|
|
self thread achievement_fuel_efficient();
|
|
self thread achievement_zm_happy_hour();
|
|
}
|
|
}
|
|
|
|
achievement_transit_sidequest()
|
|
{
|
|
level endon( "end_game" );
|
|
level waittill( "transit_sidequest_achieved" );
|
|
level giveachievement_wrapper( "ZM_TRANSIT_SIDEQUEST", 1 );
|
|
}
|
|
|
|
achievement_undead_mans_party_bus()
|
|
{
|
|
level endon( "end_game" );
|
|
flag_wait( "start_zombie_round_logic" );
|
|
wait 0,05;
|
|
flag_wait( "ladder_attached" );
|
|
flag_wait( "catcher_attached" );
|
|
flag_wait( "hatch_attached" );
|
|
/#
|
|
#/
|
|
level giveachievement_wrapper( "ZM_UNDEAD_MANS_PARTY_BUS", 1 );
|
|
}
|
|
|
|
achievement_dont_fire_until_you_see()
|
|
{
|
|
level endon( "end_game" );
|
|
self endon( "burned" );
|
|
zombie_doors = getentarray( "zombie_door", "targetname" );
|
|
while ( 1 )
|
|
{
|
|
level waittill( "door_opened" );
|
|
num_left = 0;
|
|
all_opened = 1;
|
|
_a92 = zombie_doors;
|
|
_k92 = getFirstArrayKey( _a92 );
|
|
while ( isDefined( _k92 ) )
|
|
{
|
|
door = _a92[ _k92 ];
|
|
if ( isDefined( door.has_been_opened ) && !door.has_been_opened )
|
|
{
|
|
num_left++;
|
|
all_opened = 0;
|
|
}
|
|
_k92 = getNextArrayKey( _a92, _k92 );
|
|
}
|
|
if ( all_opened )
|
|
{
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
/#
|
|
#/
|
|
}
|
|
}
|
|
/#
|
|
#/
|
|
self giveachievement_wrapper( "ZM_DONT_FIRE_UNTIL_YOU_SEE" );
|
|
}
|
|
|
|
achievement_the_lights_of_their_eyes()
|
|
{
|
|
level endon( "end_game" );
|
|
self waittill( "the_lights_of_their_eyes" );
|
|
/#
|
|
#/
|
|
self giveachievement_wrapper( "ZM_THE_LIGHTS_OF_THEIR_EYES" );
|
|
}
|
|
|
|
achievement_dance_on_my_grave()
|
|
{
|
|
level endon( "end_game" );
|
|
self waittill( "dance_on_my_grave" );
|
|
/#
|
|
#/
|
|
self giveachievement_wrapper( "ZM_DANCE_ON_MY_GRAVE" );
|
|
}
|
|
|
|
achievement_standard_equipment_may_vary()
|
|
{
|
|
level endon( "end_game" );
|
|
self waittill_subset( 4, "equip_electrictrap_zm_given", "riotshield_zm_given", "equip_turbine_zm_given", "equip_turret_zm_given", "jetgun_zm_given" );
|
|
/#
|
|
#/
|
|
self giveachievement_wrapper( "ZM_STANDARD_EQUIPMENT_MAY_VARY" );
|
|
}
|
|
|
|
achievement_you_have_no_power_over_me()
|
|
{
|
|
level endon( "end_game" );
|
|
self endon( "avogadro_damage_taken" );
|
|
level waittill( "avogadro_defeated" );
|
|
/#
|
|
#/
|
|
self giveachievement_wrapper( "ZM_YOU_HAVE_NO_POWER_OVER_ME" );
|
|
}
|
|
|
|
achievement_i_dont_think_they_exist()
|
|
{
|
|
level endon( "end_game" );
|
|
self waittill( "i_dont_think_they_exist" );
|
|
/#
|
|
#/
|
|
self giveachievement_wrapper( "ZM_I_DONT_THINK_THEY_EXIST" );
|
|
}
|
|
|
|
achievement_fuel_efficient()
|
|
{
|
|
level endon( "end_game" );
|
|
self waittill( "used_screecher_hole" );
|
|
/#
|
|
#/
|
|
self giveachievement_wrapper( "ZM_FUEL_EFFICIENT" );
|
|
}
|
|
|
|
achievement_zm_happy_hour()
|
|
{
|
|
level endon( "end_game" );
|
|
level endon( "power_on" );
|
|
while ( 1 )
|
|
{
|
|
self waittill( "perk_acquired" );
|
|
if ( isDefined( self.perk_history ) && self.perk_history.size >= 2 )
|
|
{
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
}
|
|
}
|
|
/#
|
|
#/
|
|
self giveachievement_wrapper( "ZM_HAPPY_HOUR" );
|
|
}
|
|
|
|
achievement_sound_func( achievement_name_lower )
|
|
{
|
|
self thread do_player_general_vox( "general", "achievement" );
|
|
}
|