Changed Pulse Beam size to be the same as in UT99 (10 81-unit segments).

Tweaked Starter Bolt textures to look better in first person.
Tweaked Pulse Beam model UVs to reduce seams.
Switched Chainsaw alt-fire to damage in an arc.
Rebalanced damages of Chainsaw, Enforcer, Biorifle, Pulsegun, Minigun, Flak Cannon.
Adjusted Redeemer damage formula.
Added view flash to Redeemer shockwave.
Reduced Enforcer fire speed.
Reduced delay of Minigun altfire. Should happen after exactly one cycle.
Increased knockback of Impact Hammer.
This commit is contained in:
Marisa the Magician 2018-08-12 01:49:00 +02:00
commit 36a3598826
17 changed files with 52 additions and 101 deletions

View file

@ -241,7 +241,7 @@ Class PulseBoltLight : DynamicLight
Default
{
DynamicLight.Type "Point";
Args 32,128,0,40;
Args 32,128,0,80;
}
override void Tick()
{
@ -252,7 +252,7 @@ Class PulseBoltLight : DynamicLight
return;
}
SetOrigin(target.pos,true);
args[LIGHT_INTENSITY] = Random[Pulse](30,50);
args[LIGHT_INTENSITY] = Random[Pulse](60,100);
}
}
@ -307,7 +307,7 @@ Class PulseBoltCap : Actor
+NOCLIP;
+DONTSPLASH;
+FORCEXYBILLBOARD;
Scale 0.15;
Scale 0.3;
}
States
{
@ -345,7 +345,7 @@ Class PulseBoltHit : Actor
+NOCLIP;
+DONTSPLASH;
+FORCEXYBILLBOARD;
Scale 0.15;
Scale 0.3;
}
States
{
@ -357,7 +357,7 @@ Class PulseBoltHit : Actor
Class PulseBolt : Actor
{
const beamsize = 40.5;
const beamsize = 81.0;
PulseBoltTracer t;
double accdamage;
@ -391,20 +391,20 @@ Class PulseBolt : Actor
if ( !damagedactor )
{
accdamage = min(0.5*(level.time-lasthit),0.1);
t.Results.HitActor.DamageMobj(self,target,int(Random[Pulse](70,80)*accdamage),'zapped',DMG_USEANGLE,atan2(x.y,x.x));
t.Results.HitActor.DamageMobj(self,target,int(Random[Pulse](70,90)*accdamage),'zapped',DMG_USEANGLE,atan2(x.y,x.x));
accdamage = 0;
}
else if ( t.Results.HitActor != damagedactor )
{
t.Results.HitActor.DamageMobj(self,target,int(Random[Pulse](70,80)*accdamage),'zapped',DMG_USEANGLE,atan2(x.y,x.x));
t.Results.HitActor.DamageMobj(self,target,int(Random[Pulse](70,90)*accdamage),'zapped',DMG_USEANGLE,atan2(x.y,x.x));
accdamage = 0;
}
lasthit = level.time;
damagedactor = t.Results.HitActor;
accdamage += 1./TICRATE;
if ( accdamage > 0.16 )
if ( accdamage > 0.17 )
{
t.Results.HitActor.DamageMobj(self,target,int(Random[Pulse](70,80)*accdamage),'zapped',DMG_USEANGLE,atan2(x.y,x.x));
t.Results.HitActor.DamageMobj(self,target,int(Random[Pulse](70,90)*accdamage),'zapped',DMG_USEANGLE,atan2(x.y,x.x));
accdamage = 0;
}
}
@ -450,7 +450,7 @@ Class PulseBolt : Actor
accdamage = 0;
damagedactor = null;
}
if ( position >= 19 )
if ( position >= 9 )
{
int numpt = Random[Pulse](5,10)*!Random[Pulse](0,5);
for ( int i=0; i<numpt; i++ )
@ -534,7 +534,7 @@ Class StarterBolt : PulseBolt
if ( target.player )
{
[x, y, z] = Matrix4.GetAxes(target.pitch,target.angle,target.roll);
origin = target.Vec2OffsetZ(0,0,target.player.viewz)+10.0*x+4.1*y-2.7*z;
origin = target.Vec2OffsetZ(0,0,target.player.viewz)+8.0*x+4.1*y-2.7*z;
}
else origin = target.Vec3Offset(0,0,target.missileheight);
SetOrigin(origin,true);