From a8cbcca2daeb53ba55de721039e96d7d6ba20c62 Mon Sep 17 00:00:00 2001 From: Marisa the Magician Date: Tue, 13 Sep 2022 18:12:15 +0200 Subject: [PATCH] Voodoo dolls should only have player names in multiplayer. --- language.def_base | 4 ++-- language.es_base | 4 ++-- language.version | 4 ++-- modeldef.demolitionist | 43 ++++++++++++++++++++--------------------- zscript/swwm_common.zsc | 4 ++-- zscript/swwm_player.zsc | 25 +++++++++++++++--------- 6 files changed, 45 insertions(+), 39 deletions(-) diff --git a/language.def_base b/language.def_base index f323a6b05..2190907ff 100644 --- a/language.def_base +++ b/language.def_base @@ -434,8 +434,8 @@ FN_BOSSBRAIN = "Boss Brain"; FN_BOSSBRAIN_FUN = "Very Wrappy Oatmeal"; FN_KEEN = "Commander Keen"; FN_KEEN_FUN = "Ruined by Bethesda"; -FN_VOODOO = "Voodoo doll of %s"; -FN_VOODOO_NP = "Voodoo doll"; +FN_VOODOO = "%s?"; +FN_VOODOO_NP = "Doll?"; FN_PIG = "Pig"; FN_PIG_FUN = "Porker"; FN_WOLFGUARD = "Guard"; diff --git a/language.es_base b/language.es_base index 0a5429051..aa1705a48 100644 --- a/language.es_base +++ b/language.es_base @@ -345,8 +345,8 @@ FN_HERESIARCH_FUN = "Hostia Puta"; FN_BOSSBRAIN = "Cerebro de Jefe"; FN_BOSSBRAIN_FUN = "Avenas Las Buenas"; FN_KEEN_FUN = "Arruinado por Bethesda"; -FN_VOODOO = "Muñeco Vudú de %s"; -FN_VOODOO_NP = "Muñeco Vudú"; +FN_VOODOO = "¿%s?" +FN_VOODOO_NP = "¿Muñeco?"; FN_PIG = "Cerdo"; FN_PIG_FUN = "Cochinillo"; FN_WOLFGUARD_FUN1 = "Nazi de Bajo Presupuesto"; diff --git a/language.version b/language.version index f6444cb4a..74783aecb 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r445 \cu(Tue 13 Sep 17:39:58 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r445 \cu(2022-09-13 17:39:58)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r446 \cu(Tue 13 Sep 18:12:15 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r446 \cu(2022-09-13 18:12:15)\c-"; diff --git a/modeldef.demolitionist b/modeldef.demolitionist index d992b2e61..f5b02c7c6 100644 --- a/modeldef.demolitionist +++ b/modeldef.demolitionist @@ -543,33 +543,32 @@ Model "Demolitionist" Model "SWWMVoodooDoll" { Path "models" - Model 1 "VoodooDoll_d.3d" - SurfaceSkin 1 0 "VoodooDoll.png" - SurfaceSkin 1 1 "VoodooDollFace.png" + Model 0 "VoodooDoll_d.3d" + SurfaceSkin 0 0 "VoodooDoll.png" Scale 0.0025 0.0025 0.0025 AngleOffset -90 IGNORETRANSLATION // Still - FrameIndex XZWZ A 1 1 + FrameIndex XZW1 A 0 1 // Pain - FrameIndex XZWZ B 1 2 - FrameIndex XZWZ C 1 3 - FrameIndex XZWZ D 1 4 - FrameIndex XZWZ E 1 5 - FrameIndex XZWZ F 1 6 + FrameIndex XZW1 B 0 2 + FrameIndex XZW1 C 0 3 + FrameIndex XZW1 D 0 4 + FrameIndex XZW1 E 0 5 + FrameIndex XZW1 F 0 6 // Death - FrameIndex XZWZ G 1 8 - FrameIndex XZWZ H 1 9 - FrameIndex XZWZ I 1 10 - FrameIndex XZWZ J 1 11 - FrameIndex XZWZ K 1 12 - FrameIndex XZWZ L 1 13 - FrameIndex XZWZ M 1 14 - FrameIndex XZWZ N 1 15 - FrameIndex XZWZ O 1 16 - FrameIndex XZWZ P 1 17 - FrameIndex XZWZ Q 1 18 - FrameIndex XZWZ R 1 19 - FrameIndex XZWZ S 1 20 + FrameIndex XZW1 G 0 8 + FrameIndex XZW1 H 0 9 + FrameIndex XZW1 I 0 10 + FrameIndex XZW1 J 0 11 + FrameIndex XZW1 K 0 12 + FrameIndex XZW1 L 0 13 + FrameIndex XZW1 M 0 14 + FrameIndex XZW1 N 0 15 + FrameIndex XZW1 O 0 16 + FrameIndex XZW1 P 0 17 + FrameIndex XZW1 Q 0 18 + FrameIndex XZW1 R 0 19 + FrameIndex XZW1 S 0 20 } diff --git a/zscript/swwm_common.zsc b/zscript/swwm_common.zsc index 54711fd33..4d1da9ef2 100644 --- a/zscript/swwm_common.zsc +++ b/zscript/swwm_common.zsc @@ -218,7 +218,7 @@ Class SWWMQuickCombatTracker : Inventory void UpdateTag( SWWMHandler hnd ) { - if ( Owner && (Owner.player || Owner.bISMONSTER || (Owner is 'BossBrain') || (Owner is 'SWWMHangingKeen') || (Owner is 'Demolitionist')) ) + if ( Owner && (Owner.player || Owner.bISMONSTER || (Owner is 'BossBrain') || (Owner is 'SWWMHangingKeen') || (Owner is 'PlayerPawn')) ) { String realtag = swwm_funtags?SWWMUtility.GetFunTag(hnd,Owner,FallbackTag):Owner.GetTag(FallbackTag); if ( realtag == FallbackTag ) @@ -226,7 +226,7 @@ Class SWWMQuickCombatTracker : Inventory realtag = Owner.GetClassName(); SWWMUtility.BeautifyClassName(realtag); } - mytag = Owner.player?(Owner.player.mo!=Owner)?String.Format(StringTable.Localize("$FN_VOODOO"),Owner.player.GetUserName()):Owner.player.GetUserName():((Owner is 'PlayerPawn')&&(!Owner.player))?StringTable.Localize("$FN_VOODOO_NP"):realtag; + mytag = Owner.player?(Owner.player.mo!=Owner)?multiplayer?String.Format(StringTable.Localize("$FN_VOODOO"),Owner.player.GetUserName()):StringTable.Localize("$FN_VOODOO_NP"):Owner.player.GetUserName():((Owner is 'PlayerPawn')&&(!Owner.player))?StringTable.Localize("$FN_VOODOO_NP"):realtag; } else mytag = ""; } diff --git a/zscript/swwm_player.zsc b/zscript/swwm_player.zsc index 13889cd33..b54a7ee4f 100644 --- a/zscript/swwm_player.zsc +++ b/zscript/swwm_player.zsc @@ -591,6 +591,12 @@ Class Demolitionist : PlayerPawn let v = Spawn("SWWMVoodooDoll",pos); v.angle = angle; v.player = player; + // give it a face if it belongs to a player + if ( player ) + { + v.bFRIENDLY = true; + v.A_ChangeModel("",0,"","",1,"models","VoodooDollFace.png",CMDL_USESURFACESKIN,-1); + } Destroy(); return; } @@ -3996,26 +4002,27 @@ Class SWWMVoodooDoll : PlayerPawn +DONTGIB; +NOICEDEATH; +DONTCORPSE; + -FRIENDLY; } States { Spawn: - XZWZ A -1; - Loop; + XZW1 A -1; + Stop; Pain: - XZWZ A 1; - XZWZ B 2 A_StartSound("voodoodoll/hit",CHAN_BODY,CHANF_OVERLAP); - XZWZ CDEF 2; + XZW1 A 1; + XZW1 B 2 A_StartSound("voodoodoll/hit",CHAN_BODY,CHANF_OVERLAP); + XZW1 CDEF 2; Goto Spawn; Death: - XZWZ A 2 + XZW1 A 2 { A_StartSound("voodoodoll/fall",CHAN_BODY,CHANF_OVERLAP); A_NoBlocking(); } - XZWZ GHIJKLMNO 2; - XZWZ PQR 2; - XZWZ S -1; + XZW1 GHIJKLMNO 2; + XZW1 PQR 2; + XZW1 S -1; Stop; } }