Voodoo doll redesign.

This commit is contained in:
Mari the Deer 2022-02-06 02:15:05 +01:00
commit 31d4b5f5b6
17 changed files with 20 additions and 31 deletions

View file

@ -454,6 +454,7 @@ FN_BOSSBRAIN_FUN = "YOU WERE EXPECTING JOHN ROMERO BUT IT WAS ME, MARISA!";
FN_KEEN = "Commander Keen";
FN_KEEN_FUN = "Ruined by Bethesda";
FN_VOODOO = "Voodoo doll of %s";
FN_VOODOO_NP = "Voodoo doll";
FN_PIG = "Pig";
FN_PIG_FUN = "Porker";
FN_WOLFGUARD = "Guard";

View file

@ -363,6 +363,7 @@ FN_HERESIARCH_FUN = "Hostia Puta";
FN_BOSSBRAIN_FUN = "¡ESPERABAS A JOHN ROMERO PERO ERA YO, MARISA!";
FN_KEEN_FUN = "Arruinado por Bethesda";
FN_VOODOO = "Muñeco Vudú de %s";
FN_VOODOO_NP = "Muñeco Vudú";
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.2pre r139 \cu(Thu 3 Feb 21:29:32 CET 2022)\c-";
SWWM_SHORTVER="\cw1.2pre r139 \cu(2022-02-03 21:29:32)\c-";
SWWM_MODVER="\cyDEMOLITIONIST \cw1.2pre r140 \cu(Sun 6 Feb 02:15:05 CET 2022)\c-";
SWWM_SHORTVER="\cw1.2pre r140 \cu(2022-02-06 02:15:05)\c-";

View file

@ -581,16 +581,11 @@ Model "Demolitionist"
Model "Demolitionist"
{
Path "models"
Model 1 "DemolitionistDoll_d.3d"
SurfaceSkin 1 0 "DemoTags.png"
SurfaceSkin 1 1 "DemoFace_Dead.png"
SurfaceSkin 1 2 "DemoBody.png"
SurfaceSkin 1 3 "DemoHead.png"
SurfaceSkin 1 4 "DemoArms.png"
SurfaceSkin 1 5 "DemoLegs.png"
SurfaceSkin 1 6 "DemoSoft.png"
SurfaceSkin 1 7 "DemoMisc.png"
Model 1 "VoodooDoll_d.3d"
SurfaceSkin 1 0 "VoodooDoll.png"
SurfaceSkin 1 1 "VoodooDollFace.png"
Scale 0.0025 0.0025 0.0025
AngleOffset -90
IGNORETRANSLATION
// Still
@ -605,24 +600,14 @@ Model "Demolitionist"
FrameIndex XZWZ G 1 8
FrameIndex XZWZ H 1 9
FrameIndex XZWZ I 1 10
SurfaceSkin 1 1 "DemoFace_Off.png"
FrameIndex XZWZ J 1 11
SurfaceSkin 1 1 "DemoFace_Dead.png"
FrameIndex XZWZ K 1 12
SurfaceSkin 1 1 "DemoFace_Off.png"
FrameIndex XZWZ L 1 13
FrameIndex XZWZ M 1 14
SurfaceSkin 1 1 "DemoFace_Dead.png"
FrameIndex XZWZ N 1 15
SurfaceSkin 1 1 "DemoFace_Off.png"
FrameIndex XZWZ O 1 16
SurfaceSkin 1 1 "DemoFace_Dead.png"
FrameIndex XZWZ P 1 17
SurfaceSkin 1 1 "DemoFace_Off.png"
FrameIndex XZWZ Q 1 18
SurfaceSkin 1 1 "DemoFace_Dead.png"
FrameIndex XZWZ R 1 19
SurfaceSkin 1 1 "DemoFace_Off.png"
FrameIndex XZWZ S 1 20
SurfaceSkin 1 1 "DemoFace_Dead.png"
}

Binary file not shown.

Binary file not shown.

BIN
models/VoodooDoll.blend Normal file

Binary file not shown.

BIN
models/VoodooDoll.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
models/VoodooDollFace.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
models/VoodooDoll_a.3d Normal file

Binary file not shown.

BIN
models/VoodooDoll_d.3d Normal file

Binary file not shown.

View file

