diff --git a/FuturePlans.md b/FuturePlans.md index ba48d9923..7fd5dcaf9 100644 --- a/FuturePlans.md +++ b/FuturePlans.md @@ -38,8 +38,8 @@ More weapons, because we need 'em. In addition, all the "easy to implement" mini - Reactions to hurtfloor damage - ✓ Caco petting - Explosion lines - - Lead ball crit lines - - Buttslam lines + - ✓ Lead ball crit lines + - ✓ Buttslam lines * ☐ **Additional Collectibles:** - Saya's Mug diff --git a/cvarinfo.base b/cvarinfo.base index 8f0629135..110af8acb 100644 --- a/cvarinfo.base +++ b/cvarinfo.base @@ -121,6 +121,7 @@ nosave string swwm_titlesubhistory = ""; // stores currently seen subtitles for nosave noarchive int swwm_profstart = 0; // starts profiling as soon as handler is registered for specified >0 tics server bool swwm_nodeathexit = false; // completely sidesteps the inventory resetting of death exits, if you hate those server bool swwm_extendedpickup = false; // items will have an additional "virtual hitbox" that's the same size as vanilla +nosave bool swwm_voicelog = false; // adds player voicelines to the message log // minimap settings nosave bool swwm_mm_enable = true; // show a minimap below the score counter diff --git a/language.def_menu b/language.def_menu index a8ec37e4f..60e89ec6a 100644 --- a/language.def_menu +++ b/language.def_menu @@ -208,6 +208,7 @@ SWWM_CLEARFX = "Clear All Effects"; SWWM_OLDLOGO = "Old Branding"; SWWM_NODEATHEXIT = "Disable Death Exits"; SWWM_EXTENDEDPICKUP = "Extend Item Size"; +SWWM_VOICELOG = "Log Player Comments"; SWWM_MMTITLE = "Minimap Settings"; SWWM_MM_ENABLE = "Show Minimap"; SWWM_MM_ROTATE = "Rotate Minimap"; @@ -377,6 +378,7 @@ TOOLTIP_NETEVENT_SWWMCLEAREFFECTS = "Fades out any active blood, gore, debris an TOOLTIP_SWWM_OLDLOGO = "For those who miss the days of SWWM GZ, you can restore the old title screen and main menu with this."; TOOLTIP_SWWM_NODEATHEXIT = "This option completely negates the effects of death exits, if you don't like losing all your stuff."; TOOLTIP_SWWM_EXTENDEDPICKUP = "Gives all items a vanilla-sized \"virtual hitbox\" that allows picking them up from farther away. Requires a map restart if changed."; +TOOLTIP_SWWM_VOICELOG = "Subtitled player comments will be saved to the Messages tab of the Demolitionist Menu."; TOOLTIP_SWWMMINIMAPMENU = "Configure the minimap."; TOOLTIP_SWWMACHIEVEMENTMENU = "View your achievements."; TOOLTIP_SWWM_MM_ENABLE = "Displays a minimap under the score counter."; diff --git a/language.es_menu b/language.es_menu index e06771bb0..e262d3abf 100644 --- a/language.es_menu +++ b/language.es_menu @@ -207,6 +207,7 @@ SWWM_CLEARFX = "Limpiar todos los Efectos"; SWWM_OLDLOGO = "Marca Antigua"; SWWM_NODEATHEXIT = "Desactivar Salidas de Muerte"; SWWM_EXTENDEDPICKUP = "Extender Tamaño de Ítem"; +SWWM_VOICELOG = "Registrar Comentarios de Jugador"; SWWM_MMTITLE = "Opciones de Minimapa"; SWWM_MM_ENABLE = "Mostrar Minimapa"; SWWM_MM_ROTATE = "Rotar Minimapa"; @@ -381,6 +382,7 @@ TOOLTIP_NETEVENT_SWWMCLEAREFFECTS = "Desvanece cualquier sangre, vísceras, esco TOOLTIP_SWWM_OLDLOGO = "Para quienes echan de menos los viejos tiempos de SWWM GZ, podeis restaurar la antigua pantalla de inicio y menú principal con esto."; TOOLTIP_SWWM_NODEATHEXIT = "Esta opción invalida completamente los efectos de las salidas de muerte, si no te gusta perder todas tus cosas."; TOOLTIP_SWWM_EXTENDEDPICKUP = "Da a todos los ítems una \"hitbox virtual\" de tamaño vanilla que permite recogerlos a mayor distancia. Requiere reinicio de mapa si se cambia."; +TOOLTIP_SWWM_VOICELOG = "Los comentarios de jugador subtitulados se guardarán en la pestaña de Mensajes del Menú de Demolicionista."; TOOLTIP_SWWMMINIMAPMENU = "Configura el minimapa."; TOOLTIP_SWWMACHIEVEMENTMENU = "Revisa tus logros."; TOOLTIP_SWWM_MM_ENABLE = "Muestra un minimapa bajo el contador de puntuación."; diff --git a/language.version b/language.version index 6b87981e8..e09b4e310 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r27 \cu(Tue 12 Apr 18:08:51 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r27 \cu(2022-04-12 18:08:51)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r28 \cu(Tue 12 Apr 18:14:47 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r28 \cu(2022-04-12 18:14:47)\c-"; diff --git a/menudef.txt b/menudef.txt index 87518f9a7..2fb633680 100644 --- a/menudef.txt +++ b/menudef.txt @@ -101,6 +101,7 @@ OptionMenu "SWWMOptionMenu" SWWMVoiceOption "$SWWM_VOICETYPE", "swwm_voicetype" Option "$SWWM_MUTELEVEL", "swwm_mutevoice", "SWWMVoice" Slider "$SWWM_VOICEAMP", "swwm_voiceamp", 1, 4, 1, 0 + Option "$SWWM_VOICELOG", "swwm_voicelog", "YesNo" Option "$SWWM_BEEPBOOP", "swwm_beepboop", "YesNo" IfGame(Heretic, Hexen) { diff --git a/zscript/handler/swwm_handler_oneliners.zsc b/zscript/handler/swwm_handler_oneliners.zsc index 76e50f36c..5f6b650f7 100644 --- a/zscript/handler/swwm_handler_oneliners.zsc +++ b/zscript/handler/swwm_handler_oneliners.zsc @@ -121,6 +121,7 @@ extend Class SWWMHandler { let l = SWWMOneLiner.Make(oneliner,onelinerspan); StatusBar.AttachMessage(l,-3473); + SendNetworkEvent("swwmstoremessage.\cd"..(multiplayer?players[consoleplayer].GetUserName():"Demo").."\c-: "..StringTable.Localize(oneliner),level.totaltime,PRINT_CHAT,consoleplayer); } SendNetworkEvent("swwmremotelinertxt."..oneliner,consoleplayer,onelinerlevel); } diff --git a/zscript/handler/swwm_handler_process.zsc b/zscript/handler/swwm_handler_process.zsc index d262847cd..e5305a75a 100644 --- a/zscript/handler/swwm_handler_process.zsc +++ b/zscript/handler/swwm_handler_process.zsc @@ -657,7 +657,10 @@ extend Class SWWMHandler if ( swwm_mutevoice >= e.Args[1] ) return; double dist = players[consoleplayer].Camera.Distance3D(players[e.Args[0]].mo); if ( dist < 2000 ) + { Console.Printf("\cx%s\cx: %s\c-",players[e.Args[0]].GetUserName(),StringTable.Localize(e.Name.Mid(19))); + if ( swwm_voicelog ) SWWMFullHistory.PushMessage("\cd"..players[e.Args[0]].GetUserName().."\c-: "..StringTable.Localize(e.Name.Mid(19)),level.totaltime,PRINT_CHAT); + } } else if ( e.Name.Left(8) ~== "swwmcbt." ) {