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

@ -18,7 +18,13 @@ Class StunnerAmmo : Ammo
if ( rechargephase < 7 ) return;
rechargespeed = max(2.,.2*Amount);
rechargephase = 0;
Amount = min(Amount+1,MaxAmount);
if ( Amount >= MaxAmount ) return;
let sting = Owner.FindInventory("StingerAmmo");
if ( sting && (sting.Amount > 0) )
{
sting.Amount--;
Amount++;
}
}
override bool TryPickup( in out Actor toucher )
{
@ -72,6 +78,7 @@ Class StunLight : PaletteLight
Class StunTracer : LineTracer
{
Actor owner, ignore;
Array<Line> ShootThroughList;
override ETraceStatus TraceCallback()
{
@ -85,6 +92,7 @@ Class StunTracer : LineTracer
{
if ( !Results.HitLine.sidedef[1] || (Results.HitLine.Flags&(Line.ML_BlockHitscan|Line.ML_BlockEverything)) )
return TRACE_Stop;
ShootThroughList.Push(Results.HitLine);
return TRACE_Skip;
}
return TRACE_Stop;
@ -117,7 +125,10 @@ Class StunProj : Actor
}
// step trace
tracedir = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch));
t.ShootThroughList.Clear();
t.Trace(pos,cursector,tracedir,500,0);
for ( int i=0; i<t.ShootThroughList.Size(); i++ )
t.ShootThroughList[i].Activate(target,0,SPAC_PCross);
totaldist += t.Results.Distance;
// spawn particles
for ( int i=10; i<t.Results.Distance; i+=80 )