@ -558,6 +558,9 @@ $playersound demolitionist neutral *gasp DSEMPTY
$playersound demolitionist neutral *taunt DSEMPTY
$playersound demolitionist neutral *evillaugh DSEMPTY
voodoodoll/hit sounds/general/BodyHit.ogg
voodoodoll/fall sounds/general/BodyThud.ogg
deepimpact/fire sounds/deepimpact/impfire.ogg
deepimpact/charge sounds/deepimpact/impaltcharge.ogg
deepimpact/altfire sounds/deepimpact/impaltfire.ogg

BIN
sounds/general/BodyHit.ogg Normal file

Binary file not shown.

BIN
sounds/general/BodyThud.ogg Normal file

Binary file not shown.

View file

@ -969,7 +969,7 @@ Class Demolitionist : PlayerPawn
PoisonPeriodReceived = 0;
PoisonDamageReceived = 0;
Super.Tick();
if ( gamestate != GS_LEVEL ) return;
if ( (gamestate != GS_LEVEL) || !player || (player.mo != self) ) return;
if ( hasteleported )
{
// we just got teleported, don't count the travel distance
@ -982,7 +982,6 @@ Class Demolitionist : PlayerPawn
selflight.target = self;
selflight.Tick();
}
if ( !player || (player.mo != self) ) return;
NearbyItemSparkles();
// double-check that we have these
if ( !FindInventory("AlmasteelPlating") )
@ -1655,7 +1654,7 @@ Class Demolitionist : PlayerPawn
let hnd = SWWMHandler(EventHandler.Find("SWWMHandler"));
if ( hnd ) hnd.tookdamage[PlayerNumber()] = true;
}
if ( mod == 'Crush' )
if ( (mod == 'Crush') && player && (player.mo == self) )
{
// check if we can break any active crushers
// (or polyobjects)
@ -1714,7 +1713,7 @@ Class Demolitionist : PlayerPawn
if ( (lastdamage > 0) && (PainChance == 0) && (level.maptime>lastmpain) )
{
lastmpain = level.maptime;
A_DemoPain();
if ( player && (player.mo == self) ) A_DemoPain();
}
PainChance = oldpchance;
if ( (Health <= 0) && (source == self) && (flags&DMG_EXPLOSION) )
@ -3524,13 +3523,13 @@ Class Demolitionist : PlayerPawn
Loop;
VoodooPain:
XZWZ A 1;
XZWZ B 1 A_DemoPain();
XZWZ CDEF 1;
XZWZ B 2 A_StartSound("voodoodoll/hit",CHAN_BODY,CHANF_OVERLAP);
XZWZ CDEF 2;
Goto VoodooSpawn;
VoodooDeath:
XZWZ A 2
{
A_DemoScream();
A_StartSound("voodoodoll/fall",CHAN_BODY,CHANF_OVERLAP);
A_NoBlocking();
}
XZWZ GHIJKLMNO 2;

View file

@ -494,7 +494,7 @@ Class DemolitionistSelfLight : Actor
}
override void Tick()
{
if ( !target || !(target is 'Demolitionist') || (Demolitionist(target).selflight != self) )
if ( !target || !target.player || (target.player.mo != target) || !(target is 'Demolitionist') || (Demolitionist(target).selflight != self) )
{
Destroy();
return;

View file

@ -369,7 +369,7 @@ Class SWWMCombatTracker : Thinker
realtag = mytarget.GetClassName();
SWWMUtility.BeautifyClassName(realtag);
}
mytag = mytarget.player?(mytarget.player.mo!=mytarget)?String.Format(StringTable.Localize("$FN_VOODOO"),mytarget.player.GetUserName()):mytarget.player.GetUserName():realtag;
mytag = mytarget.player?(mytarget.player.mo!=mytarget)?String.Format(StringTable.Localize("$FN_VOODOO"),mytarget.player.GetUserName()):mytarget.player.GetUserName():((mytarget is 'PlayerPawn')&&(!mytarget.player))?StringTable.Localize("$FN_VOODOO_NP"):realtag;
}
else mytag = "";
}
@ -533,7 +533,7 @@ Class SWWMCombatTracker : Thinker
mutated = true;
Console.Printf(StringTable.Localize("$SWWM_LTFORM"),mytag);
}
}
}// voodoo dolls don't show as friendly
bFRIENDLY = mytarget.IsFriend(players[consoleplayer].mo);
if ( mytarget.Health < lasthealth ) firsthit = true;
lasthealth = mytarget.Health;