diff --git a/language.version b/language.version index 15bd493f0..df2a9833d 100644 --- a/language.version +++ b/language.version @@ -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)"; diff --git a/sprites/BLPFB0.png b/sprites/BLPFB0.png index 440de111d..8f732b18a 100644 Binary files a/sprites/BLPFB0.png and b/sprites/BLPFB0.png differ diff --git a/sprites/BLPFC0.png b/sprites/BLPFC0.png index d41ca1c7c..a78279680 100644 Binary files a/sprites/BLPFC0.png and b/sprites/BLPFC0.png differ diff --git a/sprites/BLPFD0.png b/sprites/BLPFD0.png new file mode 100644 index 000000000..6a80c2dd5 Binary files /dev/null and b/sprites/BLPFD0.png differ diff --git a/sprites/BLPFE0.png b/sprites/BLPFE0.png new file mode 100644 index 000000000..8ce24e412 Binary files /dev/null and b/sprites/BLPFE0.png differ diff --git a/sprites/BLPFF0.png b/sprites/BLPFF0.png new file mode 100644 index 000000000..93f84ca8a Binary files /dev/null and b/sprites/BLPFF0.png differ diff --git a/sprites/BLPFG0.png b/sprites/BLPFG0.png new file mode 100644 index 000000000..baeed5d9b Binary files /dev/null and b/sprites/BLPFG0.png differ diff --git a/sprites/BLPFH0.png b/sprites/BLPFH0.png new file mode 100644 index 000000000..b84a2a873 Binary files /dev/null and b/sprites/BLPFH0.png differ diff --git a/zscript/swwm_common.zsc b/zscript/swwm_common.zsc index fa0bf0e46..63f893974 100644 --- a/zscript/swwm_common.zsc +++ b/zscript/swwm_common.zsc @@ -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 diff --git a/zscript/swwm_funstuff.zsc b/zscript/swwm_funstuff.zsc index 82d22551a..d128ac002 100644 --- a/zscript/swwm_funstuff.zsc +++ b/zscript/swwm_funstuff.zsc @@ -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; diff --git a/zscript/swwm_inventory.zsc b/zscript/swwm_inventory.zsc index 149c79406..6a0dbbf41 100644 --- a/zscript/swwm_inventory.zsc +++ b/zscript/swwm_inventory.zsc @@ -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; diff --git a/zscript/swwm_jackhammer.zsc b/zscript/swwm_jackhammer.zsc index 420211be0..1e9b93e8a 100644 --- a/zscript/swwm_jackhammer.zsc +++ b/zscript/swwm_jackhammer.zsc @@ -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 ) diff --git a/zscript/swwm_keys.zsc b/zscript/swwm_keys.zsc index f15dabfa1..75e2bd9b5 100644 --- a/zscript/swwm_keys.zsc +++ b/zscript/swwm_keys.zsc @@ -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; } diff --git a/zscript/swwm_powerup.zsc b/zscript/swwm_powerup.zsc index 528f97bfd..601c96c6c 100644 --- a/zscript/swwm_powerup.zsc +++ b/zscript/swwm_powerup.zsc @@ -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;