Voodoo dolls should only have player names in multiplayer.

This commit is contained in:
Mari the Deer 2022-09-13 18:12:15 +02:00
commit a8cbcca2da
6 changed files with 45 additions and 39 deletions

View file

@ -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";

View file

@ -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";

View file

@ -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-";

View file

@ -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
}

View file

@ -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 = "";
}

View file

@ -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;
}
}