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

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