Add color-coded pickup flashes.

Allow Keen rescue by pressing use.
This commit is contained in:
Mari the Deer 2020-11-03 10:49:04 +01:00
commit ec9e09adca
14 changed files with 99 additions and 17 deletions

View file

@ -1,2 +1,2 @@
[default]
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r595 \cu(Tue 3 Nov 10:15:52 CET 2020)";
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r596 \cu(Tue 3 Nov 10:49:04 CET 2020)";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 3 KiB

Before After
Before After

BIN
sprites/BLPFD0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
sprites/BLPFE0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
sprites/BLPFF0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
sprites/BLPFG0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
sprites/BLPFH0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -67,6 +67,19 @@ Class SWWMHangingKeen : Actor
{
Spawn("SWWMDroppedKeen",Vec3Offset(0,0,8));
}
override bool Used( Actor user )
{
// test vertical range
Vector3 diff = level.Vec3Diff(user.Vec3Offset(0,0,user.Height/2),Vec3Offset(0,0,Height/2));
double rang = user.player?PlayerPawn(user.player.mo).UseRange:(user.Height/2);
if ( abs(diff.z) > rang ) return false;
if ( Health > 0 )
{
DamageMobj(user,user,Health,'Untie',DMG_FORCED|DMG_THRUSTLESS);
return true;
}
return false;
}
Default
{
Tag "$FN_KEEN";
@ -1098,6 +1111,7 @@ Class SWWMPickupFlash : Actor
Default
{
RenderStyle "Add";
Args 0,3,2,1;
+NOGRAVITY;
+NOBLOCKMAP;
+DONTSPLASH;
@ -1106,10 +1120,15 @@ Class SWWMPickupFlash : Actor
+NOINTERACTION;
+FORCEXYBILLBOARD;
}
override void PostBeginPlay()
{
Super.PostBeginPlay();
frame = Args[0];
}
States
{
Spawn:
BLPF A 1 Bright NoDelay
BLPF # 1 Bright NoDelay
{
// offset up
SetOrigin(Vec3Offset(0,0,16),false);
@ -1123,16 +1142,65 @@ Class SWWMPickupFlash : Actor
Vector3 pvel = (FRandom[ExploS](-1,1),FRandom[ExploS](-1,1),FRandom[ExploS](-1,1)).unit()*FRandom[ExploS](.3,8);
let s = Spawn("SWWMSmallSmoke",pos);
s.vel = pvel;
s.SetShade(Color(3,2,1)*Random[ExploS](64,85));
s.SetShade(Color(Args[1],Args[2],Args[3])*Random[ExploS](64,85));
s.A_SetRenderStyle(s.alpha,STYLE_AddShaded);
s.scale *= 3.;
s.alpha *= .5;
}
}
BLPF A 1 Bright A_FadeOut(.2);
BLPF # 1 Bright A_FadeOut(.2);
Wait;
}
}
Class SWWMPinkPickupFlash : SWWMPickupFlash
{
Default
{
Args 1,3,1,2;
}
}
Class SWWMCyanPickupFlash : SWWMPickupFlash
{
Default
{
Args 2,1,2,3;
}
}
Class SWWMGreenPickupFlash : SWWMPickupFlash
{
Default
{
Args 3,1,3,1;
}
}
Class SWWMBluePickupFlash : SWWMPickupFlash
{
Default
{
Args 4,1,1,3;
}
}
Class SWWMPurplePickupFlash : SWWMPickupFlash
{
Default
{
Args 5,2,1,3;
}
}
Class SWWMRedPickupFlash : SWWMPickupFlash
{
Default
{
Args 6,3,1,1;
}
}
Class SWWMWhitePickupFlash : SWWMPickupFlash
{
Default
{
Args 7,3,3,3;
}
}
// Bullet trails from DT
Class WaterHit

View file

@ -24,7 +24,7 @@ Class SWWMCollectible : Inventory abstract
Inventory.PickupSound "menu/buyinv";
Inventory.Amount 1;
Inventory.MaxAmount 1;
Inventory.PickupFlash "SWWMPickupFlash";
Inventory.PickupFlash "SWWMCyanPickupFlash";
SWWMCollectible.Availability AVAIL_All;
+INVENTORY.UNTOSSABLE;
+INVENTORY.UNDROPPABLE;

View file

