diff --git a/README.md b/README.md index 407750d4..60ccabdc 100644 --- a/README.md +++ b/README.md @@ -457,6 +457,7 @@ ### Origins * Door prices in solo cost the same as in coop +* Players can go prone on the tank * Shovels automatically picked up * Gramophone and records automatically picked up * Der Wunderfizz: increased cost from 1500 to 2500 diff --git a/scripts/zm/replaced/zm_tomb_tank.gsc b/scripts/zm/replaced/zm_tomb_tank.gsc new file mode 100644 index 00000000..7ac7a7ad --- /dev/null +++ b/scripts/zm/replaced/zm_tomb_tank.gsc @@ -0,0 +1,58 @@ +#include common_scripts\utility; +#include maps\mp\_utility; +#include maps\mp\zombies\_zm_craftables; +#include maps\mp\zombies\_zm_weapons; +#include maps\mp\zombies\_zm_utility; +#include maps\mp\zm_tomb_utility; +#include maps\mp\zm_tomb_vo; +#include maps\mp\zombies\_zm_audio; +#include maps\mp\zombies\_zm_powerups; +#include maps\mp\zm_tomb_amb; +#include maps\mp\zombies\_zm_score; +#include maps\mp\zombies\_zm_zonemgr; +#include maps\mp\gametypes_zm\_hud; +#include maps\mp\zombies\_zm_ai_basic; +#include maps\mp\zombies\_zm_weap_staff_fire; +#include maps\mp\zombies\_zm_spawner; +#include maps\mp\zm_tomb_tank; + +players_on_tank_update() +{ + flag_wait( "start_zombie_round_logic" ); + self thread tank_disconnect_paths(); + + while ( true ) + { + a_players = getplayers(); + + foreach ( e_player in a_players ) + { + if ( is_player_valid( e_player ) ) + { + if ( isdefined( e_player.b_already_on_tank ) && !e_player.b_already_on_tank && e_player entity_on_tank() ) + { + e_player.b_already_on_tank = 1; + self.n_players_on++; + + if ( self ent_flag( "tank_cooldown" ) ) + level notify( "vo_tank_cooling", e_player ); + + e_player thread tank_rumble_update(); + e_player thread tank_rides_around_map_achievement_watcher(); + continue; + } + + if ( isdefined( e_player.b_already_on_tank ) && e_player.b_already_on_tank && !e_player entity_on_tank() ) + { + e_player.b_already_on_tank = 0; + self.n_players_on--; + level notify( "vo_tank_leave", e_player ); + e_player notify( "player_jumped_off_tank" ); + e_player setclientfieldtoplayer( "player_rumble_and_shake", 0 ); + } + } + } + + wait 0.05; + } +} \ No newline at end of file diff --git a/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc b/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc index cfc89bb0..67faa4ba 100644 --- a/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc +++ b/scripts/zm/zm_tomb/zm_tomb_reimagined.gsc @@ -10,6 +10,7 @@ #include scripts\zm\replaced\zm_tomb_quest_ice; #include scripts\zm\replaced\zm_tomb_craftables; #include scripts\zm\replaced\zm_tomb_dig; +#include scripts\zm\replaced\zm_tomb_tank; main() { @@ -28,6 +29,7 @@ main() replaceFunc(maps\mp\zm_tomb_challenges::challenges_init, scripts\zm\replaced\zm_tomb_challenges::challenges_init); replaceFunc(maps\mp\zm_tomb_dig::increment_player_perk_purchase_limit, scripts\zm\replaced\zm_tomb_dig::increment_player_perk_purchase_limit); replaceFunc(maps\mp\zm_tomb_dig::dig_disconnect_watch, scripts\zm\replaced\zm_tomb_dig::dig_disconnect_watch); + replaceFunc(maps\mp\zm_tomb_tank::players_on_tank_update, scripts\zm\replaced\zm_tomb_tank::players_on_tank_update); } init()