From 8da5167e5933e9fbdc6091f3f357ce50fc713ed1 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Fri, 16 Aug 2019 03:22:58 +0200 Subject: [PATCH] Today's progress. A whole lot of stuff added, and some cleanup too. Fixed the sizes and offsets of player models. Adjusted weapon offsets to be more in line with the originals. Implemented all armors and most of the usable items. Add lights to some item pickups. This might get done to DT too. Key display on both HUD types, along with some fixes. ASMD has complete animations. Other weapons will follow. --- Readme.md | 28 +-- cvarinfo.txt | 2 +- gldefs.txt | 188 ++++++++++++++++ graphics/hud/HudLine.png | Bin 189 -> 189 bytes graphics/hud083/ammo/Asmd083.png | Bin 1770 -> 1917 bytes graphics/icons/I_PBelt.png | Bin 0 -> 1568 bytes graphics/icons/I_TSuit.png | Bin 0 -> 1592 bytes language.txt | 38 ++++ modeldef.asmd | 131 ++++++++++- modeldef.female1 | 4 +- modeldef.female2 | 4 +- modeldef.male1 | 4 +- modeldef.male2 | 4 +- modeldef.male3 | 4 +- modeldef.stinger | 25 ++- modeldef.uflak | 16 +- modeldef.umisc | 168 ++++++++++++++ models/ForceF.png | Bin 0 -> 2098 bytes models/JRocket1.png | Bin 4483 -> 51785 bytes models/ShockSm.png | Bin 7302 -> 13842 bytes models/ShockSm2.png | Bin 0 -> 5675 bytes shaders/glsl/ShockSm.fp | 9 + sndinfo.txt | 16 +- sounds/GPickSnd.ogg | Bin 7529 -> 0 bytes sounds/Secret.ogg | Bin 0 -> 58889 bytes sounds/click.ogg | Bin 5767 -> 0 bytes textures.asmd | 6 +- textures.stinger | 59 ----- textures.uflak | 133 ----------- textures.umisc | 8 + textures/ForceFieldFX.png | Bin 0 -> 23349 bytes zscript/asmd.zsc | 131 ++++++++++- zscript/miscitems.zsc | 367 ++++++++++++++++++++++++++++++- zscript/stinger.zsc | 26 ++- zscript/uarmoritems.zsc | 227 ++++++++++++++++++- zscript/uflakcannon.zsc | 22 +- zscript/unrealcommon.zsc | 95 ++++---- zscript/unrealhud.zsc | 129 +++++++---- zscript/upowerups.zsc | 17 ++ 39 files changed, 1489 insertions(+), 372 deletions(-) create mode 100644 graphics/icons/I_PBelt.png create mode 100644 graphics/icons/I_TSuit.png create mode 100644 models/ForceF.png create mode 100644 models/ShockSm2.png create mode 100644 shaders/glsl/ShockSm.fp delete mode 100644 sounds/GPickSnd.ogg create mode 100644 sounds/Secret.ogg delete mode 100644 sounds/click.ogg delete mode 100644 textures.uflak create mode 100644 textures/ForceFieldFX.png diff --git a/Readme.md b/Readme.md index 43b0e1e..fe36eff 100644 --- a/Readme.md +++ b/Readme.md @@ -11,6 +11,15 @@ This mod requires GZDoom 4.2.0 or later, and runs on top of Doom Tournament. - Backpack (replaces backpack, identical to Doom Tournament version) - Unreal 1 HUD - Translator (has to be spawned in, since it would only be useful for mappers) + - Armor (replaces blue armor) + - Shield Belt (replaces megasphere) + - Power Shield (replaces invulnerability) + - Asbestos Suit (replaces radsuit if map has lava) + - Kevlar Suit (replaces green armor) + - Toxin Suit (replaces radsuit if map has slime) + - Voice Box (rare spawn in backpacks) + - Dampener (rare spawn in backpacks) + - Forcefield (rare spawn in backpacks) ## In progress @@ -19,7 +28,7 @@ This mod requires GZDoom 4.2.0 or later, and runs on top of Doom Tournament. ## Planned - - Implement Stinger behavior described in the Unreal Bible. + - Implement Stinger behavior described in the Unreal Bible - Dispersion Pistol (slot 1) (replaces fist) - Dispersion Pistol Powerup (replaces Berserk) - Automag (slot 2) (replaces pistol) @@ -39,7 +48,7 @@ This mod requires GZDoom 4.2.0 or later, and runs on top of Doom Tournament. - Proto Automag (slot 2) (replaces pistol) - Dual Protomags - Quadshot (slot 3) (replaces shotguns) - - Peacemaker (slot 5) (rare spawn near backpack) + - Peacemaker (slot 5) (rare spawn in backpacks) - Impaler (slot 4) (replaces plasma rifle) - Flamethrower (slot 8) (replaces plasma rifle) - Fireblaster (slot 7) (replaces rocket launcher) @@ -47,27 +56,18 @@ This mod requires GZDoom 4.2.0 or later, and runs on top of Doom Tournament. - Autocannon (slot 0) (replaces bfg9000) - Amplifier (replaces berserk) - - Armor (replaces blue armor) - Flare (replaces armor bonus) - Flashlight (replaces light amplifier) - - Searchlight (replaces light amplifier) + - Searchlight (must be placed manually for balance reasons) - Medkit (replaces medkit) - Bandages (replaces stimpak) - Nali Fruit Seed (replaces health bonus) - Super Health (replaces soulsphere) - Invisibility (replaces blursphere) - - AntiGrav Boots (replaces radsuit) - - Shield Belt (replaces megasphere) - - Power Shield (replaces invulnerability) - - Asbestos Suit (replaces radsuit if map has lava) - - Kevlar Suit (replaces green armor) - - Toxin Suit (replaces radsuit if map has slime) - - Voice Box (rare spawn near backpack) - - Forcefield (rare spawn near backpack) - - Dampener (rare spawn near backpack) + - Jump Boots (replaces radsuit) - Motion Detector (replaces computer map) - - Minigun Sentry (rare spawn near backpack) + - Minigun Sentry (rare spawn in backpacks) ## Known bugs diff --git a/cvarinfo.txt b/cvarinfo.txt index f47fdd5..5de09a0 100644 --- a/cvarinfo.txt +++ b/cvarinfo.txt @@ -2,4 +2,4 @@ user int stinger_hudmode = 0; // hud mode user int stinger_hudscale = 1; // scale of hud (0 = fit to 480p) user int stinger_introtype = 0; // 0 - standard // 1 - unreal '97 - // 2 - unreal '95 \ No newline at end of file + // 2 - unreal '95 diff --git a/gldefs.txt b/gldefs.txt index ad91d37..574f456 100644 --- a/gldefs.txt +++ b/gldefs.txt @@ -1,3 +1,179 @@ +// Lights +PointLight ASMDAMMOLIGHT +{ + Color 0.0 0.4 0.7 + Size 15 + Offset 0 11 8 + Attenuate 1 +} +PointLight ASMDAMMOLIGHT2 +{ + Color 0.0 0.4 0.7 + Size 15 + Offset 0 5 8 + Attenuate 1 +} +Object AsmdAmmo +{ + Frame "SHOA" { light "ASMDAMMOLIGHT" } +} +Object AsmdAmmo2 +{ + Frame "SHOA" { light "ASMDAMMOLIGHT2" } +} +PointLight STINGERAMMOLIGHT +{ + Color 0.1 0.2 0.4 + Size 12 + Offset 0 5 0 + Attenuate 1 +} +PointLight STINGERAMMOLIGHT2 +{ + Color 0.1 0.2 0.4 + Size 12 + Offset 0 12 0 + Attenuate 1 +} +Object StingerAmmo +{ + Frame "SAMO" { light "STINGERAMMOLIGHT" } +} +Object StingerAmmo2 +{ + Frame "SAMO" { light "STINGERAMMOLIGHT2" } +} +PointLight FLAKAMMOLIGHT +{ + Color 0.1 0.4 0.0 + Size 8 + Offset 0 15 4 + Attenuate 1 +} +Object UFlakBox +{ + Frame "FAMO" { light "FLAKAMMOLIGHT" } +} +PointLight STINGERLIGHT0 +{ + Color 0.1 0.4 1.0 + Size 30 + Attenuate 1 +} +PointLight STINGERLIGHT1 +{ + Color 0.1 0.3 0.8 + Size 40 + Attenuate 1 +} +PointLight STINGERLIGHT2 +{ + Color 0.1 0.2 0.6 + Size 45 + Attenuate 1 +} +PointLight STINGERLIGHT3 +{ + Color 0.08 0.15 0.5 + Size 50 + Attenuate 1 +} +PointLight STINGERLIGHT4 +{ + Color 0.05 0.12 0.4 + Size 55 + Attenuate 1 +} +PointLight STINGERLIGHT5 +{ + Color 0.0 0.03 0.2 + Size 60 + Attenuate 1 +} +Object StingerProjectile +{ + Frame "TPRJA" { light "STINGERLIGHT0" } + Frame "TPRJB" { light "STINGERLIGHT1" } + Frame "TPRJC" { light "STINGERLIGHT1" } + Frame "TPRJD" { light "STINGERLIGHT2" } + Frame "TPRJE" { light "STINGERLIGHT3" } + Frame "TPRJF" { light "STINGERLIGHT4" } + Frame "TPRJG" { light "STINGERLIGHT5" } +} + +PointLight DAMPENERLIGHT0 +{ + Color 0.2 0.0 0.0 + Size 6 + Offset 0 6 0 + Attenuate 1 +} +PointLight DAMPENERLIGHT1 +{ + Color 0.6 0.0 0.0 + Size 15 + Offset 0 8 0 + Attenuate 1 +} +PointLight DAMPENERLIGHT2 +{ + Color 0.8 0.0 0.0 + Size 22 + Offset 0 10 0 + Attenuate 1 +} +PointLight DAMPENERLIGHT3 +{ + Color 0.9 0.0 0.0 + Size 28 + Offset 0 10 0 + Attenuate 1 +} +PointLight DAMPENERLIGHT4 +{ + Color 1.0 0.0 0.0 + Size 32 + Offset 0 10 0 + Attenuate 1 +} +Object Dampener +{ + Frame "DAMPA" { light "DAMPENERLIGHT0" } + Frame "DAMPB" { light "DAMPENERLIGHT1" } + Frame "DAMPC" { light "DAMPENERLIGHT2" } + Frame "DAMPD" { light "DAMPENERLIGHT3" } + Frame "DAMPE" { light "DAMPENERLIGHT4" } + Frame "DAMPF" { light "DAMPENERLIGHT3" } + Frame "DAMPG" { light "DAMPENERLIGHT2" } + Frame "DAMPH" { light "DAMPENERLIGHT2" } + Frame "DAMPI" { light "DAMPENERLIGHT2" } + Frame "DAMPJ" { light "DAMPENERLIGHT2" } +} + +PointLight SBELTLIGHT +{ + Color 0.25 0.0 0.0 + Size 20 + Offset 0 2 0 + Attenuate 1 +} +PointLight PBELTLIGHT +{ + Color 0.15 0.0 0.25 + Size 20 + Offset 0 2 0 + Attenuate 1 +} +Object ShieldBelt +{ + Frame "BELT" { light "SBELTLIGHT" } +} +Object PowerShield +{ + Frame "BELT" { light "PBELTLIGHT" } +} + +// Shaders / Brightmaps HardwareShader Texture "graphics/MenuBarr.png" { Shader "shaders/glsl/MenuBarrier.fp" @@ -127,10 +303,12 @@ HardwareShader Texture "models/JTaryPick1_.png" Brightmap Texture "models/JTaryPick1.png" { Map "brightmaps/JTaryPick1.png" + DisableFullbright } Brightmap Texture "models/Jburst1.png" { Map "brightmaps/Jburst1.png" + DisableFullbright } Brightmap Texture "models/Jflare.png" { @@ -316,3 +494,13 @@ HardwareShader Texture "models/minigun1_.png" { Shader "shaders/glsl/AmbientGlow.fp" } +HardwareShader Texture "models/ShockSm.png" +{ + Shader "shaders/glsl/ShockSm.fp" + Texture "smoketex" "models/ShockSm2.png" +} +HardwareShader Texture "textures/ForceFieldFX.png" +{ + Shader "shaders/glsl/FizzDistortXY.fp" + Texture "warptex" "textures/warptex.png" +} diff --git a/graphics/hud/HudLine.png b/graphics/hud/HudLine.png index 97fefee2deef6632f025515dea3aba265b5d8f31..1db81b56a78b47394adca97c4e3524d3bb86ab9d 100644 GIT binary patch delta 172 zcmdnXxR-H)WIY=L1B0d9y^{($J^6DEc zShu^|Fyr>#UH4l5<%LY+4&8c)XEIO05zg%gS4*GU@nF{TYPKrXXS2iE{<3GzYCfBm ey))+jQ~9oTy}kyabQJ~$1_n=8KbLh*2~7aHMN9(# delta 172 zcmdnXxR-H)WIYoD1H-l&&v^_C44efXk;M!Q+`=Ht$S`Y;1Oo#@zNd?02*=FWvwL}) z4H#S=o)7C1S$WAViFsF!^JHC#seOVFXd_r6q{{LrSV&Gt6;Adc9WanaGXX0aLW#eKM z>c=mf=yC=9QHbSCQpYkW*BV6A@9cP?zV_mg82Dmy%bMQ&x}{R(4cUlGacZ z)>YuuQRYxmQPfuE*Ho4iRQD89bJkH2(^8c;QV~{G*ECdTQ`1m2RpZc6S29r(5!3cl z)6_Q5kg7LR7u3^K*3{N8)s!*RQqb1XGSF5v)e*MR7SYx-u+ovT(G@h&Q?}FPHqz5| z)DaRh3DYysv(*!~)YCFC(6`lBvNw=)G!(TmQnojgw=mL`wumw|HMTG@b~BQ3HkPq7 zRkShHb~TmrG?ACGO;NCkvo$yLHkG!qFn705u&lSX@U)asu}^Zh)ONBqRB+4;w32tW zHTSiVS9Z>^wYQ0|mJP90a&xo}vzPO9G7ol?SM)9lcT{zCcky$x_I7uRbybOSm(cX9 ziSkhO_jFEhS5OUXiFa4?^!5nyc8K#*QVD5H@YGH7P)_kuN%7W7^HKE=^h@(I3Jea2 z397fr4A6@S^$ZOU%@0uzj||sMoLU&B9~~QInli5}O4lTPc2azDVse60=KPejl$Inj z%fi*^nQ6}XtL=+6cV$@jWSDuBY;Y*w=ux@5xU{Ih(AK?nM^$M_d1YB;bwyy?q1yTy zzs^&Q%?vLuuEt-9B%CyP(3on-}I$N~#Wa{!) z)k{vznLj6M)r0btXV148=h5cI9t2^O6kUj%U3R|*mC{q;@HN`H##<6 zuitj1dfT%#>sHt8d)~G8>ZUCloA*EJ*!QaSz{mR=le-Q*=s$dW$L<|d551ps^2NS` zduN<}@@8-P;bVuU*I)X6@!aK^_x@kJeBs)StM?w1Vs8Q)Q0Z&z!DqJkxWNndju#+d0{9!)}LaOo`H6D`Hcz zpjxKw)^LzO(Lj(DJ`=>wueda*3N6(Yr_t(VTIN_6e_g$FjsUK528E$#J+vPX+ z=&7QaYi3W4o~&u$_NnsP-NZ!~Z#*co%T)~wD_Bt7>CQFD{q*6sc_(GU+4lTBzQ97a zuvk4P=X~yaZRQ^_+P5=%KFv9Q<)LMKy{tim-!k6~jrW&5-}Q=N;q&FY95%Y_amtR9 zbXa0-Hzhpy!ilrnuQK+DHl#i=SDZT|GMqgl&V7>Bs{>Uw0q+~z?-=Zz=z&28-wwD${^+>pKF=}t?{*y#c~D|s>k*pKt?PPm|C zwT7$yM7YAYM*>9|t7~_!=Gq}~kL|cr&gH!=UoUO+@!r{)8^5eTW#Y?@Y+3J%0Srn9 zHsnm&q8~HODbkVu*Sy@{vLAlg1xa3T_i(?V;$Mt6B7L?&5Fu49^YKMJ##hU8<~hZDwC9 zuUBs%?mDqJ<@>y?#+^=Y>l#v43SWF<6?`V^*ZyfSzqNiIx+weW@nrU2 ze%)cx6z`?I%Oqv?S3Lh%nYH_L;hh&(&zOJe);_#3SVR6~N_2v1nE9O7QuV!eD&^}g z$Nbs3tt2VG?3PDA>x^oyV~p#vXWQ4`TEi>3H|qTSdG_@`=jwY*zi+$wvP}4)wUe~P zZoWC)>$FtVq4JBtm3vIzWH0@h{kA}6!G`q-KXPh=4(_`rRn)I9qQ4_{XJxhp+XI`K z+YQb>kjdC;cjs}|nl&c-_6qgPJ@h7O;T_%=ZAsC!73Yt}T4-l~ykXe2^jEL6r>Dk^ zoSyi|zyBjz>caD`?|pbmAoj~4MuX0keM~N^#kbZ?H{9hX!Kf6#%;LD)cE!&H?h{#B zmglUBd-X~-e&(0IyX$`c>ulfEus}rTvw~Xpe#YY+bG4qtzV!jssGhEVF6*2UngFIC B9CrW! delta 1746 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 IIVCg!0AiF4WB>pF literal 0 HcmV?d00001 diff --git a/graphics/icons/I_TSuit.png b/graphics/icons/I_TSuit.png new file mode 100644 index 0000000000000000000000000000000000000000..2013bb419ff77d349e9eaa4c1cf1936601dcec89 GIT binary patch literal 1592 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 E07_?keEh71f0Ea{HEjtmSN`?>!lvNA9* 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 CEDm}A delta 4443 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 D-U-+f diff --git a/models/ShockSm.png b/models/ShockSm.png index 417efcce1f61bcb472de9316975252efb80b0ad4..d46233424e097877c1ca4e83cd5331fce366dc04 100644 GIT binary patch literal 13842 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 c>;JPiYMHFVdQ&MBb@0Bm{KKmY&$ literal 7302 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 E05){7qW}N^ diff --git a/models/ShockSm2.png b/models/ShockSm2.png new file mode 100644 index 0000000000000000000000000000000000000000..d1ce2e4e3d9efbb0836d38cd3d725ad28d3cf1a1 GIT binary patch literal 5675 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 kWnwgq*k{M!pzx;9q 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 Sw>^H*+Oyk_3mzynVE_P)CX5UK diff --git a/textures.asmd b/textures.asmd index d393f7a..0b6a272 100644 --- a/textures.asmd +++ b/textures.asmd @@ -1,5 +1 @@ -Sprite "ASMAA0",1,1{} -Sprite "ASMAB0",1,1{} -Sprite "ASMPA0",1,1{} -Sprite "ASMPB0",1,1{} -Sprite "ASMIA0",1,1{} +Sprite "TAZBA0",1,1{} diff --git a/textures.stinger b/textures.stinger index efb8457..846392c 100644 --- a/textures.stinger +++ b/textures.stinger @@ -1,63 +1,4 @@ Sprite "STNPA0",1,1{} -Sprite "STNPB0",1,1{} Sprite "STNSA0",1,1{} -Sprite "STNSB0",1,1{} -Sprite "STNSC0",1,1{} -Sprite "STNSD0",1,1{} -Sprite "STNSE0",1,1{} -Sprite "STNSF0",1,1{} -Sprite "STNSG0",1,1{} -Sprite "STNSH0",1,1{} -Sprite "STNSI0",1,1{} -Sprite "STNSJ0",1,1{} -Sprite "STNSK0",1,1{} -Sprite "STNSL0",1,1{} -Sprite "STNSM0",1,1{} -Sprite "STNSN0",1,1{} -Sprite "STNSO0",1,1{} -Sprite "STNSP0",1,1{} -Sprite "STNSQ0",1,1{} -Sprite "STNSR0",1,1{} -Sprite "STNSS0",1,1{} -Sprite "STNST0",1,1{} -Sprite "STNSU0",1,1{} -Sprite "STNIA0",1,1{} -Sprite "STNDA0",1,1{} -Sprite "STNDB0",1,1{} -Sprite "STNDC0",1,1{} -Sprite "STNDD0",1,1{} -Sprite "STNDE0",1,1{} -Sprite "STNDF0",1,1{} -Sprite "STNDG0",1,1{} -Sprite "STNDH0",1,1{} -Sprite "STNDI0",1,1{} -Sprite "STNDJ0",1,1{} -Sprite "STNDK0",1,1{} -Sprite "STNFA0",1,1{} -Sprite "STNFB0",1,1{} -Sprite "STNFC0",1,1{} -Sprite "STNHA0",1,1{} -Sprite "STNHB0",1,1{} -Sprite "STNHC0",1,1{} -Sprite "STNHD0",1,1{} -Sprite "STNHE0",1,1{} -Sprite "STNHF0",1,1{} -Sprite "STNHG0",1,1{} -Sprite "STFFA0",1,1{} -Sprite "STFFB0",1,1{} -Sprite "STFFC0",1,1{} -Sprite "STFHA0",1,1{} -Sprite "STFHB0",1,1{} -Sprite "STFHC0",1,1{} -Sprite "STFHD0",1,1{} -Sprite "STFHE0",1,1{} -Sprite "STFHF0",1,1{} -Sprite "STFHG0",1,1{} Sprite "SAMOA0",1,1{} Sprite "TPRJA0",1,1{} -Sprite "TPRJB0",1,1{} -Sprite "TPRJC0",1,1{} -Sprite "TPRJD0",1,1{} -Sprite "TPRJE0",1,1{} -Sprite "TPRJF0",1,1{} -Sprite "TPRJG0",1,1{} diff --git a/textures.uflak b/textures.uflak deleted file mode 100644 index e27615c..0000000 --- a/textures.uflak +++ /dev/null @@ -1,133 +0,0 @@ -Sprite "FBOXA0",1,1{} -Sprite "FSHLA0",1,1{} -Sprite "FSHLB0",1,1{} -Sprite "FLKPA0",1,1{} -Sprite "FLKPB0",1,1{} -Sprite "FLKSA0",1,1{} -Sprite "FLKSB0",1,1{} -Sprite "FLKSC0",1,1{} -Sprite "FLKSD0",1,1{} -Sprite "FLKSE0",1,1{} -Sprite "FLKSF0",1,1{} -Sprite "FLKSG0",1,1{} -Sprite "FLKSH0",1,1{} -Sprite "FLKSI0",1,1{} -Sprite "FLKSJ0",1,1{} -Sprite "FLKSK0",1,1{} -Sprite "FLKSL0",1,1{} -Sprite "FLKSM0",1,1{} -Sprite "FLKSN0",1,1{} -Sprite "FLKSO0",1,1{} -Sprite "FLKSP0",1,1{} -Sprite "FLKSQ0",1,1{} -Sprite "FLKSR0",1,1{} -Sprite "FLKSS0",1,1{} -Sprite "FLKST0",1,1{} -Sprite "FLKSU0",1,1{} -Sprite "FLKSV0",1,1{} -Sprite "FLKSW0",1,1{} -Sprite "FLKSX0",1,1{} -Sprite "FLKSY0",1,1{} -Sprite "FLKSZ0",1,1{} -Sprite "FLS2A0",1,1{} -Sprite "FLS2B0",1,1{} -Sprite "FLS2C0",1,1{} -Sprite "FLS2D0",1,1{} -Sprite "FLKLA0",1,1{} -Sprite "FLKLB0",1,1{} -Sprite "FLKLC0",1,1{} -Sprite "FLKLD0",1,1{} -Sprite "FLKLE0",1,1{} -Sprite "FLKLF0",1,1{} -Sprite "FLKLG0",1,1{} -Sprite "FLKLH0",1,1{} -Sprite "FLKLI0",1,1{} -Sprite "FLKLJ0",1,1{} -Sprite "FLKLK0",1,1{} -Sprite "FLKLL0",1,1{} -Sprite "FLKLM0",1,1{} -Sprite "FLKLN0",1,1{} -Sprite "FLKLO0",1,1{} -Sprite "FLKIA0",1,1{} -Sprite "FLKFA0",1,1{} -Sprite "FLKFB0",1,1{} -Sprite "FLKFC0",1,1{} -Sprite "FLKFD0",1,1{} -Sprite "FLKFE0",1,1{} -Sprite "FLKFF0",1,1{} -Sprite "FLKFG0",1,1{} -Sprite "FLKFH0",1,1{} -Sprite "FLKFI0",1,1{} -Sprite "FLKFJ0",1,1{} -Sprite "FLKAA0",1,1{} -Sprite "FLKAB0",1,1{} -Sprite "FLKAC0",1,1{} -Sprite "FLKAD0",1,1{} -Sprite "FLKAE0",1,1{} -Sprite "FLKAF0",1,1{} -Sprite "FLKAG0",1,1{} -Sprite "FLKAH0",1,1{} -Sprite "FLKAI0",1,1{} -Sprite "FLKAJ0",1,1{} -Sprite "FLKAK0",1,1{} -Sprite "FLKEA0",1,1{} -Sprite "FLKEB0",1,1{} -Sprite "FLKEC0",1,1{} -Sprite "FLKED0",1,1{} -Sprite "FLKEE0",1,1{} -Sprite "FLKEF0",1,1{} -Sprite "FLKEG0",1,1{} -Sprite "FLKEH0",1,1{} -Sprite "FLKEI0",1,1{} -Sprite "FLKEJ0",1,1{} -Sprite "FLKEK0",1,1{} -Sprite "FLKEL0",1,1{} -Sprite "FLKEM0",1,1{} -Sprite "FLKEN0",1,1{} -Sprite "FLKEO0",1,1{} -Sprite "FLKEP0",1,1{} -Sprite "FLKEQ0",1,1{} -Sprite "FLKER0",1,1{} -Sprite "FLKES0",1,1{} -Sprite "FLD2A0",1,1{} -Sprite "FLD2B0",1,1{} -Sprite "FLD2C0",1,1{} -Sprite "FLD2D0",1,1{} -Sprite "FLD2E0",1,1{} -Sprite "FLD2F0",1,1{} -Sprite "FLD2G0",1,1{} -Sprite "FLD2H0",1,1{} -Sprite "FLD2I0",1,1{} -Sprite "FLD2J0",1,1{} -Sprite "FLD2K0",1,1{} -Sprite "FLD2L0",1,1{} -Sprite "FLD2M0",1,1{} -Sprite "FLD2N0",1,1{} -Sprite "FLD2O0",1,1{} -Sprite "FLKDA0",1,1{} -Sprite "FLKDB0",1,1{} -Sprite "FLKDC0",1,1{} -Sprite "FLKDD0",1,1{} -Sprite "FLKDE0",1,1{} -Sprite "FLKDF0",1,1{} -Sprite "FLFFA0",1,1{} -Sprite "FLFFB0",1,1{} -Sprite "FLFFC0",1,1{} -Sprite "FLFFD0",1,1{} -Sprite "FLFFE0",1,1{} -Sprite "FLFFF0",1,1{} -Sprite "FLFFG0",1,1{} -Sprite "FLFFH0",1,1{} -Sprite "FLFFI0",1,1{} -Sprite "FLFFJ0",1,1{} -Sprite "FLFAA0",1,1{} -Sprite "FLFAB0",1,1{} -Sprite "FLFAC0",1,1{} -Sprite "FLFAD0",1,1{} -Sprite "FLFAE0",1,1{} -Sprite "FLFAF0",1,1{} -Sprite "FLFAG0",1,1{} -Sprite "FLFAH0",1,1{} -Sprite "FLFAI0",1,1{} -Sprite "FLFAJ0",1,1{} -Sprite "FLFAK0",1,1{} \ No newline at end of file diff --git a/textures.umisc b/textures.umisc index 2c50383..cbe13f2 100644 --- a/textures.umisc +++ b/textures.umisc @@ -5,3 +5,11 @@ Texture "BLKNESS",64,64 Blend "#000000",1.0 } } +Sprite "UARMA0",1,1{} +Sprite "ASBSA0",1,1{} +Sprite "TOXSA0",1,1{} +Sprite "KEVSA0",1,1{} +Sprite "VBOXA0",1,1{} +Sprite "DAMPA0",1,1{} +Sprite "FFPKA0",1,1{} +Sprite "FFLDA0",1,1{} diff --git a/textures/ForceFieldFX.png b/textures/ForceFieldFX.png new file mode 100644 index 0000000000000000000000000000000000000000..e4ae919dd5d5b04c27dfac91427d449109cf86f5 GIT binary patch literal 23349 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 YvZrcK##Yw{3=9kmp00i_>zopr05xS;)c^nh literal 0 HcmV?d00001 diff --git a/zscript/asmd.zsc b/zscript/asmd.zsc index b7de7dc..20e59a8 100644 --- a/zscript/asmd.zsc +++ b/zscript/asmd.zsc @@ -17,11 +17,14 @@ Class ASMDAmmo : Ammo tracer = Spawn("ASMDAmmoX",pos); tracer.angle = angle; tracer.target = self; + tracer = Spawn("ASMDAmmoXX",pos); + tracer.angle = angle; + tracer.target = self; } States { Spawn: - ASMA A -1; + SHOA A -1; Stop; } } @@ -51,7 +54,17 @@ Class ASMDAmmoX : Actor States { Spawn: - ASMA A -1 Bright; + SHOA A -1 Bright; + Stop; + } +} + +Class ASMDAmmoXX : ASMDAmmoX +{ + States + { + Spawn: + SHOA A -1; Stop; } } @@ -61,7 +74,7 @@ Class ASMDAmmo2X : ASMDAmmoX States { Spawn: - ASMA B -1 Bright; + SHOA B -1 Bright; Stop; } } @@ -86,13 +99,43 @@ Class ASMDAmmo2 : ASMDAmmo States { Spawn: - ASMA B -1; + SHOA B -1; Stop; } } Class ASMD : UTWeapon { + override void PlayUpSound( Actor origin ) + { + origin.A_PlaySound(upsound,CHAN_WEAPON,Dampener.Active(origin)?.1:1.); + } + action void A_ShockFire() + { + Weapon weap = Weapon(invoker); + if ( !weap ) return; + if ( weap.Ammo1.Amount <= 0 ) return; + if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return; + A_PlaySound("shock/fire",CHAN_WEAPON,Dampener.Active(self)?.2:1.); + invoker.FireEffect(); + UTMainHandler.DoFlash(self,Color(80,64,32,255),1); + UTMainHandler.DoSwing(self,(FRandom[ASMD](-0.1,-0.6),FRandom[ASMD](-0.1,0.5)),2,-0.3,3,SWING_Spring,0,4); + if ( !Dampener.Active(self) ) A_AlertMonsters();A_AlertMonsters(); + A_QuakeEx(2,2,2,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1); + } + action void A_ShockAlt() + { + Weapon weap = Weapon(invoker); + if ( !weap ) return; + if ( weap.Ammo1.Amount <= 0 ) return; + if ( !weap.DepleteAmmo(weap.bAltFire,true,1) ) return; + A_PlaySound("shock/altfire",CHAN_WEAPON,Dampener.Active(self)?.2:1.); + invoker.FireEffect(); + UTMainHandler.DoFlash(self,Color(80,64,32,255),1); + UTMainHandler.DoSwing(self,(FRandom[ASMD](-0.1,-0.6),FRandom[ASMD](-0.1,0.5)),3,-0.4,3,SWING_Spring,0,4); + if ( !Dampener.Active(self) ) A_AlertMonsters();A_AlertMonsters(); + A_QuakeEx(2,2,2,8,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.1); + } Default { Tag "$T_ASMD"; @@ -114,5 +157,85 @@ Class ASMD : UTWeapon Stop; ASMP B -1; Stop; + Ready: + ASMS ABCDEFGHIJKLMN 1 A_WeaponReady(WRF_NOFIRE); + Idle: + #### # 8 A_Overlay(-9999,"Dummy"); // little hackeroo to make this more responsive + ASMI AB 30; + Goto Idle+1; + Dummy: + TNT1 A 1 + { + A_CheckReload(); + A_WeaponReady(); + // that's a mouthful + if ( player.FindPSprite(PSP_WEAPON).CurState.InStateSequence(invoker.FindState("Idle")) && (player.cmd.forwardmove || player.cmd.sidemove) && (player.vel.length() > 0.5) ) + player.SetPSPrite(PSP_WEAPON,invoker.FindState("Sway")); + } + Wait; + Vapour: + #### # 2 A_Overlay(-9999,"Dummy"); + ASMI A 6 + { + A_PlaySound("asmd/vapour",CHAN_6,0.5); + A_Overlay(PSP_FLASH,"VapourFlash"); + A_OverlayFlags(PSP_FLASH,PSPF_RenderStyle,true); + A_OverlayRenderstyle(PSP_FLASH,STYLE_Add); + } + ASMV ABCDEFGHIJ 4; + Goto Idle; + VapourFlash: + ASVI A 6; + ASVF ABCDEFGHIJ 4; + Stop; + Sway: + #### # 4; + ASMI C 10 A_JumpIf((!player.cmd.forwardmove && !player.cmd.sidemove) || (player.vel.length() < 0.5),4); + ASMI D 10 A_JumpIf((!player.cmd.forwardmove && !player.cmd.sidemove) || (player.vel.length() < 0.5),5); + ASMI E 10 A_JumpIf((!player.cmd.forwardmove && !player.cmd.sidemove) || (player.vel.length() < 0.5),6); + ASMI F 10 A_JumpIf((!player.cmd.forwardmove && !player.cmd.sidemove) || (player.vel.length() < 0.5),7); + Goto Sway+1; + ASMI C 4; + ASMI A 0 A_Jump(32,"Vapour"); + Goto Idle; + ASMI D 4; + ASMI A 0 A_Jump(32,"Vapour"); + Goto Idle; + ASMI E 4; + ASMI A 0 A_Jump(32,"Vapour"); + Goto Idle; + ASMI F 4; + ASMI A 0 A_Jump(32,"Vapour"); + Goto Idle; + Fire: + #### # 1 + { + A_ShockFire(); + A_Overlay(-9999,"Null"); + } + ASMF ABCDEFGH 2; + ASMF I 5; + ASMI A 0 A_Refire(); + ASMI A 0 A_Jump(48,"Vapour"); + Goto Idle; + AltFire: + #### # 1 + { + A_ShockAlt(); + A_Overlay(-9999,"Null"); + } + ASMA ABCDFGHI 2; + ASMA J 1; + ASMA J 0 A_Refire(); + ASMI A 0 A_Jump(48,"Vapour"); + Goto Idle; + Deselect: + ASMD A 1 A_Overlay(-9999,"Null"); + ASMD BCDEFGHIJ 1; + ASMD J 1 A_Lower(int.max); + Wait; + Select: + ASMS A 1 A_Raise(int.max); + Wait; } } diff --git a/zscript/miscitems.zsc b/zscript/miscitems.zsc index 8e35a45..bf213de 100644 --- a/zscript/miscitems.zsc +++ b/zscript/miscitems.zsc @@ -88,14 +88,15 @@ Class UnrealBackpack : BackpackItem replaces Backpack Super.DoPickupSpecial(toucher); if ( gameinfo.gametype&GAME_DOOMCHEX ) { - static const Class xitems[] = {"Flare", "Seeds", "SentryItem", "VoiceBox", "ForceField", "Dampener"}; - int xitemn[6]; - xitemn[0] = max(0,Random[BackpackExtra](-3,5)); - xitemn[1] = max(0,Random[BackpackExtra](-3,5)); - xitemn[2] = max(0,Random[BackpackExtra](-4,1)); + static const Class xitems[] = {"Flare", "Seeds", "SentryItem", "VoiceBox", "ForceField", "Dampener", "Peacemaker"}; + int xitemn[7]; + xitemn[0] = max(0,Random[BackpackExtra](-1,3)); + xitemn[1] = max(0,Random[BackpackExtra](-1,3)); + xitemn[2] = max(0,Random[BackpackExtra](-2,1)); xitemn[3] = max(0,Random[BackpackExtra](-2,1)); - xitemn[4] = max(0,Random[BackpackExtra](-3,1)); - xitemn[5] = max(0,Random[BackpackExtra](-2,1)); + xitemn[4] = max(0,Random[BackpackExtra](-2,1)); + xitemn[5] = max(0,Random[BackpackExtra](-1,1)); + xitemn[6] = max(0,Random[BackpackExtra](-2,1)); // random doubling if ( !Random[BackpackExtra](0,4) ) xitemn[0] *= 2; if ( !Random[BackpackExtra](0,4) ) xitemn[1] *= 2; @@ -103,11 +104,12 @@ Class UnrealBackpack : BackpackItem replaces Backpack if ( !Random[BackpackExtra](0,7) ) xitemn[3] *= 2; if ( !Random[BackpackExtra](0,6) ) xitemn[4] *= 2; if ( !Random[BackpackExtra](0,5) ) xitemn[5] *= 2; + if ( !Random[BackpackExtra](0,9) ) xitemn[6] *= 2; int total = 0; - for ( int i=0; i<6; i++ ) total += xitemn[i]; + for ( int i=0; i<7; i++ ) total += xitemn[i]; if ( total <= 0 ) return; String extratxt = StringTable.Localize("$I_BACKPACKEXTRA"); - for ( int i=0; i<6; i++ ) + for ( int i=0; i<7; i++ ) { if ( xitemn[i] <= 0 ) continue; extratxt = extratxt..String.Format("%dx %s, ",xitemn[i],GetDefaultByType(xitems[i]).GetTag()); @@ -187,6 +189,167 @@ Class UTranslator : UnrealInventory Class VoiceBox : UnrealInventory { + Actor box; + + Default + { + Tag "$T_VOICEBOX"; + Inventory.PickupMessage "$I_VOICEBOX"; + Inventory.Icon "I_VoiceB"; + Inventory.MaxAmount 5; + UnrealInventory.Charge 600; + } + override void Tick() + { + Super.Tick(); + if ( bActive ) + { + if ( box ) Charge = box.ReactionTime; + else + { + Charge = DefaultCharge; + bActive = false; + Amount--; + if ( Amount <= 0 ) DepleteOrDestroy(); + } + } + } + override bool Use( bool pickup ) + { + if ( pickup || bActive ) return false; + bActive = true; + Vector3 x, y, z; + [x, y, z] = dt_CoordUtil.GetAxes(Owner.pitch,Owner.angle,Owner.roll); + Vector3 origin = Owner.Vec2OffsetZ(0,0,Owner.player.viewz); + origin = level.Vec3Offset(origin,x*20.-z*8.); + box = Spawn("VoiceBoxActive",origin); + box.ReactionTime = Charge; + box.vel = x*12.; + box.vel.z += 3.; + box.target = Owner; + box.angle = Owner.angle; + box.pitch = Owner.pitch; + return false; + } + States + { + Spawn: + VBOX A -1; + Stop; + } +} + +Class VoiceBoxHitbox : Actor +{ + Default + { + Tag "$T_VOICEBOX"; + Radius 6; + Height 9; + Health 60; + +SHOOTABLE; + +NOGRAVITY; + +NOCLIP; + +DONTSPLASH; + +NOBLOOD; + +NOTELEPORT; + } + override void Tick() + { + Super.Tick(); + if ( !master ) + { + Destroy(); + return; + } + SetOrigin(master.pos,true); + } + override void Die( Actor source, Actor inflictor, int dmgflags, Name MeansOfDeath ) + { + if ( master ) master.ReactionTime = 0; + Super.Die(source,inflictor,dmgflags,MeansOfDeath); + } +} + +Class VoiceBoxActive : Actor +{ + Actor b; + bool alreadyhit; + + override void PostBeginPlay() + { + Super.PostBeginPlay(); + b = Spawn("VoiceBoxHitbox",pos); + b.master = self; + } + action void A_VoiceBoxPlay() + { + static const String BattleSounds[] = + { + "automag/shot", + "utrl/explode", + "automag/shot", + "automag/shot", + "flak/altfire", + "utrl/explode", + "flak/fire", + "shock/fire", + "stinger/hit2", + "automag/shot" + }; + if ( invoker.b ) invoker.b.A_AlertMonsters(0,AMF_TARGETEMITTER); + for ( int i=0; i<10; i++ ) if ( !Random[Voicebox](0,30) ) A_PlaySound(BattleSounds[i],CHAN_AUTO,FRandom[Voicebox](0.5,1.0)); + } + Default + { + Radius 6; + Height 6; + PROJECTILE; + -NOGRAVITY; + +USEBOUNCESTATE; + +SKYEXPLODE; + +MOVEWITHSECTOR; + +CANBOUNCEWATER; + BounceType "Hexen"; + BounceFactor 0.3; + WallBounceFactor 0.3; + Gravity 0.35; + ReactionTime 200; + } + States + { + Spawn: + VBOX A -1; + Stop; + Bounce: + VBOX A 0 + { + if ( alreadyhit ) + { + ClearBounce(); + ExplodeMissile(); + } + else + { + A_SetPitch(0); + A_PlaySound("transloc/bounce"); + if ( BlockingFloor ) alreadyhit = true; + } + } + Goto Spawn; + Death: + VBOX A 30; + VBOX ABCDEFGHIJ 1 + { + A_VoiceBoxPlay(); + ReactionTime--; + return A_JumpIf(ReactionTime<=0,"Death2"); + } + Goto Death+1; + Death2: + TNT1 A 1 A_Log("// TODO explosion"); + Stop; + } } Class Flare : UnrealInventory @@ -209,14 +372,200 @@ Class Dampener : UnrealInventory if ( d && d.bActive ) return true; return false; } + override bool Use( bool pickup ) + { + if ( pickup ) return false; + bActive = !bActive; + Owner.A_PlaySound(bActive?"dampener/on":"dampener/off",CHAN_ITEM); + return false; + } + override void Tick() + { + Super.Tick(); + if ( !bActive ) return; + if ( DrainCharge(1) ) + { + Owner.A_PlaySound("dampener/off",CHAN_ITEM); + PrintPickupMessage(true,StringTable.Localize("$D_DAMPENER")); + } + } + Default + { + Tag "$T_DAMPENER"; + Inventory.PickupMessage "$I_DAMPENER"; + Inventory.Icon "I_Dampen"; + Inventory.MaxAmount 5; + UnrealInventory.Charge 1000; + } + States + { + Spawn: + DAMP A 8 A_CheckProximity(1,"PlayerPawn",80,1,CPXF_ANCESTOR|CPXF_CHECKSIGHT); + Wait; + DAMP ABC 8; + DAMP DEFGHIJ 3; + DAMP D 0 A_CheckProximity(1,"PlayerPawn",80,0,CPXF_ANCESTOR|CPXF_CHECKSIGHT|CPXF_EXACT); + Goto Spawn+4; + DAMP CBA 8; + Goto Spawn; + } } Class Forcefield : UnrealInventory { + Default + { + Tag "$T_FORCEFIELD"; + Inventory.PickupMessage "$I_FORCEFIELD"; + Inventory.Icon "I_ForceF"; + Inventory.MaxAmount 5; + } + override bool Use( bool pickup ) + { + if ( pickup ) return false; + Vector3 x, y, z; + [x, y, z] = dt_CoordUtil.GetAxes(Owner.pitch,Owner.angle,Owner.roll); + Vector3 origin = level.Vec3Offset(Owner.Vec2OffsetZ(0,0,Owner.player.viewz),x*90.); + origin = level.Vec3Offset(origin,(0,0,-GetDefaultByType("ForceFieldEffect").Height*.5)); + if ( !level.IsPointInLevel(origin) ) + { + PrintPickupMessage(true,StringTable.Localize("$M_FFNOROOM")); + return false; + } + let a = Spawn("ForceFieldEffect",origin); + if ( !a.TestMobjLocation() ) + { + PrintPickupMessage(true,StringTable.Localize("$M_FFNOROOM")); + a.Destroy(); + return false; + } + a.target = Owner; + a.angle = Owner.angle; + return true; + } + override void PostBeginPlay() + { + Super.PostBeginPlay(); + tracer = Spawn("ForcefieldX",pos); + tracer.angle = angle; + tracer.target = self; + } + States + { + Spawn: + FFPK A -1; + Stop; + } +} + +Class ForcefieldX : Actor +{ + Default + { + RenderStyle "Add"; + +NOGRAVITY; + +NOCLIP; + +DONTSPLASH; + Radius 0.1; + Height 0; + } + override void Tick() + { + Super.Tick(); + if ( !target ) + { + Destroy(); + return; + } + Warp(target,flags:WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION); + bInvisible = target.bInvisible||!target.InStateSequence(target.CurState,target.FindState("Spawn")); + } + States + { + Spawn: + FFPK A -1 Bright; + Stop; + } +} + +Class ForceFieldLight : DynamicLight +{ + double cdown; + Default + { + DynamicLight.Type "Point"; + +DYNAMICLIGHT.ATTENUATE; + Args 0,0,0,100; + } + override void Tick() + { + Super.Tick(); + if ( !target ) + { + Destroy(); + return; + } + SetOrigin(target.Vec3Offset(0,0,target.height/2.),true); + if ( isFrozen() ) return; + args[LIGHT_RED] = int(255*cdown); + args[LIGHT_BLUE] = int(255*cdown); + if ( target.bSOLID ) + { + cdown = min(1.,cdown+1./27); + return; + } + cdown = max(0.,cdown-1./35); + if ( cdown <= 0. ) Destroy(); + } } Class ForcefieldEffect : Actor { + double nvol; + + Default + { + Tag "$T_FORCEFIELD"; + RenderStyle "Add"; + +NOGRAVITY; + +NOTELEPORT; + +DONTSPLASH; + +CANNOTPUSH; + +SHOOTABLE; + +SOLID; + +NODAMAGE; + +NOBLOOD; + Mass int.max; + Health int.max; + Radius 15; + Height 45; + } + override int DamageMobj( Actor inflictor, Actor source, int damage, Name mod, int flags, double angle ) + { + A_PlaySound("ffield/hit",CHAN_BODY); + return Super.DamageMobj(inflictor,source,damage,mod,flags,angle); + } + override void PostBeginPlay() + { + Super.PostBeginPlay(); + A_PlaySound("ffield/on",CHAN_ITEM); + A_PlaySound("ffield/active",CHAN_VOICE,0.6,true); + let tracer = Spawn("ForceFieldLight",pos); + tracer.target = self; + } + States + { + Spawn: + FFLD ABCDEFGHI 3 Bright; + FFLD J 700 Bright; + FFLD J 35 Bright + { + A_UnsetShootable(); + A_UnsetSolid(); + } + FFLD A 1 Bright A_PlaySound("ffield/hit",CHAN_VOICE); + Stop; + } } Class UFlashlight : UnrealInventory diff --git a/zscript/stinger.zsc b/zscript/stinger.zsc index bcebbc0..5180cf0 100644 --- a/zscript/stinger.zsc +++ b/zscript/stinger.zsc @@ -5,11 +5,11 @@ Class StingerAmmo : Ammo Tag "$T_STINGERAMMO"; Inventory.Icon "I_Stingr"; Inventory.PickupMessage ""; - Inventory.Amount 40; + Inventory.Amount 5; Inventory.MaxAmount 200; - Ammo.BackpackAmount 80; + Ammo.BackpackAmount 20; Ammo.BackpackMaxAmount 400; - Ammo.DropAmount 10; + Ammo.DropAmount 2; } override String PickupMessage() { @@ -25,6 +25,18 @@ Class StingerAmmo : Ammo Class StingerAmmo2 : StingerAmmo { + Default + { + Tag "$T_STINGERAMMO2"; + Inventory.Amount 40; + Ammo.DropAmount 15; + } + States + { + Spawn: + SAMO B -1; + Stop; + } } Class StingerProjectile : Actor @@ -87,6 +99,10 @@ Class Stinger : UTWeapon Weapon.AmmoGive 40; UTWeapon.DropAmmo 20; } + override void PlayUpSound( Actor origin ) + { + origin.A_PlaySound(upsound,CHAN_WEAPON,Dampener.Active(origin)?.1:1.); + } action void A_StingerFire( bool hold = false ) { Weapon weap = Weapon(invoker); @@ -177,7 +193,7 @@ Class Stinger : UTWeapon STNI A 3; STNI A 0 A_Refire(1); Goto Idle; - STNI A 0 A_PlaySound("stinger/hold",CHAN_WEAPON,CountInv("Dampener")?.1:1.,true); + STNI A 0 A_PlaySound("stinger/hold",CHAN_WEAPON,Dampener.Active(self)?.1:1.,true); Hold: STNH A 1 { @@ -188,7 +204,7 @@ Class Stinger : UTWeapon } STNH BCDEFG 1; STNH A 0 A_Refire(); - STNH A 2 A_PlaySound("stinger/release",CHAN_WEAPON); + STNH A 2 A_PlaySound("stinger/release",CHAN_WEAPON,Dampener.Active(self)?.1:1.); Goto Idle; AltFire: STNF A 2 A_StingerAltFire(); diff --git a/zscript/uarmoritems.zsc b/zscript/uarmoritems.zsc index 947005e..19a94b0 100644 --- a/zscript/uarmoritems.zsc +++ b/zscript/uarmoritems.zsc @@ -1,31 +1,250 @@ Class UnrealArmor : UTArmor { + int priority; + + Property AbsorptionPriority : priority; + Default { -INVENTORY.ALWAYSPICKUP; + UnrealArmor.AbsorptionPriority 0; + } + + override void AttachToOwner( Actor other ) + { + Super.AttachToOwner(other); + // re-sort self against other armors based on priority + Inventory cprev = null, prev = null; + for ( Inventory i=other.Inv; i; i=i.Inv ) + { + if ( i.Inv == self ) prev = i; + if ( !(i is 'UnrealArmor') || (i == self) || (UnrealArmor(i).priority >= priority) ) + { + cprev = i; + continue; + } + // got one, move ourselves + if ( prev ) prev.Inv = Inv; + if ( cprev ) cprev.Inv = self; + else other.Inv = self; + Inv = i; + break; + } } } Class UArmor : UnrealArmor { -} - -Class KevlarSuit : UnrealArmor -{ + Default + { + Tag "$T_UARMOR"; + Inventory.Amount 100; + Inventory.MaxAmount 100; + Inventory.InterHubAmount 100; + UTArmor.ArmorAbsorption 90; + UnrealArmor.AbsorptionPriority 7; + Inventory.PickupMessage "$I_UARMOR"; + Inventory.PickupSound "misc/u1armor"; + Inventory.Icon "I_Armor"; + } + States + { + Spawn: + UARM A -1; + Stop; + } } Class AsbestosSuit : UnrealArmor { + Default + { + Tag "$T_ASBSUIT"; + Inventory.Amount 50; + Inventory.MaxAmount 50; + Inventory.InterHubAmount 50; + UTArmor.ArmorAbsorption 50; + UnrealArmor.AbsorptionPriority 6; + Inventory.PickupMessage "$I_ASBSUIT"; + Inventory.PickupSound "misc/suit"; + Inventory.Icon "I_Suit"; + } + override void AbsorbDamage( int damage, Name damageType, out int newdamage ) + { + if ( (damageType == 'Fire') || (damageType == 'Ice') ) damage = newdamage = 0; + Super.AbsorbDamage(damage,damageType,newdamage); + } + override void AttachToOwner( Actor other ) + { + // remove other suits + Inventory i = other.FindInventory("ToxinSuit"); + if ( i ) other.RemoveInventory(i); + i = other.FindInventory("KevlarSuit"); + if ( i ) other.RemoveInventory(i); + Super.AttachToOwner(other); + } + States + { + Spawn: + ASBS A -1; + Stop; + } } Class ToxinSuit : UnrealArmor { + Default + { + Tag "$T_TOXSUIT"; + Inventory.Amount 50; + Inventory.MaxAmount 50; + Inventory.InterHubAmount 50; + UTArmor.ArmorAbsorption 50; + UnrealArmor.AbsorptionPriority 6; + Inventory.PickupMessage "$I_TOXSUIT"; + Inventory.PickupSound "misc/suit"; + Inventory.Icon "I_TSuit"; + } + override void AbsorbDamage( int damage, Name damageType, out int newdamage ) + { + if ( damageType == 'Slime' ) damage = newdamage = 0; + Super.AbsorbDamage(damage,damageType,newdamage); + } + override void AttachToOwner( Actor other ) + { + Super.AttachToOwner(other); + // remove other suits + Inventory i = other.FindInventory("AsbestosSuit"); + if ( i ) other.RemoveInventory(i); + i = other.FindInventory("KevlarSuit"); + if ( i ) other.RemoveInventory(i); + } + States + { + Spawn: + TOXS A -1; + Stop; + } +} + +Class KevlarSuit : UnrealArmor +{ + Default + { + Tag "$T_KEVSUIT"; + Inventory.Amount 100; + Inventory.MaxAmount 100; + Inventory.InterHubAmount 100; + UTArmor.ArmorAbsorption 80; + UnrealArmor.AbsorptionPriority 6; + Inventory.PickupMessage "$I_KEVSUIT"; + Inventory.PickupSound "misc/suit"; + Inventory.Icon "I_Kevlar"; + } + override void AttachToOwner( Actor other ) + { + Super.AttachToOwner(other); + // remove other suits + Inventory i = other.FindInventory("AsbestosSuit"); + if ( i ) other.RemoveInventory(i); + i = other.FindInventory("ToxinSuit"); + if ( i ) other.RemoveInventory(i); + } + States + { + Spawn: + KEVS A -1; + Stop; + } } Class ShieldBelt : UnrealArmor { + override void AbsorbDamage( int damage, Name damageType, out int newdamage ) + { + if ( (damage > 0) && (amount > 0) && !DamageTypeDefinition.IgnoreArmor(damageType) ) + { + Owner.A_PlaySound("belt/absorb",CHAN_7); + UTMainHandler.DoFlash(Owner,Color(80,255,224,0),5); + } + int oldamt = amount; + Super.AbsorbDamage(damage,damageType,newdamage); + if ( (oldamt > 0) && (amount <= 0) ) PrintPickupMessage(true,StringTable.Localize("$D_SHIELDBELT")); + } + Default + { + Tag "$T_SHIELDBELT"; + +COUNTITEM; + +INVENTORY.BIGPOWERUP; + Inventory.Amount 100; + Inventory.MaxAmount 100; + Inventory.InterHubAmount 100; + UTArmor.ArmorAbsorption 100; + UnrealArmor.AbsorptionPriority 10; + Inventory.PickupMessage "$I_SHIELDBELT"; + Inventory.PickupSound "belt/pickup"; + Inventory.RespawnTics 2100; + Inventory.Icon "I_Shield"; + } + States + { + Spawn: + BELT A -1; + Stop; + } } Class PowerShield : UnrealArmor { + bool gothit; + + override void AbsorbDamage( int damage, Name damageType, out int newdamage ) + { + if ( (damage > 0) && (amount > 0) && !DamageTypeDefinition.IgnoreArmor(damageType) ) + { + Owner.A_PlaySound("belt/absorb",CHAN_7); + UTMainHandler.DoFlash(Owner,Color(80,224,0,255),5); + gothit = true; + } + int oldamt = amount; + amount = int.max; // blocks all damage + Super.AbsorbDamage(damage,damageType,newdamage); + amount = oldamt; // does not drain here + } + override void Tick() + { + Super.Tick(); + if ( !Owner || !Owner.player ) return; + if ( gothit ) + { + amount--; + gothit = false; + } + if ( amount <= 0 ) + { + PrintPickupMessage(true,StringTable.Localize("$D_POWERSHIELD")); + DepleteOrDestroy(); + } + } + Default + { + Tag "$T_POWERSHIELD"; + +COUNTITEM; + +INVENTORY.BIGPOWERUP; + Inventory.Amount 200; + Inventory.MaxAmount 200; + Inventory.InterHubAmount 200; + UTArmor.ArmorAbsorption 100; + UnrealArmor.AbsorptionPriority 11; // wow dude + Inventory.PickupMessage "$I_POWERSHIELD"; + Inventory.PickupSound "sbelt/pickup"; + Inventory.RespawnTics 3500; + Inventory.Icon "I_PBelt"; + } + States + { + Spawn: + BELT A -1; + Stop; + } } diff --git a/zscript/uflakcannon.zsc b/zscript/uflakcannon.zsc index 29b4e63..c309b89 100644 --- a/zscript/uflakcannon.zsc +++ b/zscript/uflakcannon.zsc @@ -18,7 +18,7 @@ Class UFlakBox : Ammo States { Spawn: - FBOX A -1; + FAMO A -1; Stop; } } @@ -37,17 +37,21 @@ Class UFlakAmmo : UFlakBox States { Spawn: - FSHL B -1; + FAMO B -1; Stop; } } Class UFlakCannon : UTWeapon { + override void PlayUpSound( Actor origin ) + { + origin.A_PlaySound(upsound,CHAN_WEAPON,Dampener.Active(origin)?.1:1.); + } action void A_Loading( bool first = false ) { - if ( first ) A_PlaySound("flak/load",CHAN_WEAPON); - else A_PlaySound("flak/reload",CHAN_6); + if ( first ) A_PlaySound("flak/load",CHAN_WEAPON,Dampener.Active(self)?.1:1.); + else A_PlaySound("flak/reload",CHAN_6,Dampener.Active(self)?.06:.6); } action void A_FireChunks() { @@ -96,16 +100,16 @@ Class UFlakCannon : UTWeapon States { Spawn: - FLKP A -1; + FPCK A -1; Stop; - FLKP B -1; + FPCK B -1; Stop; Select: FLKS A 1 A_Raise(int.max); Wait; Ready: - FLKS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_WeaponReady(WRF_NOFIRE); - FLS2 ABCD 1 A_WeaponReady(WRF_NOFIRE); + FLKS ABCDFGHIKLMNPQRSUVWXZ 1 A_WeaponReady(WRF_NOFIRE); + FLS2 ABC 1 A_WeaponReady(WRF_NOFIRE); FLKL A 1 A_Loading(true); FLKL BCEFGIJKMNO 1; Goto Idle; @@ -124,7 +128,7 @@ Class UFlakCannon : UTWeapon FLKF A 1 A_FireChunks(); FLKF BCDEFGHI 1; FLKF J 5; - FLKE A 1 A_PlaySound("flak/click",CHAN_6); + FLKE A 1 A_PlaySound("flak/click",CHAN_6,Dampener.Active(self)?.05:.5); FLKE BCDEFGHIJKLMN 1; FLKE S 4; Goto Loading; diff --git a/zscript/unrealcommon.zsc b/zscript/unrealcommon.zsc index 528c93c..c8f7508 100644 --- a/zscript/unrealcommon.zsc +++ b/zscript/unrealcommon.zsc @@ -124,7 +124,7 @@ Class UPlayer : UTPlayer if ( !type ) continue; let def = GetDefaultByType (type); if ( def.Icon.isValid() && (def.MaxAmount > 1) && - !(type is "PuzzleItem") && !(type is "Powerup") && !(type is "Ammo") && !(type is "Armor")) + !(type is "PuzzleItem") && !(type is "Powerup") && !(type is "Ammo") && !(type is "Armor") ) { // Do not give replaced items unless using "give everything" if ( (giveall == ALL_YESYES) || (GetReplacement(type) == type) ) @@ -488,10 +488,42 @@ Class UnrealInventory : Inventory // Drawstuffs over HUD virtual ui void PostRender( double lbottom ) {} + bool DrainCharge( int val ) + { + Charge -= val; + if ( Charge > 0 ) return false; + if ( Amount > 1 ) + { + Amount--; + Charge = DefaultCharge; + bActive = false; + return true; + } + DepleteOrDestroy(); + return true; + } + override void AttachToOwner( Actor other ) + { + Super.AttachToOwner(other); + Charge = DefaultCharge; + } + override bool HandlePickup( Inventory item ) + { + if ( (item.GetClass() == GetClass()) && ((MaxAmount > 1) || (DefaultCharge > 0)) ) + { + if ( MaxAmount > 1 ) Amount = min(MaxAmount,Amount+item.Amount); + else Charge = DefaultCharge; // reset charge + item.bPickupGood = true; + return true; + } + return Super.HandlePickup(item); + } + Default { +INVENTORY.INVBAR; UnrealInventory.Charge 0; + Inventory.PickupSound "misc/p_pkup"; } } @@ -599,21 +631,6 @@ Class UnrealStaticHandler : StaticEventHandler Class UnrealMainHandler : EventHandler { - // can't detect terraindef-based damage - // this is currently an engine limitation - static bool, bool DetectHurtfloors() - { - bool foundslime = false, foundlava = false; - for ( int i=0; i OldAmmoType[18]; String OldArmor[6]; Class OldArmorType[6]; + String OldKeys[7]; HUDFont mOldDigits; // Translations @@ -59,6 +60,13 @@ Class UnrealHUD : BaseStatusBar IconSel = TexMan.CheckForTexture("IconSel",TexMan.Type_Any); IconBase = TexMan.CheckForTexture("IconBase",TexMan.Type_Any); RedIcon = Translation.GetID('RedIcon'); + KeyIcons[0] = TexMan.CheckForTexture("I_KeyR",TexMan.Type_Any); + KeyIcons[1] = TexMan.CheckForTexture("I_KeyB",TexMan.Type_Any); + KeyIcons[2] = TexMan.CheckForTexture("I_KeyY",TexMan.Type_Any); + KeyIcons[3] = TexMan.CheckForTexture("I_SkullR",TexMan.Type_Any); + KeyIcons[4] = TexMan.CheckForTexture("I_SkullB",TexMan.Type_Any); + KeyIcons[5] = TexMan.CheckForTexture("I_SkullY",TexMan.Type_Any); + KeyIcons[6] = TexMan.CheckForTexture("I_KeyG",TexMan.Type_Any); mOldDigits = HUDFont.Create(Font.FindFont('U083Digits'),26,Mono_CellLeft); OldAmmo[0] = "Disp083"; OldAmmo[1] = "Clip083"; @@ -108,6 +116,13 @@ Class UnrealHUD : BaseStatusBar OldArmorType[3] = "ToxinSuit"; OldArmorType[4] = "ShieldBelt"; OldArmorType[5] = "PowerShield"; + OldKeys[0] = "Redk083"; + OldKeys[1] = "Bluek083"; + OldKeys[2] = "Goldk083"; + OldKeys[3] = "Rskul083"; + OldKeys[4] = "Bskul083"; + OldKeys[5] = "Gskul083"; + OldKeys[6] = "Grenk083"; } override void Draw( int state, double TicFrac ) @@ -145,15 +160,17 @@ Class UnrealHUD : BaseStatusBar UTWeapon(CPlayer.ReadyWeapon).PostRender(lbottom); } - private void DrawNumberOf( int n, double x, double y ) + private void DrawNumberOf( Inventory i, double x, double y ) { - if ( n <= 0 ) return; - CurX = X-4; - CurY = Y+20; - n++; - string itxt = String.Format("%d",n); + if ( i.Amount <= 1 ) return; + double TempX = CurX, TempY = CurY; + string itxt = String.Format("%d",i.Amount); + CurX += 30; + CurY += 23; CurX -= TinyRedFont.StringWidth(itxt); Screen.DrawText(TinyRedFont,Font.CR_UNTRANSLATED,CurX,CurY,itxt,DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true); + CurX = TempX; + CurY = TempY; } private void DrawIconValue( int n ) @@ -190,8 +207,10 @@ Class UnrealHUD : BaseStatusBar Screen.DrawTexture(IconBase,false,CurX,CurY,DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true); Screen.DrawTexture(i.Icon,false,dx,dy,DTA_VirtualWidthF,dw,DTA_VirtualHeightF,dh,DTA_KeepRatio,true,DTA_TopOffset,0,DTA_LeftOffset,0); } - if ( (i is 'UnrealInventory') && (UnrealInventory(i).DefaultCharge > 0) ) - Screen.DrawTexture(HudLine,false,CurX+2,CurY+29,DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true,DTA_WindowRightF,Min(27.*(UnrealInventory(i).Charge/double(UnrealInventory(i).DefaultCharge)),27.)); + if ( (i is 'UnrealInventory') && (UnrealInventory(i).DefaultCharge > 0) && (UnrealInventory(i).Charge < UnrealInventory(i).DefaultCharge) ) + Screen.DrawTexture(HudLine,false,CurX+2,CurY+29,DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true,DTA_WindowRightF,Min(28.*(UnrealInventory(i).Charge/double(UnrealInventory(i).DefaultCharge)),28.)); + else if ( (i is 'UTArmor') && !HudMode ) + Screen.DrawTexture(HudLine,false,CurX+2,CurY+29,DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true,DTA_WindowRightF,Min(28.*(i.Amount/double(i.MaxAmount)),28.)); } private void DrawFragCount( double x, double y ) @@ -347,7 +366,7 @@ Class UnrealHUD : BaseStatusBar { bRed = ((Prev is 'UnrealInventory') && UnrealInventory(Prev).bActive) || (Prev is 'Powerup') || ((Prev is 'UTranslator') && bFlashTranslator); DrawHudIcon(x,y,Prev,bRed); - if ( Prev.MaxAmount > 1 ) DrawNumberOf(Prev.Amount,x,y); + if ( Prev.MaxAmount > 1 ) DrawNumberOf(Prev,x,y); } bRed = ((SelectedItem is 'UnrealInventory') && UnrealInventory(SelectedItem).bActive) || (SelectedItem is 'Powerup') || ((SelectedItem is 'UTranslator') && bFlashTranslator); if ( !Next && !Prev && !bDrawOne ) DrawHudIcon(x+64,y,SelectedItem,bRed); @@ -355,13 +374,13 @@ Class UnrealHUD : BaseStatusBar CurX = x+32; if ( !Next && !Prev && !bDrawOne ) CurX = x+64; CurY = y; - Screen.DrawTexture(IconSel,false,CurX,CurY,DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true); - if ( SelectedItem.MaxAmount > 1 ) DrawNumberOf(SelectedItem.Amount,CurX,y); + Screen.DrawTexture(IconSel,false,CurX,CurY,DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true,DTA_Alpha,0.5); + if ( SelectedItem.MaxAmount > 1 ) DrawNumberOf(SelectedItem,CurX,y); if ( Next ) { bRed = ((Next is 'UnrealInventory') && UnrealInventory(Next).bActive) || (Next is 'Powerup') || ((Next is 'UTranslator') && bFlashTranslator); DrawHudIcon(x+64,y,Next,bRed); - if ( Next.MaxAmount > 1 ) DrawNumberOf(Next.Amount,x+64,y); + if ( Next.MaxAmount > 1 ) DrawNumberOf(Next,x+64,y); } } @@ -380,8 +399,10 @@ Class UnrealHUD : BaseStatusBar if ( !bDrawOne ) { DrawHudIcon(CurX,y,Inv,false); - DrawIconValue(Inv.Amount); CurX += 32; + CurY += HudMode?29:27; + DrawIconValue(Inv.Amount); + CurY -= HudMode?29:27; } else if ( UTArmor(Inv).absorb > CurAbs ) { @@ -392,11 +413,13 @@ Class UnrealHUD : BaseStatusBar if ( bDrawOne && BestArmor ) { DrawHudIcon(CurX,Y,BestArmor,false); - DrawIconValue(BestArmor.Amount); CurX += 32; + CurY += HudMode?29:27; + DrawIconValue(BestArmor.Amount); + CurY -= HudMode?29:27; } if ( (ArmorAmount > 0) && !HudMode ) - Screen.DrawText(LargeFont,Font.CR_UNTRANSLATED,CurX,Y,String.Format("%d",ArmorAmount),DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true); + Screen.DrawText(LargeFont,Font.CR_UNTRANSLATED,CurX+2,Y,String.Format("%d",ArmorAmount),DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true); } private void DrawAmmo( double x, double y ) @@ -426,7 +449,7 @@ Class UnrealHUD : BaseStatusBar CurX = X+2; CurY = Y+29; if ( (HudMode != 1) && (HudMode != 2) && (HudMode != 4) ) - Screen.DrawTexture(HudLine,false,CurX,CurY,DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true,DTA_WindowRightF,Min(27.*(CPlayer.ReadyWeapon.Ammo1.Amount/double(CPlayer.ReadyWeapon.Ammo1.MaxAmount)),27.)); + Screen.DrawTexture(HudLine,false,CurX,CurY,DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true,DTA_WindowRightF,Min(28.*(CPlayer.ReadyWeapon.Ammo1.Amount/double(CPlayer.ReadyWeapon.Ammo1.MaxAmount)),28.)); // TODO secondary ammo display } @@ -441,11 +464,11 @@ Class UnrealHUD : BaseStatusBar CurY += 29; DrawIconValue(Max(0,CPlayer.mo.Health)); CurY -= 29; - if ( !HudMode ) Screen.DrawText(cfont,Font.CR_UNTRANSLATED,CurX,CurY,String.Format("%d",Max(0,CPlayer.mo.Health)),DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true); + if ( !HudMode ) Screen.DrawText(cfont,Font.CR_UNTRANSLATED,CurX+2,CurY,String.Format("%d",Max(0,CPlayer.mo.Health)),DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true); CurX = X+2; CurY = Y+29; if ( (HudMode != 1) && (HudMode != 2) && (HudMode != 4) ) - Screen.DrawTexture(HudLine,false,CurX,CurY,DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true,DTA_WindowRightF,Min(27.*(CPlayer.mo.Health/double(CPlayer.mo.SpawnHealth())),27.)); + Screen.DrawTexture(HudLine,false,CurX,CurY,DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true,DTA_WindowRightF,Min(28.*(CPlayer.mo.Health/double(CPlayer.mo.SpawnHealth())),28.)); } private void DrawIdentifyInfo() @@ -470,9 +493,25 @@ Class UnrealHUD : BaseStatusBar } } - private void DrawKeys( double x, double y ) + private void DrawKeys( double x, double y, bool leftright = false ) { - // TODO draws the key icons from right to left, bottom to top + if ( deathmatch ) return; // no need to draw in DM + if ( gameinfo.gametype&(GAME_Hexen|GAME_Strife) ) return; // no key display for these ATM (will do eventually) + CurX = x; + CurY = y; + int cnt = 0; + for ( int i=0; i<6; i++ ) + { + if ( !CPlayer.mo.CheckKeys(i+1,false,true) ) continue; + Screen.DrawTexture(KeyIcons[((i==0)&&(gameinfo.gametype&GAME_Heretic))?6:i],false,CurX,CurY,DTA_VirtualWidthF,ClipX,DTA_VirtualHeightF,ClipY,DTA_KeepRatio,true); + cnt++; + if ( !(cnt%3) ) + { + CurX = x; + CurY -= 16; + } + else CurX += leftright?16:-16; + } } private void DrawUnrealHUD() @@ -499,13 +538,20 @@ Class UnrealHUD : BaseStatusBar else if ( HudMode == 3 ) DrawInventory(ClipX-96,ClipY-64); else if ( HudMode == 4 ) DrawInventory(ClipX-64,ClipY-64,true); else if ( HudMode == 2 ) DrawInventory(ClipX/2-64,ClipY-32); - // Display Frag count - if ( HudMode < 3 ) DrawFragCount(ClipX-32,ClipY-64); - else if ( HudMode == 3 ) DrawFragCount(0,ClipY-64); - else if ( HudMode == 4 ) DrawFragCount(0,ClipY-32); - // Display Keys - if ( HudMode < 3 ) DrawKeys(ClipX-32,ClipY-32); - else if ( HudMode < 6 ) DrawKeys(ClipX,ClipY-32); + if ( deathmatch ) + { + // Display Frag count + if ( HudMode < 3 ) DrawFragCount(ClipX-32,ClipY-64); + else if ( HudMode == 3 ) DrawFragCount(0,ClipY-64); + else if ( HudMode == 4 ) DrawFragCount(0,ClipY-32); + } + else + { + // Display Keys + if ( HudMode < 3 ) DrawKeys(ClipX-(deathmatch?48:16),ClipY-48); + else if ( HudMode == 3 ) DrawKeys(deathmatch?32:0,ClipY-48,true); + else if ( HudMode == 4 ) DrawKeys(deathmatch?32:0,ClipY-16,true); + } // Display Identification Info DrawIdentifyInfo(); } @@ -515,6 +561,7 @@ Class UnrealHUD : BaseStatusBar // 0.83 status bar, just for funsies DrawImage("Bar083",(0,336),DI_ITEM_OFFSETS); static const float slotofs[] = {525, 84, 128, 173, 216, 259, 349, 392, 436, 481}; + static const float keyofs[] = {187, 211, 235, 379, 403, 427}; for ( int i=0; i<10; i++ ) { if ( !CPlayer.HasWeaponsInSlot(i) ) continue; @@ -557,20 +604,27 @@ Class UnrealHUD : BaseStatusBar break; } } + for ( int i=0; i<6; i++ ) + { + if ( !CPlayer.mo.CheckKeys(i+1,false,true) ) continue; + DrawImage(OldKeys[((i==0)&&(gameinfo.gametype&GAME_Heretic))?6:i],(keyofs[i],366),DI_ITEM_OFFSETS); + } + if ( HudMode > 5 ) return; + // Draw frags in DM + if ( deathmatch ) DrawFragCount(ClipX-32,0); // Need to draw the inventory bar (and translator) - if ( ClipX < 320 ) HudMode = 4; - DrawInventory(ClipX-96,0,false,true); + DrawInventory(ClipX-(deathmatch?128:96),0,false,true); } override void Tick() { Super.Tick(); + CPlayer.inventorytics = 0; vtracer.ignore = CPlayer.mo; vtracer.trace(CPlayer.mo.Vec2OffsetZ(0,0,CPlayer.viewz),CPlayer.mo.CurSector,(cos(CPlayer.mo.angle)*cos(CPlayer.mo.pitch),sin(CPlayer.mo.angle)*cos(CPlayer.mo.pitch),-sin(CPlayer.mo.pitch)),1000,0); if ( vtracer.Results.HitType != TRACE_HitActor ) return; lastseen = vtracer.Results.HitActor; lastseentic = gametic; - CPlayer.inventorytics = 0; } override void DrawAutomapHUD( double ticFrac ) @@ -590,17 +644,8 @@ Class UnrealHUD : BaseStatusBar [tmp,tmp,hres] = StatusbarToRealCoords(0,0,HorizontalResolution); double swidth = 0; double ltop = 0, rtop = 0; - if ( HudMode < 2 ) - { - for ( Inventory Inv=CPlayer.mo.Inv; Inv; Inv=Inv.Inv ) - { - if ( !(Inv is 'UTArmor') ) continue; - if ( (Inv.Amount <= 0) || Inv.Icon.IsNull() ) continue; - rtop += 64*scalev.y; - break; - } - if ( CPlayer.mo.InvSel ) ltop += 64*scalev.y; - } + if ( (HudMode < 6) && CPlayer.mo.InvSel ) + rtop += (32*scalev.y)/scale.Y; int protrusion = GetProtrusion(swidth/hres); [tmp,tmp,hres] = StatusbarToRealCoords(0,0,protrusion); width += int((swidth-hres)/scale.X); diff --git a/zscript/upowerups.zsc b/zscript/upowerups.zsc index 78e8f69..be09eec 100644 --- a/zscript/upowerups.zsc +++ b/zscript/upowerups.zsc @@ -18,6 +18,23 @@ Class Amplifier : UnrealInventory Class UJumpBoots : UnrealInventory { + override void PostBeginPlay() + { + Super.PostBeginPlay(); + // detect hurtfloors + // can't detect terraindef-based damage + // this is currently an engine limitation + bool foundslime = false; + bool foundlava = false; + for ( int i=0; i