@ -247,7 +247,7 @@ Class SWWMSpareArmor : Inventory abstract
+INVENTORY.AUTOACTIVATE;
Inventory.MaxAmount 5;
Inventory.InterHubAmount 5;
Inventory.PickupFlash "SWWMPickupFlash";
Inventory.PickupFlash "SWWMGreenPickupFlash";
+FLOATBOB;
FloatBobStrength 0.25;
}
@ -390,7 +390,7 @@ Class SWWMHealth : Inventory abstract
Inventory.MaxAmount 5;
Inventory.InterHubAmount 5;
Inventory.UseSound "misc/health_pkup";
Inventory.PickupFlash "SWWMPickupFlash";
Inventory.PickupFlash "SWWMBluePickupFlash";
+FLOATBOB;
FloatBobStrength 0.25;
}
@ -1467,7 +1467,7 @@ Class SWWMWeapon : Weapon abstract
Weapon.YAdjust 0;
Weapon.SlotPriority 1.;
Inventory.RestrictedTo "Demolitionist";
Inventory.PickupFlash "SWWMPickupFlash";
Inventory.PickupFlash "SWWMRedPickupFlash";
+INVENTORY.IGNORESKILL;
+WEAPON.NOALERT;
+WEAPON.NODEATHINPUT;

View file

@ -320,7 +320,7 @@ Class PusherProjectile : Actor
}
else toucher.A_StartSound("misc/w_pkup",CHAN_ITEM,CHANF_MAYBE_LOCAL);
toucher.A_SelectWeapon("PusherWeapon");
Spawn("SWWMPickupFlash",pos);
Spawn("SWWMRedPickupFlash",pos);
Destroy();
}
override bool Used( Actor user )

View file

@ -33,6 +33,7 @@ Class SWWMRedCard : SWWMKey
Tag "$T_REDCARD";
Species "RedCard";
Inventory.PickupMessage "$T_REDCARD";
Inventory.PickupFlash "SWWMRedPickupFlash";
Radius 10;
Height 25;
}
@ -50,6 +51,7 @@ Class SWWMYellowCard : SWWMKey
Tag "$T_YELLOWCARD";
Species "YellowCard";
Inventory.PickupMessage "$T_YELLOWCARD";
Inventory.PickupFlash "SWWMPickupFlash";
Radius 10;
Height 25;
}
@ -67,6 +69,7 @@ Class SWWMBlueCard : SWWMKey
Tag "$T_BLUECARD";
Species "BlueCard";
Inventory.PickupMessage "$T_BLUECARD";
Inventory.PickupFlash "SWWMBluePickupFlash";
Radius 10;
Height 25;
}
@ -84,6 +87,7 @@ Class SWWMSilverCardKDiZD : SWWMKey
Tag "$T_SILVERCARD";
Species "BlueSkull";
Inventory.PickupMessage "$T_SILVERCARD";
Inventory.PickupFlash "SWWMWhitePickupFlash";
Radius 10;
Height 25;
}
@ -101,6 +105,7 @@ Class SWWMGreenCardKDiZD : SWWMKey
Tag "$T_GREENCARD";
Species "YellowSkull";
Inventory.PickupMessage "$T_GREENCARD";
Inventory.PickupFlash "SWWMGreenPickupFlash";
Radius 10;
Height 25;
}
@ -118,6 +123,7 @@ Class SWWMOrangeCardKDiZD : SWWMKey
Tag "$T_ORANGECARD";
Species "RedSkull";
Inventory.PickupMessage "$T_ORANGECARD";
Inventory.PickupFlash "SWWMPickupFlash";
Radius 10;
Height 25;
}
@ -135,6 +141,7 @@ Class SWWMGreenCard : SWWMKey
Tag "$T_GREENCARD";
Species "GreenCard";
Inventory.PickupMessage "$T_GREENCARD";
Inventory.PickupFlash "SWWMGreenPickupFlash";
Radius 10;
Height 25;
}
@ -154,6 +161,7 @@ Class SWWMRedSkull : SWWMKey
Tag "$T_REDSKULL";
Species "RedSkull";
Inventory.PickupMessage "$T_REDSKULL";
Inventory.PickupFlash "SWWMRedPickupFlash";
Radius 10;
Height 25;
}
@ -171,6 +179,7 @@ Class SWWMBlueSkull : SWWMKey
Tag "$T_BLUESKULL";
Species "BlueSkull";
Inventory.PickupMessage "$T_BLUESKULL";
Inventory.PickupFlash "SWWMBluePickupFlash";
Radius 10;
Height 25;
}
@ -188,6 +197,7 @@ Class SWWMYellowSkull : SWWMKey
Tag "$T_YELLOWSKULL";
Species "YellowSkull";
Inventory.PickupMessage "$T_YELLOWSKULL";
Inventory.PickupFlash "SWWMPickupFlash";
Radius 10;
Height 25;
}
@ -206,6 +216,7 @@ Class SWWMKeyGreen : SWWMKey
Tag "$T_KEYGREEN";
Species "KeyGreen";
Inventory.PickupMessage "$T_KEYGREEN";
Inventory.PickupFlash "SWWMGreenPickupFlash";
Radius 10;
Height 25;
}
@ -223,6 +234,7 @@ Class SWWMKeyBlue : SWWMKey
Tag "$T_KEYBLUE";
Species "KeyBlue";
Inventory.PickupMessage "$T_KEYBLUE";
Inventory.PickupFlash "SWWMBluePickupFlash";
Radius 10;
Height 25;
}
@ -240,6 +252,7 @@ Class SWWMKeyYellow : SWWMKey
Tag "$T_KEYYELLOW";
Species "KeyYellow";
Inventory.PickupMessage "$T_KEYYELLOW";
Inventory.PickupFlash "SWWMPickupFlash";
Radius 10;
Height 25;
}
@ -257,6 +270,7 @@ Class SWWMKeyRed : SWWMKey
Tag "$T_KEYRED";
Species "KeyRed";
Inventory.PickupMessage "$T_KEYRED";
Inventory.PickupFlash "SWWMRedPickupFlash";
Radius 10;
Height 25;
}

