Release Candidate 3:

- Fix inventory items not removing themselves when fully drained and no more
  copies are held.
- Fixed Minigun playing the unwind animation on player death.
- Fixed main hand Automag still firing when out of ammo dual wielding.
- Corrected name clash between two explosion sounds.
- Fixed suits still protecting from elemental damage when depleted.
- Add option to wear all suits simultaneously.
- Stunner now consumes Stinger ammo to recharge, this is more in line with the
  Unreal Bible.
- Max damage per explosion capped to 100 for Stinger. Prevents ludicrous
  map-clearing explosions with an amplified asmd combo.
- Shoot-through lines can now be activated by hitscan/beam weapons thanks to
  new DT "bullet trail" feature. No more softlocks in custom maps.
- Added option to make Peacemaker missiles not seek owner and allies.
- Peacemaker missiles start seeking targets much earlier, making it more viable
  indoors.
- Autocannon has had its damage increased again.
- Adjusted swingers for many weapons to feel a bit more natural. Still far from
  perfect.
- Reverted changes to Flamethrower projectile density, and simply made it have
  less dynamic lights.
- Adjustments to armors. Suit elemental resistances now take priority (as
  intended). [please redownload your DT devbuild for full effect]
- Added ring effect for 6-rocket tight wad. Completely forgot this was a thing.
- Fixed flashlight not clearing its dynlights when depleted and still having
  copies.
This commit is contained in:
Marisa the Magician 2019-10-10 08:32:36 +02:00
commit c6a81479ca
29 changed files with 218 additions and 74 deletions

View file

@ -230,7 +230,7 @@ Class UFlame : Actor
override void PostBeginPlay()
{
Super.PostBeginPlay();
if ( waterlevel <= 0 )
if ( (waterlevel <= 0) && Random[FlameT](0,1) )
{
let l = Spawn("UFlameLight",pos);
l.target = self;
@ -262,18 +262,18 @@ Class UFlame : Actor
let s = Spawn("UTSmoke",pos);
s.vel = (FRandom[FlameT](-0.2,0.2),FRandom[FlameT](-0.2,0.2),FRandom[FlameT](-0.2,0.2));
s.vel += vel*0.3;
s.alpha *= alpha*2;
s.alpha *= alpha*4;
s.scale *= 0.5+abs(scale.x)*(.5+GetAge()/6.);
}
if ( bAMBUSH ) return;
if ( Random[FlameT](0,int(20*((default.alpha+0.1)-alpha))) ) return;
double rad = 60+60*int(0.4-alpha);
double rad = 60+120*int(0.2-alpha);
let bt = BlockThingsIterator.Create(self,rad);
while ( bt.Next() )
{
let t = bt.Thing;
if ( !t || !t.bSHOOTABLE || (t.Health <= 0) || (t == tracer) || ((t == master) && (GetAge() < 6)) || (Distance3D(t) > rad+t.radius) ) continue;
int amt = max(1,int(alpha*5));
int amt = max(1,int(alpha*10));
OnFire.Apply(t,master,amt);
}
}
@ -283,7 +283,7 @@ Class UFlame : Actor
Speed 20;
Radius 4;
Height 4;
Alpha 0.4;
Alpha 0.2;
Scale 0.1;
+NOBLOCKMAP;
+NOGRAVITY;
@ -304,7 +304,7 @@ Class UFlame : Actor
{
A_Flame();
A_SetScale(scale.x*1.01+0.04);
A_FadeOut(0.01);
A_FadeOut(0.005);
}
Stop;
}
@ -886,7 +886,7 @@ Class UFlamethrower : UnrealWeapon
Vector3 x, y, z, x2, y2, z2;
[x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll);
Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),15*x+2.3*y-2.7*z);
//for ( int i=0; i<2; i++ )
for ( int i=0; i<2; i++ )
{
double a = FRandom[FlameT](0,360), s = FRandom[FlameT](0,.05);
[x2, y2, z2] = dt_CoordUtil.GetAxes(BulletSlope(),angle,roll);
@ -904,7 +904,7 @@ Class UFlamethrower : UnrealWeapon
p.vel = vel*.5+(cos(p.angle)*cos(p.pitch),sin(p.angle)*cos(p.pitch),-sin(p.pitch))*p.speed*FRandom[FlameT](0.3,0.6);
p.vel.z -= 3;
p.target = self;
//continue;
continue;
}
p.angle = atan2(dir.y,dir.x);
p.pitch = asin(-dir.z);