Various fixes and tweaks. Adjusted collision for most things (turns out projectiles with 0 height break with 3d floors).

Added brightmaps to flak chunks. Reverted chunk trail to be sprite-based.
This commit is contained in:
Marisa the Magician 2018-05-30 21:31:41 +02:00
commit 92ae39afba
32 changed files with 209 additions and 46 deletions

BIN
brightmaps/Chunk_a00.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

BIN
brightmaps/Chunk_a01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

BIN
brightmaps/Chunk_a02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

BIN
brightmaps/Chunk_a03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

BIN
brightmaps/Chunk_a04.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

BIN
brightmaps/Chunk_a05.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

BIN
brightmaps/Chunk_a06.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

BIN
brightmaps/Chunk_a07.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

BIN
brightmaps/Chunk_a08.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

BIN
brightmaps/Chunk_a09.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 B

BIN
brightmaps/Chunk_a10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 B

BIN
brightmaps/Chunk_a11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 B

View file

@ -538,6 +538,54 @@ HardwareShader Texture "models/JBigFlash1.png"
{ {
Shader "shaders/glsl/AmbientGlow_Brightmapped.fp" 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" PulseLight "UTRedKeyLight"
{ {
Color 1.0 0.0 0.0 Color 1.0 0.0 0.0

View file

@ -16,7 +16,7 @@ Model "UTChainsaw"
Path "models" Path "models"
Model 1 "ChainSawPick_d.3d" Model 1 "ChainSawPick_d.3d"
Skin 1 "JChainSawPick1.png" Skin 1 "JChainSawPick1.png"
Offset -10.5 -0.84 12 Offset -10.5 -0.84 6
Scale 0.14 0.168 0.14 Scale 0.14 0.168 0.14
RollOffset -90 RollOffset -90

View file

@ -15,8 +15,8 @@ Model "UTRocketAmmo2"
Path "models" Path "models"
Model 0 "UTRocket_d.3d" Model 0 "UTRocket_d.3d"
Skin 0 "JuRocket1_.png" Skin 0 "JuRocket1_.png"
Offset 0 1.4796 6
Scale 0.0822 0.09864 0.07 Scale 0.0822 0.09864 0.07
ZOffset 6
RollOffset -90 RollOffset -90
FrameIndex RCKT A 0 0 FrameIndex RCKT A 0 0

View file

@ -38,6 +38,8 @@ Class UTArmorBonus : UTArmor replaces ArmorBonus
UTArmor.ArmorAbsorption 25; UTArmor.ArmorAbsorption 25;
Inventory.PickupMessage "You picked up an Armor Bonus."; Inventory.PickupMessage "You picked up an Armor Bonus.";
Inventory.PickupSound "misc/ut_shard"; Inventory.PickupSound "misc/ut_shard";
Radius 4;
Height 12;
} }
States States
{ {
@ -58,6 +60,8 @@ Class UTThighPads : UTArmor replaces GreenArmor
UTArmor.ArmorAbsorption 50; UTArmor.ArmorAbsorption 50;
Inventory.PickupMessage "You got the Thigh Pads."; Inventory.PickupMessage "You got the Thigh Pads.";
Inventory.PickupSound "misc/ut_armor"; Inventory.PickupSound "misc/ut_armor";
Radius 8;
Height 20;
} }
States States
{ {
@ -78,6 +82,8 @@ Class UTBodyArmor : UTArmor replaces BlueArmor
UTArmor.ArmorAbsorption 75; UTArmor.ArmorAbsorption 75;
Inventory.PickupMessage "You got the Body Armor."; Inventory.PickupMessage "You got the Body Armor.";
Inventory.PickupSound "misc/ut_armor"; Inventory.PickupSound "misc/ut_armor";
Radius 10;
Height 20;
} }
States States
{ {
@ -135,6 +141,8 @@ Class UTShieldBelt : UTArmor replaces Megasphere
Inventory.PickupMessage "You got the Shield Belt."; Inventory.PickupMessage "You got the Shield Belt.";
Inventory.PickupSound "belt/pickup"; Inventory.PickupSound "belt/pickup";
Inventory.RespawnTics 2100; Inventory.RespawnTics 2100;
Radius 10;
Height 8;
} }
States States
{ {

View file

@ -28,6 +28,8 @@ Class BioAmmo : Ammo
Ammo.BackpackAmount 50; Ammo.BackpackAmount 50;
Ammo.BackpackMaxAmount 100; Ammo.BackpackMaxAmount 100;
Ammo.DropAmount 10; Ammo.DropAmount 10;
Radius 8;
Height 8;
} }
States States
{ {
@ -82,14 +84,19 @@ Class BioHitbox : Actor
{ {
Default Default
{ {
Radius 2; Radius 3;
Height 2; Height 6;
+SHOOTABLE; +SHOOTABLE;
+NOGRAVITY; +NOGRAVITY;
+NOCLIP; +NOCLIP;
+DONTSPLASH; +DONTSPLASH;
+NOBLOOD; +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 ) override int DamageMobj( Actor inflictor, Actor source, int damage, Name mod, int flags, double angle )
{ {
if ( inflictor == target ) return 0; if ( inflictor == target ) return 0;
@ -338,8 +345,8 @@ Class BioGel : Actor
DamageType 'Slime'; DamageType 'Slime';
DamageFunction Random[GES](20,30)*Scale.x; DamageFunction Random[GES](20,30)*Scale.x;
RenderStyle "Add"; RenderStyle "Add";
Radius 4; Radius 3;
Height 4; Height 3;
Scale 2; Scale 2;
Speed 20; Speed 20;
PROJECTILE; PROJECTILE;
@ -490,6 +497,9 @@ Class BioRifle : UTWeapon
Weapon.AmmoType2 "BioAmmo"; Weapon.AmmoType2 "BioAmmo";
Weapon.AmmoUse2 1; Weapon.AmmoUse2 1;
Weapon.AmmoGive 25; Weapon.AmmoGive 25;
Radius 10;
Height 16;
UTWeapon.DroppedHeight 14;
} }
States States
{ {

View file

@ -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); 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 Default
{ {
Tag "Chainsaw"; Tag "Chainsaw";
@ -141,6 +147,9 @@ Class UTChainsaw : UTWeapon
Weapon.SelectionOrder 9; Weapon.SelectionOrder 9;
+WEAPON.MELEEWEAPON; +WEAPON.MELEEWEAPON;
+FORCEPAIN; +FORCEPAIN;
Radius 20;
Height 16;
UTWeapon.DroppedHeight 12;
} }
States States
{ {

View file

@ -9,6 +9,8 @@ Class UTRocketAmmo : Ammo
Ammo.BackpackAmount 12; Ammo.BackpackAmount 12;
Ammo.BackpackMaxAmount 48; Ammo.BackpackMaxAmount 48;
Ammo.DropAmount 3; Ammo.DropAmount 3;
Radius 4;
Height 14;
} }
States States
{ {
@ -27,6 +29,8 @@ Class UTRocketAmmo2 : UTRocketAmmo
Inventory.PickupMessage "You picked up a Single Rocket."; Inventory.PickupMessage "You picked up a Single Rocket.";
Inventory.Amount 1; Inventory.Amount 1;
Ammo.DropAmount 1; Ammo.DropAmount 1;
Radius 2;
Height 13;
} }
States States
{ {
@ -108,7 +112,7 @@ Class UTRocket : Actor
DamageFunction Random[Eightball](70,80); DamageFunction Random[Eightball](70,80);
DamageType 'RocketDeath'; DamageType 'RocketDeath';
Radius 2; Radius 2;
Height 0; Height 2;
Speed 30; Speed 30;
PROJECTILE; PROJECTILE;
+SKYEXPLODE; +SKYEXPLODE;
@ -386,6 +390,9 @@ Class UTRocketLauncher : UTWeapon
Weapon.AmmoType2 "UTRocketAmmo"; Weapon.AmmoType2 "UTRocketAmmo";
Weapon.AmmoUse2 1; Weapon.AmmoUse2 1;
Weapon.AmmoGive 6; Weapon.AmmoGive 6;
Radius 20;
Height 16;
UTWeapon.DroppedHeight 12;
} }
States States
{ {

View file

@ -6,6 +6,8 @@ Class EClip : MiniAmmo replaces Clip
Inventory.PickupMessage "You picked up a Clip."; Inventory.PickupMessage "You picked up a Clip.";
Inventory.Amount 20; Inventory.Amount 20;
Ammo.DropAmount 5; Ammo.DropAmount 5;
Radius 8;
Height 6;
} }
States States
{ {
@ -94,7 +96,7 @@ Class UTCasing : Actor
Default Default
{ {
Radius 2; Radius 2;
Height 0; Height 2;
+NOBLOCKMAP; +NOBLOCKMAP;
+MISSILE; +MISSILE;
+MOVEWITHSECTOR; +MOVEWITHSECTOR;
@ -360,6 +362,9 @@ Class Enforcer : UTWeapon replaces Pistol
Weapon.AmmoGive 30; Weapon.AmmoGive 30;
Enforcer.ClipCount 20; Enforcer.ClipCount 20;
Enforcer.SlaveClipCount 20; Enforcer.SlaveClipCount 20;
Radius 8;
Height 16;
UTWeapon.DroppedHeight 8;
} }
States States
{ {

View file

@ -35,6 +35,8 @@ Class FlakAmmo : Ammo
Ammo.BackpackAmount 20; Ammo.BackpackAmount 20;
Ammo.BackpackMaxAmount 50; Ammo.BackpackMaxAmount 50;
Ammo.DropAmount 5; Ammo.DropAmount 5;
Radius 10;
Height 8;
} }
States States
{ {
@ -52,6 +54,8 @@ Class FlakAmmo2 : FlakAmmo
Inventory.PickupMessage "You picked up a Flak Shell."; Inventory.PickupMessage "You picked up a Flak Shell.";
Inventory.Amount 1; Inventory.Amount 1;
Ammo.DropAmount 1; Ammo.DropAmount 1;
Radius 4;
Height 6;
} }
States States
{ {
@ -77,9 +81,9 @@ Class ChunkLight : DynamicLight
return; return;
} }
if ( globalfreeze || level.frozen ) return; if ( globalfreeze || level.frozen ) return;
args[LIGHT_RED] = 255*target.alpha; args[LIGHT_RED] = 255*(10-target.frame)*0.1;
args[LIGHT_GREEN] = 224*target.alpha; args[LIGHT_GREEN] = 224*(10-target.frame)*0.1;
args[LIGHT_BLUE] = 128*target.alpha; args[LIGHT_BLUE] = 128*(10-target.frame)*0.1;
} }
} }
@ -94,7 +98,6 @@ Class ChunkTrail : Actor
+NOGRAVITY; +NOGRAVITY;
+DONTSPLASH; +DONTSPLASH;
+FORCEXYBILLBOARD; +FORCEXYBILLBOARD;
+INVISIBLE; // temporarily until clipping screwery is fixed
Scale 0.2; Scale 0.2;
} }
override void PostBeginPlay() override void PostBeginPlay()
@ -107,13 +110,11 @@ Class ChunkTrail : Actor
{ {
Super.Tick(); Super.Tick();
if ( globalfreeze || level.frozen ) return; 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 ( InStateSequence(CurState,FindState("Death")) ) return;
if ( !target ) if ( !target )
{ {
SetStateLabel("Death"); int dist = FindState("Spawn").DistanceTo(CurState);
SetState(FindState("Death")+dist);
return; return;
} }
SetOrigin(target.pos+(0,0,speed),true); SetOrigin(target.pos+(0,0,speed),true);
@ -121,13 +122,12 @@ Class ChunkTrail : Actor
States States
{ {
Spawn: Spawn:
FGLO A 1 Bright; FGLO ABCDEFGHIJK 3 Bright;
Wait; Stop;
Death: Death:
FGLO A 1 Bright A_FadeOut(0.1); FGLO ABCDEFGHIJK 1 Bright;
Wait; Stop;
} }
} }
Class FlakChunk : Actor Class FlakChunk : Actor
@ -142,7 +142,7 @@ Class FlakChunk : Actor
{ {
Obituary "%o was ripped to shreds by %k's Flak Cannon."; Obituary "%o was ripped to shreds by %k's Flak Cannon.";
Radius 2; Radius 2;
Height 0; Height 2;
Speed 50; Speed 50;
DamageFunction Random[Flak](12,18); DamageFunction Random[Flak](12,18);
DamageType 'Shredded'; DamageType 'Shredded';
@ -164,7 +164,7 @@ Class FlakChunk : Actor
lifespeed = FRandom[Flak](0.004,0.008); lifespeed = FRandom[Flak](0.004,0.008);
trail = ChunkTrail(Spawn("ChunkTrail",pos)); trail = ChunkTrail(Spawn("ChunkTrail",pos));
trail.target = self; trail.target = self;
trail.speed = 0.5; trail.speed = 2;
rollvel = FRandom[Flak](50,100)*RandomPick[Flak](-1,1); rollvel = FRandom[Flak](50,100)*RandomPick[Flak](-1,1);
pitchvel = 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); yawvel = FRandom[Flak](50,100)*RandomPick[Flak](-1,1);
@ -356,14 +356,13 @@ Class SlugLight : DynamicLight
Class FlakSlug : Actor Class FlakSlug : Actor
{ {
ChunkTrail trail;
Default Default
{ {
Obituary "%o was ripped to shreds by %k's Flak Cannon."; Obituary "%o was ripped to shreds by %k's Flak Cannon.";
DamageType 'FlakDeath'; DamageType 'FlakDeath';
DamageFunction Random[Flak](60,80); DamageFunction Random[Flak](60,80);
Radius 2; Radius 2;
Height 0; Height 2;
Speed 40; Speed 40;
PROJECTILE; PROJECTILE;
-NOGRAVITY; -NOGRAVITY;
@ -373,19 +372,12 @@ Class FlakSlug : Actor
override void PostBeginPlay() override void PostBeginPlay()
{ {
Super.PostBeginPlay(); Super.PostBeginPlay();
trail = ChunkTrail(Spawn("ChunkTrail",pos));
trail.target = self;
trail.speed = 1;
vel.z += 5; vel.z += 5;
} }
override void Tick() override void Tick()
{ {
Super.Tick(); Super.Tick();
if ( waterlevel > 0 ) if ( waterlevel > 0 ) vel.xy *= 0.98;
{
vel.xy *= 0.98;
if ( trail ) trail.Destroy();
}
} }
action void A_FlakExplode() action void A_FlakExplode()
{ {
@ -565,6 +557,9 @@ Class FlakCannon : UTWeapon
Weapon.AmmoType2 "FlakAmmo"; Weapon.AmmoType2 "FlakAmmo";
Weapon.AmmoUse2 1; Weapon.AmmoUse2 1;
Weapon.AmmoGive 10; Weapon.AmmoGive 10;
Radius 12;
Height 16;
UTWeapon.DroppedHeight 16;
} }
States States
{ {

View file

@ -12,6 +12,8 @@ Class UTHealthPack : Health replaces Soulsphere
Inventory.PickupMessage "You picked up the Big Keg O' Health."; Inventory.PickupMessage "You picked up the Big Keg O' Health.";
Inventory.PickupSound "misc/ut_keg"; Inventory.PickupSound "misc/ut_keg";
Inventory.RespawnTics 3500; Inventory.RespawnTics 3500;
Radius 18;
Height 30;
} }
States States
{ {
@ -30,6 +32,8 @@ Class UTHealthBox : Health replaces Medikit
Inventory.PickupMessage "You picked up a Health Box."; Inventory.PickupMessage "You picked up a Health Box.";
Health.LowMessage 25,"You picked up a Health Box that you REALLY need!"; Health.LowMessage 25,"You picked up a Health Box that you REALLY need!";
Inventory.PickupSound "misc/ut_heal"; Inventory.PickupSound "misc/ut_heal";
Radius 16;
Height 12;
} }
States States
{ {
@ -48,6 +52,8 @@ Class UTMedBox : Health replaces Stimpack
Inventory.PickupMessage "You picked up a Health Pack."; Inventory.PickupMessage "You picked up a Health Pack.";
Inventory.PickupSound "misc/ut_heal"; Inventory.PickupSound "misc/ut_heal";
Inventory.RespawnTics 700; Inventory.RespawnTics 700;
Radius 12;
Height 10;
} }
States States
{ {
@ -69,6 +75,8 @@ Class UTHealthBonus : Health replaces HealthBonus
Inventory.PickupMessage "You picked up a Health Vial."; Inventory.PickupMessage "You picked up a Health Vial.";
Inventory.PickupSound "misc/ut_heal"; Inventory.PickupSound "misc/ut_heal";
RenderStyle "Add"; RenderStyle "Add";
Radius 2;
Height 16;
} }
States States
{ {

View file

@ -195,6 +195,11 @@ Class ImpactHammer : UTWeapon replaces Fist
} }
A_Refire(flash); A_Refire(flash);
} }
override void DetachFromOwner()
{
if ( Owner ) Owner.A_StopSound(CHAN_WEAPON);
Super.DetachFromOwner();
}
Default Default
{ {

View file

@ -35,6 +35,8 @@ Class MiniAmmo : Ammo
Ammo.BackpackAmount 100; Ammo.BackpackAmount 100;
Ammo.BackpackMaxAmount 199; Ammo.BackpackMaxAmount 199;
Ammo.DropAmount 20; Ammo.DropAmount 20;
Radius 12;
Height 14;
} }
States States
{ {
@ -192,6 +194,9 @@ Class Minigun : UTWeapon
Weapon.AmmoType2 "MiniAmmo"; Weapon.AmmoType2 "MiniAmmo";
Weapon.AmmoUse2 1; Weapon.AmmoUse2 1;
Weapon.AmmoGive 50; Weapon.AmmoGive 50;
Radius 20;
Height 16;
UTWeapon.DroppedHeight 8;
} }
States States
{ {

View file

@ -12,6 +12,8 @@ Class UDamage : PowerupGiver replaces Berserk
Powerup.Type "DamageAmplifier"; Powerup.Type "DamageAmplifier";
Inventory.PickupSound "udamage/pickup"; Inventory.PickupSound "udamage/pickup";
Inventory.RespawnTics 4200; Inventory.RespawnTics 4200;
Radius 15;
Height 40;
} }
override void PostBeginPlay() override void PostBeginPlay()
{ {
@ -196,6 +198,8 @@ Class UTBackpack : BackpackItem replaces Backpack
Tag "Backpack"; Tag "Backpack";
Inventory.PickupMessage "You got a Backpack."; Inventory.PickupMessage "You got a Backpack.";
Inventory.RespawnTics 2100; Inventory.RespawnTics 2100;
Radius 10;
Height 32;
} }
States States
{ {
@ -235,6 +239,8 @@ Class UTInvisibility : PowerupGiver replaces BlurSphere
Inventory.PickupMessage "You have Invisibility."; Inventory.PickupMessage "You have Invisibility.";
Inventory.PickupSound "invis/pickup"; Inventory.PickupSound "invis/pickup";
Inventory.RespawnTics 4200; Inventory.RespawnTics 4200;
Radius 6;
Height 20;
} }
override void PostBeginPlay() override void PostBeginPlay()
{ {
@ -259,6 +265,8 @@ Class UTInvisibilityX : Actor
+NOGRAVITY; +NOGRAVITY;
+NOCLIP; +NOCLIP;
+DONTSPLASH; +DONTSPLASH;
Radius 0.1;
Height 0;
} }
override void Tick() override void Tick()
{ {
@ -290,6 +298,8 @@ Class UTMapRevealer : MapRevealer replaces Allmap
Inventory.MaxAmount 0; Inventory.MaxAmount 0;
Inventory.PickupSound "trans/pickup"; Inventory.PickupSound "trans/pickup";
Inventory.PickupMessage "You got the Computer Map."; Inventory.PickupMessage "You got the Computer Map.";
Radius 10;
Height 4;
} }
States States
{ {
@ -311,6 +321,8 @@ Class UTJumpBoots : Inventory replaces RadSuit
Inventory.PickupMessage "You picked up the AntiGrav boots."; Inventory.PickupMessage "You picked up the AntiGrav boots.";
Inventory.PickupSound "boot/pickup"; Inventory.PickupSound "boot/pickup";
Inventory.RespawnTics 1050; Inventory.RespawnTics 1050;
Radius 9;
Height 14;
} }
override bool Use( bool pickup ) override bool Use( bool pickup )
{ {
@ -395,6 +407,8 @@ Class Searchlight : Inventory replaces Infrared
Inventory.MaxAmount 200; Inventory.MaxAmount 200;
Inventory.InterHubAmount 0; Inventory.InterHubAmount 0;
Inventory.PickupMessage "You picked up the Searchlight."; Inventory.PickupMessage "You picked up the Searchlight.";
Radius 10;
Height 16;
} }
override bool Use( bool pickup ) override bool Use( bool pickup )

View file

@ -27,6 +27,8 @@ Class PulseAmmo : Ammo
Ammo.BackpackAmount 50; Ammo.BackpackAmount 50;
Ammo.BackpackMaxAmount 199; Ammo.BackpackMaxAmount 199;
Ammo.DropAmount 10; Ammo.DropAmount 10;
Radius 5;
Height 12;
} }
States States
{ {
@ -99,7 +101,7 @@ Class PulseBall : Actor
Scale 0.2; Scale 0.2;
Speed 30; Speed 30;
Radius 2; Radius 2;
Height 0; Height 2;
} }
override void PostBeginPlay() override void PostBeginPlay()
{ {
@ -516,6 +518,11 @@ Class PulseGun : UTWeapon
Super.OwnerDied(); Super.OwnerDied();
if ( beam ) beam.Destroy(); if ( beam ) beam.Destroy();
} }
override void DetachFromOwner()
{
if ( beam ) beam.Destroy();
Super.DetachFromOwner();
}
Default Default
{ {
Tag "Pulse Gun"; Tag "Pulse Gun";
@ -529,6 +536,9 @@ Class PulseGun : UTWeapon
Weapon.AmmoUse2 1; Weapon.AmmoUse2 1;
Weapon.AmmoGive 60; Weapon.AmmoGive 60;
PulseGun.ClipCount 50; PulseGun.ClipCount 50;
Radius 18;
Height 16;
UTWeapon.DroppedHeight 12;
} }
States States
{ {

View file

@ -9,6 +9,8 @@ Class RipperAmmo : Ammo
Ammo.BackpackAmount 50; Ammo.BackpackAmount 50;
Ammo.BackpackMaxAmount 75; Ammo.BackpackMaxAmount 75;
Ammo.DropAmount 10; Ammo.DropAmount 10;
Radius 4;
Height 21;
} }
States States
{ {
@ -27,6 +29,8 @@ Class Razor2Trail : Actor
+NOCLIP; +NOCLIP;
+DONTSPLASH; +DONTSPLASH;
+NOTELEPORT; +NOTELEPORT;
Radius 0.1;
Height 0;
} }
override void Tick() override void Tick()
{ {
@ -54,7 +58,7 @@ Class Razor2 : Actor
Default Default
{ {
Radius 2; Radius 2;
Height 0; Height 2;
Speed 50; Speed 50;
DamageFunction Random[Ripper](20,30); DamageFunction Random[Ripper](20,30);
DamageType "Ripper"; DamageType "Ripper";
@ -244,6 +248,9 @@ Class Ripper2 : UTWeapon
Weapon.AmmoType2 "RipperAmmo"; Weapon.AmmoType2 "RipperAmmo";
Weapon.AmmoUse2 1; Weapon.AmmoUse2 1;
Weapon.AmmoGive 15; Weapon.AmmoGive 15;
Radius 20;
Height 16;
UTWeapon.DroppedHeight 16;
} }
action void A_RazorFire( bool alt = false ) action void A_RazorFire( bool alt = false )
{ {

View file

@ -9,6 +9,8 @@ Class ShockAmmo : Ammo
Ammo.BackpackAmount 20; Ammo.BackpackAmount 20;
Ammo.BackpackMaxAmount 50; Ammo.BackpackMaxAmount 50;
Ammo.DropAmount 5; Ammo.DropAmount 5;
Radius 4;
Height 23;
} }
States States
{ {
@ -759,8 +761,8 @@ Class ShockHitbox : Actor
{ {
Default Default
{ {
Radius 24; Radius 8;
Height 24; Height 16;
+NOGRAVITY; +NOGRAVITY;
+NOCLIP; +NOCLIP;
+DONTSPLASH; +DONTSPLASH;
@ -818,7 +820,7 @@ Class ShockBall : Actor
DamageType 'jolted'; DamageType 'jolted';
DamageFunction Random[ASMD](50,60); DamageFunction Random[ASMD](50,60);
Radius 2; Radius 2;
Height 0; Height 2;
Scale 0.4; Scale 0.4;
Speed 20; Speed 20;
PROJECTILE; PROJECTILE;
@ -880,7 +882,7 @@ Class SuperShockBall : Actor
DamageType 'jolted'; DamageType 'jolted';
DamageFunction Random[ASMD](5000,6000); DamageFunction Random[ASMD](5000,6000);
Radius 2; Radius 2;
Height 0; Height 2;
Scale 0.5; Scale 0.5;
Speed 25; Speed 25;
PROJECTILE; PROJECTILE;
@ -956,6 +958,9 @@ Class ShockRifle : UTWeapon
Weapon.AmmoType2 "ShockAmmo"; Weapon.AmmoType2 "ShockAmmo";
Weapon.AmmoUse2 1; Weapon.AmmoUse2 1;
Weapon.AmmoGive 20; Weapon.AmmoGive 20;
Radius 20;
Height 16;
UTWeapon.DroppedHeight 8;
} }
States States
{ {
@ -1002,6 +1007,8 @@ Class EnhancedShockAmmo : Ammo
Ammo.BackpackAmount 0; Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 25; Ammo.BackpackMaxAmount 25;
Ammo.DropAmount 2; Ammo.DropAmount 2;
Radius 4;
Height 23;
} }
States States
{ {
@ -1065,6 +1072,9 @@ Class EnhancedShockRifle : UTWeapon replaces InvulnerabilitySphere
Weapon.AmmoType2 "EnhancedShockAmmo"; Weapon.AmmoType2 "EnhancedShockAmmo";
Weapon.AmmoUse2 1; Weapon.AmmoUse2 1;
Weapon.AmmoGive 25; Weapon.AmmoGive 25;
Radius 20;
Height 16;
UTWeapon.DroppedHeight 8;
} }
States States
{ {

View file

@ -9,6 +9,8 @@ Class RifleAmmo : Ammo
Ammo.BackpackAmount 20; Ammo.BackpackAmount 20;
Ammo.BackpackMaxAmount 50; Ammo.BackpackMaxAmount 50;
Ammo.DropAmount 5; Ammo.DropAmount 5;
Radius 6;
Height 12;
} }
States States
{ {
@ -26,6 +28,8 @@ Class RifleAmmo2 : RifleAmmo
Inventory.PickupMessage "You got a Rifle Round."; Inventory.PickupMessage "You got a Rifle Round.";
Inventory.Amount 1; Inventory.Amount 1;
Ammo.DropAmount 1; Ammo.DropAmount 1;
Radius 1;
Height 8;
} }
States States
{ {
@ -138,6 +142,9 @@ Class SniperRifle : UTWeapon
Weapon.AmmoType2 "RifleAmmo"; Weapon.AmmoType2 "RifleAmmo";
Weapon.AmmoUse2 1; Weapon.AmmoUse2 1;
Weapon.AmmoGive 8; Weapon.AmmoGive 8;
Radius 20;
Height 16;
UTWeapon.DroppedHeight 10;
} }
States States
{ {

View file

@ -2,7 +2,7 @@ Class ModuleHitbox : Actor
{ {
Default Default
{ {
Radius 10; Radius 5;
Height 4; Height 4;
+SHOOTABLE; +SHOOTABLE;
+NOGRAVITY; +NOGRAVITY;
@ -30,7 +30,7 @@ Class ModuleHitbox : Actor
Destroy(); Destroy();
return; return;
} }
SetOrigin(target.pos-(0,0,height*0.5),true); SetOrigin(target.pos,true);
if ( target.bMISSILE ) return; if ( target.bMISSILE ) return;
let bi = BlockThingsIterator.Create(self,32); let bi = BlockThingsIterator.Create(self,32);
while ( bi.Next() ) while ( bi.Next() )
@ -119,7 +119,7 @@ Class TranslocatorModule : Actor
Default Default
{ {
Radius 2; Radius 2;
Height 0; Height 2;
Speed 25; Speed 25;
PROJECTILE; PROJECTILE;
-NOGRAVITY; -NOGRAVITY;
@ -357,6 +357,9 @@ Class Translocator : UTWeapon
Weapon.SlotNumber 1; Weapon.SlotNumber 1;
Weapon.SelectionOrder 10; Weapon.SelectionOrder 10;
+WEAPON.NO_AUTO_SWITCH; +WEAPON.NO_AUTO_SWITCH;
Radius 5;
Height 16;
UTWeapon.DroppedHeight 4;
} }
States States
{ {

View file

@ -184,6 +184,10 @@ Class RandomSpawner2 : RandomSpawner
Class UTWeapon : Weapon Class UTWeapon : Weapon
{ {
double droppedheight;
Property DroppedHeight : droppedheight;
// Drawstuffs under HUD // Drawstuffs under HUD
virtual ui void PreRender() {} virtual ui void PreRender() {}
// Drawstuffs over HUD // Drawstuffs over HUD
@ -197,6 +201,7 @@ Class UTWeapon : Weapon
{ {
d.SetState(d.ResolveState("Spawn")+1); d.SetState(d.ResolveState("Spawn")+1);
d.bALWAYSPICKUP = true; d.bALWAYSPICKUP = true;
d.A_SetSize(-1,UTWeapon(d).droppedheight);
} }
return d; return d;
} }
@ -205,6 +210,7 @@ Class UTWeapon : Weapon
{ {
SetState(ResolveState("Spawn")+1); SetState(ResolveState("Spawn")+1);
bALWAYSPICKUP = true; bALWAYSPICKUP = true;
A_SetSize(-1,droppedheight);
return false; return false;
} }
@ -228,6 +234,7 @@ Class UTWeapon : Weapon
Weapon.BobRangeX 0.2; Weapon.BobRangeX 0.2;
Weapon.BobRangeY 0.4; Weapon.BobRangeY 0.4;
+WEAPON.NOALERT; +WEAPON.NOALERT;
UTWeapon.DroppedHeight 16;
} }
} }

View file

@ -11,6 +11,8 @@ Class WarheadAmmo : Ammo
Ammo.BackpackMaxAmount 2; Ammo.BackpackMaxAmount 2;
Ammo.DropAmount 1; Ammo.DropAmount 1;
Inventory.RespawnTics 2100; Inventory.RespawnTics 2100;
Radius 2;
Height 42;
} }
States States
{ {
@ -110,8 +112,8 @@ Class WarheadHitbox : Actor
{ {
Default Default
{ {
Radius 8; Radius 2;
Height 8; Height 4;
+SHOOTABLE; +SHOOTABLE;
+NOGRAVITY; +NOGRAVITY;
+NOCLIP; +NOCLIP;
@ -242,8 +244,8 @@ Class WarShell : Actor
Default Default
{ {
Obituary "%o was vaporized by %k's Redeemer!!"; Obituary "%o was vaporized by %k's Redeemer!!";
Radius 4; Radius 2;
Height 4; Height 2;
Speed 2; Speed 2;
DamageType 'RedeemerDeath'; DamageType 'RedeemerDeath';
DamageFactor 1000; DamageFactor 1000;
@ -649,6 +651,9 @@ Class WarheadLauncher : UTWeapon replaces BFG9000
Inventory.RespawnTics 2100; Inventory.RespawnTics 2100;
+INVENTORY.ALWAYSPICKUP; +INVENTORY.ALWAYSPICKUP;
+WEAPON.NOAUTOFIRE; +WEAPON.NOAUTOFIRE;
Radius 24;
Height 16;
UTWeapon.DroppedHeight 16;
} }
States States
{ {