Beta 5 Hotfix 1:
- Increased accuracy and damage of Betamag (10 → 14). - Slightly increased per-pellet damage of Quadshot (11 → 12). - Fixed Flamethrower alt refire not restarting the charge process, making it get stuck. - [flak_m] I seriously hope this is the last time I need to add even more safeguards to the FlakAccumulator class. It should be airtight now and never crash.
This commit is contained in:
parent
0cb76eb03a
commit
cfdbfaa2bf
3 changed files with 6 additions and 4 deletions
|
|
@ -50,7 +50,7 @@ Class Betamag : UnrealWeapon
|
||||||
{
|
{
|
||||||
Weapon weap = Weapon(invoker);
|
Weapon weap = Weapon(invoker);
|
||||||
if ( !weap || !player ) return;
|
if ( !weap || !player ) return;
|
||||||
if ( invoker.altaccuracy < 0.1 ) invoker.altaccuracy += 0.015;
|
if ( invoker.altaccuracy < 0.05 ) invoker.altaccuracy += 0.01;
|
||||||
if ( slave )
|
if ( slave )
|
||||||
{
|
{
|
||||||
if ( weap.Ammo1.Amount <= 0 )
|
if ( weap.Ammo1.Amount <= 0 )
|
||||||
|
|
@ -172,14 +172,14 @@ Class Betamag : UnrealWeapon
|
||||||
int ydir = slave?-1:1;
|
int ydir = slave?-1:1;
|
||||||
if ( alt ) origin = level.Vec3Offset(origin,-z*2.5+ydir*y*1.5);
|
if ( alt ) origin = level.Vec3Offset(origin,-z*2.5+ydir*y*1.5);
|
||||||
else origin = level.Vec3Offset(origin,-z*1.5+ydir*y*2);
|
else origin = level.Vec3Offset(origin,-z*1.5+ydir*y*2);
|
||||||
double a = FRandom[Betamag](0,360), s = FRandom[Betamag](0,alt?invoker.altaccuracy:0.01);
|
double a = FRandom[Betamag](0,360), s = FRandom[Betamag](0,alt?invoker.altaccuracy:0.);
|
||||||
[x2, y2, z2] = dt_CoordUtil.GetAxes(BulletSlope(),angle,roll);
|
[x2, y2, z2] = dt_CoordUtil.GetAxes(BulletSlope(),angle,roll);
|
||||||
Vector3 dir = (x2+y2*cos(a)*s+z2*sin(a)*s).unit();
|
Vector3 dir = (x2+y2*cos(a)*s+z2*sin(a)*s).unit();
|
||||||
FLineTraceData d;
|
FLineTraceData d;
|
||||||
LineTrace(atan2(dir.y,dir.x),10000,asin(-dir.z),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d);
|
LineTrace(atan2(dir.y,dir.x),10000,asin(-dir.z),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d);
|
||||||
if ( d.HitType == TRACE_HitActor )
|
if ( d.HitType == TRACE_HitActor )
|
||||||
{
|
{
|
||||||
int dmg = 10;
|
int dmg = 14;
|
||||||
dmg = d.HitActor.DamageMobj(invoker,self,dmg,'shot',DMG_USEANGLE|DMG_THRUSTLESS,atan2(d.HitDir.y,d.HitDir.x));
|
dmg = d.HitActor.DamageMobj(invoker,self,dmg,'shot',DMG_USEANGLE|DMG_THRUSTLESS,atan2(d.HitDir.y,d.HitDir.x));
|
||||||
double mm = 3000;
|
double mm = 3000;
|
||||||
if ( FRandom[Betamag](0,1) < 0.2 ) mm *= 5;
|
if ( FRandom[Betamag](0,1) < 0.2 ) mm *= 5;
|
||||||
|
|
|
||||||
|
|
@ -1025,6 +1025,8 @@ Class UFlamethrower : UnrealWeapon
|
||||||
GotoAltHold:
|
GotoAltHold:
|
||||||
FLMA Y 0
|
FLMA Y 0
|
||||||
{
|
{
|
||||||
|
invoker.bCharging = true;
|
||||||
|
A_BeginCharge();
|
||||||
player.SetPSprite(-2,ResolveState("FlameAltHold"));
|
player.SetPSprite(-2,ResolveState("FlameAltHold"));
|
||||||
}
|
}
|
||||||
Goto AltHold;
|
Goto AltHold;
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,7 @@ Class QuadShot : UnrealWeapon
|
||||||
{
|
{
|
||||||
for ( int i=0; i<t.HitList.Size(); i++ )
|
for ( int i=0; i<t.HitList.Size(); i++ )
|
||||||
{
|
{
|
||||||
int dmg = 11;
|
int dmg = 12;
|
||||||
FlakAccumulator.Accumulate(t.HitList[i].HitActor,dmg,invoker,self,'shot');
|
FlakAccumulator.Accumulate(t.HitList[i].HitActor,dmg,invoker,self,'shot');
|
||||||
double mm = 2400;
|
double mm = 2400;
|
||||||
UTMainHandler.DoKnockback(t.HitList[i].HitActor,t.HitList[i].x+(0,0,0.025),mm*FRandom[Quadshot](0.4,1.2));
|
UTMainHandler.DoKnockback(t.HitList[i].HitActor,t.HitList[i].x+(0,0,0.025),mm*FRandom[Quadshot](0.4,1.2));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue