diff --git a/brightmaps/Chunk_a00.png b/brightmaps/Chunk_a00.png new file mode 100644 index 0000000..7830b54 Binary files /dev/null and b/brightmaps/Chunk_a00.png differ diff --git a/brightmaps/Chunk_a01.png b/brightmaps/Chunk_a01.png new file mode 100644 index 0000000..cf38e53 Binary files /dev/null and b/brightmaps/Chunk_a01.png differ diff --git a/brightmaps/Chunk_a02.png b/brightmaps/Chunk_a02.png new file mode 100644 index 0000000..391ed07 Binary files /dev/null and b/brightmaps/Chunk_a02.png differ diff --git a/brightmaps/Chunk_a03.png b/brightmaps/Chunk_a03.png new file mode 100644 index 0000000..de90579 Binary files /dev/null and b/brightmaps/Chunk_a03.png differ diff --git a/brightmaps/Chunk_a04.png b/brightmaps/Chunk_a04.png new file mode 100644 index 0000000..a9033ae Binary files /dev/null and b/brightmaps/Chunk_a04.png differ diff --git a/brightmaps/Chunk_a05.png b/brightmaps/Chunk_a05.png new file mode 100644 index 0000000..1019065 Binary files /dev/null and b/brightmaps/Chunk_a05.png differ diff --git a/brightmaps/Chunk_a06.png b/brightmaps/Chunk_a06.png new file mode 100644 index 0000000..093914a Binary files /dev/null and b/brightmaps/Chunk_a06.png differ diff --git a/brightmaps/Chunk_a07.png b/brightmaps/Chunk_a07.png new file mode 100644 index 0000000..e768118 Binary files /dev/null and b/brightmaps/Chunk_a07.png differ diff --git a/brightmaps/Chunk_a08.png b/brightmaps/Chunk_a08.png new file mode 100644 index 0000000..9f200a4 Binary files /dev/null and b/brightmaps/Chunk_a08.png differ diff --git a/brightmaps/Chunk_a09.png b/brightmaps/Chunk_a09.png new file mode 100644 index 0000000..70a1f24 Binary files /dev/null and b/brightmaps/Chunk_a09.png differ diff --git a/brightmaps/Chunk_a10.png b/brightmaps/Chunk_a10.png new file mode 100644 index 0000000..70a1f24 Binary files /dev/null and b/brightmaps/Chunk_a10.png differ diff --git a/brightmaps/Chunk_a11.png b/brightmaps/Chunk_a11.png new file mode 100644 index 0000000..70a1f24 Binary files /dev/null and b/brightmaps/Chunk_a11.png differ diff --git a/gldefs.txt b/gldefs.txt index cc1da9c..14493ec 100644 --- a/gldefs.txt +++ b/gldefs.txt @@ -538,6 +538,54 @@ HardwareShader Texture "models/JBigFlash1.png" { Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" } +Brightmap Texture "models/Chunk_a00.png" +{ + Map "brightmaps/Chunk_a00.png" +} +Brightmap Texture "models/Chunk_a01.png" +{ + Map "brightmaps/Chunk_a01.png" +} +Brightmap Texture "models/Chunk_a02.png" +{ + Map "brightmaps/Chunk_a02.png" +} +Brightmap Texture "models/Chunk_a03.png" +{ + Map "brightmaps/Chunk_a03.png" +} +Brightmap Texture "models/Chunk_a04.png" +{ + Map "brightmaps/Chunk_a04.png" +} +Brightmap Texture "models/Chunk_a05.png" +{ + Map "brightmaps/Chunk_a05.png" +} +Brightmap Texture "models/Chunk_a06.png" +{ + Map "brightmaps/Chunk_a06.png" +} +Brightmap Texture "models/Chunk_a07.png" +{ + Map "brightmaps/Chunk_a07.png" +} +Brightmap Texture "models/Chunk_a08.png" +{ + Map "brightmaps/Chunk_a08.png" +} +Brightmap Texture "models/Chunk_a09.png" +{ + Map "brightmaps/Chunk_a09.png" +} +Brightmap Texture "models/Chunk_a10.png" +{ + Map "brightmaps/Chunk_a10.png" +} +Brightmap Texture "models/Chunk_a11.png" +{ + Map "brightmaps/Chunk_a11.png" +} PulseLight "UTRedKeyLight" { Color 1.0 0.0 0.0 diff --git a/modeldef.chainsaw b/modeldef.chainsaw index 12016cd..61b59dd 100644 --- a/modeldef.chainsaw +++ b/modeldef.chainsaw @@ -16,7 +16,7 @@ Model "UTChainsaw" Path "models" Model 1 "ChainSawPick_d.3d" Skin 1 "JChainSawPick1.png" - Offset -10.5 -0.84 12 + Offset -10.5 -0.84 6 Scale 0.14 0.168 0.14 RollOffset -90 diff --git a/modeldef.eightball b/modeldef.eightball index 9250963..ac2da89 100644 --- a/modeldef.eightball +++ b/modeldef.eightball @@ -15,8 +15,8 @@ Model "UTRocketAmmo2" Path "models" Model 0 "UTRocket_d.3d" Skin 0 "JuRocket1_.png" + Offset 0 1.4796 6 Scale 0.0822 0.09864 0.07 - ZOffset 6 RollOffset -90 FrameIndex RCKT A 0 0 diff --git a/zscript/armoritems.zsc b/zscript/armoritems.zsc index b4a3849..f51ace5 100644 --- a/zscript/armoritems.zsc +++ b/zscript/armoritems.zsc @@ -38,6 +38,8 @@ Class UTArmorBonus : UTArmor replaces ArmorBonus UTArmor.ArmorAbsorption 25; Inventory.PickupMessage "You picked up an Armor Bonus."; Inventory.PickupSound "misc/ut_shard"; + Radius 4; + Height 12; } States { @@ -58,6 +60,8 @@ Class UTThighPads : UTArmor replaces GreenArmor UTArmor.ArmorAbsorption 50; Inventory.PickupMessage "You got the Thigh Pads."; Inventory.PickupSound "misc/ut_armor"; + Radius 8; + Height 20; } States { @@ -78,6 +82,8 @@ Class UTBodyArmor : UTArmor replaces BlueArmor UTArmor.ArmorAbsorption 75; Inventory.PickupMessage "You got the Body Armor."; Inventory.PickupSound "misc/ut_armor"; + Radius 10; + Height 20; } States { @@ -135,6 +141,8 @@ Class UTShieldBelt : UTArmor replaces Megasphere Inventory.PickupMessage "You got the Shield Belt."; Inventory.PickupSound "belt/pickup"; Inventory.RespawnTics 2100; + Radius 10; + Height 8; } States { diff --git a/zscript/biorifle.zsc b/zscript/biorifle.zsc index be571f2..bb11922 100644 --- a/zscript/biorifle.zsc +++ b/zscript/biorifle.zsc @@ -28,6 +28,8 @@ Class BioAmmo : Ammo Ammo.BackpackAmount 50; Ammo.BackpackMaxAmount 100; Ammo.DropAmount 10; + Radius 8; + Height 8; } States { @@ -82,14 +84,19 @@ Class BioHitbox : Actor { Default { - Radius 2; - Height 2; + Radius 3; + Height 6; +SHOOTABLE; +NOGRAVITY; +NOCLIP; +DONTSPLASH; +NOBLOOD; } + override void PostBeginPlay() + { + Super.PostBeginPlay(); + if ( target ) A_SetSize(1.5*target.scale.x,3*target.scale.y); + } override int DamageMobj( Actor inflictor, Actor source, int damage, Name mod, int flags, double angle ) { if ( inflictor == target ) return 0; @@ -338,8 +345,8 @@ Class BioGel : Actor DamageType 'Slime'; DamageFunction Random[GES](20,30)*Scale.x; RenderStyle "Add"; - Radius 4; - Height 4; + Radius 3; + Height 3; Scale 2; Speed 20; PROJECTILE; @@ -490,6 +497,9 @@ Class BioRifle : UTWeapon Weapon.AmmoType2 "BioAmmo"; Weapon.AmmoUse2 1; Weapon.AmmoGive 25; + Radius 10; + Height 16; + UTWeapon.DroppedHeight 14; } States { diff --git a/zscript/chainsaw.zsc b/zscript/chainsaw.zsc index cba9361..df0b077 100644 --- a/zscript/chainsaw.zsc +++ b/zscript/chainsaw.zsc @@ -131,6 +131,12 @@ Class UTChainsaw : UTWeapon if ( d.HitType == TRACE_HitWall ) d.HitLine.RemoteActivate(self,d.LineSide,SPAC_Impact,d.HitLocation-d.HitDir*4); } } + override void DetachFromOwner() + { + if ( Owner ) Owner.A_StopSound(CHAN_6); + A_PlaySound("chainsaw/lower",CHAN_6); + Super.DetachFromOwner(); + } Default { Tag "Chainsaw"; @@ -141,6 +147,9 @@ Class UTChainsaw : UTWeapon Weapon.SelectionOrder 9; +WEAPON.MELEEWEAPON; +FORCEPAIN; + Radius 20; + Height 16; + UTWeapon.DroppedHeight 12; } States { diff --git a/zscript/eightball.zsc b/zscript/eightball.zsc index 1c1ec92..22d1b27 100644 --- a/zscript/eightball.zsc +++ b/zscript/eightball.zsc @@ -9,6 +9,8 @@ Class UTRocketAmmo : Ammo Ammo.BackpackAmount 12; Ammo.BackpackMaxAmount 48; Ammo.DropAmount 3; + Radius 4; + Height 14; } States { @@ -27,6 +29,8 @@ Class UTRocketAmmo2 : UTRocketAmmo Inventory.PickupMessage "You picked up a Single Rocket."; Inventory.Amount 1; Ammo.DropAmount 1; + Radius 2; + Height 13; } States { @@ -108,7 +112,7 @@ Class UTRocket : Actor DamageFunction Random[Eightball](70,80); DamageType 'RocketDeath'; Radius 2; - Height 0; + Height 2; Speed 30; PROJECTILE; +SKYEXPLODE; @@ -386,6 +390,9 @@ Class UTRocketLauncher : UTWeapon Weapon.AmmoType2 "UTRocketAmmo"; Weapon.AmmoUse2 1; Weapon.AmmoGive 6; + Radius 20; + Height 16; + UTWeapon.DroppedHeight 12; } States { diff --git a/zscript/enforcer.zsc b/zscript/enforcer.zsc index f6b3490..9bb7821 100644 --- a/zscript/enforcer.zsc +++ b/zscript/enforcer.zsc @@ -6,6 +6,8 @@ Class EClip : MiniAmmo replaces Clip Inventory.PickupMessage "You picked up a Clip."; Inventory.Amount 20; Ammo.DropAmount 5; + Radius 8; + Height 6; } States { @@ -94,7 +96,7 @@ Class UTCasing : Actor Default { Radius 2; - Height 0; + Height 2; +NOBLOCKMAP; +MISSILE; +MOVEWITHSECTOR; @@ -360,6 +362,9 @@ Class Enforcer : UTWeapon replaces Pistol Weapon.AmmoGive 30; Enforcer.ClipCount 20; Enforcer.SlaveClipCount 20; + Radius 8; + Height 16; + UTWeapon.DroppedHeight 8; } States { diff --git a/zscript/flakcannon.zsc b/zscript/flakcannon.zsc index c668b97..48dec7a 100644 --- a/zscript/flakcannon.zsc +++ b/zscript/flakcannon.zsc @@ -35,6 +35,8 @@ Class FlakAmmo : Ammo Ammo.BackpackAmount 20; Ammo.BackpackMaxAmount 50; Ammo.DropAmount 5; + Radius 10; + Height 8; } States { @@ -52,6 +54,8 @@ Class FlakAmmo2 : FlakAmmo Inventory.PickupMessage "You picked up a Flak Shell."; Inventory.Amount 1; Ammo.DropAmount 1; + Radius 4; + Height 6; } States { @@ -77,9 +81,9 @@ Class ChunkLight : DynamicLight return; } if ( globalfreeze || level.frozen ) return; - args[LIGHT_RED] = 255*target.alpha; - args[LIGHT_GREEN] = 224*target.alpha; - args[LIGHT_BLUE] = 128*target.alpha; + args[LIGHT_RED] = 255*(10-target.frame)*0.1; + args[LIGHT_GREEN] = 224*(10-target.frame)*0.1; + args[LIGHT_BLUE] = 128*(10-target.frame)*0.1; } } @@ -94,7 +98,6 @@ Class ChunkTrail : Actor +NOGRAVITY; +DONTSPLASH; +FORCEXYBILLBOARD; - +INVISIBLE; // temporarily until clipping screwery is fixed Scale 0.2; } override void PostBeginPlay() @@ -107,13 +110,11 @@ Class ChunkTrail : Actor { Super.Tick(); if ( globalfreeze || level.frozen ) return; - A_SpawnParticle("FFFF00",SPF_FULLBRIGHT,1,8,startalphaf:alpha); - A_SpawnParticle("E0A000",SPF_FULLBRIGHT,1,16,startalphaf:alpha*0.6); - A_SpawnParticle("804000",SPF_FULLBRIGHT,1,32,startalphaf:alpha*0.3); if ( InStateSequence(CurState,FindState("Death")) ) return; if ( !target ) { - SetStateLabel("Death"); + int dist = FindState("Spawn").DistanceTo(CurState); + SetState(FindState("Death")+dist); return; } SetOrigin(target.pos+(0,0,speed),true); @@ -121,13 +122,12 @@ Class ChunkTrail : Actor States { Spawn: - FGLO A 1 Bright; - Wait; + FGLO ABCDEFGHIJK 3 Bright; + Stop; Death: - FGLO A 1 Bright A_FadeOut(0.1); - Wait; + FGLO ABCDEFGHIJK 1 Bright; + Stop; } - } Class FlakChunk : Actor @@ -142,7 +142,7 @@ Class FlakChunk : Actor { Obituary "%o was ripped to shreds by %k's Flak Cannon."; Radius 2; - Height 0; + Height 2; Speed 50; DamageFunction Random[Flak](12,18); DamageType 'Shredded'; @@ -164,7 +164,7 @@ Class FlakChunk : Actor lifespeed = FRandom[Flak](0.004,0.008); trail = ChunkTrail(Spawn("ChunkTrail",pos)); trail.target = self; - trail.speed = 0.5; + trail.speed = 2; rollvel = FRandom[Flak](50,100)*RandomPick[Flak](-1,1); pitchvel = FRandom[Flak](50,100)*RandomPick[Flak](-1,1); yawvel = FRandom[Flak](50,100)*RandomPick[Flak](-1,1); @@ -356,14 +356,13 @@ Class SlugLight : DynamicLight Class FlakSlug : Actor { - ChunkTrail trail; Default { Obituary "%o was ripped to shreds by %k's Flak Cannon."; DamageType 'FlakDeath'; DamageFunction Random[Flak](60,80); Radius 2; - Height 0; + Height 2; Speed 40; PROJECTILE; -NOGRAVITY; @@ -373,19 +372,12 @@ Class FlakSlug : Actor override void PostBeginPlay() { Super.PostBeginPlay(); - trail = ChunkTrail(Spawn("ChunkTrail",pos)); - trail.target = self; - trail.speed = 1; vel.z += 5; } override void Tick() { Super.Tick(); - if ( waterlevel > 0 ) - { - vel.xy *= 0.98; - if ( trail ) trail.Destroy(); - } + if ( waterlevel > 0 ) vel.xy *= 0.98; } action void A_FlakExplode() { @@ -565,6 +557,9 @@ Class FlakCannon : UTWeapon Weapon.AmmoType2 "FlakAmmo"; Weapon.AmmoUse2 1; Weapon.AmmoGive 10; + Radius 12; + Height 16; + UTWeapon.DroppedHeight 16; } States { diff --git a/zscript/healitems.zsc b/zscript/healitems.zsc index 08df1b9..64b3f74 100644 --- a/zscript/healitems.zsc +++ b/zscript/healitems.zsc @@ -12,6 +12,8 @@ Class UTHealthPack : Health replaces Soulsphere Inventory.PickupMessage "You picked up the Big Keg O' Health."; Inventory.PickupSound "misc/ut_keg"; Inventory.RespawnTics 3500; + Radius 18; + Height 30; } States { @@ -30,6 +32,8 @@ Class UTHealthBox : Health replaces Medikit 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"; + Radius 16; + Height 12; } States { @@ -48,6 +52,8 @@ Class UTMedBox : Health replaces Stimpack Inventory.PickupMessage "You picked up a Health Pack."; Inventory.PickupSound "misc/ut_heal"; Inventory.RespawnTics 700; + Radius 12; + Height 10; } States { @@ -69,6 +75,8 @@ Class UTHealthBonus : Health replaces HealthBonus Inventory.PickupMessage "You picked up a Health Vial."; Inventory.PickupSound "misc/ut_heal"; RenderStyle "Add"; + Radius 2; + Height 16; } States { diff --git a/zscript/impacthammer.zsc b/zscript/impacthammer.zsc index 2b0cfbd..dae5169 100644 --- a/zscript/impacthammer.zsc +++ b/zscript/impacthammer.zsc @@ -195,6 +195,11 @@ Class ImpactHammer : UTWeapon replaces Fist } A_Refire(flash); } + override void DetachFromOwner() + { + if ( Owner ) Owner.A_StopSound(CHAN_WEAPON); + Super.DetachFromOwner(); + } Default { diff --git a/zscript/minigun.zsc b/zscript/minigun.zsc index 3a3e017..33d3e42 100644 --- a/zscript/minigun.zsc +++ b/zscript/minigun.zsc @@ -35,6 +35,8 @@ Class MiniAmmo : Ammo Ammo.BackpackAmount 100; Ammo.BackpackMaxAmount 199; Ammo.DropAmount 20; + Radius 12; + Height 14; } States { @@ -192,6 +194,9 @@ Class Minigun : UTWeapon Weapon.AmmoType2 "MiniAmmo"; Weapon.AmmoUse2 1; Weapon.AmmoGive 50; + Radius 20; + Height 16; + UTWeapon.DroppedHeight 8; } States { diff --git a/zscript/powerups.zsc b/zscript/powerups.zsc index 0692935..fa7c9d4 100644 --- a/zscript/powerups.zsc +++ b/zscript/powerups.zsc @@ -12,6 +12,8 @@ Class UDamage : PowerupGiver replaces Berserk Powerup.Type "DamageAmplifier"; Inventory.PickupSound "udamage/pickup"; Inventory.RespawnTics 4200; + Radius 15; + Height 40; } override void PostBeginPlay() { @@ -196,6 +198,8 @@ Class UTBackpack : BackpackItem replaces Backpack Tag "Backpack"; Inventory.PickupMessage "You got a Backpack."; Inventory.RespawnTics 2100; + Radius 10; + Height 32; } States { @@ -235,6 +239,8 @@ Class UTInvisibility : PowerupGiver replaces BlurSphere Inventory.PickupMessage "You have Invisibility."; Inventory.PickupSound "invis/pickup"; Inventory.RespawnTics 4200; + Radius 6; + Height 20; } override void PostBeginPlay() { @@ -259,6 +265,8 @@ Class UTInvisibilityX : Actor +NOGRAVITY; +NOCLIP; +DONTSPLASH; + Radius 0.1; + Height 0; } override void Tick() { @@ -290,6 +298,8 @@ Class UTMapRevealer : MapRevealer replaces Allmap Inventory.MaxAmount 0; Inventory.PickupSound "trans/pickup"; Inventory.PickupMessage "You got the Computer Map."; + Radius 10; + Height 4; } States { @@ -311,6 +321,8 @@ Class UTJumpBoots : Inventory replaces RadSuit Inventory.PickupMessage "You picked up the AntiGrav boots."; Inventory.PickupSound "boot/pickup"; Inventory.RespawnTics 1050; + Radius 9; + Height 14; } override bool Use( bool pickup ) { @@ -395,6 +407,8 @@ Class Searchlight : Inventory replaces Infrared Inventory.MaxAmount 200; Inventory.InterHubAmount 0; Inventory.PickupMessage "You picked up the Searchlight."; + Radius 10; + Height 16; } override bool Use( bool pickup ) diff --git a/zscript/pulsegun.zsc b/zscript/pulsegun.zsc index 65609c0..4439b8c 100644 --- a/zscript/pulsegun.zsc +++ b/zscript/pulsegun.zsc @@ -27,6 +27,8 @@ Class PulseAmmo : Ammo Ammo.BackpackAmount 50; Ammo.BackpackMaxAmount 199; Ammo.DropAmount 10; + Radius 5; + Height 12; } States { @@ -99,7 +101,7 @@ Class PulseBall : Actor Scale 0.2; Speed 30; Radius 2; - Height 0; + Height 2; } override void PostBeginPlay() { @@ -516,6 +518,11 @@ Class PulseGun : UTWeapon Super.OwnerDied(); if ( beam ) beam.Destroy(); } + override void DetachFromOwner() + { + if ( beam ) beam.Destroy(); + Super.DetachFromOwner(); + } Default { Tag "Pulse Gun"; @@ -529,6 +536,9 @@ Class PulseGun : UTWeapon Weapon.AmmoUse2 1; Weapon.AmmoGive 60; PulseGun.ClipCount 50; + Radius 18; + Height 16; + UTWeapon.DroppedHeight 12; } States { diff --git a/zscript/ripper.zsc b/zscript/ripper.zsc index a1d7e8c..f8faa56 100644 --- a/zscript/ripper.zsc +++ b/zscript/ripper.zsc @@ -9,6 +9,8 @@ Class RipperAmmo : Ammo Ammo.BackpackAmount 50; Ammo.BackpackMaxAmount 75; Ammo.DropAmount 10; + Radius 4; + Height 21; } States { @@ -27,6 +29,8 @@ Class Razor2Trail : Actor +NOCLIP; +DONTSPLASH; +NOTELEPORT; + Radius 0.1; + Height 0; } override void Tick() { @@ -54,7 +58,7 @@ Class Razor2 : Actor Default { Radius 2; - Height 0; + Height 2; Speed 50; DamageFunction Random[Ripper](20,30); DamageType "Ripper"; @@ -244,6 +248,9 @@ Class Ripper2 : UTWeapon Weapon.AmmoType2 "RipperAmmo"; Weapon.AmmoUse2 1; Weapon.AmmoGive 15; + Radius 20; + Height 16; + UTWeapon.DroppedHeight 16; } action void A_RazorFire( bool alt = false ) { diff --git a/zscript/shockrifle.zsc b/zscript/shockrifle.zsc index 31fe983..963987b 100644 --- a/zscript/shockrifle.zsc +++ b/zscript/shockrifle.zsc @@ -9,6 +9,8 @@ Class ShockAmmo : Ammo Ammo.BackpackAmount 20; Ammo.BackpackMaxAmount 50; Ammo.DropAmount 5; + Radius 4; + Height 23; } States { @@ -759,8 +761,8 @@ Class ShockHitbox : Actor { Default { - Radius 24; - Height 24; + Radius 8; + Height 16; +NOGRAVITY; +NOCLIP; +DONTSPLASH; @@ -818,7 +820,7 @@ Class ShockBall : Actor DamageType 'jolted'; DamageFunction Random[ASMD](50,60); Radius 2; - Height 0; + Height 2; Scale 0.4; Speed 20; PROJECTILE; @@ -880,7 +882,7 @@ Class SuperShockBall : Actor DamageType 'jolted'; DamageFunction Random[ASMD](5000,6000); Radius 2; - Height 0; + Height 2; Scale 0.5; Speed 25; PROJECTILE; @@ -956,6 +958,9 @@ Class ShockRifle : UTWeapon Weapon.AmmoType2 "ShockAmmo"; Weapon.AmmoUse2 1; Weapon.AmmoGive 20; + Radius 20; + Height 16; + UTWeapon.DroppedHeight 8; } States { @@ -1002,6 +1007,8 @@ Class EnhancedShockAmmo : Ammo Ammo.BackpackAmount 0; Ammo.BackpackMaxAmount 25; Ammo.DropAmount 2; + Radius 4; + Height 23; } States { @@ -1065,6 +1072,9 @@ Class EnhancedShockRifle : UTWeapon replaces InvulnerabilitySphere Weapon.AmmoType2 "EnhancedShockAmmo"; Weapon.AmmoUse2 1; Weapon.AmmoGive 25; + Radius 20; + Height 16; + UTWeapon.DroppedHeight 8; } States { diff --git a/zscript/sniperrifle.zsc b/zscript/sniperrifle.zsc index 18e87a6..0d46244 100644 --- a/zscript/sniperrifle.zsc +++ b/zscript/sniperrifle.zsc @@ -9,6 +9,8 @@ Class RifleAmmo : Ammo Ammo.BackpackAmount 20; Ammo.BackpackMaxAmount 50; Ammo.DropAmount 5; + Radius 6; + Height 12; } States { @@ -26,6 +28,8 @@ Class RifleAmmo2 : RifleAmmo Inventory.PickupMessage "You got a Rifle Round."; Inventory.Amount 1; Ammo.DropAmount 1; + Radius 1; + Height 8; } States { @@ -138,6 +142,9 @@ Class SniperRifle : UTWeapon Weapon.AmmoType2 "RifleAmmo"; Weapon.AmmoUse2 1; Weapon.AmmoGive 8; + Radius 20; + Height 16; + UTWeapon.DroppedHeight 10; } States { diff --git a/zscript/translocator.zsc b/zscript/translocator.zsc index 7095b68..cdec0d2 100644 --- a/zscript/translocator.zsc +++ b/zscript/translocator.zsc @@ -2,7 +2,7 @@ Class ModuleHitbox : Actor { Default { - Radius 10; + Radius 5; Height 4; +SHOOTABLE; +NOGRAVITY; @@ -30,7 +30,7 @@ Class ModuleHitbox : Actor Destroy(); return; } - SetOrigin(target.pos-(0,0,height*0.5),true); + SetOrigin(target.pos,true); if ( target.bMISSILE ) return; let bi = BlockThingsIterator.Create(self,32); while ( bi.Next() ) @@ -119,7 +119,7 @@ Class TranslocatorModule : Actor Default { Radius 2; - Height 0; + Height 2; Speed 25; PROJECTILE; -NOGRAVITY; @@ -357,6 +357,9 @@ Class Translocator : UTWeapon Weapon.SlotNumber 1; Weapon.SelectionOrder 10; +WEAPON.NO_AUTO_SWITCH; + Radius 5; + Height 16; + UTWeapon.DroppedHeight 4; } States { diff --git a/zscript/utcommon.zsc b/zscript/utcommon.zsc index 87beeff..ac91fd6 100644 --- a/zscript/utcommon.zsc +++ b/zscript/utcommon.zsc @@ -184,6 +184,10 @@ Class RandomSpawner2 : RandomSpawner Class UTWeapon : Weapon { + double droppedheight; + + Property DroppedHeight : droppedheight; + // Drawstuffs under HUD virtual ui void PreRender() {} // Drawstuffs over HUD @@ -197,6 +201,7 @@ Class UTWeapon : Weapon { d.SetState(d.ResolveState("Spawn")+1); d.bALWAYSPICKUP = true; + d.A_SetSize(-1,UTWeapon(d).droppedheight); } return d; } @@ -205,6 +210,7 @@ Class UTWeapon : Weapon { SetState(ResolveState("Spawn")+1); bALWAYSPICKUP = true; + A_SetSize(-1,droppedheight); return false; } @@ -228,6 +234,7 @@ Class UTWeapon : Weapon Weapon.BobRangeX 0.2; Weapon.BobRangeY 0.4; +WEAPON.NOALERT; + UTWeapon.DroppedHeight 16; } } diff --git a/zscript/warheadlauncher.zsc b/zscript/warheadlauncher.zsc index 8f880bc..96d6ef7 100644 --- a/zscript/warheadlauncher.zsc +++ b/zscript/warheadlauncher.zsc @@ -11,6 +11,8 @@ Class WarheadAmmo : Ammo Ammo.BackpackMaxAmount 2; Ammo.DropAmount 1; Inventory.RespawnTics 2100; + Radius 2; + Height 42; } States { @@ -110,8 +112,8 @@ Class WarheadHitbox : Actor { Default { - Radius 8; - Height 8; + Radius 2; + Height 4; +SHOOTABLE; +NOGRAVITY; +NOCLIP; @@ -242,8 +244,8 @@ Class WarShell : Actor Default { Obituary "%o was vaporized by %k's Redeemer!!"; - Radius 4; - Height 4; + Radius 2; + Height 2; Speed 2; DamageType 'RedeemerDeath'; DamageFactor 1000; @@ -649,6 +651,9 @@ Class WarheadLauncher : UTWeapon replaces BFG9000 Inventory.RespawnTics 2100; +INVENTORY.ALWAYSPICKUP; +WEAPON.NOAUTOFIRE; + Radius 24; + Height 16; + UTWeapon.DroppedHeight 16; } States {