diff --git a/cvarinfo.base b/cvarinfo.base index bb526ee95..9acb2dbbe 100644 --- a/cvarinfo.base +++ b/cvarinfo.base @@ -10,7 +10,7 @@ nosave int swwm_mutevoice = 0; // mute demolitionist voice // 3 - map start comment // 4 - pain/death and grunts nosave int swwm_voiceamp = 2; // additional voice line amplification, up to 4x -nosave int swwm_targeter = 1; // show healthbars in the hud (2: only show allies) +nosave int swwm_targeter = 1; // show healthbars in the hud (2: only show monsters and players, 3: only show allies) nosave bool swwm_targettags = true; // show names above healthbars nosave bool swwm_damnums = true; // show damage numbers nosave bool swwm_damnums_color = true; // use color per damage type, rather than just red diff --git a/language.def_menu b/language.def_menu index 40cdcea25..d6c33779d 100644 --- a/language.def_menu +++ b/language.def_menu @@ -43,6 +43,7 @@ SWWM_HUDMARGIN = "HUD Margin"; SWWM_ITITLE = "Item Options"; SWWM_AMMOUSE = "Automatically Use Fabricators"; SWWM_TARGET = "Show Healthbars"; +SWWM_T_MONSTERS = "Monsters Only"; SWWM_T_FRIENDS = "Friends Only"; SWWM_TARGETTAG = "Show Monster Names"; SWWM_DAMNUMS = "Show Damage Numbers"; diff --git a/language.es_menu b/language.es_menu index 6df7a172b..a37f2e3ab 100644 --- a/language.es_menu +++ b/language.es_menu @@ -42,6 +42,7 @@ SWWM_FLASH = "Intensidad de Destellos en Pantalla"; SWWM_HUDMARGIN = "Margen del HUD"; SWWM_ITITLE = "Opciones de Ítems"; SWWM_TARGET = "Mostrar Barras de Salud"; +SWWM_T_MONSTERS = "Solo Monstruos"; SWWM_T_FRIENDS = "Solo Amigos"; SWWM_TARGETTAG = "Mostrar Nombres de Enemigos"; SWWM_DAMNUMS = "Mostrar Números de Daño"; diff --git a/language.version b/language.version index 143d08f6e..58ae94113 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r689 \cu(Tue 13 Dec 19:16:41 CET 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r689 \cu(2022-12-13 19:16:41)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r690 \cu(Thu 15 Dec 13:22:40 CET 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r690 \cu(2022-12-15 13:22:40)\c-"; diff --git a/menudef.txt b/menudef.txt index 3cb9f0284..b809a110e 100644 --- a/menudef.txt +++ b/menudef.txt @@ -111,7 +111,8 @@ OptionValue "SWWMTarget" { 0, "$TXT_NO" 1, "$TXT_YES" - 2, "$SWWM_T_FRIENDS" + 2, "$SWWM_T_MONSTERS" + 3, "$SWWM_T_FRIENDS" } OptionMenu "SWWMOptionMenu" { diff --git a/zscript/hud/swwm_hud.zsc b/zscript/hud/swwm_hud.zsc index 3ab40d308..6e98f3209 100644 --- a/zscript/hud/swwm_hud.zsc +++ b/zscript/hud/swwm_hud.zsc @@ -1028,7 +1028,8 @@ Class SWWMStatusBar : BaseStatusBar if ( !cti ) cti = ThinkerIterator.Create("SWWMQuickCombatTracker",Thinker.STAT_INVENTORY); else cti.Reinit(); SWWMQuickCombatTracker ct; - bool onlyfriends = (swwm_targeter >= 2); + bool onlymonsters = (swwm_targeter >= 2); + bool onlyfriends = (swwm_targeter >= 3); int fadedist = swwm_bardist; while ( ct = SWWMQuickCombatTracker(cti.Next()) ) { @@ -1049,6 +1050,9 @@ Class SWWMStatusBar : BaseStatusBar if ( (ct.Owner == CPlayer.mo) || (ct.Owner == cam) ) continue; // ignore trackers not of this player if ( ct.myplayer != CPlayer ) continue; + // ignore non-monsters if filtering monsters + // easy check since they have empty tags + if ( onlymonsters && (ct.mytag == "") ) continue; // ignore enemies if filtering friends if ( onlyfriends && (!ct.Owner.IsFriend(CPlayer.mo) || ct.Owner.player) ) continue; // ignore trackers clearly outside of player view