diff --git a/images/fxt_zmb_wep_wallbuy_01.iwi b/images/fxt_zmb_wep_wallbuy_01.iwi new file mode 100644 index 00000000..7b3f7d5a Binary files /dev/null and b/images/fxt_zmb_wep_wallbuy_01.iwi differ diff --git a/maps/mp/zm_buried.d3dbsp b/maps/mp/zm_buried.d3dbsp index 93a2658e..cd7009c6 100644 --- a/maps/mp/zm_buried.d3dbsp +++ b/maps/mp/zm_buried.d3dbsp @@ -24223,7 +24223,7 @@ "angles" "0 90 0" "origin" "-2352 -743 1418" "classname" "script_struct" -"zombie_weapon_upgrade" "rottweil72_zm" +"zombie_weapon_upgrade" "ballista_zm" "targetname" "weapon_upgrade" "target" "pf732_auto37" "guid" "F0390DB3" @@ -24407,7 +24407,7 @@ "origin" "-2936.25 -826.85 1418" "angles" "0 1.00179e-005 0" "classname" "script_struct" -"zombie_weapon_upgrade" "m14_zm" +"zombie_weapon_upgrade" "saritch_zm" "targetname" "weapon_upgrade" "target" "pf737_auto37" "guid" "C15AD568" @@ -24514,7 +24514,7 @@ "angles" "0 180 0" "origin" "-926.25 510.5 68" "classname" "script_struct" -"zombie_weapon_upgrade" "rottweil72_zm" +"zombie_weapon_upgrade" "ballista_zm" "targetname" "weapon_upgrade" "target" "pf741_auto37" "guid" "F0390DB3" @@ -24549,7 +24549,7 @@ "origin" "609.5 772.75 54" "angles" "0 270 0" "classname" "script_struct" -"zombie_weapon_upgrade" "m14_zm" +"zombie_weapon_upgrade" "saritch_zm" "targetname" "weapon_upgrade" "target" "pf742_auto37" "guid" "C15AD568" diff --git a/maps/mp/zm_highrise.d3dbsp b/maps/mp/zm_highrise.d3dbsp index 4ec331c8..16b29f34 100644 --- a/maps/mp/zm_highrise.d3dbsp +++ b/maps/mp/zm_highrise.d3dbsp @@ -2202,7 +2202,7 @@ "origin" "2095.5 1662.5 3454" "angles" "0 180 0" "classname" "script_struct" -"zombie_weapon_upgrade" "m14_zm" +"zombie_weapon_upgrade" "saritch_zm" "targetname" "weapon_upgrade" "target" "pf1481_auto37" "guid" "C15AD568" @@ -2211,7 +2211,7 @@ "angles" "0 90 0" "origin" "1745 1412 3458" "classname" "script_struct" -"zombie_weapon_upgrade" "rottweil72_zm" +"zombie_weapon_upgrade" "ballista_zm" "targetname" "weapon_upgrade" "target" "pf1482_auto37" "guid" "F0390DB3" diff --git a/maps/mp/zm_nuked.d3dbsp b/maps/mp/zm_nuked.d3dbsp index 7b5d5e86..389b18c9 100644 --- a/maps/mp/zm_nuked.d3dbsp +++ b/maps/mp/zm_nuked.d3dbsp @@ -2018,7 +2018,7 @@ "angles" "0.161018 195.001 0.40306" "origin" "204.216 -3.5378 11.9786" "classname" "script_struct" -"zombie_weapon_upgrade" "rottweil72_zm" +"zombie_weapon_upgrade" "ballista_zm" "targetname" "weapon_upgrade" "target" "pf3_auto37" "guid" "F0390DB3" @@ -3485,7 +3485,7 @@ "origin" "-145.058 173.679 3.88" "angles" "0 14.8 0" "classname" "script_struct" -"zombie_weapon_upgrade" "m14_zm" +"zombie_weapon_upgrade" "saritch_zm" "targetname" "weapon_upgrade" "target" "pf5_auto37" "guid" "C15AD568" diff --git a/maps/mp/zm_prison.d3dbsp b/maps/mp/zm_prison.d3dbsp index e2f24904..bdc1a198 100644 --- a/maps/mp/zm_prison.d3dbsp +++ b/maps/mp/zm_prison.d3dbsp @@ -4207,7 +4207,7 @@ "origin" "2109 10470 1394" "angles" "0 90 0" "classname" "script_struct" -"zombie_weapon_upgrade" "m14_zm" +"zombie_weapon_upgrade" "saritch_zm" "targetname" "weapon_upgrade" "target" "pf3653_auto37" "guid" "C15AD568" @@ -4417,7 +4417,7 @@ "angles" "0 270 0" "origin" "329 10569 1396" "classname" "script_struct" -"zombie_weapon_upgrade" "rottweil72_zm" +"zombie_weapon_upgrade" "ballista_zm" "targetname" "weapon_upgrade" "target" "pf3655_auto37" "guid" "F0390DB3" diff --git a/maps/mp/zm_tomb.d3dbsp b/maps/mp/zm_tomb.d3dbsp index 55d8a6e2..0ed9d96e 100644 --- a/maps/mp/zm_tomb.d3dbsp +++ b/maps/mp/zm_tomb.d3dbsp @@ -5118,7 +5118,7 @@ "origin" "2439 5356 -308" "angles" "0 270 0" "classname" "script_struct" -"zombie_weapon_upgrade" "m14_zm" +"zombie_weapon_upgrade" "saritch_zm" "targetname" "weapon_upgrade" "target" "pf2208_auto37" "guid" "C15AD568" diff --git a/maps/mp/zm_transit.d3dbsp b/maps/mp/zm_transit.d3dbsp index fee0a13c..3679079d 100644 --- a/maps/mp/zm_transit.d3dbsp +++ b/maps/mp/zm_transit.d3dbsp @@ -52786,7 +52786,7 @@ "angles" "0 270 0" "origin" "-6925 5554 -4" "classname" "script_struct" -"zombie_weapon_upgrade" "rottweil72_zm" +"zombie_weapon_upgrade" "ballista_zm" "targetname" "weapon_upgrade" "target" "pf1895_auto37" "guid" "F0390DB3" @@ -52832,7 +52832,7 @@ "origin" "-6329 5350 17" "angles" "0 90 0" "classname" "script_struct" -"zombie_weapon_upgrade" "m14_zm" +"zombie_weapon_upgrade" "saritch_zm" "targetname" "weapon_upgrade" "target" "pf1897_auto37" "guid" "C15AD568" @@ -52931,7 +52931,7 @@ "origin" "1125 872.2 15" "angles" "0 270 0" "classname" "script_struct" -"zombie_weapon_upgrade" "m14_zm" +"zombie_weapon_upgrade" "saritch_zm" "targetname" "weapon_upgrade" "target" "pf1902_auto37" "guid" "C15AD568" @@ -52954,7 +52954,7 @@ "origin" "1801 564.2 3" "angles" "0 270 0" "classname" "script_struct" -"zombie_weapon_upgrade" "m14_zm" +"zombie_weapon_upgrade" "saritch_zm" "targetname" "weapon_upgrade" "target" "pf1903_auto37" "guid" "C15AD568" @@ -53040,7 +53040,7 @@ "angles" "0 270 0" "origin" "1068.3 -1245 5" "classname" "script_struct" -"zombie_weapon_upgrade" "rottweil72_zm" +"zombie_weapon_upgrade" "ballista_zm" "targetname" "weapon_upgrade" "target" "pf1908_auto37" "guid" "F0390DB3" @@ -53129,7 +53129,7 @@ "origin" "628 446 15" "angles" "0 270 0" "classname" "script_struct" -"zombie_weapon_upgrade" "m14_zm" +"zombie_weapon_upgrade" "saritch_zm" "targetname" "weapon_upgrade" "target" "pf1912_auto37" "guid" "C15AD568" diff --git a/scripts/zm/_zm_reimagined.csc b/scripts/zm/_zm_reimagined.csc new file mode 100644 index 00000000..1a7dfa8f --- /dev/null +++ b/scripts/zm/_zm_reimagined.csc @@ -0,0 +1,7 @@ +#include clientscripts\mp\_utility; +#include clientscripts\mp\zombies\_zm_utility; + +main() +{ + replaceFunc(clientscripts\mp\zombies\_zm::init_wallbuy_fx, scripts\zm\replaced\_zm::init_wallbuy_fx); +} \ No newline at end of file diff --git a/scripts/zm/_zm_reimagined.gsc b/scripts/zm/_zm_reimagined.gsc index 23022188..d190c51c 100644 --- a/scripts/zm/_zm_reimagined.gsc +++ b/scripts/zm/_zm_reimagined.gsc @@ -14,6 +14,7 @@ main() replaceFunc(maps\mp\gametypes_zm\_damagefeedback::onplayerconnect, scripts\zm\replaced\_damagefeedback::onplayerconnect); replaceFunc(maps\mp\gametypes_zm\_hud_message::onplayerconnect, scripts\zm\replaced\_hud_message::onplayerconnect); replaceFunc(maps\mp\gametypes_zm\_zm_gametype::hide_gump_loading_for_hotjoiners, scripts\zm\replaced\_zm_gametype::hide_gump_loading_for_hotjoiners); + replaceFunc(maps\mp\zombies\_zm::init_fx, scripts\zm\replaced\_zm::init_fx); replaceFunc(maps\mp\zombies\_zm::round_start, scripts\zm\replaced\_zm::round_start); replaceFunc(maps\mp\zombies\_zm::ai_calculate_health, scripts\zm\replaced\_zm::ai_calculate_health); replaceFunc(maps\mp\zombies\_zm::onallplayersready, scripts\zm\replaced\_zm::onallplayersready); diff --git a/scripts/zm/replaced/_zm.csc b/scripts/zm/replaced/_zm.csc new file mode 100644 index 00000000..1c580ce1 --- /dev/null +++ b/scripts/zm/replaced/_zm.csc @@ -0,0 +1,31 @@ +#include clientscripts\mp\zombies\_zm; +#include clientscripts\mp\_utility; +#include clientscripts\mp\zombies\_zm_utility; + +init_wallbuy_fx() +{ + if ( !is_false( level._uses_default_wallbuy_fx ) ) + { + level._effect["870mcs_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_870mcs" ); + level._effect["ak74u_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_ak74u" ); + level._effect["beretta93r_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_berreta93r" ); + level._effect["bowie_knife_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_bowie" ); + level._effect["claymore_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_claymore" ); + level._effect["saritch_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_m14" ); + level._effect["m16_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_m16" ); + level._effect["mp5k_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_mp5k" ); + level._effect["ballista_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_olympia" ); + } + + if ( !is_false( level._uses_sticky_grenades ) ) + { + if ( !is_true( level.disable_fx_zmb_wall_buy_semtex ) ) + level._effect["sticky_grenade_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_semtex" ); + } + + if ( !is_false( level._uses_taser_knuckles ) ) + level._effect["tazer_knuckles_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_taseknuck" ); + + if ( isdefined( level.buildable_wallbuy_weapons ) ) + level._effect["dynamic_wallbuy_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_question" ); +} \ No newline at end of file diff --git a/scripts/zm/replaced/_zm.gsc b/scripts/zm/replaced/_zm.gsc index 16e83b3f..282bd021 100644 --- a/scripts/zm/replaced/_zm.gsc +++ b/scripts/zm/replaced/_zm.gsc @@ -4,6 +4,73 @@ #include maps\mp\zombies\_zm_utility; #include maps\mp\gametypes_zm\_hud_util; +init_fx() +{ + level.createfx_callback_thread = ::delete_in_createfx; + level._effect["wood_chunk_destory"] = loadfx( "impacts/fx_large_woodhit" ); + level._effect["fx_zombie_bar_break"] = loadfx( "maps/zombie/fx_zombie_bar_break" ); + level._effect["fx_zombie_bar_break_lite"] = loadfx( "maps/zombie/fx_zombie_bar_break_lite" ); + + if ( !( isdefined( level.fx_exclude_edge_fog ) && level.fx_exclude_edge_fog ) ) + level._effect["edge_fog"] = loadfx( "maps/zombie/fx_fog_zombie_amb" ); + + level._effect["chest_light"] = loadfx( "maps/zombie/fx_zmb_tranzit_marker_glow" ); + + if ( !( isdefined( level.fx_exclude_default_eye_glow ) && level.fx_exclude_default_eye_glow ) ) + level._effect["eye_glow"] = loadfx( "misc/fx_zombie_eye_single" ); + + level._effect["headshot"] = loadfx( "impacts/fx_flesh_hit" ); + level._effect["headshot_nochunks"] = loadfx( "misc/fx_zombie_bloodsplat" ); + level._effect["bloodspurt"] = loadfx( "misc/fx_zombie_bloodspurt" ); + + if ( !( isdefined( level.fx_exclude_tesla_head_light ) && level.fx_exclude_tesla_head_light ) ) + level._effect["tesla_head_light"] = loadfx( "maps/zombie/fx_zombie_tesla_neck_spurt" ); + + level._effect["zombie_guts_explosion"] = loadfx( "maps/zombie/fx_zmb_tranzit_torso_explo" ); + level._effect["rise_burst_water"] = loadfx( "maps/zombie/fx_mp_zombie_hand_dirt_burst" ); + level._effect["rise_billow_water"] = loadfx( "maps/zombie/fx_mp_zombie_body_dirt_billowing" ); + level._effect["rise_dust_water"] = loadfx( "maps/zombie/fx_mp_zombie_body_dust_falling" ); + level._effect["rise_burst"] = loadfx( "maps/zombie/fx_mp_zombie_hand_dirt_burst" ); + level._effect["rise_billow"] = loadfx( "maps/zombie/fx_mp_zombie_body_dirt_billowing" ); + level._effect["rise_dust"] = loadfx( "maps/zombie/fx_mp_zombie_body_dust_falling" ); + level._effect["fall_burst"] = loadfx( "maps/zombie/fx_mp_zombie_hand_dirt_burst" ); + level._effect["fall_billow"] = loadfx( "maps/zombie/fx_mp_zombie_body_dirt_billowing" ); + level._effect["fall_dust"] = loadfx( "maps/zombie/fx_mp_zombie_body_dust_falling" ); + level._effect["character_fire_death_sm"] = loadfx( "env/fire/fx_fire_zombie_md" ); + level._effect["character_fire_death_torso"] = loadfx( "env/fire/fx_fire_zombie_torso" ); + + if ( !( isdefined( level.fx_exclude_default_explosion ) && level.fx_exclude_default_explosion ) ) + level._effect["def_explosion"] = loadfx( "explosions/fx_default_explosion" ); + + if ( !( isdefined( level._uses_default_wallbuy_fx ) && !level._uses_default_wallbuy_fx ) ) + { + level._effect["870mcs_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_870mcs" ); + level._effect["ak74u_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_ak74u" ); + level._effect["beretta93r_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_berreta93r" ); + level._effect["bowie_knife_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_bowie" ); + level._effect["claymore_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_claymore" ); + level._effect["saritch_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_m14" ); + level._effect["m16_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_m16" ); + level._effect["mp5k_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_mp5k" ); + level._effect["ballista_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_olympia" ); + } + + if ( !( isdefined( level._uses_sticky_grenades ) && !level._uses_sticky_grenades ) ) + { + if ( !( isdefined( level.disable_fx_zmb_wall_buy_semtex ) && level.disable_fx_zmb_wall_buy_semtex ) ) + level._effect["sticky_grenade_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_semtex" ); + } + + if ( !( isdefined( level._uses_taser_knuckles ) && !level._uses_taser_knuckles ) ) + level._effect["tazer_knuckles_zm_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_taseknuck" ); + + if ( isdefined( level.buildable_wallbuy_weapons ) ) + level._effect["dynamic_wallbuy_fx"] = loadfx( "maps/zombie/fx_zmb_wall_buy_question" ); + + if ( !( isdefined( level.disable_fx_upgrade_aquired ) && level.disable_fx_upgrade_aquired ) ) + level._effect["upgrade_aquired"] = loadfx( "maps/zombie/fx_zmb_tanzit_upgrade" ); +} + round_start() { if (isdefined(level.round_prestart_func)) diff --git a/scripts/zm/replaced/_zm_weapons.gsc b/scripts/zm/replaced/_zm_weapons.gsc index 35a1f3ed..8f42ec52 100644 --- a/scripts/zm/replaced/_zm_weapons.gsc +++ b/scripts/zm/replaced/_zm_weapons.gsc @@ -87,8 +87,6 @@ init_spawnable_weapon_upgrade() continue; } - spawn_list[i] wallbuy_changes(); - precachemodel(target_struct.model); unitrigger_stub = spawnstruct(); unitrigger_stub.origin = spawn_list[i].origin; @@ -175,18 +173,6 @@ init_spawnable_weapon_upgrade() tempmodel delete(); } -wallbuy_changes() -{ - if (self.zombie_weapon_upgrade == "m14_zm") - { - self.zombie_weapon_upgrade = "saritch_zm"; - } - else if (self.zombie_weapon_upgrade == "rottweil72_zm") - { - self.zombie_weapon_upgrade = "ballista_zm"; - } -} - add_dynamic_wallbuy(weapon, wallbuy, pristine) { spawned_wallbuy = undefined; diff --git a/scripts/zm/replaced/utility.gsc b/scripts/zm/replaced/utility.gsc index 8a3ac2e7..3a1bbb94 100644 --- a/scripts/zm/replaced/utility.gsc +++ b/scripts/zm/replaced/utility.gsc @@ -332,15 +332,6 @@ wallbuy(weapon_name, target, targetname, origin, angles, play_chalk_fx = 1) get_chalk_fx_name(weapon_name) { - if (weapon_name == "saritch_zm") - { - weapon_name = "m14_zm"; - } - else if (weapon_name == "ballista_zm") - { - weapon_name = "rottweil72_zm"; - } - return weapon_name + "_fx"; } diff --git a/zone_source/clientscripts.zone b/zone_source/clientscripts.zone new file mode 100644 index 00000000..1f7e2ceb --- /dev/null +++ b/zone_source/clientscripts.zone @@ -0,0 +1,2 @@ +script,scripts/zm/_zm_reimagined.csc +script,scripts/zm/replaced/_zm.csc \ No newline at end of file diff --git a/zone_source/fx_zmb_wall_buy.zone b/zone_source/fx_zmb_wall_buy.zone new file mode 100644 index 00000000..a3d0fb1d --- /dev/null +++ b/zone_source/fx_zmb_wall_buy.zone @@ -0,0 +1 @@ +image,fxt_zmb_wep_wallbuy_01 \ No newline at end of file diff --git a/zone_source/mod.zone b/zone_source/mod.zone index d5225861..9327577d 100644 --- a/zone_source/mod.zone +++ b/zone_source/mod.zone @@ -2,6 +2,8 @@ >type,fastfile >name,mod +include,clientscripts + include,saritch_zm include,ballista_zm include,knife_ballistic_zm @@ -25,6 +27,7 @@ include,specialty_marathon include,specialty_divetonuke include,specialty_mulekick +include,fx_zmb_wall_buy include,waypoint stringtable,zm/pap_attach.csv