mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-24 09:37:52 -05:00
Added all the remaining scripts not previously included.
This commit is contained in:
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_chrest_gap", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_chrest_interior_high_to_low", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_chrest_interior_alt_down", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_chrest_interior_low_to_high", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_chrest_interior_alt_up", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_round_counter_from_stools", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_round_counter_to_stools", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_escape_elevator_hallway", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap10_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap10_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14a_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14b_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14c_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14c_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14d_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14d_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14e_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14e_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14f_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14f_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14g_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14g_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14h_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap14h_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap15a_from_girder" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap15b_from_girder" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap15f_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap15f_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap15g_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap15g_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap16a_high_to_low", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap16a_low_to_high", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap16b_high_to_low", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap16b_low_to_high", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap17a_high_to_low", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap17a_low_to_high", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap17c_high_to_low", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap17c_low_to_high", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap18_high_to_low", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap19_from_railing", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap19_to_railing", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap1_from_antenna" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap1_to_antenna" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap4a_slide_down_beam" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap4b_from_roof" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap4b_to_roof" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap5a_from_conference" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap5a_to_conference" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap5b_from_conference" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap5b_to_conference" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap6_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap6_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap7_from_top_ledge" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap7_to_top_ledge" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap8_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap8_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap9_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_gap9_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_blue_ac_unit", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_1_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_1_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_2_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_2_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_3_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_3_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_4_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_4_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_5_high_to_low" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_5_low_to_high" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_6_high_to_low", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_6_low_to_high", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_7_high_to_low", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "dierise_traverse_7_low_to_high", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "gap2_to_roof" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_down_120" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_down_127" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_down_176" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_down_184" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_down_190" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_down_222" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_down_286" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_down_40" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_down_48" );
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
if ( isDefined( self.isdog ) && self.isdog )
|
||||
{
|
||||
dog_jump_down( 96, 7 );
|
||||
}
|
||||
else
|
||||
{
|
||||
dosimpletraverse( "jump_down_96" );
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "zm_jump_down_to_elevator_top", undefined, "zm_traverse_elevator" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_up_127" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_up_175" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_up_222" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_up_antenna", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "zm_jump_up_from_elevator_top", undefined, "zm_traverse_elevator" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_up_grabbed_190" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_up_grabbed_48" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "jump_up_sewing", undefined, "zm_traverse_dierise" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
self dosimpletraverse( "mantle_over_40_hurdle" );
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
#include maps/mp/animscripts/traverse/zm_shared;
|
||||
#include maps/mp/animscripts/traverse/shared;
|
||||
|
||||
main()
|
||||
{
|
||||
dosimpletraverse( "traverse_48" );
|
||||
}
|
2497
zm_highrise_patch/maps/mp/createfx/zm_highrise_fx.gsc
Normal file
2497
zm_highrise_patch/maps/mp/createfx/zm_highrise_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
592
zm_highrise_patch/maps/mp/zombies/_zm_equip_springpad.gsc
Normal file
592
zm_highrise_patch/maps/mp/zombies/_zm_equip_springpad.gsc
Normal file
@ -0,0 +1,592 @@
|
||||
#include maps/mp/zombies/_zm_buildables;
|
||||
#include maps/mp/zombies/_zm_power;
|
||||
#include maps/mp/zombies/_zm_unitrigger;
|
||||
#include maps/mp/zombies/_zm;
|
||||
#include maps/mp/gametypes_zm/_weaponobjects;
|
||||
#include maps/mp/zombies/_zm_equipment;
|
||||
#include maps/mp/zombies/_zm_utility;
|
||||
#include maps/mp/_utility;
|
||||
#include common_scripts/utility;
|
||||
|
||||
#using_animtree( "zombie_springpad" );
|
||||
|
||||
init( pickupstring, howtostring )
|
||||
{
|
||||
if ( !maps/mp/zombies/_zm_equipment::is_equipment_included( "equip_springpad_zm" ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
level.springpad_name = "equip_springpad_zm";
|
||||
init_animtree();
|
||||
maps/mp/zombies/_zm_equipment::register_equipment( "equip_springpad_zm", pickupstring, howtostring, "zom_hud_trample_steam_complete", "springpad", undefined, ::transferspringpad, ::dropspringpad, ::pickupspringpad, ::placespringpad );
|
||||
maps/mp/zombies/_zm_equipment::add_placeable_equipment( "equip_springpad_zm", "p6_anim_zm_buildable_view_tramplesteam" );
|
||||
level thread onplayerconnect();
|
||||
maps/mp/gametypes_zm/_weaponobjects::createretrievablehint( "equip_springpad", pickupstring );
|
||||
level._effect[ "springpade_on" ] = loadfx( "maps/zombie_highrise/fx_highrise_trmpl_steam_os" );
|
||||
if ( -1 )
|
||||
{
|
||||
setdvar( "player_useRadius_zm", 96 );
|
||||
}
|
||||
thread wait_init_damage();
|
||||
}
|
||||
|
||||
wait_init_damage()
|
||||
{
|
||||
while ( !isDefined( level.zombie_vars ) || !isDefined( level.zombie_vars[ "zombie_health_start" ] ) )
|
||||
{
|
||||
wait 1;
|
||||
}
|
||||
level.springpad_damage = maps/mp/zombies/_zm::ai_zombie_health( 50 );
|
||||
}
|
||||
|
||||
onplayerconnect()
|
||||
{
|
||||
for ( ;; )
|
||||
{
|
||||
level waittill( "connecting", player );
|
||||
player thread onplayerspawned();
|
||||
}
|
||||
}
|
||||
|
||||
onplayerspawned()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
self thread setupwatchers();
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "spawned_player" );
|
||||
self thread watchspringpaduse();
|
||||
}
|
||||
}
|
||||
|
||||
setupwatchers()
|
||||
{
|
||||
self waittill( "weapon_watchers_created" );
|
||||
watcher = maps/mp/gametypes_zm/_weaponobjects::getweaponobjectwatcher( "equip_springpad" );
|
||||
watcher.onspawnretrievetriggers = ::maps/mp/zombies/_zm_equipment::equipment_onspawnretrievableweaponobject;
|
||||
}
|
||||
|
||||
watchspringpaduse()
|
||||
{
|
||||
self notify( "watchSpringPadUse" );
|
||||
self endon( "watchSpringPadUse" );
|
||||
self endon( "death" );
|
||||
self endon( "disconnect" );
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "equipment_placed", weapon, weapname );
|
||||
if ( weapname == level.springpad_name )
|
||||
{
|
||||
self cleanupoldspringpad();
|
||||
self.buildablespringpad = weapon;
|
||||
self thread startspringpaddeploy( weapon );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cleanupoldspringpad()
|
||||
{
|
||||
if ( isDefined( self.buildablespringpad ) )
|
||||
{
|
||||
if ( isDefined( self.buildablespringpad.stub ) )
|
||||
{
|
||||
thread maps/mp/zombies/_zm_unitrigger::unregister_unitrigger( self.buildablespringpad.stub );
|
||||
self.buildablespringpad.stub = undefined;
|
||||
}
|
||||
self.buildablespringpad delete();
|
||||
self.springpad_kills = undefined;
|
||||
}
|
||||
if ( isDefined( level.springpad_sound_ent ) )
|
||||
{
|
||||
level.springpad_sound_ent delete();
|
||||
level.springpad_sound_ent = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
watchforcleanup()
|
||||
{
|
||||
self notify( "springpad_cleanup" );
|
||||
self endon( "springpad_cleanup" );
|
||||
self waittill_any( "death", "disconnect", "equip_springpad_zm_taken", "equip_springpad_zm_pickup" );
|
||||
cleanupoldspringpad();
|
||||
}
|
||||
|
||||
placespringpad( origin, angles )
|
||||
{
|
||||
item = self maps/mp/zombies/_zm_equipment::placed_equipment_think( "p6_anim_zm_buildable_tramplesteam", "equip_springpad_zm", origin, angles, 96, -32 );
|
||||
if ( isDefined( item ) )
|
||||
{
|
||||
item.springpad_kills = self.springpad_kills;
|
||||
item.requires_pickup = 1;
|
||||
item.zombie_attack_callback = ::springpad_add_fling_ent;
|
||||
}
|
||||
self.springpad_kills = undefined;
|
||||
return item;
|
||||
}
|
||||
|
||||
dropspringpad()
|
||||
{
|
||||
item = self maps/mp/zombies/_zm_equipment::dropped_equipment_think( "p6_anim_zm_buildable_tramplesteam", "equip_springpad_zm", self.origin, self.angles, 96, -32 );
|
||||
if ( isDefined( item ) )
|
||||
{
|
||||
item.springpad_kills = self.springpad_kills;
|
||||
item.requires_pickup = 1;
|
||||
}
|
||||
self.springpad_kills = undefined;
|
||||
return item;
|
||||
}
|
||||
|
||||
pickupspringpad( item )
|
||||
{
|
||||
self.springpad_kills = item.springpad_kills;
|
||||
item.springpad_kills = undefined;
|
||||
}
|
||||
|
||||
transferspringpad( fromplayer, toplayer )
|
||||
{
|
||||
buildablespringpad = toplayer.buildablespringpad;
|
||||
toarmed = 0;
|
||||
if ( isDefined( buildablespringpad ) )
|
||||
{
|
||||
if ( isDefined( buildablespringpad.is_armed ) )
|
||||
{
|
||||
toarmed = buildablespringpad.is_armed;
|
||||
}
|
||||
}
|
||||
springpad_kills = toplayer.springpad_kills;
|
||||
fromarmed = 0;
|
||||
if ( isDefined( fromplayer.buildablespringpad ) )
|
||||
{
|
||||
if ( isDefined( fromplayer.buildablespringpad.is_armed ) )
|
||||
{
|
||||
fromarmed = fromplayer.buildablespringpad.is_armed;
|
||||
}
|
||||
}
|
||||
toplayer.buildablespringpad = fromplayer.buildablespringpad;
|
||||
toplayer.buildablespringpad.original_owner = toplayer;
|
||||
toplayer.buildablespringpad.owner = toplayer;
|
||||
toplayer notify( "equip_springpad_zm_taken" );
|
||||
toplayer.springpad_kills = fromplayer.springpad_kills;
|
||||
toplayer thread startspringpaddeploy( toplayer.buildablespringpad, fromarmed );
|
||||
fromplayer.buildablespringpad = buildablespringpad;
|
||||
fromplayer.springpad_kills = springpad_kills;
|
||||
fromplayer notify( "equip_springpad_zm_taken" );
|
||||
if ( isDefined( fromplayer.buildablespringpad ) )
|
||||
{
|
||||
fromplayer thread startspringpaddeploy( fromplayer.buildablespringpad, toarmed );
|
||||
fromplayer.buildablespringpad.original_owner = fromplayer;
|
||||
fromplayer.buildablespringpad.owner = fromplayer;
|
||||
}
|
||||
else
|
||||
{
|
||||
fromplayer maps/mp/zombies/_zm_equipment::equipment_release( "equip_springpad_zm" );
|
||||
}
|
||||
}
|
||||
|
||||
springpad_in_range( delta, origin, radius )
|
||||
{
|
||||
if ( distancesquared( self.target.origin, origin ) < ( radius * radius ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
springpad_power_on( origin, radius )
|
||||
{
|
||||
/#
|
||||
println( "^1ZM POWER: trap on\n" );
|
||||
#/
|
||||
if ( !isDefined( self.target ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
self.target.power_on = 1;
|
||||
self.target.power_on_time = getTime();
|
||||
}
|
||||
|
||||
springpad_power_off( origin, radius )
|
||||
{
|
||||
/#
|
||||
println( "^1ZM POWER: trap off\n" );
|
||||
#/
|
||||
if ( !isDefined( self.target ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
self.target.power_on = 0;
|
||||
}
|
||||
|
||||
startspringpaddeploy( weapon, armed )
|
||||
{
|
||||
self endon( "death" );
|
||||
self endon( "disconnect" );
|
||||
self endon( "equip_springpad_zm_taken" );
|
||||
self thread watchforcleanup();
|
||||
electricradius = 45;
|
||||
if ( isDefined( self.springpad_kills ) )
|
||||
{
|
||||
weapon.springpad_kills = self.springpad_kills;
|
||||
self.springpad_kills = undefined;
|
||||
}
|
||||
if ( !isDefined( weapon.springpad_kills ) )
|
||||
{
|
||||
weapon.springpad_kills = 0;
|
||||
}
|
||||
if ( isDefined( weapon ) )
|
||||
{
|
||||
/#
|
||||
weapon thread debugspringpad( electricradius );
|
||||
#/
|
||||
if ( isDefined( level.equipment_springpad_needs_power ) && level.equipment_springpad_needs_power )
|
||||
{
|
||||
weapon.power_on = 0;
|
||||
maps/mp/zombies/_zm_power::add_temp_powered_item( ::springpad_power_on, ::springpad_power_off, ::springpad_in_range, ::maps/mp/zombies/_zm_power::cost_high, 1, weapon.power_on, weapon );
|
||||
}
|
||||
else
|
||||
{
|
||||
weapon.power_on = 1;
|
||||
}
|
||||
if ( !weapon.power_on )
|
||||
{
|
||||
self iprintlnbold( &"ZOMBIE_NEED_LOCAL_POWER" );
|
||||
}
|
||||
self thread springpadthink( weapon, electricradius, armed );
|
||||
if ( isDefined( level.equipment_springpad_needs_power ) && !level.equipment_springpad_needs_power )
|
||||
{
|
||||
}
|
||||
self thread maps/mp/zombies/_zm_buildables::delete_on_disconnect( weapon );
|
||||
weapon waittill( "death" );
|
||||
if ( isDefined( level.springpad_sound_ent ) )
|
||||
{
|
||||
level.springpad_sound_ent playsound( "wpn_zmb_electrap_stop" );
|
||||
level.springpad_sound_ent delete();
|
||||
level.springpad_sound_ent = undefined;
|
||||
}
|
||||
self notify( "springpad_cleanup" );
|
||||
}
|
||||
}
|
||||
|
||||
init_animtree()
|
||||
{
|
||||
scriptmodelsuseanimtree( -1 );
|
||||
}
|
||||
|
||||
springpad_animate( weapon, armed )
|
||||
{
|
||||
self endon( "death" );
|
||||
self endon( "disconnect" );
|
||||
self endon( "equip_springpad_zm_taken" );
|
||||
weapon endon( "death" );
|
||||
weapon useanimtree( -1 );
|
||||
f_animlength = getanimlength( %o_zombie_buildable_tramplesteam_reset_zombie );
|
||||
r_animlength = getanimlength( %o_zombie_buildable_tramplesteam_reset );
|
||||
l_animlength = getanimlength( %o_zombie_buildable_tramplesteam_launch );
|
||||
weapon thread springpad_audio();
|
||||
prearmed = 0;
|
||||
if ( isDefined( armed ) && armed )
|
||||
{
|
||||
prearmed = 1;
|
||||
}
|
||||
fast_reset = 0;
|
||||
while ( isDefined( weapon ) )
|
||||
{
|
||||
if ( !prearmed )
|
||||
{
|
||||
if ( fast_reset )
|
||||
{
|
||||
weapon setanim( %o_zombie_buildable_tramplesteam_reset_zombie );
|
||||
weapon thread playspringpadresetaudio( f_animlength );
|
||||
wait f_animlength;
|
||||
}
|
||||
else
|
||||
{
|
||||
weapon setanim( %o_zombie_buildable_tramplesteam_reset );
|
||||
weapon thread playspringpadresetaudio( r_animlength );
|
||||
wait r_animlength;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
wait 0,05;
|
||||
}
|
||||
prearmed = 0;
|
||||
weapon notify( "armed" );
|
||||
fast_reset = 0;
|
||||
if ( isDefined( weapon ) )
|
||||
{
|
||||
weapon setanim( %o_zombie_buildable_tramplesteam_compressed_idle );
|
||||
weapon waittill( "fling", fast );
|
||||
fast_reset = fast;
|
||||
}
|
||||
if ( isDefined( weapon ) )
|
||||
{
|
||||
weapon setanim( %o_zombie_buildable_tramplesteam_launch );
|
||||
wait l_animlength;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
playspringpadresetaudio( time )
|
||||
{
|
||||
self endon( "springpadAudioCleanup" );
|
||||
ent = spawn( "script_origin", self.origin );
|
||||
ent playloopsound( "zmb_highrise_launcher_reset_loop" );
|
||||
self thread deleteentwhensounddone( time, ent );
|
||||
self waittill( "death" );
|
||||
ent delete();
|
||||
}
|
||||
|
||||
deleteentwhensounddone( time, ent )
|
||||
{
|
||||
self endon( "death" );
|
||||
wait time;
|
||||
self notify( "springpadAudioCleanup" );
|
||||
ent delete();
|
||||
}
|
||||
|
||||
springpad_audio()
|
||||
{
|
||||
loop_ent = spawn( "script_origin", self.origin );
|
||||
loop_ent playloopsound( "zmb_highrise_launcher_loop" );
|
||||
self waittill( "death" );
|
||||
loop_ent delete();
|
||||
}
|
||||
|
||||
springpad_fx( weapon )
|
||||
{
|
||||
weapon endon( "death" );
|
||||
self endon( "equip_springpad_zm_taken" );
|
||||
while ( isDefined( weapon ) )
|
||||
{
|
||||
playfxontag( level._effect[ "springpade_on" ], weapon, "tag_origin" );
|
||||
wait 1;
|
||||
}
|
||||
}
|
||||
|
||||
springpadthink( weapon, electricradius, armed )
|
||||
{
|
||||
self endon( "death" );
|
||||
self endon( "disconnect" );
|
||||
self endon( "equip_springpad_zm_taken" );
|
||||
weapon endon( "death" );
|
||||
radiussquared = electricradius * electricradius;
|
||||
trigger = spawn( "trigger_box", weapon getcentroid(), 1, 48, 48, 32 );
|
||||
trigger.origin += anglesToForward( flat_angle( weapon.angles ) ) * -15;
|
||||
trigger.angles = weapon.angles;
|
||||
trigger enablelinkto();
|
||||
trigger linkto( weapon );
|
||||
weapon.trigger = trigger;
|
||||
/#
|
||||
trigger.extent = ( 24, 24, 16 );
|
||||
#/
|
||||
weapon thread springpadthinkcleanup( trigger );
|
||||
direction_forward = anglesToForward( flat_angle( weapon.angles ) + vectorScale( ( 0, 0, 1 ), 60 ) );
|
||||
direction_vector = vectorScale( direction_forward, 1024 );
|
||||
direction_origin = weapon.origin + direction_vector;
|
||||
home_angles = weapon.angles;
|
||||
weapon.is_armed = 0;
|
||||
self thread springpad_fx( weapon );
|
||||
self thread springpad_animate( weapon, armed );
|
||||
weapon waittill( "armed" );
|
||||
weapon.is_armed = 1;
|
||||
weapon.fling_targets = [];
|
||||
self thread targeting_thread( weapon, trigger );
|
||||
while ( isDefined( weapon ) )
|
||||
{
|
||||
wait_for_targets( weapon );
|
||||
if ( isDefined( weapon.fling_targets ) && weapon.fling_targets.size > 0 )
|
||||
{
|
||||
weapon notify( "fling" );
|
||||
weapon.is_armed = 0;
|
||||
weapon.zombies_only = 1;
|
||||
_a520 = weapon.fling_targets;
|
||||
_k520 = getFirstArrayKey( _a520 );
|
||||
while ( isDefined( _k520 ) )
|
||||
{
|
||||
ent = _a520[ _k520 ];
|
||||
if ( isplayer( ent ) )
|
||||
{
|
||||
ent thread player_fling( weapon.origin + vectorScale( ( 0, 0, 1 ), 30 ), weapon.angles, direction_vector );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isDefined( ent ) )
|
||||
{
|
||||
if ( !isDefined( self.num_zombies_flung ) )
|
||||
{
|
||||
self.num_zombies_flung = 0;
|
||||
}
|
||||
self.num_zombies_flung++;
|
||||
self notify( "zombie_flung" );
|
||||
if ( !isDefined( weapon.fling_scaler ) )
|
||||
{
|
||||
weapon.fling_scaler = 1;
|
||||
}
|
||||
if ( isDefined( weapon.direction_vec_override ) )
|
||||
{
|
||||
direction_vector = weapon.direction_vec_override;
|
||||
}
|
||||
ent dodamage( ent.health + 666, ent.origin );
|
||||
ent startragdoll();
|
||||
ent launchragdoll( ( direction_vector / 4 ) * weapon.fling_scaler );
|
||||
weapon.springpad_kills++;
|
||||
}
|
||||
}
|
||||
_k520 = getNextArrayKey( _a520, _k520 );
|
||||
}
|
||||
if ( weapon.springpad_kills >= 28 )
|
||||
{
|
||||
self thread springpad_expired( weapon );
|
||||
}
|
||||
weapon.fling_targets = [];
|
||||
weapon waittill( "armed" );
|
||||
weapon.is_armed = 1;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
wait 0,1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wait_for_targets( weapon )
|
||||
{
|
||||
weapon endon( "hi_priority_target" );
|
||||
while ( isDefined( weapon ) )
|
||||
{
|
||||
if ( isDefined( weapon.fling_targets ) && weapon.fling_targets.size > 0 )
|
||||
{
|
||||
wait 0,15;
|
||||
return;
|
||||
}
|
||||
wait 0,05;
|
||||
}
|
||||
}
|
||||
|
||||
targeting_thread( weapon, trigger )
|
||||
{
|
||||
self endon( "death" );
|
||||
self endon( "disconnect" );
|
||||
self endon( "equip_springpad_zm_taken" );
|
||||
weapon endon( "death" );
|
||||
weapon.zombies_only = 1;
|
||||
while ( isDefined( weapon ) )
|
||||
{
|
||||
if ( weapon.is_armed )
|
||||
{
|
||||
zombies = getaiarray( level.zombie_team );
|
||||
_a594 = zombies;
|
||||
_k594 = getFirstArrayKey( _a594 );
|
||||
while ( isDefined( _k594 ) )
|
||||
{
|
||||
zombie = _a594[ _k594 ];
|
||||
if ( !isDefined( zombie ) || !isalive( zombie ) )
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isDefined( zombie.ignore_spring_pad ) && zombie.ignore_spring_pad )
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( zombie istouching( trigger ) )
|
||||
{
|
||||
weapon springpad_add_fling_ent( zombie );
|
||||
}
|
||||
}
|
||||
}
|
||||
_k594 = getNextArrayKey( _a594, _k594 );
|
||||
}
|
||||
players = get_players();
|
||||
_a622 = players;
|
||||
_k622 = getFirstArrayKey( _a622 );
|
||||
while ( isDefined( _k622 ) )
|
||||
{
|
||||
player = _a622[ _k622 ];
|
||||
if ( is_player_valid( player ) && player istouching( trigger ) )
|
||||
{
|
||||
weapon springpad_add_fling_ent( player );
|
||||
weapon.zombies_only = 0;
|
||||
}
|
||||
_k622 = getNextArrayKey( _a622, _k622 );
|
||||
}
|
||||
if ( !weapon.zombies_only )
|
||||
{
|
||||
weapon notify( "hi_priority_target" );
|
||||
}
|
||||
}
|
||||
wait 0,05;
|
||||
}
|
||||
}
|
||||
|
||||
springpad_add_fling_ent( ent )
|
||||
{
|
||||
self.fling_targets = add_to_array( self.fling_targets, ent, 0 );
|
||||
}
|
||||
|
||||
springpad_expired( weapon )
|
||||
{
|
||||
weapon maps/mp/zombies/_zm_equipment::dropped_equipment_destroy( 1 );
|
||||
self maps/mp/zombies/_zm_equipment::equipment_release( "equip_springpad_zm" );
|
||||
self.springpad_kills = 0;
|
||||
}
|
||||
|
||||
player_fling( origin, angles, velocity )
|
||||
{
|
||||
torigin = ( self.origin[ 0 ], self.origin[ 1 ], origin[ 2 ] );
|
||||
self setorigin( ( origin + torigin ) * 0,5 );
|
||||
wait_network_frame();
|
||||
self setvelocity( velocity );
|
||||
}
|
||||
|
||||
springpadthinkcleanup( trigger )
|
||||
{
|
||||
self waittill( "death" );
|
||||
if ( isDefined( trigger ) )
|
||||
{
|
||||
trigger delete();
|
||||
}
|
||||
}
|
||||
|
||||
debugspringpad( radius )
|
||||
{
|
||||
/#
|
||||
color_armed = ( 0, 0, 1 );
|
||||
color_unarmed = vectorScale( ( 0, 0, 1 ), 0,65 );
|
||||
while ( isDefined( self ) )
|
||||
{
|
||||
if ( getDvarInt( #"EB512CB7" ) )
|
||||
{
|
||||
if ( isDefined( self.trigger ) )
|
||||
{
|
||||
color = color_unarmed;
|
||||
if ( isDefined( self.is_armed ) && self.is_armed )
|
||||
{
|
||||
color = color_armed;
|
||||
}
|
||||
vec = self.trigger.extent;
|
||||
box( self.trigger.origin, vec * -1, vec, self.trigger.angles[ 1 ], color, 1, 0, 1 );
|
||||
}
|
||||
color = ( 0, 0, 1 );
|
||||
text = "";
|
||||
if ( isDefined( self.springpad_kills ) )
|
||||
{
|
||||
text = "" + self.springpad_kills + "";
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isDefined( self.owner.springpad_kills ) )
|
||||
{
|
||||
text = "[" + self.owner.springpad_kills + "]";
|
||||
}
|
||||
}
|
||||
print3d( self.origin + vectorScale( ( 0, 0, 1 ), 30 ), text, color, 1, 0,5, 1 );
|
||||
}
|
||||
wait 0,05;
|
||||
#/
|
||||
}
|
||||
}
|
556
zm_highrise_patch/maps/mp/zombies/_zm_melee_weapon.gsc
Normal file
556
zm_highrise_patch/maps/mp/zombies/_zm_melee_weapon.gsc
Normal file
@ -0,0 +1,556 @@
|
||||
#include maps/mp/zombies/_zm_audio;
|
||||
#include maps/mp/zombies/_zm_score;
|
||||
#include maps/mp/zombies/_zm_laststand;
|
||||
#include maps/mp/zombies/_zm_weapons;
|
||||
#include maps/mp/zombies/_zm_utility;
|
||||
#include maps/mp/_utility;
|
||||
#include common_scripts/utility;
|
||||
|
||||
init( weapon_name, flourish_weapon_name, ballistic_weapon_name, ballistic_upgraded_weapon_name, cost, wallbuy_targetname, hint_string, vo_dialog_id, has_weapon, give_weapon, take_weapon, flourish_fn )
|
||||
{
|
||||
precacheitem( weapon_name );
|
||||
precacheitem( flourish_weapon_name );
|
||||
add_melee_weapon( weapon_name, flourish_weapon_name, ballistic_weapon_name, ballistic_upgraded_weapon_name, cost, wallbuy_targetname, hint_string, vo_dialog_id, has_weapon, give_weapon, take_weapon );
|
||||
melee_weapon_triggers = getentarray( wallbuy_targetname, "targetname" );
|
||||
i = 0;
|
||||
while ( i < melee_weapon_triggers.size )
|
||||
{
|
||||
knife_model = getent( melee_weapon_triggers[ i ].target, "targetname" );
|
||||
if ( isDefined( knife_model ) )
|
||||
{
|
||||
knife_model hide();
|
||||
}
|
||||
melee_weapon_triggers[ i ] thread melee_weapon_think( weapon_name, cost, has_weapon, give_weapon, flourish_fn, vo_dialog_id, flourish_weapon_name, ballistic_weapon_name, ballistic_upgraded_weapon_name );
|
||||
melee_weapon_triggers[ i ] sethintstring( hint_string, cost );
|
||||
melee_weapon_triggers[ i ] setcursorhint( "HINT_NOICON" );
|
||||
melee_weapon_triggers[ i ] usetriggerrequirelookat();
|
||||
i++;
|
||||
}
|
||||
melee_weapon_structs = getstructarray( wallbuy_targetname, "targetname" );
|
||||
i = 0;
|
||||
while ( i < melee_weapon_structs.size )
|
||||
{
|
||||
prepare_stub( melee_weapon_structs[ i ].trigger_stub, weapon_name, flourish_weapon_name, ballistic_weapon_name, ballistic_upgraded_weapon_name, cost, wallbuy_targetname, hint_string, vo_dialog_id, has_weapon, give_weapon, take_weapon, flourish_fn );
|
||||
i++;
|
||||
}
|
||||
register_melee_weapon_for_level( weapon_name );
|
||||
if ( !isDefined( level.ballistic_weapon_name ) )
|
||||
{
|
||||
level.ballistic_weapon_name = [];
|
||||
}
|
||||
level.ballistic_weapon_name[ weapon_name ] = ballistic_weapon_name;
|
||||
if ( !isDefined( level.ballistic_upgraded_weapon_name ) )
|
||||
{
|
||||
level.ballistic_upgraded_weapon_name = [];
|
||||
}
|
||||
level.ballistic_upgraded_weapon_name[ weapon_name ] = ballistic_upgraded_weapon_name;
|
||||
}
|
||||
|
||||
prepare_stub( stub, weapon_name, flourish_weapon_name, ballistic_weapon_name, ballistic_upgraded_weapon_name, cost, wallbuy_targetname, hint_string, vo_dialog_id, has_weapon, give_weapon, take_weapon, flourish_fn )
|
||||
{
|
||||
if ( isDefined( stub ) )
|
||||
{
|
||||
stub.hint_string = hint_string;
|
||||
stub.cost = cost;
|
||||
stub.weapon_name = weapon_name;
|
||||
stub.has_weapon = has_weapon;
|
||||
stub.give_weapon = give_weapon;
|
||||
stub.take_weapon = take_weapon;
|
||||
stub.vo_dialog_id = vo_dialog_id;
|
||||
stub.flourish_weapon_name = flourish_weapon_name;
|
||||
stub.ballistic_weapon_name = ballistic_weapon_name;
|
||||
stub.ballistic_upgraded_weapon_name = ballistic_upgraded_weapon_name;
|
||||
stub.trigger_func = ::melee_weapon_think;
|
||||
stub.flourish_fn = flourish_fn;
|
||||
}
|
||||
}
|
||||
|
||||
add_stub( stub, weapon_name )
|
||||
{
|
||||
melee_weapon = undefined;
|
||||
i = 0;
|
||||
while ( i < level._melee_weapons.size )
|
||||
{
|
||||
if ( level._melee_weapons[ i ].weapon_name == weapon_name )
|
||||
{
|
||||
melee_weapon = level._melee_weapons[ i ];
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
i++;
|
||||
}
|
||||
}
|
||||
if ( isDefined( stub ) && isDefined( melee_weapon ) )
|
||||
{
|
||||
prepare_stub( stub, melee_weapon.weapon_name, melee_weapon.flourish_weapon_name, melee_weapon.ballistic_weapon_name, melee_weapon.ballistic_upgraded_weapon_name, melee_weapon.cost, melee_weapon.wallbuy_targetname, melee_weapon.hint_string, melee_weapon.vo_dialog_id, melee_weapon.has_weapon, melee_weapon.give_weapon, melee_weapon.take_weapon, melee_weapon.flourish_fn );
|
||||
}
|
||||
}
|
||||
|
||||
give_melee_weapon_by_name( weapon_name )
|
||||
{
|
||||
melee_weapon = undefined;
|
||||
i = 0;
|
||||
while ( i < level._melee_weapons.size )
|
||||
{
|
||||
if ( level._melee_weapons[ i ].weapon_name == weapon_name )
|
||||
{
|
||||
melee_weapon = level._melee_weapons[ i ];
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
i++;
|
||||
}
|
||||
}
|
||||
if ( isDefined( melee_weapon ) )
|
||||
{
|
||||
self thread give_melee_weapon( melee_weapon.vo_dialog_id, melee_weapon.flourish_weapon_name, melee_weapon.weapon_name, melee_weapon.ballistic_weapon_name, melee_weapon.ballistic_upgraded_weapon_name, melee_weapon.give_weapon, melee_weapon.flourish_fn, undefined );
|
||||
}
|
||||
}
|
||||
|
||||
add_melee_weapon( weapon_name, flourish_weapon_name, ballistic_weapon_name, ballistic_upgraded_weapon_name, cost, wallbuy_targetname, hint_string, vo_dialog_id, has_weapon, give_weapon, take_weapon, flourish_fn )
|
||||
{
|
||||
melee_weapon = spawnstruct();
|
||||
melee_weapon.weapon_name = weapon_name;
|
||||
melee_weapon.flourish_weapon_name = flourish_weapon_name;
|
||||
melee_weapon.ballistic_weapon_name = ballistic_weapon_name;
|
||||
melee_weapon.ballistic_upgraded_weapon_name = ballistic_upgraded_weapon_name;
|
||||
melee_weapon.cost = cost;
|
||||
melee_weapon.wallbuy_targetname = wallbuy_targetname;
|
||||
melee_weapon.hint_string = hint_string;
|
||||
melee_weapon.vo_dialog_id = vo_dialog_id;
|
||||
melee_weapon.has_weapon = has_weapon;
|
||||
melee_weapon.give_weapon = give_weapon;
|
||||
melee_weapon.take_weapon = take_weapon;
|
||||
melee_weapon.flourish_fn = flourish_fn;
|
||||
if ( !isDefined( level._melee_weapons ) )
|
||||
{
|
||||
level._melee_weapons = [];
|
||||
}
|
||||
level._melee_weapons[ level._melee_weapons.size ] = melee_weapon;
|
||||
}
|
||||
|
||||
spectator_respawn_all()
|
||||
{
|
||||
i = 0;
|
||||
while ( i < level._melee_weapons.size )
|
||||
{
|
||||
self [[ level._melee_weapons[ i ].take_weapon ]]();
|
||||
i++;
|
||||
}
|
||||
i = 0;
|
||||
while ( i < level._melee_weapons.size )
|
||||
{
|
||||
self spectator_respawn( level._melee_weapons[ i ].wallbuy_targetname, level._melee_weapons[ i ].take_weapon, level._melee_weapons[ i ].has_weapon );
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
spectator_respawn( wallbuy_targetname, take_weapon, has_weapon )
|
||||
{
|
||||
melee_triggers = getentarray( wallbuy_targetname, "targetname" );
|
||||
players = get_players();
|
||||
i = 0;
|
||||
while ( i < melee_triggers.size )
|
||||
{
|
||||
melee_triggers[ i ] setvisibletoall();
|
||||
while ( isDefined( level._allow_melee_weapon_switching ) && !level._allow_melee_weapon_switching )
|
||||
{
|
||||
j = 0;
|
||||
while ( j < players.size )
|
||||
{
|
||||
if ( players[ j ] [[ has_weapon ]]() )
|
||||
{
|
||||
melee_triggers[ i ] setinvisibletoplayer( players[ j ] );
|
||||
}
|
||||
j++;
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
trigger_hide_all()
|
||||
{
|
||||
i = 0;
|
||||
while ( i < level._melee_weapons.size )
|
||||
{
|
||||
self trigger_hide( level._melee_weapons[ i ].wallbuy_targetname );
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
trigger_hide( wallbuy_targetname )
|
||||
{
|
||||
melee_triggers = getentarray( wallbuy_targetname, "targetname" );
|
||||
i = 0;
|
||||
while ( i < melee_triggers.size )
|
||||
{
|
||||
melee_triggers[ i ] setinvisibletoplayer( self );
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
has_any_ballistic_knife()
|
||||
{
|
||||
if ( self hasweapon( "knife_ballistic_zm" ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if ( self hasweapon( "knife_ballistic_upgraded_zm" ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
i = 0;
|
||||
while ( i < level._melee_weapons.size )
|
||||
{
|
||||
if ( self hasweapon( level._melee_weapons[ i ].ballistic_weapon_name ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
if ( self hasweapon( level._melee_weapons[ i ].ballistic_upgraded_weapon_name ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
has_upgraded_ballistic_knife()
|
||||
{
|
||||
if ( self hasweapon( "knife_ballistic_upgraded_zm" ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
i = 0;
|
||||
while ( i < level._melee_weapons.size )
|
||||
{
|
||||
if ( self hasweapon( level._melee_weapons[ i ].ballistic_upgraded_weapon_name ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
give_ballistic_knife( weapon_string, upgraded )
|
||||
{
|
||||
current_melee_weapon = self get_player_melee_weapon();
|
||||
if ( isDefined( current_melee_weapon ) )
|
||||
{
|
||||
if ( upgraded && isDefined( level.ballistic_upgraded_weapon_name ) && isDefined( level.ballistic_upgraded_weapon_name[ current_melee_weapon ] ) )
|
||||
{
|
||||
weapon_string = level.ballistic_upgraded_weapon_name[ current_melee_weapon ];
|
||||
}
|
||||
if ( !upgraded && isDefined( level.ballistic_weapon_name ) && isDefined( level.ballistic_weapon_name[ current_melee_weapon ] ) )
|
||||
{
|
||||
weapon_string = level.ballistic_weapon_name[ current_melee_weapon ];
|
||||
}
|
||||
}
|
||||
return weapon_string;
|
||||
}
|
||||
|
||||
change_melee_weapon( weapon_name, current_weapon )
|
||||
{
|
||||
current_melee_weapon = self get_player_melee_weapon();
|
||||
if ( isDefined( current_melee_weapon ) )
|
||||
{
|
||||
self takeweapon( current_melee_weapon );
|
||||
unacquire_weapon_toggle( current_melee_weapon );
|
||||
}
|
||||
self set_player_melee_weapon( weapon_name );
|
||||
had_ballistic = 0;
|
||||
had_ballistic_upgraded = 0;
|
||||
ballistic_was_primary = 0;
|
||||
primaryweapons = self getweaponslistprimaries();
|
||||
i = 0;
|
||||
while ( i < primaryweapons.size )
|
||||
{
|
||||
primary_weapon = primaryweapons[ i ];
|
||||
if ( issubstr( primary_weapon, "knife_ballistic_" ) )
|
||||
{
|
||||
had_ballistic = 1;
|
||||
if ( primary_weapon == current_weapon )
|
||||
{
|
||||
ballistic_was_primary = 1;
|
||||
}
|
||||
self notify( "zmb_lost_knife" );
|
||||
self takeweapon( primary_weapon );
|
||||
unacquire_weapon_toggle( primary_weapon );
|
||||
if ( issubstr( primary_weapon, "upgraded" ) )
|
||||
{
|
||||
had_ballistic_upgraded = 1;
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
if ( had_ballistic )
|
||||
{
|
||||
if ( had_ballistic_upgraded )
|
||||
{
|
||||
new_ballistic = level.ballistic_upgraded_weapon_name[ weapon_name ];
|
||||
if ( ballistic_was_primary )
|
||||
{
|
||||
current_weapon = new_ballistic;
|
||||
}
|
||||
self giveweapon( new_ballistic, 0, self maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options( new_ballistic ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
new_ballistic = level.ballistic_weapon_name[ weapon_name ];
|
||||
if ( ballistic_was_primary )
|
||||
{
|
||||
current_weapon = new_ballistic;
|
||||
}
|
||||
self giveweapon( new_ballistic, 0 );
|
||||
}
|
||||
}
|
||||
return current_weapon;
|
||||
}
|
||||
|
||||
melee_weapon_think( weapon_name, cost, has_weapon, give_weapon, flourish_fn, vo_dialog_id, flourish_weapon_name, ballistic_weapon_name, ballistic_upgraded_weapon_name )
|
||||
{
|
||||
self.first_time_triggered = 0;
|
||||
while ( isDefined( self.stub ) )
|
||||
{
|
||||
self endon( "kill_trigger" );
|
||||
if ( isDefined( self.stub.first_time_triggered ) )
|
||||
{
|
||||
self.first_time_triggered = self.stub.first_time_triggered;
|
||||
}
|
||||
weapon_name = self.stub.weapon_name;
|
||||
cost = self.stub.cost;
|
||||
has_weapon = self.stub.has_weapon;
|
||||
give_weapon = self.stub.give_weapon;
|
||||
flourish_fn = self.stub.flourish_fn;
|
||||
vo_dialog_id = self.stub.vo_dialog_id;
|
||||
flourish_weapon_name = self.stub.flourish_weapon_name;
|
||||
ballistic_weapon_name = self.stub.ballistic_weapon_name;
|
||||
ballistic_upgraded_weapon_name = self.stub.ballistic_upgraded_weapon_name;
|
||||
players = getplayers();
|
||||
while ( isDefined( level._allow_melee_weapon_switching ) && !level._allow_melee_weapon_switching )
|
||||
{
|
||||
i = 0;
|
||||
while ( i < players.size )
|
||||
{
|
||||
if ( players[ i ] [[ has_weapon ]]() )
|
||||
{
|
||||
self setinvisibletoplayer( players[ i ] );
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "trigger", player );
|
||||
if ( !is_player_valid( player ) )
|
||||
{
|
||||
player thread ignore_triggers( 0,5 );
|
||||
continue;
|
||||
}
|
||||
else if ( player in_revive_trigger() )
|
||||
{
|
||||
wait 0,1;
|
||||
continue;
|
||||
}
|
||||
else if ( player isthrowinggrenade() )
|
||||
{
|
||||
wait 0,1;
|
||||
continue;
|
||||
}
|
||||
else if ( player.is_drinking > 0 )
|
||||
{
|
||||
wait 0,1;
|
||||
continue;
|
||||
}
|
||||
else if ( player hasweapon( weapon_name ) || player has_powerup_weapon() )
|
||||
{
|
||||
wait 0,1;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( player isswitchingweapons() )
|
||||
{
|
||||
wait 0,1;
|
||||
break;
|
||||
}
|
||||
else current_weapon = player getcurrentweapon();
|
||||
if ( !is_placeable_mine( current_weapon ) || is_equipment( current_weapon ) && player has_powerup_weapon() )
|
||||
{
|
||||
wait 0,1;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( player maps/mp/zombies/_zm_laststand::player_is_in_laststand() || isDefined( player.intermission ) && player.intermission )
|
||||
{
|
||||
wait 0,1;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
player_has_weapon = player [[ has_weapon ]]();
|
||||
if ( !player_has_weapon )
|
||||
{
|
||||
if ( player.score >= cost )
|
||||
{
|
||||
if ( self.first_time_triggered == 0 )
|
||||
{
|
||||
model = getent( self.target, "targetname" );
|
||||
if ( isDefined( model ) )
|
||||
{
|
||||
model thread melee_weapon_show( player );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isDefined( self.clientfieldname ) )
|
||||
{
|
||||
level setclientfield( self.clientfieldname, 1 );
|
||||
}
|
||||
}
|
||||
self.first_time_triggered = 1;
|
||||
if ( isDefined( self.stub ) )
|
||||
{
|
||||
self.stub.first_time_triggered = 1;
|
||||
}
|
||||
}
|
||||
player maps/mp/zombies/_zm_score::minus_to_player_score( cost );
|
||||
bbprint( "zombie_uses", "playername %s playerscore %d round %d cost %d name %s x %f y %f z %f type %s", player.name, player.score, level.round_number, cost, weapon_name, self.origin, "weapon" );
|
||||
player thread give_melee_weapon( vo_dialog_id, flourish_weapon_name, weapon_name, ballistic_weapon_name, ballistic_upgraded_weapon_name, give_weapon, flourish_fn, self );
|
||||
}
|
||||
else
|
||||
{
|
||||
play_sound_on_ent( "no_purchase" );
|
||||
player maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "no_money_weapon", undefined, 1 );
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isDefined( level._allow_melee_weapon_switching ) && !level._allow_melee_weapon_switching )
|
||||
{
|
||||
self setinvisibletoplayer( player );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
melee_weapon_show( player )
|
||||
{
|
||||
player_angles = vectorToAngle( player.origin - self.origin );
|
||||
player_yaw = player_angles[ 1 ];
|
||||
weapon_yaw = self.angles[ 1 ];
|
||||
yaw_diff = angleClamp180( player_yaw - weapon_yaw );
|
||||
if ( yaw_diff > 0 )
|
||||
{
|
||||
yaw = weapon_yaw - 90;
|
||||
}
|
||||
else
|
||||
{
|
||||
yaw = weapon_yaw + 90;
|
||||
}
|
||||
self.og_origin = self.origin;
|
||||
self.origin += anglesToForward( ( 0, yaw, 0 ) ) * 8;
|
||||
wait 0,05;
|
||||
self show();
|
||||
play_sound_at_pos( "weapon_show", self.origin, self );
|
||||
time = 1;
|
||||
self moveto( self.og_origin, time );
|
||||
}
|
||||
|
||||
give_melee_weapon( vo_dialog_id, flourish_weapon_name, weapon_name, ballistic_weapon_name, ballistic_upgraded_weapon_name, give_weapon, flourish_fn, trigger )
|
||||
{
|
||||
if ( isDefined( flourish_fn ) )
|
||||
{
|
||||
self thread [[ flourish_fn ]]();
|
||||
}
|
||||
gun = self do_melee_weapon_flourish_begin( flourish_weapon_name );
|
||||
self maps/mp/zombies/_zm_audio::create_and_play_dialog( "weapon_pickup", vo_dialog_id );
|
||||
self waittill_any( "fake_death", "death", "player_downed", "weapon_change_complete" );
|
||||
self do_melee_weapon_flourish_end( gun, flourish_weapon_name, weapon_name, ballistic_weapon_name, ballistic_upgraded_weapon_name );
|
||||
if ( self maps/mp/zombies/_zm_laststand::player_is_in_laststand() || isDefined( self.intermission ) && self.intermission )
|
||||
{
|
||||
return;
|
||||
}
|
||||
self [[ give_weapon ]]();
|
||||
if ( isDefined( level._allow_melee_weapon_switching ) && !level._allow_melee_weapon_switching )
|
||||
{
|
||||
if ( isDefined( trigger ) )
|
||||
{
|
||||
trigger setinvisibletoplayer( self );
|
||||
}
|
||||
self trigger_hide_all();
|
||||
}
|
||||
}
|
||||
|
||||
do_melee_weapon_flourish_begin( flourish_weapon_name )
|
||||
{
|
||||
self increment_is_drinking();
|
||||
self disable_player_move_states( 1 );
|
||||
gun = self getcurrentweapon();
|
||||
weapon = flourish_weapon_name;
|
||||
self giveweapon( weapon );
|
||||
self switchtoweapon( weapon );
|
||||
return gun;
|
||||
}
|
||||
|
||||
do_melee_weapon_flourish_end( gun, flourish_weapon_name, weapon_name, ballistic_weapon_name, ballistic_upgraded_weapon_name )
|
||||
{
|
||||
/#
|
||||
assert( !is_zombie_perk_bottle( gun ) );
|
||||
#/
|
||||
/#
|
||||
assert( gun != level.revive_tool );
|
||||
#/
|
||||
self enable_player_move_states();
|
||||
weapon = flourish_weapon_name;
|
||||
if ( self maps/mp/zombies/_zm_laststand::player_is_in_laststand() || isDefined( self.intermission ) && self.intermission )
|
||||
{
|
||||
self takeweapon( weapon );
|
||||
self.lastactiveweapon = "none";
|
||||
return;
|
||||
}
|
||||
self takeweapon( weapon );
|
||||
self giveweapon( weapon_name );
|
||||
gun = change_melee_weapon( weapon_name, gun );
|
||||
if ( self hasweapon( "knife_zm" ) )
|
||||
{
|
||||
self takeweapon( "knife_zm" );
|
||||
}
|
||||
if ( self is_multiple_drinking() )
|
||||
{
|
||||
self decrement_is_drinking();
|
||||
return;
|
||||
}
|
||||
else if ( gun == "knife_zm" )
|
||||
{
|
||||
self switchtoweapon( weapon_name );
|
||||
self decrement_is_drinking();
|
||||
return;
|
||||
}
|
||||
else if ( gun != "none" && !is_placeable_mine( gun ) && !is_equipment( gun ) )
|
||||
{
|
||||
self switchtoweapon( gun );
|
||||
}
|
||||
else
|
||||
{
|
||||
primaryweapons = self getweaponslistprimaries();
|
||||
if ( isDefined( primaryweapons ) && primaryweapons.size > 0 )
|
||||
{
|
||||
self switchtoweapon( primaryweapons[ 0 ] );
|
||||
}
|
||||
}
|
||||
self waittill( "weapon_change_complete" );
|
||||
if ( !self maps/mp/zombies/_zm_laststand::player_is_in_laststand() && isDefined( self.intermission ) && !self.intermission )
|
||||
{
|
||||
self decrement_is_drinking();
|
||||
}
|
||||
}
|
278
zm_highrise_patch/maps/mp/zombies/_zm_weap_ballistic_knife.gsc
Normal file
278
zm_highrise_patch/maps/mp/zombies/_zm_weap_ballistic_knife.gsc
Normal file
@ -0,0 +1,278 @@
|
||||
#include maps/mp/zombies/_zm_stats;
|
||||
#include common_scripts/utility;
|
||||
#include maps/mp/_utility;
|
||||
|
||||
init()
|
||||
{
|
||||
if ( isDefined( level._uses_retrievable_ballisitic_knives ) && level._uses_retrievable_ballisitic_knives == 1 )
|
||||
{
|
||||
precachemodel( "t5_weapon_ballistic_knife_projectile" );
|
||||
precachemodel( "t5_weapon_ballistic_knife_blade_retrieve" );
|
||||
}
|
||||
}
|
||||
|
||||
on_spawn( watcher, player )
|
||||
{
|
||||
player endon( "death" );
|
||||
player endon( "disconnect" );
|
||||
player endon( "zmb_lost_knife" );
|
||||
level endon( "game_ended" );
|
||||
self waittill( "stationary", endpos, normal, angles, attacker, prey, bone );
|
||||
isfriendly = 0;
|
||||
if ( isDefined( endpos ) )
|
||||
{
|
||||
retrievable_model = spawn( "script_model", endpos );
|
||||
retrievable_model setmodel( "t5_weapon_ballistic_knife_blade_retrieve" );
|
||||
retrievable_model setowner( player );
|
||||
retrievable_model.owner = player;
|
||||
retrievable_model.angles = angles;
|
||||
retrievable_model.name = watcher.weapon;
|
||||
if ( isDefined( prey ) )
|
||||
{
|
||||
if ( isplayer( prey ) && player.team == prey.team )
|
||||
{
|
||||
isfriendly = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isai( prey ) && player.team == prey.team )
|
||||
{
|
||||
isfriendly = 1;
|
||||
}
|
||||
}
|
||||
if ( !isfriendly )
|
||||
{
|
||||
retrievable_model linkto( prey, bone );
|
||||
retrievable_model thread force_drop_knives_to_ground_on_death( player, prey );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isfriendly )
|
||||
{
|
||||
retrievable_model physicslaunch( normal, ( randomint( 10 ), randomint( 10 ), randomint( 10 ) ) );
|
||||
normal = ( 0, 0, 1 );
|
||||
}
|
||||
}
|
||||
}
|
||||
watcher.objectarray[ watcher.objectarray.size ] = retrievable_model;
|
||||
if ( isfriendly )
|
||||
{
|
||||
retrievable_model waittill( "stationary" );
|
||||
}
|
||||
retrievable_model thread drop_knives_to_ground( player );
|
||||
if ( isfriendly )
|
||||
{
|
||||
player notify( "ballistic_knife_stationary" );
|
||||
}
|
||||
else
|
||||
{
|
||||
player notify( "ballistic_knife_stationary" );
|
||||
}
|
||||
retrievable_model thread wait_to_show_glowing_model( prey );
|
||||
}
|
||||
}
|
||||
|
||||
wait_to_show_glowing_model( prey )
|
||||
{
|
||||
level endon( "game_ended" );
|
||||
self endon( "death" );
|
||||
wait 2;
|
||||
self setmodel( "t5_weapon_ballistic_knife_blade_retrieve" );
|
||||
}
|
||||
|
||||
on_spawn_retrieve_trigger( watcher, player )
|
||||
{
|
||||
player endon( "death" );
|
||||
player endon( "disconnect" );
|
||||
player endon( "zmb_lost_knife" );
|
||||
level endon( "game_ended" );
|
||||
player waittill( "ballistic_knife_stationary", retrievable_model, normal, prey );
|
||||
if ( !isDefined( retrievable_model ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
trigger_pos = [];
|
||||
if ( isDefined( prey ) || isplayer( prey ) && isai( prey ) )
|
||||
{
|
||||
trigger_pos[ 0 ] = prey.origin[ 0 ];
|
||||
trigger_pos[ 1 ] = prey.origin[ 1 ];
|
||||
trigger_pos[ 2 ] = prey.origin[ 2 ] + 10;
|
||||
}
|
||||
else
|
||||
{
|
||||
trigger_pos[ 0 ] = retrievable_model.origin[ 0 ] + ( 10 * normal[ 0 ] );
|
||||
trigger_pos[ 1 ] = retrievable_model.origin[ 1 ] + ( 10 * normal[ 1 ] );
|
||||
trigger_pos[ 2 ] = retrievable_model.origin[ 2 ] + ( 10 * normal[ 2 ] );
|
||||
}
|
||||
pickup_trigger = spawn( "trigger_radius_use", ( trigger_pos[ 0 ], trigger_pos[ 1 ], trigger_pos[ 2 ] ) );
|
||||
pickup_trigger setcursorhint( "HINT_NOICON" );
|
||||
pickup_trigger.owner = player;
|
||||
retrievable_model.retrievabletrigger = pickup_trigger;
|
||||
hint_string = &"WEAPON_BALLISTIC_KNIFE_PICKUP";
|
||||
if ( isDefined( hint_string ) )
|
||||
{
|
||||
pickup_trigger sethintstring( hint_string );
|
||||
}
|
||||
else
|
||||
{
|
||||
pickup_trigger sethintstring( &"GENERIC_PICKUP" );
|
||||
}
|
||||
pickup_trigger setteamfortrigger( player.team );
|
||||
player clientclaimtrigger( pickup_trigger );
|
||||
pickup_trigger enablelinkto();
|
||||
if ( isDefined( prey ) )
|
||||
{
|
||||
pickup_trigger linkto( prey );
|
||||
}
|
||||
else
|
||||
{
|
||||
pickup_trigger linkto( retrievable_model );
|
||||
}
|
||||
if ( isDefined( level.knife_planted ) )
|
||||
{
|
||||
[[ level.knife_planted ]]( retrievable_model, pickup_trigger, prey );
|
||||
}
|
||||
retrievable_model thread watch_use_trigger( pickup_trigger, retrievable_model, ::pick_up, watcher.weapon, watcher.pickupsoundplayer, watcher.pickupsound );
|
||||
player thread watch_shutdown( pickup_trigger, retrievable_model );
|
||||
}
|
||||
|
||||
debug_print( endpos )
|
||||
{
|
||||
/#
|
||||
self endon( "death" );
|
||||
while ( 1 )
|
||||
{
|
||||
print3d( endpos, "pickup_trigger" );
|
||||
wait 0,05;
|
||||
#/
|
||||
}
|
||||
}
|
||||
|
||||
watch_use_trigger( trigger, model, callback, weapon, playersoundonuse, npcsoundonuse )
|
||||
{
|
||||
self endon( "death" );
|
||||
self endon( "delete" );
|
||||
level endon( "game_ended" );
|
||||
while ( 1 )
|
||||
{
|
||||
trigger waittill( "trigger", player );
|
||||
while ( !isalive( player ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
while ( !player isonground() )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if ( isDefined( trigger.triggerteam ) && player.team != trigger.triggerteam )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if ( isDefined( trigger.claimedby ) && player != trigger.claimedby )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if ( player usebuttonpressed() && !player.throwinggrenade && !player meleebuttonpressed() )
|
||||
{
|
||||
if ( isDefined( playersoundonuse ) )
|
||||
{
|
||||
player playlocalsound( playersoundonuse );
|
||||
}
|
||||
if ( isDefined( npcsoundonuse ) )
|
||||
{
|
||||
player playsound( npcsoundonuse );
|
||||
}
|
||||
player thread [[ callback ]]( weapon, model, trigger );
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pick_up( weapon, model, trigger )
|
||||
{
|
||||
current_weapon = self getcurrentweapon();
|
||||
if ( current_weapon != weapon )
|
||||
{
|
||||
clip_ammo = self getweaponammoclip( weapon );
|
||||
if ( !clip_ammo )
|
||||
{
|
||||
self setweaponammoclip( weapon, 1 );
|
||||
}
|
||||
else
|
||||
{
|
||||
new_ammo_stock = self getweaponammostock( weapon ) + 1;
|
||||
self setweaponammostock( weapon, new_ammo_stock );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
new_ammo_stock = self getweaponammostock( weapon ) + 1;
|
||||
self setweaponammostock( weapon, new_ammo_stock );
|
||||
}
|
||||
self maps/mp/zombies/_zm_stats::increment_client_stat( "ballistic_knives_pickedup" );
|
||||
self maps/mp/zombies/_zm_stats::increment_player_stat( "ballistic_knives_pickedup" );
|
||||
model destroy_ent();
|
||||
trigger destroy_ent();
|
||||
}
|
||||
|
||||
destroy_ent()
|
||||
{
|
||||
if ( isDefined( self ) )
|
||||
{
|
||||
if ( isDefined( self.glowing_model ) )
|
||||
{
|
||||
self.glowing_model delete();
|
||||
}
|
||||
self delete();
|
||||
}
|
||||
}
|
||||
|
||||
watch_shutdown( trigger, model )
|
||||
{
|
||||
self waittill_any( "death", "disconnect", "zmb_lost_knife" );
|
||||
trigger destroy_ent();
|
||||
model destroy_ent();
|
||||
}
|
||||
|
||||
drop_knives_to_ground( player )
|
||||
{
|
||||
player endon( "death" );
|
||||
player endon( "zmb_lost_knife" );
|
||||
for ( ;; )
|
||||
{
|
||||
level waittill( "drop_objects_to_ground", origin, radius );
|
||||
if ( distancesquared( origin, self.origin ) < ( radius * radius ) )
|
||||
{
|
||||
self physicslaunch( ( 0, 0, 1 ), vectorScale( ( 0, 0, 1 ), 5 ) );
|
||||
self thread update_retrieve_trigger( player );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
force_drop_knives_to_ground_on_death( player, prey )
|
||||
{
|
||||
self endon( "death" );
|
||||
player endon( "zmb_lost_knife" );
|
||||
prey waittill( "death" );
|
||||
self unlink();
|
||||
self physicslaunch( ( 0, 0, 1 ), vectorScale( ( 0, 0, 1 ), 5 ) );
|
||||
self thread update_retrieve_trigger( player );
|
||||
}
|
||||
|
||||
update_retrieve_trigger( player )
|
||||
{
|
||||
self endon( "death" );
|
||||
player endon( "zmb_lost_knife" );
|
||||
if ( isDefined( level.custom_update_retrieve_trigger ) )
|
||||
{
|
||||
self [[ level.custom_update_retrieve_trigger ]]( player );
|
||||
return;
|
||||
}
|
||||
self waittill( "stationary" );
|
||||
trigger = self.retrievabletrigger;
|
||||
trigger.origin = ( self.origin[ 0 ], self.origin[ 1 ], self.origin[ 2 ] + 10 );
|
||||
trigger linkto( self );
|
||||
}
|
53
zm_highrise_patch/maps/mp/zombies/_zm_weap_bowie.gsc
Normal file
53
zm_highrise_patch/maps/mp/zombies/_zm_weap_bowie.gsc
Normal file
@ -0,0 +1,53 @@
|
||||
#include maps/mp/zombies/_zm_weapons;
|
||||
#include maps/mp/zombies/_zm_utility;
|
||||
#include maps/mp/_utility;
|
||||
#include common_scripts/utility;
|
||||
|
||||
init()
|
||||
{
|
||||
if ( isDefined( level.bowie_cost ) )
|
||||
{
|
||||
cost = level.bowie_cost;
|
||||
}
|
||||
else
|
||||
{
|
||||
cost = 3000;
|
||||
}
|
||||
maps/mp/zombies/_zm_melee_weapon::init( "bowie_knife_zm", "zombie_bowie_flourish", "knife_ballistic_bowie_zm", "knife_ballistic_bowie_upgraded_zm", cost, "bowie_upgrade", &"ZOMBIE_WEAPON_BOWIE_BUY", "bowie", ::has_bowie, ::give_bowie, ::take_bowie, ::bowie_flourish );
|
||||
maps/mp/zombies/_zm_weapons::add_retrievable_knife_init_name( "knife_ballistic_bowie" );
|
||||
maps/mp/zombies/_zm_weapons::add_retrievable_knife_init_name( "knife_ballistic_bowie_upgraded" );
|
||||
}
|
||||
|
||||
spectator_respawn()
|
||||
{
|
||||
maps/mp/zombies/_zm_melee_weapon::spectator_respawn( "bowie_upgrade", ::take_bowie, ::has_bowie );
|
||||
}
|
||||
|
||||
has_bowie()
|
||||
{
|
||||
if ( is_true( level._allow_melee_weapon_switching ) )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if ( !is_true( self._sickle_zm_equipped ) || is_true( self._bowie_zm_equipped ) && is_true( self._tazer_zm_equipped ) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
give_bowie()
|
||||
{
|
||||
self._bowie_zm_equipped = 1;
|
||||
self._sickle_zm_equipped = undefined;
|
||||
self._tazer_zm_equipped = undefined;
|
||||
}
|
||||
|
||||
take_bowie()
|
||||
{
|
||||
self._bowie_zm_equipped = undefined;
|
||||
}
|
||||
|
||||
bowie_flourish()
|
||||
{
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user