1.0.4:
- Very noticeable changes to the Automag and Protomag firing speeds. This is going to make dual wielding even more OP than it already was. Just so you know, dual wielding is NOT "canon" here, and if it breaks balance I really can't do much about it. - Automag and Protomag now start firing as soon as the trigger is held. - Protomag damage reduced back to 10 now that it has a much faster altfire. Believe it or not, the new altfire speed is actually true to the original. - Propagate the AmbientGlow changes from DT.
This commit is contained in:
parent
8061ce28b2
commit
71fc572952
5 changed files with 83 additions and 61 deletions
|
|
@ -195,6 +195,7 @@ Class Automag : UnrealWeapon
|
|||
if ( alt ) origin = level.Vec3Offset(origin,-z*3+ydir*y);
|
||||
else origin = level.Vec3Offset(origin,-z+ydir*y*4);
|
||||
double a = FRandom[Automag](0,360), s = FRandom[Automag](0,alt?invoker.altaccuracy:0.01);
|
||||
if ( invoker.Amount > 1 ) s *= 1.6;
|
||||
[x2, y2, z2] = dt_CoordUtil.GetAxes(BulletSlope(),angle,roll);
|
||||
Vector3 dir = (x2+y2*cos(a)*s+z2*sin(a)*s).unit();
|
||||
FLineTraceData d;
|
||||
|
|
@ -341,6 +342,7 @@ Class Automag : UnrealWeapon
|
|||
Stop;
|
||||
Select:
|
||||
AUTS A 1 A_Raise(int.max);
|
||||
Wait;
|
||||
Ready:
|
||||
AUTS A 0
|
||||
{
|
||||
|
|
@ -403,27 +405,33 @@ Class Automag : UnrealWeapon
|
|||
}
|
||||
Wait;
|
||||
Fire:
|
||||
AUTF A 1 A_Overlay(-9999,null);
|
||||
AUTF A 1
|
||||
{
|
||||
A_Overlay(-9999,null);
|
||||
A_AutomagFire();
|
||||
}
|
||||
AUTF BCD 1;
|
||||
AUTF LM 3;
|
||||
AUTF N 0 A_AutomagRefire(1);
|
||||
Goto Release;
|
||||
Hold:
|
||||
AUTF E 2 A_AutomagFire();
|
||||
AUTF FG 2;
|
||||
AUTF N 1;
|
||||
AUTF E 3 A_AutomagFire();
|
||||
AUTF FG 3;
|
||||
AUTF N 0 A_AutomagRefire(1);
|
||||
Goto Release;
|
||||
AUTF NN 2;
|
||||
AUTF H 2 A_AutomagFire();
|
||||
AUTF IJ 2;
|
||||
AUTF N 1;
|
||||
AUTF H 3 A_AutomagFire();
|
||||
AUTF IJ 3;
|
||||
AUTF N 0 A_AutomagRefire(1);
|
||||
Goto Release;
|
||||
AUTF NN 2;
|
||||
AUTF K 2 A_AutomagFire();
|
||||
AUTF LM 2;
|
||||
AUTF N 0 A_AutomagRefire(1);
|
||||
AUTF N 1;
|
||||
AUTF K 3 A_AutomagFire();
|
||||
AUTF LM 3;
|
||||
AUTF N 0 A_AutomagRefire("Hold");
|
||||
Goto Release;
|
||||
AUTF NN 2;
|
||||
Goto Hold;
|
||||
Release:
|
||||
AUTF NN 2;
|
||||
AUTF N 1;
|
||||
AUTF OPQRST 1;
|
||||
AUTI A 0;
|
||||
Goto Idle;
|
||||
|
|
@ -431,26 +439,29 @@ Class Automag : UnrealWeapon
|
|||
2UTI A 5 A_Overlay(-9998,null);
|
||||
2UTI A 0 A_AutomagRefire(1,true);
|
||||
Goto LeftIdle;
|
||||
2UTF A 1 A_AutomagFire(false,true);
|
||||
2UTF BCD 1;
|
||||
2UTF LM 3;
|
||||
2UTF N 0 A_AutomagRefire(1,true);
|
||||
Goto LeftRelease;
|
||||
LeftHold:
|
||||
2UTF ABCD 1;
|
||||
2UTF E 2 A_AutomagFire(false,true);
|
||||
2UTF FG 2;
|
||||
2UTF N 1;
|
||||
2UTF E 3 A_AutomagFire(false,true);
|
||||
2UTF FG 3;
|
||||
2UTF N 0 A_AutomagRefire(1,true);
|
||||
Goto LeftRelease;
|
||||
2UTF NN 2;
|
||||
2UTF H 2 A_AutomagFire(false,true);
|
||||
2UTF IJ 2;
|
||||
2UTF N 1;
|
||||
2UTF H 3 A_AutomagFire(false,true);
|
||||
2UTF IJ 3;
|
||||
2UTF N 0 A_AutomagRefire(1,true);
|
||||
Goto LeftRelease;
|
||||
2UTF NN 2;
|
||||
2UTF K 2 A_AutomagFire(false,true);
|
||||
2UTF LM 2;
|
||||
2UTF N 0 A_AutomagRefire(1,true);
|
||||
2UTF N 1;
|
||||
2UTF K 3 A_AutomagFire(false,true);
|
||||
2UTF LM 3;
|
||||
2UTF N 0 A_AutomagRefire("LeftHold",true);
|
||||
Goto LeftRelease;
|
||||
2UTF NN 2;
|
||||
Goto LeftHold+4;
|
||||
LeftRelease:
|
||||
2UTF NN 2;
|
||||
2UTF N 1;
|
||||
2UTF OPQRST 1;
|
||||
2UTI A 0;
|
||||
Goto LeftIdle;
|
||||
|
|
@ -466,17 +477,17 @@ Class Automag : UnrealWeapon
|
|||
AUTA LM 2;
|
||||
AUTA T 0 A_AutomagRefire(1);
|
||||
Goto AltRelease;
|
||||
AUTA T 1;
|
||||
AUTA T 2;
|
||||
AUTA N 2 A_AutomagFire(true);
|
||||
AUTA OP 2;
|
||||
AUTA T 0 A_AutomagRefire(1);
|
||||
Goto AltRelease;
|
||||
AUTA T 1;
|
||||
AUTA T 2;
|
||||
AUTA Q 2 A_AutomagFire(true);
|
||||
AUTA RS 2;
|
||||
AUTA T 0 A_AutomagRefire(1);
|
||||
Goto AltRelease;
|
||||
AUTA T 1;
|
||||
AUTA T 2;
|
||||
Goto AltHold;
|
||||
AltRelease:
|
||||
AUTA TUVWXYZ 1;
|
||||
|
|
@ -491,17 +502,17 @@ Class Automag : UnrealWeapon
|
|||
2UTA LM 2;
|
||||
2UTA T 0 A_AutomagRefire(1,true);
|
||||
Goto LeftAltRelease;
|
||||
2UTA T 1;
|
||||
2UTA T 2;
|
||||
2UTA N 2 A_AutomagFire(true,true);
|
||||
2UTA OP 2;
|
||||
2UTA T 0 A_AutomagRefire(1,true);
|
||||
Goto LeftAltRelease;
|
||||
2UTA T 1;
|
||||
2UTA T 2;
|
||||
2UTA Q 2 A_AutomagFire(true,true);
|
||||
2UTA RS 2;
|
||||
2UTA T 0 A_AutomagRefire(1,true);
|
||||
Goto LeftAltRelease;
|
||||
2UTA T 1;
|
||||
2UTA T 2;
|
||||
Goto LeftAltHold+10;
|
||||
LeftAltRelease:
|
||||
2UTA TUVWXYZ 1;
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ Class Betamag : UnrealWeapon
|
|||
{
|
||||
Weapon weap = Weapon(invoker);
|
||||
if ( !weap || !player ) return;
|
||||
if ( invoker.altaccuracy < 0.05 ) invoker.altaccuracy += 0.01;
|
||||
if ( invoker.altaccuracy < 0.06 ) invoker.altaccuracy += 0.01;
|
||||
if ( slave )
|
||||
{
|
||||
if ( weap.Ammo1.Amount <= 0 )
|
||||
|
|
@ -234,6 +234,7 @@ Class Betamag : UnrealWeapon
|
|||
if ( alt ) origin = level.Vec3Offset(origin,-z*2.5+ydir*y*1.5);
|
||||
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.);
|
||||
if ( invoker.Amount > 1 ) s = s*2.+FRandom[Betamag](0,0.01);
|
||||
[x2, y2, z2] = dt_CoordUtil.GetAxes(BulletSlope(),angle,roll);
|
||||
Vector3 dir = (x2+y2*cos(a)*s+z2*sin(a)*s).unit();
|
||||
FLineTraceData d;
|
||||
|
|
@ -241,7 +242,7 @@ Class Betamag : UnrealWeapon
|
|||
UTBulletTrail.DoTrail(self,origin,dir,10000,int((invoker.Amount+alt)**2));
|
||||
if ( d.HitType == TRACE_HitActor )
|
||||
{
|
||||
int dmg = 14;
|
||||
int dmg = 10;
|
||||
dmg = d.HitActor.DamageMobj(invoker,self,dmg,'shot',DMG_USEANGLE|DMG_THRUSTLESS,atan2(d.HitDir.y,d.HitDir.x));
|
||||
double mm = 3000;
|
||||
if ( FRandom[Betamag](0,1) < 0.2 ) mm *= 5;
|
||||
|
|
@ -284,7 +285,7 @@ Class Betamag : UnrealWeapon
|
|||
for ( int i=0; i<3; i++ )
|
||||
{
|
||||
let s = Spawn("UTViewSmoke",origin);
|
||||
if ( alt ) UTViewSmoke(s).ofs = (10,ydir,-3);
|
||||
if ( alt ) UTViewSmoke(s).ofs = (10,1.5*ydir,-3);
|
||||
else UTViewSmoke(s).ofs = (10,4*ydir,-1);
|
||||
s.target = self;
|
||||
s.alpha *= 0.5;
|
||||
|
|
@ -421,63 +422,72 @@ Class Betamag : UnrealWeapon
|
|||
}
|
||||
Wait;
|
||||
Fire:
|
||||
AUTF A 2
|
||||
AUTF A 1
|
||||
{
|
||||
if ( invoker.Ammo1.Amount <= 0 )
|
||||
return ResolveState("Reload");
|
||||
A_BetamagFire();
|
||||
A_Overlay(-9999,null);
|
||||
return A_JumpIfNoAmmo("Reload");
|
||||
return ResolveState(null);
|
||||
}
|
||||
AUTF B 2;
|
||||
Hold:
|
||||
AUTF C 2 A_BetamagFire();
|
||||
AUTF DE 2;
|
||||
AUTF BCD 1;
|
||||
AUTF E 2;
|
||||
AUTF F 0 A_PlaySound("betamag/slide",CHAN_ITEM,!Dampener.Active(self)?.3:.03);
|
||||
AUTF FGHI 2;
|
||||
AUTF J 0 A_BetamagRefire("Hold");
|
||||
AUTF J 2;
|
||||
AUTI A 0;
|
||||
Goto Idle;
|
||||
Hold:
|
||||
AUTF C 2 A_BetamagFire();
|
||||
AUTF D 2;
|
||||
Goto Fire+4;
|
||||
LeftFire:
|
||||
#### # 10 A_Overlay(-9998,null);
|
||||
#### # 9 A_Overlay(-9998,null);
|
||||
2UTI A 0 A_BetamagRefire(1,true);
|
||||
Goto LeftIdle;
|
||||
2UTF AB 1;
|
||||
LeftHold:
|
||||
2UTF C 2 A_BetamagFire(false,true);
|
||||
2UTF DE 2;
|
||||
2UTF A 1 A_BetamagFire(false,true);
|
||||
2UTF BCD 1;
|
||||
2UTF E 2;
|
||||
2UTF F 0 A_PlaySound("betamag/slide",CHAN_7,!Dampener.Active(self)?.3:.03);
|
||||
2UTF FGHI 2;
|
||||
2UTF J 0 A_BetamagRefire("LeftHold",true);
|
||||
2UTF J 2;
|
||||
2UTI A 0;
|
||||
Goto LeftIdle;
|
||||
LeftHold:
|
||||
2UTF C 2 A_BetamagFire(false,true);
|
||||
2UTF D 2;
|
||||
Goto LeftFire+6;
|
||||
AltFire:
|
||||
AUTA A 0
|
||||
{
|
||||
if ( invoker.Ammo1.Amount <= 0 )
|
||||
return ResolveState("Reload");
|
||||
invoker.altaccuracy = 0.08;
|
||||
A_Overlay(-9999,null);
|
||||
return A_JumpIfNoAmmo("Reload");
|
||||
return ResolveState(null);
|
||||
}
|
||||
AUTA ABCDEFG 2;
|
||||
AltHold:
|
||||
AUTA H 2 A_BetamagFire(true);
|
||||
AUTA I 2;
|
||||
AUTA H 1 A_BetamagFire(true);
|
||||
AUTA I 1;
|
||||
AUTA J 0 A_PlaySound("betamag/slide",CHAN_ITEM,!Dampener.Active(self)?.3:.03);
|
||||
AUTA JKLM 2;
|
||||
AUTA JKLM 1;
|
||||
AUTA N 0 A_BetamagRefire("AltHold");
|
||||
AltRelease:
|
||||
AUTA NOPQ 2;
|
||||
AUTI A 2;
|
||||
Goto Idle;
|
||||
LeftAltFire:
|
||||
#### # 6 A_Overlay(-9998,null);
|
||||
#### # 4 A_Overlay(-9998,null);
|
||||
2UTI A 0 A_BetamagRefire(1,true);
|
||||
Goto LeftIdle;
|
||||
2UTA ABCDEFG 2;
|
||||
LeftAltHold:
|
||||
2UTA H 2 A_BetamagFire(true,true);
|
||||
2UTA I 2;
|
||||
2UTA H 1 A_BetamagFire(true,true);
|
||||
2UTA I 1;
|
||||
2UTA J 0 A_PlaySound("betamag/slide",CHAN_7,!Dampener.Active(self)?.3:.03);
|
||||
2UTA JKLM 2;
|
||||
2UTA JKLM 1;
|
||||
2UTA N 0 A_BetamagRefire("LeftAltHold",true);
|
||||
2UTA NOPQ 2;
|
||||
2UTI A 2;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue