diff --git a/language.def_voice b/language.def_voice index edfea0180..7036e61f1 100644 --- a/language.def_voice +++ b/language.def_voice @@ -466,6 +466,16 @@ SWWM_SUBS_DEFAULT_HURTFLOOR5 = "Hot..."; SWWM_SUBS_DEFAULT_NUTSTART = "Aw, nuts..."; // Rare Sheen HMG pickup SWWM_SUBS_DEFAULT_SHEENSPECIAL = "Heavy Mah-Sheen Gun!"; +// Mortal Rifle touchscreen +SWWM_SUBS_DEFAULT_NMRTOUCH = "4"; +SWWM_SUBS_DEFAULT_MRTOUCH1 = "Beep."; +SWWM_SUBS_DEFAULT_MRTOUCH2 = "Blip."; +SWWM_SUBS_DEFAULT_MRTOUCH3 = "Blop."; +SWWM_SUBS_DEFAULT_MRTOUCH4 = "Boop."; +// Mortal Rifle finger flick +SWWM_SUBS_DEFAULT_NMRFLICK = "2"; +SWWM_SUBS_DEFAULT_MRFLICK1 = "Click."; +SWWM_SUBS_DEFAULT_MRFLICK2 = "Clack."; //// LEGACY VOICE - Fallout 4 JP Sole Survivor SWWM_VOICENAME_LEGACY = "Classic"; // new weapon received diff --git a/language.es_voice b/language.es_voice index 8e1be47ad..3e236223b 100644 --- a/language.es_voice +++ b/language.es_voice @@ -410,6 +410,14 @@ SWWM_SUBS_DEFAULT_HURTFLOOR5 = "Quema..."; SWWM_SUBS_DEFAULT_NUTSTART = "Oh, nueces..."; // Rare Sheen HMG pickup SWWM_SUBS_DEFAULT_SHEENSPECIAL = "¡Heavy Mah-Sheen Gun!"; +// Mortal Rifle touchscreen +SWWM_SUBS_DEFAULT_MRTOUCH1 = "Bip."; +SWWM_SUBS_DEFAULT_MRTOUCH2 = "Blip."; +SWWM_SUBS_DEFAULT_MRTOUCH3 = "Blap."; +SWWM_SUBS_DEFAULT_MRTOUCH4 = "Bup."; +// Mortal Rifle finger flick +SWWM_SUBS_DEFAULT_MRFLICK1 = "Clic."; +SWWM_SUBS_DEFAULT_MRFLICK2 = "Clac."; //// LEGACY VOICE - Fallout 4 JP Sole Survivor // voice name SWWM_VOICENAME_DEFAULT = "Clásico"; diff --git a/language.version b/language.version index 357c2d243..faeaac7c4 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r501 \cu(Sat 24 Sep 14:56:17 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r501 \cu(2022-09-24 14:56:17)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r502 \cu(Sat 24 Sep 14:56:35 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r502 \cu(2022-09-24 14:56:35)\c-"; diff --git a/sndinfo.defvoice b/sndinfo.defvoice index 493ddbe7d..ece9704f3 100644 --- a/sndinfo.defvoice +++ b/sndinfo.defvoice @@ -421,3 +421,9 @@ voice/default/hurtfloor4 sounds/voice/default/va/demohurtfloor4.ogg voice/default/hurtfloor5 sounds/voice/default/va/demohurtfloor5.ogg voice/default/nutstart sounds/voice/default/va/demonutstart.ogg voice/default/sheenspecial sounds/voice/default/va/demosheenspecial.ogg +voice/default/mrtouch1 sounds/voice/default/va/demomrtouch1.ogg +voice/default/mrtouch2 sounds/voice/default/va/demomrtouch2.ogg +voice/default/mrtouch3 sounds/voice/default/va/demomrtouch3.ogg +voice/default/mrtouch4 sounds/voice/default/va/demomrtouch4.ogg +voice/default/mrflick1 sounds/voice/default/va/demomrflick1.ogg +voice/default/mrflick2 sounds/voice/default/va/demomrflick2.ogg diff --git a/sounds/dlc1/mister/mr_charge_over.ogg b/sounds/dlc1/mister/mr_charge_over.ogg index c88824d2c..5203a8a31 100644 Binary files a/sounds/dlc1/mister/mr_charge_over.ogg and b/sounds/dlc1/mister/mr_charge_over.ogg differ diff --git a/sounds/dlc1/mister/mr_hold_over.ogg b/sounds/dlc1/mister/mr_hold_over.ogg index a9e3ece5b..58f7f55bd 100644 Binary files a/sounds/dlc1/mister/mr_hold_over.ogg and b/sounds/dlc1/mister/mr_hold_over.ogg differ diff --git a/sounds/voice/default/va/demomrflick1.ogg b/sounds/voice/default/va/demomrflick1.ogg new file mode 100644 index 000000000..c657c6f01 Binary files /dev/null and b/sounds/voice/default/va/demomrflick1.ogg differ diff --git a/sounds/voice/default/va/demomrflick2.ogg b/sounds/voice/default/va/demomrflick2.ogg new file mode 100644 index 000000000..9b2bddedc Binary files /dev/null and b/sounds/voice/default/va/demomrflick2.ogg differ diff --git a/sounds/voice/default/va/demomrtouch1.ogg b/sounds/voice/default/va/demomrtouch1.ogg new file mode 100644 index 000000000..3c2383253 Binary files /dev/null and b/sounds/voice/default/va/demomrtouch1.ogg differ diff --git a/sounds/voice/default/va/demomrtouch2.ogg b/sounds/voice/default/va/demomrtouch2.ogg new file mode 100644 index 000000000..f96746e23 Binary files /dev/null and b/sounds/voice/default/va/demomrtouch2.ogg differ diff --git a/sounds/voice/default/va/demomrtouch3.ogg b/sounds/voice/default/va/demomrtouch3.ogg new file mode 100644 index 000000000..13f8d7d6d Binary files /dev/null and b/sounds/voice/default/va/demomrtouch3.ogg differ diff --git a/sounds/voice/default/va/demomrtouch4.ogg b/sounds/voice/default/va/demomrtouch4.ogg new file mode 100644 index 000000000..91f597b71 Binary files /dev/null and b/sounds/voice/default/va/demomrtouch4.ogg differ diff --git a/zscript/dlc1/swwm_mister.zsc b/zscript/dlc1/swwm_mister.zsc index 76294cb37..02324c877 100644 --- a/zscript/dlc1/swwm_mister.zsc +++ b/zscript/dlc1/swwm_mister.zsc @@ -308,7 +308,7 @@ Class MisterRifle : SWWMWeapon invoker.fired = false; } if ( bFlick && (player == players[consoleplayer]) && swwm_beepboop ) - SWWMHandler.AddOneliner("buttonpush",2,0); + SWWMHandler.AddOneliner("mrflick",2,0); } action void A_DropCasing() @@ -331,7 +331,7 @@ Class MisterRifle : SWWMWeapon if ( CheckLocalView() ) A_StartSound("mister/fireselect",CHAN_WEAPON,CHANF_OVERLAP); invoker.firemode = (invoker.firemode+1)%4; if ( (player == players[consoleplayer]) && swwm_beepboop ) - SWWMHandler.AddOneliner("buttonpush",2,0); + SWWMHandler.AddOneliner("mrtouch",2,0); } action void A_MagOut() @@ -681,7 +681,7 @@ Class MisterRifle : SWWMWeapon { // pre-heat our ovens A_StartSound("mister/chargeover",CHAN_WEAPON,CHANF_OVERLAP); - A_StartSound("mister/holdover",CHAN_WEAPONEXTRA,CHANF_LOOPING,.01,4.); + A_StartSound("mister/holdover",CHAN_WEAPONEXTRA,CHANF_LOOPING,.01,4.,.5); invoker.prefirecnt = 0; } @@ -697,6 +697,7 @@ Class MisterRifle : SWWMWeapon if ( invoker.prefirecnt == 99 ) invoker.holdtic = gametic; invoker.prefirecnt = min(100,int(invoker.prefirecnt+1)); A_SoundVolume(CHAN_WEAPONEXTRA,clamp(invoker.prefirecnt*.01,.01,1.)); + A_SoundPitch(CHAN_WEAPONEXTRA,clamp(.5+invoker.prefirecnt*.005,.5,1.)**.5); if ( (invoker.prefirecnt >= 100) && !((gametic-invoker.holdtic)%32) && CheckLocalView() ) A_StartSound("mister/beepover",CHAN_WEAPON,CHANF_OVERLAP); return A_JumpIf((invoker.prefirecnt>=100)&&!(player.cmd.buttons&BT_ATTACK),"FireOverpressureRelease"); diff --git a/zscript/handler/swwm_handler_oneliners.zsc b/zscript/handler/swwm_handler_oneliners.zsc index df18c64f9..5d59dbb98 100644 --- a/zscript/handler/swwm_handler_oneliners.zsc +++ b/zscript/handler/swwm_handler_oneliners.zsc @@ -22,11 +22,17 @@ extend Class SWWMHandler // suppress non-rage comments when ragekit is active, only screaming allowed if ( players[consoleplayer].mo.FindInventory("RagekitPower") && (type != "ragekit") ) return 0; // suppress beep-boop lines if voice channel already in use - if ( (type == "buttonpush") + if ( ((type == "buttonpush") || (type == "mrtouch") || (type == "mrflick")) && players[consoleplayer].mo.IsActorPlayingSound(CHAN_DEMOVOICE) && !players[consoleplayer].mo.IsActorPlayingSound(CHAN_DEMOVOICE,"voice/default/buttonpush1") && !players[consoleplayer].mo.IsActorPlayingSound(CHAN_DEMOVOICE,"voice/default/buttonpush2") - && !players[consoleplayer].mo.IsActorPlayingSound(CHAN_DEMOVOICE,"voice/default/buttonpush3") ) return 0; + && !players[consoleplayer].mo.IsActorPlayingSound(CHAN_DEMOVOICE,"voice/default/buttonpush3") + && !players[consoleplayer].mo.IsActorPlayingSound(CHAN_DEMOVOICE,"voice/default/mrtouch1") + && !players[consoleplayer].mo.IsActorPlayingSound(CHAN_DEMOVOICE,"voice/default/mrtouch2") + && !players[consoleplayer].mo.IsActorPlayingSound(CHAN_DEMOVOICE,"voice/default/mrtouch3") + && !players[consoleplayer].mo.IsActorPlayingSound(CHAN_DEMOVOICE,"voice/default/mrtouch4") + && !players[consoleplayer].mo.IsActorPlayingSound(CHAN_DEMOVOICE,"voice/default/mrflick1") + && !players[consoleplayer].mo.IsActorPlayingSound(CHAN_DEMOVOICE,"voice/default/mrflick2") ) return 0; // check first if it's a multiple option line type String testme = String.Format("SWWM_SUBS_%s_N%s",voicetype.MakeUpper(),type.MakeUpper()); String locme = StringTable.Localize(testme,false);