diff --git a/scripts/zm/_zm_reimagined.csc b/scripts/zm/_zm_reimagined.csc index cae4c478..68e1e5ab 100644 --- a/scripts/zm/_zm_reimagined.csc +++ b/scripts/zm/_zm_reimagined.csc @@ -4,6 +4,7 @@ main() { replaceFunc(clientscripts\mp\zombies\_zm::init_wallbuy_fx, scripts\zm\replaced\_zm::init_wallbuy_fx); + replaceFunc(clientscripts\mp\zombies\_zm::entityspawned, scripts\zm\replaced\_zm::entityspawned); replaceFunc(clientscripts\mp\zombies\_zm_audio::sndmeleeswipe, scripts\zm\replaced\_zm_audio::sndmeleeswipe); replaceFunc(clientscripts\mp\zombies\_zm_weapons::init, scripts\zm\replaced\_zm_weapons::init); diff --git a/scripts/zm/reimagined/_explosive_dart.csc b/scripts/zm/reimagined/_explosive_dart.csc new file mode 100644 index 00000000..d501ddd3 --- /dev/null +++ b/scripts/zm/reimagined/_explosive_dart.csc @@ -0,0 +1,33 @@ +main() +{ + level._effect["dart_light"] = loadfx("weapon/titus/fx_titus_bolt_blink_os"); +} + +spawned(localclientnum) +{ + player = getlocalplayer(localclientnum); + enemy = 0; + self.fxtagname = "tag_origin"; + + if (self.team != player.team) + enemy = 1; + + self thread loop_local_sound(localclientnum, "wpn_titus_alert", 0.3, level._effect["dart_light"]); +} + +loop_local_sound(localclientnum, alias, interval, fx) +{ + self endon("entityshutdown"); + + while (true) + { + self playsound(localclientnum, alias); + n_id = playfxontag(localclientnum, fx, self, self.fxtagname); + wait(interval); + stopfx(localclientnum, n_id); + interval /= 1.2; + + if (interval < 0.1) + interval = 0.1; + } +} \ No newline at end of file diff --git a/scripts/zm/reimagined/_explosive_dart.gsc b/scripts/zm/reimagined/_explosive_dart.gsc new file mode 100644 index 00000000..c24c81d9 --- /dev/null +++ b/scripts/zm/reimagined/_explosive_dart.gsc @@ -0,0 +1,7 @@ +#include maps\_utility; +#include common_scripts\utility; + +init() +{ + loadfx("weapon/titus/fx_titus_bolt_blink_os"); +} \ No newline at end of file diff --git a/scripts/zm/replaced/_zm.csc b/scripts/zm/replaced/_zm.csc index d3f1aad6..08208891 100644 --- a/scripts/zm/replaced/_zm.csc +++ b/scripts/zm/replaced/_zm.csc @@ -43,4 +43,30 @@ init_wallbuy_fx() if (isdefined(level.buildable_wallbuy_weapons)) level._effect["dynamic_wallbuy_fx"] = loadfx("maps/zombie/fx_zmb_wall_buy_question"); +} + +entityspawned(localclientnum) +{ + if (!isdefined(self.type)) + { + return; + } + + if (self.type == "player") + self thread playerspawned(localclientnum); + + if (self.type == "missile") + { + switch (self.weapon) + { + case "sticky_grenade_zm": + self thread clientscripts\mp\_sticky_grenade::spawned(localclientnum); + break; + + case "titus6_explosive_dart_zm": + case "titus6_explosive_dart_upgraded_zm": + self thread scripts\zm\reimagined\_explosive_dart::spawned(localclientnum); + break; + } + } } \ No newline at end of file diff --git a/scripts/zm/zm_nuked/zm_nuked_reimagined.csc b/scripts/zm/zm_nuked/zm_nuked_reimagined.csc index d60a0f32..4750e412 100644 --- a/scripts/zm/zm_nuked/zm_nuked_reimagined.csc +++ b/scripts/zm/zm_nuked/zm_nuked_reimagined.csc @@ -4,4 +4,6 @@ main() { replaceFunc(clientscripts\mp\zm_nuked::main, scripts\zm\replaced\zm_nuked::main); + + scripts\zm\reimagined\_explosive_dart::main(); } \ No newline at end of file diff --git a/scripts/zm/zm_nuked/zm_nuked_reimagined.gsc b/scripts/zm/zm_nuked/zm_nuked_reimagined.gsc index caf6f70c..35930ae0 100644 --- a/scripts/zm/zm_nuked/zm_nuked_reimagined.gsc +++ b/scripts/zm/zm_nuked/zm_nuked_reimagined.gsc @@ -11,6 +11,8 @@ main() replaceFunc(maps\mp\zm_nuked_standard::main, scripts\zm\replaced\zm_nuked_standard::main); replaceFunc(maps\mp\zm_nuked_perks::init_nuked_perks, scripts\zm\replaced\zm_nuked_perks::init_nuked_perks); replaceFunc(maps\mp\zm_nuked_perks::perks_from_the_sky, scripts\zm\replaced\zm_nuked_perks::perks_from_the_sky); + + scripts\zm\reimagined\_explosive_dart::init(); } init() diff --git a/soundbank/mod.all.aliases.csv b/soundbank/mod.all.aliases.csv index db56a855..fc855008 100644 --- a/soundbank/mod.all.aliases.csv +++ b/soundbank/mod.all.aliases.csv @@ -729,6 +729,7 @@ wpn_metalstormsnp_flux_l_plr_5_pap,raw\sound\wpn\pap\pap_flux_left.LN65.pc.snd,, wpn_metalstormsnp_flux_r_plr_5_pap,raw\sound\wpn\pap\pap_flux_right.LN65.pc.snd,,,wpn_metalstormsnp_fire_plr_5,grp_weapon,3685,3685,,25,900,900,default,default,allon,allon,8,priority,4,priority,32129,33416,,85,90,63,-1,,loaded,nonlooping,variant,-1,0,10386,,snp_wpn_3p,3d,0,0,0,0,63,,no,no,right_shot,4000,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, fly_titus_slide_back,raw\sound\wpn\shotgun\titus\toggle\titus_flip_up.LN65.pc.snd,,,,grp_foley,13075,18470,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,70,70,63,-1,,loaded,nonlooping,volume,-1,0,20,,snp_foley,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, fly_titus_slide_forward,raw\sound\wpn\shotgun\titus\toggle\titus_flip_down.LN65.pc.snd,,,,grp_foley,13075,18470,,0,5000,5000,default,default,allon,allon,8,priority,8,oldest,32767,32767,,70,70,63,-1,,loaded,nonlooping,volume,-1,0,20,,snp_foley,2d,0,0,0,0,63,,no,yes,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, +wpn_titus_alert,raw\sound\wpn\shotgun\titus\dart\alert\wpn_dart_alert.LN65.pc.snd,,,,grp_impacts,7353,9257,,100,500,750,default,default,allon,allon,8,priority,8,oldest,32767,32767,,80,95,63,-1,,loaded,nonlooping,volume,-1,0,1165,,snp_hdrfx,3d,0,25,225,11653,25,,no,no,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, wpn_titus_fire_exp_darts_plr,raw\sound\wpn\shotgun\titus\dart\wpn_titus_dart.LN65.pc.snd,,,wpn_titus_exp_LFE,grp_weapon,29273,29273,,0,5000,5000,default,default,allon,allon,3,oldest,8,oldest,29192,36779,,90,90,63,-1,,loaded,nonlooping,volume,-1,0,0,,snp_wpn_1p,2d,0,0,0,0,63,,no,no,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, wpn_titus_fire_exp_npc_pap,raw\sound\wpn\pap\pap_shot_st.LN65.pc.snd,,,wpn_titus_flux_exp_l_npc_pap,grp_weapon,8250,8250,,75,1250,1250,default,default,allon,allon,10,priority,3,oldest,30927,34715,,50,90,89,-1,,loaded,nonlooping,variant,-1,0,6553,,snp_wpn_3p,3d,0,0,0,0,63,,no,no,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_fx, wpn_titus_fire_exp_plr_pap,raw\sound\wpn\pap\pap_shot_st.LN65.pc.snd,,,wpn_titus_flux_exp_l_plr_pap,grp_weapon,14671,14671,,0,5000,5000,default,default,allon,allon,1,oldest,8,oldest,32767,32767,,90,90,63,-1,,loaded,nonlooping,volume,-1,0,2072,,snp_wpn_1p,2d,0,0,0,0,63,,no,no,none,0,,,,no,0,0,0,,yes,no,0,0,,yes,no,bus_hdrfx, diff --git a/zone_source/includes/clientscripts.zone b/zone_source/includes/clientscripts.zone index 5f053446..9ae940bf 100644 --- a/zone_source/includes/clientscripts.zone +++ b/zone_source/includes/clientscripts.zone @@ -5,6 +5,7 @@ script,scripts/zm/zm_prison/zm_prison_reimagined.csc script,scripts/zm/zm_buried/zm_buried_reimagined.csc script,scripts/zm/zm_tomb/zm_tomb_reimagined.csc script,scripts/zm/zgrief/zgrief_reimagined.csc +script,scripts/zm/reimagined/_explosive_dart.csc script,scripts/zm/replaced/_zm.csc script,scripts/zm/replaced/_zm_ai_brutus.csc script,scripts/zm/replaced/_zm_ai_mechz.csc