View file

@ -187,7 +187,7 @@ Class GrilledCheeseSandwich : Inventory
Inventory.PickupMessage "$T_SANDWICH";
Inventory.MaxAmount 5;
Inventory.InterHubAmount 5;
Inventory.PickupFlash "SWWMPickupFlash";
Inventory.PickupFlash "SWWMPurplePickupFlash";
+INVENTORY.ALWAYSPICKUP;
+INVENTORY.AUTOACTIVATE;
+INVENTORY.INVBAR;
@ -348,7 +348,7 @@ Class GhostArtifact : Inventory
Inventory.PickupMessage "$T_GHOSTARTI";
Inventory.MaxAmount 5;
Inventory.InterHubAmount 5;
Inventory.PickupFlash "SWWMPickupFlash";
Inventory.PickupFlash "SWWMPurplePickupFlash";
+INVENTORY.ALWAYSPICKUP;
+INVENTORY.AUTOACTIVATE;
+INVENTORY.INVBAR;
@ -516,7 +516,7 @@ Class GravitySuppressor : Inventory
Inventory.PickupMessage "$T_GRAVITYS";
Inventory.MaxAmount 5;
Inventory.InterHubAmount 5;
Inventory.PickupFlash "SWWMPickupFlash";
Inventory.PickupFlash "SWWMPurplePickupFlash";
+INVENTORY.ALWAYSPICKUP;
+INVENTORY.AUTOACTIVATE;
+INVENTORY.INVBAR;
@ -745,7 +745,7 @@ Class FuckingInvinciball : Inventory
Inventory.PickupMessage "$T_INVINCIBALL";
Inventory.MaxAmount 5;
Inventory.InterHubAmount 5;
Inventory.PickupFlash "SWWMPickupFlash";
Inventory.PickupFlash "SWWMPurplePickupFlash";
+INVENTORY.ALWAYSPICKUP;
+INVENTORY.AUTOACTIVATE;
+INVENTORY.INVBAR;
@ -1011,7 +1011,7 @@ Class Ragekit : Inventory
Inventory.PickupMessage "$T_RAGEKIT";
Inventory.MaxAmount 5;
Inventory.InterHubAmount 5;
Inventory.PickupFlash "SWWMPickupFlash";
Inventory.PickupFlash "SWWMPurplePickupFlash";
+INVENTORY.ALWAYSPICKUP;
+INVENTORY.AUTOACTIVATE;
+INVENTORY.INVBAR;
@ -1053,7 +1053,7 @@ Class Omnisight : Inventory
Inventory.MaxAmount 1;
Inventory.InterHubAmount 0;
Inventory.RestrictedTo "Demolitionist";
Inventory.PickupFlash "SWWMPickupFlash";
Inventory.PickupFlash "SWWMPurplePickupFlash";
+INVENTORY.ALWAYSPICKUP;
+INVENTORY.AUTOACTIVATE;
+COUNTITEM;
@ -1714,7 +1714,7 @@ Class SWWMLamp : Inventory
Inventory.Amount 1;
Inventory.MaxAmount 5;
Inventory.InterHubAmount 5;
Inventory.PickupFlash "SWWMPickupFlash";
Inventory.PickupFlash "SWWMPurplePickupFlash";
+INVENTORY.ALWAYSPICKUP;
+INVENTORY.AUTOACTIVATE;
+INVENTORY.INVBAR;
@ -1876,7 +1876,7 @@ Class EBarrier : Inventory
Inventory.PickupMessage "$T_BARRIER";
Inventory.MaxAmount 5;
Inventory.InterHubAmount 5;
Inventory.PickupFlash "SWWMPickupFlash";
Inventory.PickupFlash "SWWMPurplePickupFlash";
+INVENTORY.ALWAYSPICKUP;
+INVENTORY.AUTOACTIVATE;
+INVENTORY.INVBAR;