diff --git a/animdefs.txt b/animdefs.txt index ffeb9c3..265161e 100644 --- a/animdefs.txt +++ b/animdefs.txt @@ -5,3 +5,18 @@ texture static1 pic static2 tics 1 pic static3 tics 1 pic static4 tics 1 +texture FIZZHP00 + pic FIZZHP00 tics 8 + pic FIZZHP01 tics 8 + pic FIZZHP02 tics 8 + pic FIZZHP03 tics 8 +texture FIZZHP10 + pic FIZZHP10 tics 8 + pic FIZZHP11 tics 8 + pic FIZZHP12 tics 8 + pic FIZZHP13 tics 8 +texture FIZZHP20 + pic FIZZHP20 tics 8 + pic FIZZHP21 tics 8 + pic FIZZHP22 tics 8 + pic FIZZHP23 tics 8 diff --git a/brightmaps/AmmoLedBase.png b/brightmaps/AmmoLedBase.png deleted file mode 100644 index 11df66c..0000000 Binary files a/brightmaps/AmmoLedBase.png and /dev/null differ diff --git a/brightmaps/FlakAmmoLEDBase.png b/brightmaps/FlakAmmoLEDBase.png deleted file mode 100644 index 598641d..0000000 Binary files a/brightmaps/FlakAmmoLEDBase.png and /dev/null differ diff --git a/brightmaps/Fullbright.png b/brightmaps/Fullbright.png new file mode 100644 index 0000000..04425e3 Binary files /dev/null and b/brightmaps/Fullbright.png differ diff --git a/brightmaps/Jhbox1.png b/brightmaps/Jhbox1.png new file mode 100644 index 0000000..9ba6683 Binary files /dev/null and b/brightmaps/Jhbox1.png differ diff --git a/brightmaps/bossheadT.png b/brightmaps/bossheadT.png new file mode 100644 index 0000000..40d992f Binary files /dev/null and b/brightmaps/bossheadT.png differ diff --git a/cvarinfo.txt b/cvarinfo.txt index cc2c7d6..7783634 100644 --- a/cvarinfo.txt +++ b/cvarinfo.txt @@ -1 +1,5 @@ user bool flak_protomenu = false; +server bool flak_betaudamage = false; +server bool flak_pulsereload = false; +server bool flak_enforcerreload = false; +user bool flak_redeemerreadout = true; diff --git a/decaldef.txt b/decaldef.txt index 0747584..c73d6f7 100644 --- a/decaldef.txt +++ b/decaldef.txt @@ -114,4 +114,14 @@ decal BigBlast randomflipy x-scale 1.5 y-scale 1.5 -} \ No newline at end of file +} + +decal BoltScorch +{ + pic energymk + shade "00 00 00" + randomflipx + randomflipy + x-scale 0.15 + y-scale 0.15 +} diff --git a/gldefs.txt b/gldefs.txt index dc082dd..3b5e0ab 100644 --- a/gldefs.txt +++ b/gldefs.txt @@ -2,6 +2,62 @@ HardwareShader Texture "models/Jgreen.png" { Shader "shaders/glsl/MeshEnviroMap.fp" } +Brightmap Texture "FIZZHP00" +{ + Map "brightmaps/fullbright.png" +} +Brightmap Texture "FIZZHP01" +{ + Map "brightmaps/fullbright.png" +} +Brightmap Texture "FIZZHP02" +{ + Map "brightmaps/fullbright.png" +} +Brightmap Texture "FIZZHP03" +{ + Map "brightmaps/fullbright.png" +} +Brightmap Texture "FIZZHP10" +{ + Map "brightmaps/fullbright.png" +} +Brightmap Texture "FIZZHP11" +{ + Map "brightmaps/fullbright.png" +} +Brightmap Texture "FIZZHP12" +{ + Map "brightmaps/fullbright.png" +} +Brightmap Texture "FIZZHP13" +{ + Map "brightmaps/fullbright.png" +} +Brightmap Texture "FIZZHP20" +{ + Map "brightmaps/fullbright.png" +} +Brightmap Texture "FIZZHP21" +{ + Map "brightmaps/fullbright.png" +} +Brightmap Texture "FIZZHP22" +{ + Map "brightmaps/fullbright.png" +} +Brightmap Texture "FIZZHP23" +{ + Map "brightmaps/fullbright.png" +} +Brightmap Texture "models/jhbox1.png" +{ + Map "brightmaps/jhbox1.png" +} +Brightmap Texture "models/bossheadT.png" +{ + Map "brightmaps/bossheadT.png" +} Brightmap Texture "models/JBRifle2.png" { Map "brightmaps/JBRifle2.png" @@ -72,9 +128,9 @@ Brightmap Texture "models/JPulsePickup_01.png" } Brightmap Texture "models/AmmoLedBase.png" { - Map "brightmaps/AmmoLedBase.png" + Map "brightmaps/fullbright.png" } Brightmap Texture "models/FlakAmmoLEDBase.png" { - Map "brightmaps/FlakAmmoLEDBase.png" -} \ No newline at end of file + Map "brightmaps/fullbright.png" +} diff --git a/modeldef.txt b/modeldef.txt index e527048..8616a06 100644 --- a/modeldef.txt +++ b/modeldef.txt @@ -1,3 +1,113 @@ +//============================================================================= +// ITEMS +//============================================================================= + +Model "UTHealthPack" +{ + Path "models" + Model 0 "hbox_d.3d" + SurfaceSkin 0 0 "jhbox1.png" + SurfaceSkin 0 1 "FIZZHP00" + Scale -0.2 0.2 0.2 + AngleOffset 90 + ZOffset 14 + + FrameIndex HBOX A 0 0 +} + +Model "UTHealthBox" +{ + Path "models" + Model 0 "hboxbeta_d.3d" + SurfaceSkin 0 0 "jhboxbeta1.png" + SurfaceSkin 0 1 "FIZZHP10" + SurfaceSkin 0 2 "FIZZHP10" + Scale -0.096 0.08 0.08 + PitchOffset 90 + ZOffset 4 + + FrameIndex HBOX B 0 0 +} + +Model "UTMedBox" +{ + Path "models" + Model 0 "MedBox_d.3d" + SurfaceSkin 0 0 "JMedBox1.png" + SurfaceSkin 0 1 "FIZZHP10" + Scale -0.072 0.06 0.06 + PitchOffset 90 + ZOffset 5 + + FrameIndex HBOX C 0 0 +} + +Model "UTHealthBonus" +{ + Path "models" + Model 0 "Vial_d.3d" + SurfaceSkin 0 0 "JVial0.png" + SurfaceSkin 0 1 "FIZZHP20" + SurfaceSkin 0 2 "FIZZHP20" + Scale -0.048 0.04 0.04 + PitchOffset 90 + ZOffset 8 + DONTCULLBACKFACES + + FrameIndex VIAL A 0 0 +} + +Model "UTArmorBonus" +{ + Path "models" + Model 0 "bossheadm_d.3d" + Skin 0 "bossheadT.png" + Scale -0.072 0.072 0.06 + AngleOffset 180 + PitchOffset 110 + ZOffset 6 + + FrameIndex XANH A 0 0 +} + +Model "UTThighPads" +{ + Path "models" + Model 0 "ThighPads_d.3d" + Skin 0 "JThighPads_01.png" + Scale -0.096 0.08 0.08 + PitchOffset 90 + ZOffset 12 + ROTATING + + FrameIndex THIG A 0 0 +} + +Model "UTBodyArmor" +{ + Path "models" + Model 0 "Armor2M_d.3d" + Skin 0 "Jarmor2.png" + Scale -0.134 0.134 0.12 + PitchOffset 90 + ZOffset 12 + + FrameIndex UARM A 0 0 +} + +Model "UTShieldBelt" +{ + Path "models" + Model 0 "ShieldBeltMeshM_d.3d" + Skin 0 "AUbelt1.png" + Scale -0.12 0.1 0.1 + AngleOffset 180 + PitchOffset 90 + ZOffset 4 + + FrameIndex BELT A 0 0 +} + //============================================================================= // GES BIORIFLE //============================================================================= @@ -7,7 +117,8 @@ Model "BioAmmo" Path "models" Model 0 "BioAmmoM_d.3d" Skin 0 "Jbammo1.png" - Scale -0.08 0.08 0.08 + Scale -0.08 0.096 0.08 + AngleOffset 270 ZOffset 4 FrameIndex BIOA A 0 0 @@ -18,7 +129,7 @@ Model "BioGel" Path "models" Model 0 "BioGelm_d.3d" Skin 0 "Jgreen.png" - Scale 0.08 0.08 0.08 + Scale 0.08 0.096 0.08 RollOffset 90 USEACTORPITCH USEACTORROLL @@ -90,7 +201,7 @@ Model "BioSplash" Path "models" Model 0 "BioGelm_d.3d" Skin 0 "Jgreen.png" - Scale 0.08 0.08 0.08 + Scale 0.08 0.096 0.08 RollOffset 90 USEACTORPITCH USEACTORROLL @@ -162,7 +273,7 @@ Model "BioGlob" Path "models" Model 0 "BioGelm_d.3d" Skin 0 "Jgreen.png" - Scale 0.08 0.08 0.08 + Scale 0.08 0.096 0.08 RollOffset 90 USEACTORPITCH USEACTORROLL @@ -234,8 +345,9 @@ Model "BioRifle" Path "models" Model 1 "BRifle2Pick_d.3d" Skin 1 "JBRifle2.png" - Scale -0.1 0.1 0.1 + Scale -0.1 0.12 0.1 PitchOffset 90 + AngleOffset 270 ZOffset 12 ROTATING @@ -247,8 +359,9 @@ Model "BioRifle" Path "models" Model 1 "BRifle2Pick_d.3d" Skin 1 "JBRifle2.png" - Scale -0.1 0.1 0.1 + Scale -0.1 0.12 0.1 PitchOffset 90 + AngleOffset 270 ZOffset 12 FrameIndex BIOP B 1 0 @@ -362,7 +475,7 @@ Model "ShockAmmo" Model 0 "ShockCoreM_d.3d" Skin 0 "JShockCore.png" PitchOffset 90 - Scale -0.11 0.11 0.11 + Scale -0.132 0.11 0.11 ZOffset 12 FrameIndex SHOA A 0 0 @@ -518,7 +631,7 @@ Model "PulseAmmo" Path "models" Model 0 "PAmmo_d.3d" Skin 0 "JPammo_01.png" - Scale -0.08 0.06 0.06 + Scale -0.072 0.06 0.06 PitchOffset 90 ZOffset 6 @@ -532,7 +645,7 @@ Model "PulseGun" Skin 1 "JPulsePickup_01.png" AngleOffset 270 PitchOffset 90 - Scale -0.16 0.2 0.16 + Scale -0.16 0.192 0.16 ZOffset 12 ROTATING @@ -545,7 +658,7 @@ Model "PulseGun" Skin 1 "JPulsePickup_01.png" AngleOffset 270 PitchOffset 90 - Scale -0.16 0.2 0.16 + Scale -0.16 0.192 0.16 ZOffset 12 FrameIndex PGNP B 1 0 @@ -778,7 +891,7 @@ Model "FlakAmmo" Model 0 "flakammom_d.3d" Skin 0 "jfa1.png" PitchOffset 90 - Scale 0.1 0.1 0.1 + Scale 0.12 0.1 0.1 ZOffset 4 FrameIndex FAMO A 0 0 @@ -790,7 +903,7 @@ Model "FlakAmmo2" Model 0 "flakslugm_d.3d" Skin 0 "jflakslugel1.png" PitchOffset 90 - Scale 0.04 0.04 0.04 + Scale 0.048 0.04 0.04 ZOffset 2 FrameIndex FSLG A 0 0 @@ -802,7 +915,7 @@ Model "FlakSlug" Model 0 "flakslugm_d.3d" Skin 0 "jflakslugel1.png" RollOffset 90 - Scale 0.04 0.04 0.04 + Scale 0.048 0.04 0.04 PITCHFROMMOMENTUM FrameIndex FSLG A 0 0 @@ -1395,7 +1508,7 @@ Model "FlakCannon" Skin 1 "flak_t.png" AngleOffset 90 PitchOffset 90 - Scale 0.14 0.18 0.14 + Scale 0.14 0.168 0.14 Offset 0 -18.9 0 ZOffset 12 ROTATING @@ -1409,7 +1522,7 @@ Model "FlakCannon" Skin 1 "flak_t.png" AngleOffset 90 PitchOffset 90 - Scale 0.14 0.18 0.14 + Scale 0.14 0.168 0.14 Offset 0 -18.9 0 ZOffset 12 @@ -1535,7 +1648,7 @@ Model "WarheadAmmo" Path "models" Model 0 "missile_d.3d" Skin 0 "jmissile_01.png" - Scale -0.2 0.2 0.2 + Scale -0.21 0.2 0.2 PitchOffset 90 ZOffset 21 @@ -1557,7 +1670,7 @@ Model "WarShell" Path "models" Model 0 "missile_d.3d" Skin 0 "jmissile_01.png" - Scale -0.2 0.2 0.2 + Scale -0.21 0.2 0.2 Offset -13 0 0 AngleOffset 180 USEACTORPITCH @@ -1570,7 +1683,7 @@ Model "GuidedWarShell" Path "models" Model 0 "missile_d.3d" Skin 0 "jmissile_01.png" - Scale -0.2 0.2 0.2 + Scale -0.21 0.2 0.2 Offset -13 0 0 AngleOffset 180 USEACTORPITCH @@ -1611,7 +1724,7 @@ Model "WarheadLauncher" SurfaceSkin 0 1 "jwarhead2.png" SurfaceSkin 0 2 "jwarhead3.png" SurfaceSkin 0 3 "jwarhead4.png" - Scale 0.1 0.05 0.1 + Scale 0.1 0.06 0.1 PitchOffset 2.8125 RollOffset 22.5 Offset 4.5 -7.8 -4.2 diff --git a/models/AToxSuit1.png b/models/AToxSuit1.png new file mode 100644 index 0000000..b6ff333 Binary files /dev/null and b/models/AToxSuit1.png differ diff --git a/models/AUbelt1.png b/models/AUbelt1.png new file mode 100644 index 0000000..8387d89 Binary files /dev/null and b/models/AUbelt1.png differ diff --git a/models/Armor2M_a.3d b/models/Armor2M_a.3d new file mode 100644 index 0000000..ec9462b Binary files /dev/null and b/models/Armor2M_a.3d differ diff --git a/models/Armor2M_d.3d b/models/Armor2M_d.3d new file mode 100644 index 0000000..09c0e0b Binary files /dev/null and b/models/Armor2M_d.3d differ diff --git a/models/GoldSkin2.png b/models/GoldSkin2.png new file mode 100644 index 0000000..3c5fdf0 Binary files /dev/null and b/models/GoldSkin2.png differ diff --git a/models/JMedBox1.png b/models/JMedBox1.png new file mode 100644 index 0000000..916eabb Binary files /dev/null and b/models/JMedBox1.png differ diff --git a/models/JTele2_01.png b/models/JTele2_01.png new file mode 100644 index 0000000..2b09b0d Binary files /dev/null and b/models/JTele2_01.png differ diff --git a/models/JThighPads_01.png b/models/JThighPads_01.png new file mode 100644 index 0000000..fe32521 Binary files /dev/null and b/models/JThighPads_01.png differ diff --git a/models/JVial0.png b/models/JVial0.png new file mode 100644 index 0000000..7635dcc Binary files /dev/null and b/models/JVial0.png differ diff --git a/models/Jarmor2.png b/models/Jarmor2.png new file mode 100644 index 0000000..afb59eb Binary files /dev/null and b/models/Jarmor2.png differ diff --git a/models/Jhbox1.png b/models/Jhbox1.png new file mode 100644 index 0000000..a8a3caa Binary files /dev/null and b/models/Jhbox1.png differ diff --git a/models/Jhboxbeta1.png b/models/Jhboxbeta1.png new file mode 100644 index 0000000..e6e1aa5 Binary files /dev/null and b/models/Jhboxbeta1.png differ diff --git a/models/Jlboot2.png b/models/Jlboot2.png new file mode 100644 index 0000000..dbbbace Binary files /dev/null and b/models/Jlboot2.png differ diff --git a/models/Judamage1.png b/models/Judamage1.png new file mode 100644 index 0000000..d5dce46 Binary files /dev/null and b/models/Judamage1.png differ diff --git a/models/MedBox_a.3d b/models/MedBox_a.3d new file mode 100644 index 0000000..3a4a4c4 Binary files /dev/null and b/models/MedBox_a.3d differ diff --git a/models/MedBox_d.3d b/models/MedBox_d.3d new file mode 100644 index 0000000..ebc4453 Binary files /dev/null and b/models/MedBox_d.3d differ diff --git a/models/PBolt_a.3d b/models/PBolt_a.3d deleted file mode 100644 index 6a726c3..0000000 Binary files a/models/PBolt_a.3d and /dev/null differ diff --git a/models/PBolt_d.3d b/models/PBolt_d.3d deleted file mode 100644 index b63b0d1..0000000 Binary files a/models/PBolt_d.3d and /dev/null differ diff --git a/models/ShieldBeltMeshM_a.3d b/models/ShieldBeltMeshM_a.3d new file mode 100644 index 0000000..72a2866 Binary files /dev/null and b/models/ShieldBeltMeshM_a.3d differ diff --git a/models/ShieldBeltMeshM_d.3d b/models/ShieldBeltMeshM_d.3d new file mode 100644 index 0000000..6123f01 Binary files /dev/null and b/models/ShieldBeltMeshM_d.3d differ diff --git a/models/Tele2_a.3d b/models/Tele2_a.3d new file mode 100644 index 0000000..e7ad51a Binary files /dev/null and b/models/Tele2_a.3d differ diff --git a/models/Tele2_d.3d b/models/Tele2_d.3d new file mode 100644 index 0000000..be54aad Binary files /dev/null and b/models/Tele2_d.3d differ diff --git a/models/ThighPads_a.3d b/models/ThighPads_a.3d new file mode 100644 index 0000000..fff8638 Binary files /dev/null and b/models/ThighPads_a.3d differ diff --git a/models/ThighPads_d.3d b/models/ThighPads_d.3d new file mode 100644 index 0000000..9a4db29 Binary files /dev/null and b/models/ThighPads_d.3d differ diff --git a/models/ToxSuit_a.3d b/models/ToxSuit_a.3d new file mode 100644 index 0000000..c04f410 Binary files /dev/null and b/models/ToxSuit_a.3d differ diff --git a/models/ToxSuit_d.3d b/models/ToxSuit_d.3d new file mode 100644 index 0000000..eff50bc Binary files /dev/null and b/models/ToxSuit_d.3d differ diff --git a/models/UDamage_a.3d b/models/UDamage_a.3d new file mode 100644 index 0000000..6d33844 Binary files /dev/null and b/models/UDamage_a.3d differ diff --git a/models/UDamage_d.3d b/models/UDamage_d.3d new file mode 100644 index 0000000..fdda524 Binary files /dev/null and b/models/UDamage_d.3d differ diff --git a/models/Vial_a.3d b/models/Vial_a.3d new file mode 100644 index 0000000..b7aad15 Binary files /dev/null and b/models/Vial_a.3d differ diff --git a/models/Vial_d.3d b/models/Vial_d.3d new file mode 100644 index 0000000..f13ccbf Binary files /dev/null and b/models/Vial_d.3d differ diff --git a/models/bossheadT.png b/models/bossheadT.png new file mode 100644 index 0000000..8868bdd Binary files /dev/null and b/models/bossheadT.png differ diff --git a/models/bossheadm_a.3d b/models/bossheadm_a.3d new file mode 100644 index 0000000..2b3d202 Binary files /dev/null and b/models/bossheadm_a.3d differ diff --git a/models/bossheadm_d.3d b/models/bossheadm_d.3d new file mode 100644 index 0000000..8c31e65 Binary files /dev/null and b/models/bossheadm_d.3d differ diff --git a/models/hbox_a.3d b/models/hbox_a.3d new file mode 100644 index 0000000..1ee678d Binary files /dev/null and b/models/hbox_a.3d differ diff --git a/models/hbox_d.3d b/models/hbox_d.3d new file mode 100644 index 0000000..cfc4aa5 Binary files /dev/null and b/models/hbox_d.3d differ diff --git a/models/hboxbeta_a.3d b/models/hboxbeta_a.3d new file mode 100644 index 0000000..9e209f7 Binary files /dev/null and b/models/hboxbeta_a.3d differ diff --git a/models/hboxbeta_d.3d b/models/hboxbeta_d.3d new file mode 100644 index 0000000..a710dbb Binary files /dev/null and b/models/hboxbeta_d.3d differ diff --git a/models/jinvis.png b/models/jinvis.png new file mode 100644 index 0000000..de15764 Binary files /dev/null and b/models/jinvis.png differ diff --git a/models/pbolt0.png b/models/pbolt0.png deleted file mode 100644 index 974f8b3..0000000 Binary files a/models/pbolt0.png and /dev/null differ diff --git a/models/pbolt1.png b/models/pbolt1.png deleted file mode 100644 index 50fb947..0000000 Binary files a/models/pbolt1.png and /dev/null differ diff --git a/models/pbolt2.png b/models/pbolt2.png deleted file mode 100644 index a95be30..0000000 Binary files a/models/pbolt2.png and /dev/null differ diff --git a/models/pbolt3.png b/models/pbolt3.png deleted file mode 100644 index 0815cb2..0000000 Binary files a/models/pbolt3.png and /dev/null differ diff --git a/models/pbolt4.png b/models/pbolt4.png deleted file mode 100644 index 7f98f83..0000000 Binary files a/models/pbolt4.png and /dev/null differ diff --git a/models/sbolt0.png b/models/sbolt0.png deleted file mode 100644 index 9cd63fc..0000000 Binary files a/models/sbolt0.png and /dev/null differ diff --git a/models/sbolt1.png b/models/sbolt1.png deleted file mode 100644 index e7f6dd6..0000000 Binary files a/models/sbolt1.png and /dev/null differ diff --git a/models/sbolt2.png b/models/sbolt2.png deleted file mode 100644 index 6dff186..0000000 Binary files a/models/sbolt2.png and /dev/null differ diff --git a/models/sbolt3.png b/models/sbolt3.png deleted file mode 100644 index b02be44..0000000 Binary files a/models/sbolt3.png and /dev/null differ diff --git a/models/sbolt4.png b/models/sbolt4.png deleted file mode 100644 index 0f34cc8..0000000 Binary files a/models/sbolt4.png and /dev/null differ diff --git a/readme.txt b/readme.txt index c5de533..d1a5e93 100644 --- a/readme.txt +++ b/readme.txt @@ -9,10 +9,23 @@ Currently implemented: - ASMD Shock Rifle (slot 4) - Redeemer (slot 0) - GES Biorifle (slot 3) + - Pulsegun (slot 5) (with beta animations) + - Big Keg O' Health (soulsphere) + - Beta Super Health (medkit) + - Health Pack (stimpak) + - Health Vial (health bonus) In progress: - - Pulsegun (slot 5) (with beta animations) + - Something to replace armor bonus (armor bonus) + - Thigh Pads (green armor) + - Body Armor (blue armor) + - Shield Belt (megasphere) + - Damage Amplifier (invulnerability sphere) + - Invisibility (blursphere) + - Searchlight (light amplification visor) + - Jump Boots (berserk) + - Toxin Suit (radsuit) To be done: @@ -26,15 +39,4 @@ To be done: - Rocket Launcher (slot 9) - Sniper Rifle (slot 0) - - Health Vial (bonus) - - Health Pack (stimpak) - - Beta Super Health (medkit) - - Big Keg O' Health (soulsphere) - - Thigh Pads (green armor) - - Body Armor (blue armor) - - Shield Belt (megasphere) - - Damage Amplifier (berserk) - - Invisibility (blursphere) - - Jump Boots (light amplification visor) - - Toxin Suit (radsuit) - ... maybe more diff --git a/sndinfo.txt b/sndinfo.txt index d07a66d..fa37fcc 100644 --- a/sndinfo.txt +++ b/sndinfo.txt @@ -1,9 +1,33 @@ +misc/secret CapSound misc/i_pkup ammopick +misc/k_pkup ammosnd misc/w_pkup weaponpk +misc/p_pkup genpicks misc/spawn RespSnd2 +misc/chat NewBeep +misc/chat2 NewBeep +misc/teleport Resp2A +$pitchshift misc/secret 0 $pitchshift misc/i_pkup 0 +$pitchshift misc/k_pkup 0 $pitchshift misc/w_pkup 0 +$pitchshift misc/p_pkup 0 $pitchshift misc/spawn 0 +$pitchshift misc/chat 0 +$pitchshift misc/chat2 0 +$pitchshift misc/teleport 0 +misc/ut_keg UTSuperH +misc/ut_heal UTHealth +misc/ut_shard shardpck +misc/ut_armor ArmorUT +belt/pickup BeltSnd +belt/absorb Sbelthe2 +boot/pickup BootSnd +boot/jump BootJmp +$pitchshift misc/ut_keg 0 +$pitchshift misc/ut_heal 0 +$pitchshift misc/ut_shard 0 +$pitchshift misc/ut_armor 0 flak/select pdown flak/load hidraul2 diff --git a/sounds/AmmoSnd.wav b/sounds/AmmoSnd.wav new file mode 100644 index 0000000..74c2134 Binary files /dev/null and b/sounds/AmmoSnd.wav differ diff --git a/sounds/AmpFire.wav b/sounds/AmpFire.wav new file mode 100644 index 0000000..a991504 Binary files /dev/null and b/sounds/AmpFire.wav differ diff --git a/sounds/AmpFire2.wav b/sounds/AmpFire2.wav new file mode 100644 index 0000000..dfdd29e Binary files /dev/null and b/sounds/AmpFire2.wav differ diff --git a/sounds/AmpOut.wav b/sounds/AmpOut.wav new file mode 100644 index 0000000..b37e5a4 Binary files /dev/null and b/sounds/AmpOut.wav differ diff --git a/sounds/AmpPckup.wav b/sounds/AmpPckup.wav new file mode 100644 index 0000000..86f5f73 Binary files /dev/null and b/sounds/AmpPckup.wav differ diff --git a/sounds/ArmorUT.wav b/sounds/ArmorUT.wav new file mode 100644 index 0000000..8e6ae58 Binary files /dev/null and b/sounds/ArmorUT.wav differ diff --git a/sounds/BeltSnd.wav b/sounds/BeltSnd.wav new file mode 100644 index 0000000..3658a98 Binary files /dev/null and b/sounds/BeltSnd.wav differ diff --git a/sounds/BootJmp.wav b/sounds/BootJmp.wav new file mode 100644 index 0000000..852eb81 Binary files /dev/null and b/sounds/BootJmp.wav differ diff --git a/sounds/BootSnd.wav b/sounds/BootSnd.wav new file mode 100644 index 0000000..502b4c2 Binary files /dev/null and b/sounds/BootSnd.wav differ diff --git a/sounds/CapSound.wav b/sounds/CapSound.wav new file mode 100644 index 0000000..f85f2b6 Binary files /dev/null and b/sounds/CapSound.wav differ diff --git a/sounds/GenPickS.wav b/sounds/GenPickS.wav new file mode 100644 index 0000000..bd590d1 Binary files /dev/null and b/sounds/GenPickS.wav differ diff --git a/sounds/NewBeep.wav b/sounds/NewBeep.wav new file mode 100644 index 0000000..a95f890 Binary files /dev/null and b/sounds/NewBeep.wav differ diff --git a/sounds/Resp2A.wav b/sounds/Resp2A.wav new file mode 100644 index 0000000..96cd7e3 Binary files /dev/null and b/sounds/Resp2A.wav differ diff --git a/sounds/Sbelthe2.wav b/sounds/Sbelthe2.wav new file mode 100644 index 0000000..9f6dd43 Binary files /dev/null and b/sounds/Sbelthe2.wav differ diff --git a/sounds/UTHealth.wav b/sounds/UTHealth.wav new file mode 100644 index 0000000..0bb9f24 Binary files /dev/null and b/sounds/UTHealth.wav differ diff --git a/sounds/UTSuperH.wav b/sounds/UTSuperH.wav new file mode 100644 index 0000000..a465439 Binary files /dev/null and b/sounds/UTSuperH.wav differ diff --git a/sounds/shardpck.wav b/sounds/shardpck.wav new file mode 100644 index 0000000..782d306 Binary files /dev/null and b/sounds/shardpck.wav differ diff --git a/sprites/PENDA0.png b/sprites/PENDA0.png deleted file mode 100644 index 3a7724c..0000000 Binary files a/sprites/PENDA0.png and /dev/null differ diff --git a/sprites/PENDB0.png b/sprites/PENDB0.png deleted file mode 100644 index c2fc4b1..0000000 Binary files a/sprites/PENDB0.png and /dev/null differ diff --git a/sprites/PENDC0.png b/sprites/PENDC0.png deleted file mode 100644 index 26ea78d..0000000 Binary files a/sprites/PENDC0.png and /dev/null differ diff --git a/sprites/PENDD0.png b/sprites/PENDD0.png deleted file mode 100644 index 2de4ce5..0000000 Binary files a/sprites/PENDD0.png and /dev/null differ diff --git a/sprites/PHITA0.png b/sprites/PHITA0.png deleted file mode 100644 index 2f4b93c..0000000 Binary files a/sprites/PHITA0.png and /dev/null differ diff --git a/sprites/PHITB0.png b/sprites/PHITB0.png deleted file mode 100644 index 80a1dc3..0000000 Binary files a/sprites/PHITB0.png and /dev/null differ diff --git a/sprites/PHITC0.png b/sprites/PHITC0.png deleted file mode 100644 index 89bbf94..0000000 Binary files a/sprites/PHITC0.png and /dev/null differ diff --git a/sprites/PHITD0.png b/sprites/PHITD0.png deleted file mode 100644 index 3108591..0000000 Binary files a/sprites/PHITD0.png and /dev/null differ diff --git a/textures.misc b/textures.misc index 11a0242..fe8c75c 100644 --- a/textures.misc +++ b/textures.misc @@ -1 +1,128 @@ -Sprite "BLOBA0",1,1{} +Texture "FIZZHP00",256,256 +{ + Patch "LAVA1",0,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",64,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",128,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",192,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",0,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",64,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",128,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",192,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",0,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",64,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",128,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",192,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",0,192{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",64,192{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",128,192{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",192,192{Translation "0:255=#[0,0,255]"} +} +Texture "FIZZHP01",256,256 +{ + Patch "LAVA2",0,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",64,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",128,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",192,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",0,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",64,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",128,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",192,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",0,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",64,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",128,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",192,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",0,192{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",64,192{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",128,192{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",192,192{Translation "0:255=#[0,0,255]"} +} +Texture "FIZZHP02",256,256 +{ + Patch "LAVA3",0,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",64,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",128,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",192,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",0,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",64,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",128,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",192,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",0,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",64,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",128,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",192,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",0,192{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",64,192{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",128,192{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",192,192{Translation "0:255=#[0,0,255]"} +} +Texture "FIZZHP03",256,256 +{ + Patch "LAVA4",0,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",64,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",128,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",192,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",0,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",64,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",128,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",192,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",0,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",64,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",128,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",192,128{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",0,192{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",64,192{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",128,192{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",192,192{Translation "0:255=#[0,0,255]"} +} +Texture "FIZZHP10",128,128 +{ + Patch "LAVA1",0,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",64,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",0,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA1",64,64{Translation "0:255=#[0,0,255]"} +} +Texture "FIZZHP11",128,128 +{ + Patch "LAVA2",0,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",64,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",0,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA2",64,64{Translation "0:255=#[0,0,255]"} +} +Texture "FIZZHP12",128,128 +{ + Patch "LAVA3",0,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",64,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",0,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA3",64,64{Translation "0:255=#[0,0,255]"} +} +Texture "FIZZHP13",128,128 +{ + Patch "LAVA4",0,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",64,0{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",0,64{Translation "0:255=#[0,0,255]"} + Patch "LAVA4",64,64{Translation "0:255=#[0,0,255]"} +} +Texture "FIZZHP20",64,64 +{ + Patch "LAVA1",0,0{Translation "0:255=#[0,0,255]"} +} +Texture "FIZZHP21",64,64 +{ + Patch "LAVA2",0,0{Translation "0:255=#[0,0,255]"} +} +Texture "FIZZHP22",64,64 +{ + Patch "LAVA3",0,0{Translation "0:255=#[0,0,255]"} +} +Texture "FIZZHP23",64,64 +{ + Patch "LAVA4",0,0{Translation "0:255=#[0,0,255]"} +} +Sprite "HBOXA0",1,1{} +Sprite "HBOXB0",1,1{} +Sprite "HBOXC0",1,1{} +Sprite "VIALA0",1,1{} +Sprite "XANHA0",1,1{} +Sprite "THIGA0",1,1{} +Sprite "UARMA0",1,1{} +Sprite "BELTA0",1,1{} diff --git a/zscript.txt b/zscript.txt index a064997..7cb7662 100644 --- a/zscript.txt +++ b/zscript.txt @@ -8,3 +8,6 @@ version "3.3" #include "zscript/pulsegun.zsc" #include "zscript/flakcannon.zsc" #include "zscript/warheadlauncher.zsc" +#include "zscript/healitems.zsc" +#include "zscript/armoritems.zsc" +#include "zscript/powerups.zsc" diff --git a/zscript/armoritems.zsc b/zscript/armoritems.zsc new file mode 100644 index 0000000..e9c326e --- /dev/null +++ b/zscript/armoritems.zsc @@ -0,0 +1,89 @@ +Class UTArmorBonus : ArmorBonus replaces ArmorBonus +{ + Default + { + Tag "Armor Bonus"; + Armor.SaveAmount 5; + Inventory.PickupMessage "You picked up an Armor Bonus."; + Inventory.PickupSound "misc/ut_shard"; + } + States + { + Spawn: + XANH A -1; + Stop; + } +} + +// TODO system for separating the 4 armor pickups (like Hexen's, but not as strict) +Class UTArmor : Inventory +{ +} + +Class UTThighPads : BasicArmorPickup replaces GreenArmor +{ + Default + { + Tag "Thigh Pads"; + Armor.SaveAmount 50; + Armor.SavePercent 50; + Inventory.PickupMessage "You got the Thigh Pads."; + Inventory.PickupSound "misc/ut_armor"; + } + States + { + Spawn: + THIG A -1; + Stop; + } +} + +Class UTBodyArmor : BasicArmorPickup replaces BlueArmor +{ + Default + { + Tag "Body Armor"; + Armor.SaveAmount 100; + Armor.SavePercent 75; + Inventory.PickupMessage "You got the Body Armor."; + Inventory.PickupSound "misc/ut_armor"; + } + States + { + Spawn: + UARM A -1; + Stop; + } +} + +Class UTShieldBelt : Inventory replaces Megasphere +{ + override void ModifyDamage( int damage, Name damageType, out int newdamage, bool passive ) + { + if ( !passive || (damage <= 0) ) return; + newdamage = max(0,damage-Amount); + Owner.A_PlaySound("belt/absorb"); + if ( amount-damage <= 0 ) Owner.A_Print("The Shield Belt has depleted."); + Owner.TakeInventory("UTShieldBelt",min(amount,damage)); + } + Default + { + Tag "Shield Belt"; + +COUNTITEM; + +INVENTORY.AUTOACTIVATE; + +Inventory.UNTOSSABLE; + +INVENTORY.ALWAYSPICKUP; + +INVENTORY.BIGPOWERUP; + Inventory.Amount 150; + Inventory.MaxAmount 150; + Inventory.InterHubAmount 150; + Inventory.PickupMessage "You got the Shield Belt."; + Inventory.PickupSound "belt/pickup"; + } + States + { + Spawn: + BELT A -1; + Stop; + } +} diff --git a/zscript/biorifle.zsc b/zscript/biorifle.zsc index 3eec2e8..704b316 100644 --- a/zscript/biorifle.zsc +++ b/zscript/biorifle.zsc @@ -1,3 +1,22 @@ +Class Tier3Ammo : RandomSpawner replaces Shell +{ + Default + { + DropItem "BioAmmo", 255, 1; + DropItem "ShockAmmo", 255, 1; + } +} +Class Tier3Ammo2 : Tier3Ammo replaces ShellBox {} +Class Tier3Weapon : RandomSpawner replaces Shotgun +{ + Default + { + DropItem "BioRifle", 255, 1; + DropItem "ShockRifle", 255, 1; + } +} +Class Tier3Weapon2 : Tier3Weapon replaces SuperShotgun {} + Class BioAmmo : Ammo { Default @@ -372,7 +391,7 @@ Class BioRifle : UTWeapon Vector3 x, y, z; double a, s; [x, y, z] = Matrix4.GetAxes(pitch,angle,roll); - Vector3 origin = pos+(0,0,player.viewheight)+10.0*x+8.0*y-5.0*z; + Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+8.0*y-5.0*z; Actor p; if ( alt ) { diff --git a/zscript/flakcannon.zsc b/zscript/flakcannon.zsc index 1d0afdf..cdac6d6 100644 --- a/zscript/flakcannon.zsc +++ b/zscript/flakcannon.zsc @@ -1,3 +1,29 @@ +Class Tier5Ammo : RandomSpawner replaces RocketAmmo +{ + Default + { + DropItem "FlakAmmo2", 255, 1; + //DropItem "UTRocketAmmo2", 255, 1; + } +} +Class Tier5Ammo2 : RandomSpawner replaces RocketBox +{ + Default + { + DropItem "FlakAmmo", 255, 1; + //DropItem "UTRocketAmmo", 255, 1; + } +} + +Class Tier5Weapon : RandomSpawner replaces RocketLauncher +{ + Default + { + DropItem "FlakCannon", 255, 1; + //DropItem "UTRocketLauncher", 255, 1; + } +} + Class FlakAmmo : Ammo { Default @@ -400,7 +426,7 @@ Class FlakLight : DynamicLight Destroy(); return; } - if ( target.player ) SetOrigin(target.pos+(0,0,target.player.viewheight),true); + if ( target.player ) SetOrigin(target.Vec3Offset(0,0,target.player.viewz-target.pos.z),true); else SetOrigin(target.pos,true); if ( cnt++ > 2 ) Destroy(); } @@ -425,7 +451,7 @@ Class FlakCannon : UTWeapon Vector3 x, y, z; double a, s; [x, y, z] = Matrix4.GetAxes(pitch,angle,roll); - Vector3 origin = pos+(0,0,player.viewheight)+10.0*x+2.0*y-3.0*z; + Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+2.0*y-3.0*z; A_Overlay(-2,"MuzzleFlash"); A_OverlayFlags(-2,PSPF_RENDERSTYLE|PSPF_FORCESTYLE,true); A_OverlayRenderstyle(-2,STYLE_Add); @@ -461,7 +487,7 @@ Class FlakCannon : UTWeapon Vector3 x, y, z; double a, s; [x, y, z] = Matrix4.GetAxes(pitch,angle,roll); - Vector3 origin = pos+(0,0,player.viewheight)+10.0*x+2.0*y-3.0*z; + Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+2.0*y-3.0*z; A_Overlay(-2,"MuzzleFlash"); A_OverlayFlags(-2,PSPF_RENDERSTYLE|PSPF_FORCESTYLE,true); A_OverlayRenderstyle(-2,STYLE_Add); diff --git a/zscript/healitems.zsc b/zscript/healitems.zsc new file mode 100644 index 0000000..c4c0877 --- /dev/null +++ b/zscript/healitems.zsc @@ -0,0 +1,77 @@ +Class UTHealthPack : Health replaces Soulsphere +{ + Default + { + Tag "Big Keg O' Health"; + +COUNTITEM; + +INVENTORY.AUTOACTIVATE; + +INVENTORY.ALWAYSPICKUP; + +INVENTORY.FANCYPICKUPSOUND; + Inventory.Amount 100; + Inventory.MaxAmount 200; + Inventory.PickupMessage "You picked up the Big Keg O' Health."; + Inventory.PickupSound "misc/ut_keg"; + } + States + { + Spawn: + HBOX A -1; + Stop; + } +} + +Class UTHealthBox : Health replaces Medikit +{ + Default + { + Tag "Health Box"; + Inventory.Amount 50; + Inventory.PickupMessage "You picked up a Health Box."; + Health.LowMessage 25,"You picked up a Health Box that you REALLY need!"; + Inventory.PickupSound "misc/ut_heal"; + } + States + { + Spawn: + HBOX B -1; + Stop; + } +} + +Class UTMedBox : Health replaces Stimpack +{ + Default + { + Tag "Health Pack"; + Inventory.Amount 20; + Inventory.PickupMessage "You picked up a Health Pack."; + Inventory.PickupSound "misc/ut_heal"; + } + States + { + Spawn: + HBOX C -1; + Stop; + } +} + +Class UTHealthBonus : Health replaces HealthBonus +{ + Default + { + Tag "Health Vial"; + +COUNTITEM; + +INVENTORY.ALWAYSPICKUP; + Inventory.Amount 5; + Inventory.MaxAmount 200; + Inventory.PickupMessage "You picked up a Health Vial."; + Inventory.PickupSound "misc/ut_heal"; + RenderStyle "Add"; + } + States + { + Spawn: + VIAL A -1; + Stop; + } +} \ No newline at end of file diff --git a/zscript/powerups.zsc b/zscript/powerups.zsc new file mode 100644 index 0000000..e69de29 diff --git a/zscript/pulsegun.zsc b/zscript/pulsegun.zsc index 3e85d46..87ce2cc 100644 --- a/zscript/pulsegun.zsc +++ b/zscript/pulsegun.zsc @@ -1,3 +1,21 @@ +Class Tier4Ammo : RandomSpawner replaces ClipBox +{ + Default + { + DropItem "PulseAmmo", 255, 1; + //DropItem "RipperAmmo", 255, 1; + } +} + +Class Tier4Weapon : RandomSpawner replaces Chaingun +{ + Default + { + DropItem "PulseGun", 255, 1; + //DropItem "Ripper", 255, 1; + } +} + Class PulseAmmo : Ammo { Default @@ -18,28 +36,106 @@ Class PulseAmmo : Ammo } } +Class PulseBallLight : DynamicLight +{ + double pulseofs; + Default + { + DynamicLight.Type "Point"; + Args 32,255,0,10; + } + override void PostBeginPlay() + { + Super.PostBeginPlay(); + pulseofs = FRandom[Pulse](0,360); + } + override void Tick() + { + Super.Tick(); + if ( !target || target.InStateSequence(target.CurState,target.ResolveState("Death")) ) + { + Destroy(); + return; + } + SetOrigin(target.pos,true); + args[LIGHT_INTENSITY] = 10+sin(gametic*80+pulseofs)*5; + } +} + +Class PulseExplLight : DynamicLight +{ + double lifetime; + Default + { + DynamicLight.Type "Point"; + ReactionTime 20; + Args 32,255,0,30; + } + override void PostBeginPlay() + { + Super.PostBeginPlay(); + lifetime = 1.0; + } + override void Tick() + { + Super.Tick(); + if ( globalfreeze || level.frozen ) return; + args[LIGHT_RED] = 16*lifetime; + args[LIGHT_GREEN] = 255*lifetime; + lifetime -= 1./ReactionTime; + if ( lifetime <= 0 ) Destroy(); + } +} + Class PulseBall : Actor { Default { + Obituary "%o ate %k's burning plasma death."; + DamageType 'Pulsed'; RenderStyle "Add"; + DamageFunction Random[Pulse](15,25); PROJECTILE; Scale 0.2; Speed 30; + Radius 4; + Height 4; } override void PostBeginPlay() { A_PlaySound("pulse/fly",CHAN_BODY,0.8,true,8.0); + let l = Spawn("PulseBallLight",pos); + l.target = self; } action void A_BallExp() { A_SetScale(0.45); A_PlaySound("pulse/hit",CHAN_BODY); + A_SprayDecal("BoltScorch"); + Spawn("PulseExplLight",pos); + int numpt = Random[Pulse](20,40); + for ( int i=0; i 0.22 ) + { + t.Results.HitActor.DamageMobj(self,target,Random[Pulse](65,75)*accdamage,'zapped'); + accdamage = 0; + } + } + origin = Level.Vec3Diff(pos,t.Results.HitPos); + numpt = Random[Pulse](10,20)*!Random[Pulse](0,2); + for ( int i=0; i 0 ) - { - Vector3 dir = vel.unit(); - destangle = atan2(dir.y,dir.x); - destpitch = asin(-dir.z); - A_SetAngle(angle*0.9+destangle*0.1,SPF_INTERPOLATE); - A_SetPitch(pitch*0.9+destpitch*0.1,SPF_INTERPOLATE); - if ( vel.length() < 10 ) - { - Vector3 dir = vel.unit(); - vel += dir*1; - } - } + if ( vel.length() < 10 ) vel *= 1.1; } action void A_Trail() { @@ -406,10 +396,11 @@ Class RedeemerHUD : HUDMessageBase // shootable targetting t.Reinit(); Actor a; + Vector3 vdir = (cos(ViewAngle)*cos(ViewPitch),sin(ViewAngle)*cos(ViewPitch),-sin(ViewPitch)); while ( a = Actor(t.Next()) ) { Vector3 tdir = Level.Vec3Diff(ViewPos,a.Pos+(0,0,a.Height*0.5)); - if ( !a.bSHOOTABLE || (a.Health <= 0) || ((Camera is 'GuidedWarShell') && (a == GuidedWarShell(Camera).b)) || tr.Trace(ViewPos,Camera.CurSector,tdir.unit(),tdir.length(),0) ) continue; + if ( !a.bSHOOTABLE || (a.Health <= 0) || ((Camera is 'GuidedWarShell') && (a == GuidedWarShell(Camera).b)) || (tdir.length() > 2000) || (acos(tdir.unit() dot vdir) > players[consoleplayer].FOV) || tr.Trace(ViewPos,Camera.CurSector,tdir.unit(),tdir.length(),0) ) continue; Vector3 wpos = ViewPos+tdir; Vector3 spos = mkCoordUtil.WorldToScreen(wpos,ViewPos,ViewPitch,ViewAngle,ViewRoll,players[consoleplayer].FOV); if ( spos.z > 1.0 ) continue; @@ -483,7 +474,7 @@ Class RedeemerHUDHandler : EventHandler } } -Class WarheadLauncher : UTWeapon +Class WarheadLauncher : UTWeapon replaces BFG9000 { Actor guided; action void A_WarheadFire() @@ -496,16 +487,30 @@ Class WarheadLauncher : UTWeapon A_AlertMonsters(); A_QuakeEx(6,6,6,20,0,100,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.2); Vector3 x, y, z; - double a, s; [x, y, z] = Matrix4.GetAxes(pitch,angle,roll); vel -= x*10; - Vector3 origin = pos+(0,0,player.viewheight)+10.0*x+2.0*y-2.0*z; + Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+2.0*y-2.0*z; Actor p = Spawn("WarShell",origin); p.angle = angle; p.pitch = BulletSlope(); p.vel = (cos(p.angle)*cos(p.pitch),sin(p.angle)*cos(p.pitch),-sin(p.pitch))*p.speed; p.target = self; } + action void A_WarheadSmoke() + { + Weapon weap = Weapon(invoker); + if ( !weap ) return; + Vector3 x, y, z; + [x, y, z] = Matrix4.GetAxes(pitch,angle,roll); + vel -= x*0.2; + Vector3 origin = (pos.x,pos.y,player.viewz)+10.0*x+2.0*y-2.0*z; + int numpt = Random[Warhead](10,20); + for ( int i=0; i