From 685b7d6f9181b90274b8a9f34cb46f37b702e9c2 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sat, 28 Aug 2021 18:56:09 +0200 Subject: [PATCH] Break spike traps in Hexen when standing on them. --- filter/hexen/sprites/TSPKX0.png | Bin 0 -> 1164 bytes language.version | 4 ++-- trnslate.txt | 1 + zscript/swwm_common_fx.zsc | 19 +++++++++++++++++ zscript/swwm_player.zsc | 35 +++++++++++++++++++++++++++++--- 5 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 filter/hexen/sprites/TSPKX0.png diff --git a/filter/hexen/sprites/TSPKX0.png b/filter/hexen/sprites/TSPKX0.png new file mode 100644 index 0000000000000000000000000000000000000000..80ed94acea6d569205f4e5ab356daa28a7dbeabb GIT binary patch literal 1164 zcmeAS@N?(olHy`uVBq!ia0y~yU@&H2V36WqW?*2@y))$*0|Ns`dXZxiNRWYnL1dGe znFRv_lVN~Qh$|Bl6AKFqKR>^)u&}hWw2X|5qN1X@y1K5euCcMPrKP34y}hfetGBmz zU|?WaSXfL$0tTH|#yKQ%qJ&T18r3TVB~%S=(G&-(KI?-PqdO+&fZR34~aS$2-fVd#mLI>sQB{cV^p7EAw957_z!EX3M11J+pF;EGj*-s`kQ$R%w0? zH4$z@X+B$dK1XFCFIC}SZQ*cz@pxnDbZhxyXXR>d_2yvx{%GUr$<_;U9M+e3ZK(@9 z&>nrJKlbYM^c(Yw?<}vozrO47_Nl5OEcy~GmNINEiYz`V%pn>KiTX@MW(>9VY`xx` zvx5Z}#fz>?m)cUOu%|}kOozmsDKc*sh<{n5|7W-5pF?iHPX__6RRN` zhb0rMBNMAX14{%0O9BH+1`Asy6Kki4_zX48E$6d}XcvRo?Vd9kk@+>Us z3=H}V4CV|B&I}Cx3=Gi>4CxFE#S9Gf3=G{246_*+mNPKyWMDYOz;K6w;VlEhe+GvC zdV2q(qyKky{$IUXM1ZA@dz(E20|R48kY6x^!?PP{3=E84JzX3_BqXOE^qeGO$iv`J z8+tA4=F>*YQ|n$u)?Hn{*t&r^K}kXQo6y60Q5PMK2@wnn1g0`scYFw8;CduG|CF$j zppaV5gTu0d5Btmy%AaBuJH&p&LB+*w&)s~zse&Kt^p|G%9SaiJHsOQk`pf#MhpmMk zEuC%{=y+o`cVTRmZ}sF?Vb@)*ys}zuaLDi63>xpLY^}Pb*l(?NVMXa!kqePD}NI%~$U2I_Uq1 zXYKcopNx8rO;^6)vUt{{ww0MCt53w8bu$*INZ?LySlpYK_Lrk%eOjFJ(XFi6{G0Es zx)Nr)O6Z`!pF>!`Sn`*1*A6ZA{E}!9GNt(ezZ92?NMVni+lPXUW^U4VH7!q8+UFp{-e(=eB%e(jW5O?m&Mak R85kHCJYD@<);T3K0RXN^%0>VH literal 0 HcmV?d00001 diff --git a/language.version b/language.version index 1f9a98599..3664add68 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw1.0.9 \cu(Sat 28 Aug 18:10:36 CEST 2021)\c-"; -SWWM_SHORTVER="\cw1.0.9 \cu(2021-08-28 18:10:36)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw1.0.9 \cu(Sat 28 Aug 18:56:23 CEST 2021)\c-"; +SWWM_SHORTVER="\cw1.0.9 \cu(2021-08-28 18:56:23)\c-"; diff --git a/trnslate.txt b/trnslate.txt index ed30fee96..9834eb49f 100644 --- a/trnslate.txt +++ b/trnslate.txt @@ -7,3 +7,4 @@ HotMetal5 = "0:255=%[0.23,0.18,0.12]:[0.7,0.6,0.32]" HotMetal6 = "0:255=%[0.2,0.12,0.1]:[0.5,0.4,0.28]" HotMetal7 = "0:255=%[0.0,0.0,0.0]:[0.25,0.25,0.25]" Rubble = "0:255=%[0.0,0.0,0.0]:[0.2,0.2,0.2]" +StoneSpike = "0:255=%[0.20,0.10,0.05]:[0.70,0.50,0.35]" diff --git a/zscript/swwm_common_fx.zsc b/zscript/swwm_common_fx.zsc index 3b894f9a6..36623b146 100644 --- a/zscript/swwm_common_fx.zsc +++ b/zscript/swwm_common_fx.zsc @@ -1615,3 +1615,22 @@ Class SWWMSizzleSmoke2 : SWWMBaseSplash s.special1 = Random[ExploS](0,1); } } + +// Hexen thing +Class SWWMCrushedSpike : Actor +{ + Default + { + Radius 20; + Height 16; + +SOLID; + +FLOORCLIP; + +NOTELEPORT; + } + States + { + Spawn: + TSPK X -1; + Stop; + } +} diff --git a/zscript/swwm_player.zsc b/zscript/swwm_player.zsc index 63fd259af..83566c000 100644 --- a/zscript/swwm_player.zsc +++ b/zscript/swwm_player.zsc @@ -1458,9 +1458,38 @@ Class Demolitionist : PlayerPawn let hnd = SWWMHandler(EventHandler.Find("SWWMHandler")); if ( hnd ) hnd.tookdamage[PlayerNumber()] = true; } - // check if we can break any active crushers - if ( (mod == 'Crush') && !inflictor && !source ) - CheckBreakCrusher(); + if ( mod == 'Crush' ) + { + // check if we can break any active crushers + if ( !inflictor && !source ) CheckBreakCrusher(); + // break a spike trap + else if ( source is 'ThrustFloor' ) + { + let q = Spawn("BustedQuake",source.pos); + q.special1 = 4; + int numpt = Random[ExploS](30,40); + for ( int i=0; i