Increased spread of rockets, increased tween time after firing (it looks weird for some fire animations, but it also did in UT anyway).
This commit is contained in:
parent
0a7587a19f
commit
b1b38561c1
16 changed files with 101 additions and 65 deletions
|
|
@ -45,3 +45,9 @@ In progress:
|
||||||
- Add some more effects, maybe some nicer recoil on guns too.
|
- Add some more effects, maybe some nicer recoil on guns too.
|
||||||
- General polishing and bugfixing.
|
- General polishing and bugfixing.
|
||||||
- Trim out unused animations.
|
- Trim out unused animations.
|
||||||
|
|
||||||
|
Known bugs:
|
||||||
|
|
||||||
|
- Sometimes the slave enforcer gets "lowered" while the main enforcer is
|
||||||
|
reloading. No idea what causes this.
|
||||||
|
- Sludge doesn't react to ceiling and wall movement.
|
||||||
|
|
|
||||||
|
|
@ -87,6 +87,11 @@ $playeralias player female *pain75-drowning ut/femaledrowning
|
||||||
$playeralias player female *pain50-drowning ut/femaledrowning
|
$playeralias player female *pain50-drowning ut/femaledrowning
|
||||||
$playeralias player female *pain25-drowning ut/femaledrowning
|
$playeralias player female *pain25-drowning ut/femaledrowning
|
||||||
|
|
||||||
|
ut/playerfootstep1 stone02
|
||||||
|
ut/playerfootstep2 stone04
|
||||||
|
ut/playerfootstep3 stone05
|
||||||
|
$random ut/playerfootstep { ut/playerfootstep1 ut/playerfootstep2 ut/playerfootstep3 }
|
||||||
|
|
||||||
// everything else
|
// everything else
|
||||||
|
|
||||||
misc/secret capsound
|
misc/secret capsound
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ Class BioAmmo : Ammo
|
||||||
Inventory.Amount 25;
|
Inventory.Amount 25;
|
||||||
Inventory.MaxAmount 100;
|
Inventory.MaxAmount 100;
|
||||||
Ammo.BackpackAmount 50;
|
Ammo.BackpackAmount 50;
|
||||||
Ammo.BackpackMaxAmount 100;
|
Ammo.BackpackMaxAmount 199;
|
||||||
Ammo.DropAmount 10;
|
Ammo.DropAmount 10;
|
||||||
}
|
}
|
||||||
States
|
States
|
||||||
|
|
@ -336,6 +336,7 @@ Class BioGel : Actor
|
||||||
{
|
{
|
||||||
Obituary "%o drank a glass of %k's dripping green load.";
|
Obituary "%o drank a glass of %k's dripping green load.";
|
||||||
DamageType 'Slime';
|
DamageType 'Slime';
|
||||||
|
DamageFunction Random[GES](20,30)*Scale.x;
|
||||||
RenderStyle "Add";
|
RenderStyle "Add";
|
||||||
Radius 4;
|
Radius 4;
|
||||||
Height 4;
|
Height 4;
|
||||||
|
|
@ -498,7 +499,7 @@ Class BioRifle : UTWeapon
|
||||||
BIOP B -1;
|
BIOP B -1;
|
||||||
Stop;
|
Stop;
|
||||||
Ready:
|
Ready:
|
||||||
BIOS ABCDEFGHIJKLMNOPQRSTUV 1;
|
BIOS ABCDEFGHIJKLMNOPQRSTUV 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
Idle:
|
Idle:
|
||||||
BIOI A 1
|
BIOI A 1
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -155,6 +155,7 @@ Class UTChainsaw : UTWeapon
|
||||||
Ready:
|
Ready:
|
||||||
CSWS ABCDEFGHIJLMNO 1
|
CSWS ABCDEFGHIJLMNO 1
|
||||||
{
|
{
|
||||||
|
A_WeaponReady(WRF_NOFIRE);
|
||||||
A_AlertMonsters();
|
A_AlertMonsters();
|
||||||
A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE,rollIntensity:0.1);
|
A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE,rollIntensity:0.1);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ Class UTRocketAmmo : Ammo
|
||||||
Inventory.Amount 12;
|
Inventory.Amount 12;
|
||||||
Inventory.MaxAmount 48;
|
Inventory.MaxAmount 48;
|
||||||
Ammo.BackpackAmount 12;
|
Ammo.BackpackAmount 12;
|
||||||
Ammo.BackpackMaxAmount 48;
|
Ammo.BackpackMaxAmount 96;
|
||||||
Ammo.DropAmount 3;
|
Ammo.DropAmount 3;
|
||||||
}
|
}
|
||||||
States
|
States
|
||||||
|
|
@ -312,7 +312,7 @@ Class UTRocketLauncher : UTWeapon
|
||||||
{
|
{
|
||||||
// single rocket
|
// single rocket
|
||||||
p = Spawn("UTRocket",origin+cos(a)*y*s+sin(a)*z*s);
|
p = Spawn("UTRocket",origin+cos(a)*y*s+sin(a)*z*s);
|
||||||
p.vel = (x2+cos(a)*y2*s*0.01+sin(a)*z2*s*0.01).unit()*p.speed;
|
p.vel = x2*p.speed;
|
||||||
p.target = self;
|
p.target = self;
|
||||||
p.tracer = invoker.LockedTarget;
|
p.tracer = invoker.LockedTarget;
|
||||||
}
|
}
|
||||||
|
|
@ -325,7 +325,7 @@ Class UTRocketLauncher : UTWeapon
|
||||||
for ( int i=0; i<num; i++ )
|
for ( int i=0; i<num; i++ )
|
||||||
{
|
{
|
||||||
p = Spawn("UTRocket",origin+cos(a)*y*s+sin(a)*z*s);
|
p = Spawn("UTRocket",origin+cos(a)*y*s+sin(a)*z*s);
|
||||||
p.vel = (x2+cos(a)*y2*s*0.01+sin(a)*z2*s*0.01).unit()*p.speed;
|
p.vel = (x2+cos(a)*y2*s*0.02+sin(a)*z2*s*0.02).unit()*p.speed;
|
||||||
p.target = self;
|
p.target = self;
|
||||||
p.tracer = invoker.LockedTarget;
|
p.tracer = invoker.LockedTarget;
|
||||||
a += step;
|
a += step;
|
||||||
|
|
@ -334,12 +334,12 @@ Class UTRocketLauncher : UTWeapon
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// rockets (wide spread)
|
// rockets (wide spread)
|
||||||
double range = (num-1);
|
double range = 2.5*(num-1);
|
||||||
double step = range/(num-1);
|
double step = range/(num-1);
|
||||||
s = -range*0.5;
|
s = -range*0.5;
|
||||||
for ( int i=0; i<num; i++ )
|
for ( int i=0; i<num; i++ )
|
||||||
{
|
{
|
||||||
p = Spawn("UTRocket",origin+sin(s)*y*2);
|
p = Spawn("UTRocket",origin+sin(s)*y);
|
||||||
p.vel = (x2+sin(s)*y2).unit()*p.speed;
|
p.vel = (x2+sin(s)*y2).unit()*p.speed;
|
||||||
p.target = self;
|
p.target = self;
|
||||||
p.tracer = invoker.LockedTarget;
|
p.tracer = invoker.LockedTarget;
|
||||||
|
|
@ -398,7 +398,7 @@ Class UTRocketLauncher : UTWeapon
|
||||||
EBLS A 1 A_Raise(int.max);
|
EBLS A 1 A_Raise(int.max);
|
||||||
Wait;
|
Wait;
|
||||||
Ready:
|
Ready:
|
||||||
EBLS ABCDEFGHIJKLMNOPQRST 1;
|
EBLS ABCDEFGHIJKLMNOPQRST 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
Idle:
|
Idle:
|
||||||
EBLI A 1
|
EBLI A 1
|
||||||
{
|
{
|
||||||
|
|
@ -640,32 +640,32 @@ Class UTRocketLauncher : UTWeapon
|
||||||
FireOne:
|
FireOne:
|
||||||
EBF1 A 0 A_FireRockets(1);
|
EBF1 A 0 A_FireRockets(1);
|
||||||
EBF1 ABCDEFGH 2;
|
EBF1 ABCDEFGH 2;
|
||||||
EBLI A 2;
|
EBLI A 10;
|
||||||
Goto Idle;
|
Goto Idle;
|
||||||
FireTwo:
|
FireTwo:
|
||||||
EBF2 A 0 A_FireRockets(2);
|
EBF2 A 0 A_FireRockets(2);
|
||||||
EBF2 ABCDEFGHIJK 2;
|
EBF2 ABCDEFGHIJK 2;
|
||||||
EBLI A 2;
|
EBLI A 10;
|
||||||
Goto Idle;
|
Goto Idle;
|
||||||
FireThree:
|
FireThree:
|
||||||
EBF3 A 0 A_FireRockets(3);
|
EBF3 A 0 A_FireRockets(3);
|
||||||
EBF3 ABCDEFGHIJ 2;
|
EBF3 ABCDEFGHIJ 2;
|
||||||
EBLI A 2;
|
EBLI A 10;
|
||||||
Goto Idle;
|
Goto Idle;
|
||||||
FireFour:
|
FireFour:
|
||||||
EBF4 A 0 A_FireRockets(4);
|
EBF4 A 0 A_FireRockets(4);
|
||||||
EBF4 ABCDEFGHIJK 2;
|
EBF4 ABCDEFGHIJK 2;
|
||||||
EBLI A 2;
|
EBLI A 10;
|
||||||
Goto Idle;
|
Goto Idle;
|
||||||
FireFive:
|
FireFive:
|
||||||
EBF5 A 0 A_FireRockets(5);
|
EBF5 A 0 A_FireRockets(5);
|
||||||
EBF5 ABCDEFGHIJKLM 2;
|
EBF5 ABCDEFGHIJKLM 2;
|
||||||
EBLI A 2;
|
EBLI A 10;
|
||||||
Goto Idle;
|
Goto Idle;
|
||||||
FireSix:
|
FireSix:
|
||||||
EBF6 A 0 A_FireRockets(6);
|
EBF6 A 0 A_FireRockets(6);
|
||||||
EBF6 ABCDEFGHIJKLMNOP 2;
|
EBF6 ABCDEFGHIJKLMNOP 2;
|
||||||
EBLI A 2;
|
EBLI A 10;
|
||||||
Goto Idle;
|
Goto Idle;
|
||||||
Deselect:
|
Deselect:
|
||||||
EBLD ABCDEFGHIJK 1;
|
EBLD ABCDEFGHIJK 1;
|
||||||
|
|
|
||||||
|
|
@ -377,7 +377,7 @@ Class Enforcer : UTWeapon replaces Pistol
|
||||||
if ( !invoker.slaveactive && (CountInv("Enforcer") > 1) )
|
if ( !invoker.slaveactive && (CountInv("Enforcer") > 1) )
|
||||||
A_Overlay(2,"LeftReady");
|
A_Overlay(2,"LeftReady");
|
||||||
}
|
}
|
||||||
ENFS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
ENFS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
Idle:
|
Idle:
|
||||||
ENFI A 0 A_Overlay(-9999,"Dummy");
|
ENFI A 0 A_Overlay(-9999,"Dummy");
|
||||||
ENFI AB 30;
|
ENFI AB 30;
|
||||||
|
|
@ -389,7 +389,7 @@ Class Enforcer : UTWeapon replaces Pistol
|
||||||
A_PlaySound("enforcer/select",CHAN_7);
|
A_PlaySound("enforcer/select",CHAN_7);
|
||||||
invoker.slaveactive = true;
|
invoker.slaveactive = true;
|
||||||
}
|
}
|
||||||
2NFS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
2NFS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_JumpIf(invoker.slavedown,"LeftDeselect");
|
||||||
LeftIdle:
|
LeftIdle:
|
||||||
2NFI A 0 A_Overlay(-9998,"LeftDummy");
|
2NFI A 0 A_Overlay(-9998,"LeftDummy");
|
||||||
2NFI AB 30;
|
2NFI AB 30;
|
||||||
|
|
@ -405,7 +405,7 @@ Class Enforcer : UTWeapon replaces Pistol
|
||||||
TNT1 A 1
|
TNT1 A 1
|
||||||
{
|
{
|
||||||
if ( (invoker.clipcount <= 0) && (invoker.Ammo1.Amount > 0) ) A_Overlay(PSP_WEAPON,"Reload");
|
if ( (invoker.clipcount <= 0) && (invoker.Ammo1.Amount > 0) ) A_Overlay(PSP_WEAPON,"Reload");
|
||||||
if ( CVar.GetCVar('flak_enforcerreload').GetBool() && ((invoker.clipcount < min(20,invoker.Ammo1.Amount)) || (invoker.slaveclipcount < min(20,invoker.Ammo1.Amount))) ) A_WeaponReady(WRF_ALLOWRELOAD);
|
else if ( CVar.GetCVar('flak_enforcerreload').GetBool() && ((invoker.clipcount < min(20,invoker.Ammo1.Amount)) || (invoker.slaveclipcount < min(20,invoker.Ammo1.Amount))) ) A_WeaponReady(WRF_ALLOWRELOAD);
|
||||||
else A_WeaponReady();
|
else A_WeaponReady();
|
||||||
if ( !invoker.slaveactive && (CountInv("Enforcer") > 1) ) A_Overlay(2,"LeftReady");
|
if ( !invoker.slaveactive && (CountInv("Enforcer") > 1) ) A_Overlay(2,"LeftReady");
|
||||||
}
|
}
|
||||||
|
|
@ -418,9 +418,9 @@ Class Enforcer : UTWeapon replaces Pistol
|
||||||
invoker.slaveactive = false;
|
invoker.slaveactive = false;
|
||||||
A_Overlay(2,"LeftDeselect");
|
A_Overlay(2,"LeftDeselect");
|
||||||
}
|
}
|
||||||
if ( CVar.GetCVar('flak_enforcerreload').GetBool() && (invoker.slavereload || (invoker.slaveclipcount < 0)) ) A_Overlay(2,"LeftReload");
|
else if ( CVar.GetCVar('flak_enforcerreload').GetBool() && (invoker.slavereload || (invoker.slaveclipcount < 0)) ) A_Overlay(2,"LeftReload");
|
||||||
if ( invoker.slavedown ) A_Overlay(2,"LeftDeselect");
|
else if ( invoker.slavedown ) A_Overlay(2,"LeftDeselect");
|
||||||
A_LeftWeaponReady();
|
else A_LeftWeaponReady();
|
||||||
}
|
}
|
||||||
Wait;
|
Wait;
|
||||||
Fire:
|
Fire:
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ Class FlakAmmo : Ammo
|
||||||
Inventory.Amount 10;
|
Inventory.Amount 10;
|
||||||
Inventory.MaxAmount 50;
|
Inventory.MaxAmount 50;
|
||||||
Ammo.BackpackAmount 20;
|
Ammo.BackpackAmount 20;
|
||||||
Ammo.BackpackMaxAmount 50;
|
Ammo.BackpackMaxAmount 100;
|
||||||
Ammo.DropAmount 5;
|
Ammo.DropAmount 5;
|
||||||
}
|
}
|
||||||
States
|
States
|
||||||
|
|
@ -574,8 +574,8 @@ Class FlakCannon : UTWeapon
|
||||||
FPCK B -1;
|
FPCK B -1;
|
||||||
Stop;
|
Stop;
|
||||||
Ready:
|
Ready:
|
||||||
FLKS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
FLKS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
FKS2 ABC 1;
|
FKS2 ABC 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
FLKL A 1 A_Loading(true);
|
FLKL A 1 A_Loading(true);
|
||||||
FLKL BCDEFGHIJKLMNO 1;
|
FLKL BCDEFGHIJKLMNO 1;
|
||||||
Goto Idle;
|
Goto Idle;
|
||||||
|
|
|
||||||
|
|
@ -217,7 +217,7 @@ Class ImpactHammer : UTWeapon replaces Fist
|
||||||
IMPS A 1 A_Raise(int.max);
|
IMPS A 1 A_Raise(int.max);
|
||||||
Wait;
|
Wait;
|
||||||
Ready:
|
Ready:
|
||||||
IMPS ABCDEFGHIJKLMNOPQ 1;
|
IMPS ABCDEFGHIJKLMNOPQ 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
Idle:
|
Idle:
|
||||||
IMPI A 1 A_WeaponReady();
|
IMPI A 1 A_WeaponReady();
|
||||||
Wait;
|
Wait;
|
||||||
|
|
|
||||||
|
|
@ -204,7 +204,7 @@ Class Minigun : UTWeapon
|
||||||
MGNS A 1 A_Raise(int.max);
|
MGNS A 1 A_Raise(int.max);
|
||||||
Wait;
|
Wait;
|
||||||
Ready:
|
Ready:
|
||||||
MGNS ABCDEFGHIJKLMNOPQRST 1;
|
MGNS ABCDEFGHIJKLMNOPQRST 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
Idle:
|
Idle:
|
||||||
MGNI ABCDEFGHIJKLMNOPQRS 5
|
MGNI ABCDEFGHIJKLMNOPQRS 5
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -197,6 +197,7 @@ Class PulseBoltCap : Actor
|
||||||
+NOGRAVITY;
|
+NOGRAVITY;
|
||||||
+NOCLIP;
|
+NOCLIP;
|
||||||
+DONTSPLASH;
|
+DONTSPLASH;
|
||||||
|
+FORCEXYBILLBOARD;
|
||||||
Scale 0.15;
|
Scale 0.15;
|
||||||
}
|
}
|
||||||
States
|
States
|
||||||
|
|
@ -217,6 +218,7 @@ Class PulseBoltHit : Actor
|
||||||
+NOGRAVITY;
|
+NOGRAVITY;
|
||||||
+NOCLIP;
|
+NOCLIP;
|
||||||
+DONTSPLASH;
|
+DONTSPLASH;
|
||||||
|
+FORCEXYBILLBOARD;
|
||||||
Scale 0.15;
|
Scale 0.15;
|
||||||
}
|
}
|
||||||
States
|
States
|
||||||
|
|
@ -293,8 +295,8 @@ Class PulseBolt : Actor
|
||||||
weffect.Destroy();
|
weffect.Destroy();
|
||||||
weffect = null;
|
weffect = null;
|
||||||
}
|
}
|
||||||
if ( !weffect ) weffect = Spawn("PulseBoltHit",t.Results.HitPos-t.Results.HitVector);
|
if ( !weffect ) weffect = Spawn("PulseBoltHit",t.Results.HitPos-t.Results.HitVector*4);
|
||||||
else weffect.SetOrigin(t.Results.HitPos-t.Results.HitVector,true);
|
else weffect.SetOrigin(t.Results.HitPos-t.Results.HitVector*4,true);
|
||||||
A_SprayDecal("BoltScorch",beamsize+8);
|
A_SprayDecal("BoltScorch",beamsize+8);
|
||||||
if ( next )
|
if ( next )
|
||||||
{
|
{
|
||||||
|
|
@ -325,8 +327,8 @@ Class PulseBolt : Actor
|
||||||
weffect.Destroy();
|
weffect.Destroy();
|
||||||
weffect = null;
|
weffect = null;
|
||||||
}
|
}
|
||||||
if ( !weffect ) weffect = Spawn("PulseBoltCap",t.Results.HitPos-t.Results.HitVector);
|
if ( !weffect ) weffect = Spawn("PulseBoltCap",t.Results.HitPos);
|
||||||
else weffect.SetOrigin(t.Results.HitPos-t.Results.HitVector,true);
|
else weffect.SetOrigin(t.Results.HitPos,true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -496,7 +498,12 @@ Class PulseGun : UTWeapon
|
||||||
action void A_StartBeam()
|
action void A_StartBeam()
|
||||||
{
|
{
|
||||||
A_PlaySound("pulse/bolt",CHAN_WEAPON,1.0,true);
|
A_PlaySound("pulse/bolt",CHAN_WEAPON,1.0,true);
|
||||||
invoker.beam = Spawn("StarterBolt",pos);
|
Vector3 x, y, z, origin;
|
||||||
|
[x, y, z] = Matrix4.GetAxes(pitch,angle,roll);
|
||||||
|
origin = (0,0,player.viewz-pos.z)+5.0*x+3.0*y-1.0*z;
|
||||||
|
invoker.beam = Spawn("StarterBolt",Vec3Offset(origin.x,origin.y,origin.z));
|
||||||
|
invoker.beam.angle = angle;
|
||||||
|
invoker.beam.pitch = BulletSlope();
|
||||||
invoker.beam.target = self;
|
invoker.beam.target = self;
|
||||||
}
|
}
|
||||||
action void A_StopBeam()
|
action void A_StopBeam()
|
||||||
|
|
@ -531,7 +538,7 @@ Class PulseGun : UTWeapon
|
||||||
PGNP B -1;
|
PGNP B -1;
|
||||||
Stop;
|
Stop;
|
||||||
Ready:
|
Ready:
|
||||||
PGNS ABCDEFGHIJKLMNOPQRSTUVW 1;
|
PGNS ABCDEFGHIJKLMNOPQRSTUVW 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
Idle:
|
Idle:
|
||||||
PGNI A 1
|
PGNI A 1
|
||||||
{
|
{
|
||||||
|
|
@ -622,7 +629,7 @@ Class PulseGun : UTWeapon
|
||||||
Goto Idle;
|
Goto Idle;
|
||||||
Reload:
|
Reload:
|
||||||
PGNI A 1;
|
PGNI A 1;
|
||||||
PGNI A 0 A_JumpIf(invoker.clipcount >= 50,"Idle");
|
PGNI A 0 A_JumpIf(invoker.clipcount >= Min(50,invoker.Ammo1.Amount),"Idle");
|
||||||
PGNR A 1 A_Reloading();
|
PGNR A 1 A_Reloading();
|
||||||
PGNR BCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
PGNR BCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
||||||
PGR2 ABCDEFGHIJKLMNOPQRSTUVWX 1;
|
PGR2 ABCDEFGHIJKLMNOPQRSTUVWX 1;
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ Class RipperAmmo : Ammo
|
||||||
Inventory.Amount 25;
|
Inventory.Amount 25;
|
||||||
Inventory.MaxAmount 75;
|
Inventory.MaxAmount 75;
|
||||||
Ammo.BackpackAmount 50;
|
Ammo.BackpackAmount 50;
|
||||||
Ammo.BackpackMaxAmount 75;
|
Ammo.BackpackMaxAmount 150;
|
||||||
Ammo.DropAmount 10;
|
Ammo.DropAmount 10;
|
||||||
}
|
}
|
||||||
States
|
States
|
||||||
|
|
@ -185,7 +185,7 @@ Class Razor2Alt : Razor2
|
||||||
{
|
{
|
||||||
A_SetRenderStyle(1.0,STYLE_Add);
|
A_SetRenderStyle(1.0,STYLE_Add);
|
||||||
bFORCEXYBILLBOARD = true;
|
bFORCEXYBILLBOARD = true;
|
||||||
Scale *= 0.5;
|
Scale *= 0.65;
|
||||||
A_StopSound(CHAN_VOICE);
|
A_StopSound(CHAN_VOICE);
|
||||||
A_PlaySound("ripper/althit");
|
A_PlaySound("ripper/althit");
|
||||||
Spawn("Razor2AltLight",pos);
|
Spawn("Razor2AltLight",pos);
|
||||||
|
|
@ -280,8 +280,8 @@ Class Ripper2 : UTWeapon
|
||||||
RZRS A 1 A_Raise(int.max);
|
RZRS A 1 A_Raise(int.max);
|
||||||
Wait;
|
Wait;
|
||||||
Ready:
|
Ready:
|
||||||
RZRS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1;
|
RZRS ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
RZS2 ABCD 1;
|
RZS2 ABCD 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
Idle:
|
Idle:
|
||||||
RZRI ABCDEFGHIJKLMNOPQRS 2
|
RZRI ABCDEFGHIJKLMNOPQRS 2
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ Class ShockAmmo : Ammo
|
||||||
Inventory.Amount 10;
|
Inventory.Amount 10;
|
||||||
Inventory.MaxAmount 50;
|
Inventory.MaxAmount 50;
|
||||||
Ammo.BackpackAmount 20;
|
Ammo.BackpackAmount 20;
|
||||||
Ammo.BackpackMaxAmount 50;
|
Ammo.BackpackMaxAmount 100;
|
||||||
Ammo.DropAmount 5;
|
Ammo.DropAmount 5;
|
||||||
}
|
}
|
||||||
States
|
States
|
||||||
|
|
@ -261,6 +261,7 @@ Class ShockBeam : Actor
|
||||||
+NOCLIP;
|
+NOCLIP;
|
||||||
+DONTSPLASH;
|
+DONTSPLASH;
|
||||||
+FORCEXYBILLBOARD;
|
+FORCEXYBILLBOARD;
|
||||||
|
+FORCERADIUSDMG;
|
||||||
}
|
}
|
||||||
override void PostBeginPlay()
|
override void PostBeginPlay()
|
||||||
{
|
{
|
||||||
|
|
@ -476,6 +477,7 @@ Class SuperShockBeam : Actor
|
||||||
+NOCLIP;
|
+NOCLIP;
|
||||||
+DONTSPLASH;
|
+DONTSPLASH;
|
||||||
+FORCEXYBILLBOARD;
|
+FORCEXYBILLBOARD;
|
||||||
|
+FORCERADIUSDMG;
|
||||||
+EXTREMEDEATH;
|
+EXTREMEDEATH;
|
||||||
}
|
}
|
||||||
override void PostBeginPlay()
|
override void PostBeginPlay()
|
||||||
|
|
@ -789,7 +791,7 @@ Class ShockBall : Actor
|
||||||
}
|
}
|
||||||
action void A_BallExplode()
|
action void A_BallExplode()
|
||||||
{
|
{
|
||||||
A_Explode(Random[ASMD](50,60),70);
|
A_Explode(Random[ASMD](40,50),70);
|
||||||
A_SprayDecal("ShockMarkBig",16);
|
A_SprayDecal("ShockMarkBig",16);
|
||||||
Spawn("ShockExplLight",pos);
|
Spawn("ShockExplLight",pos);
|
||||||
A_SetScale(1.0);
|
A_SetScale(1.0);
|
||||||
|
|
@ -814,6 +816,7 @@ Class ShockBall : Actor
|
||||||
Obituary "%k inflicted mortal damage upon %o with the Shock Rifle";
|
Obituary "%k inflicted mortal damage upon %o with the Shock Rifle";
|
||||||
RenderStyle "Add";
|
RenderStyle "Add";
|
||||||
DamageType 'jolted';
|
DamageType 'jolted';
|
||||||
|
DamageFunction Random[ASMD](50,60);
|
||||||
Radius 2;
|
Radius 2;
|
||||||
Height 0;
|
Height 0;
|
||||||
Scale 0.4;
|
Scale 0.4;
|
||||||
|
|
@ -821,7 +824,6 @@ Class ShockBall : Actor
|
||||||
PROJECTILE;
|
PROJECTILE;
|
||||||
+FORCEXYBILLBOARD;
|
+FORCEXYBILLBOARD;
|
||||||
+SKYEXPLODE;
|
+SKYEXPLODE;
|
||||||
+FORCERADIUSDMG;
|
|
||||||
}
|
}
|
||||||
States
|
States
|
||||||
{
|
{
|
||||||
|
|
@ -850,7 +852,7 @@ Class SuperShockBall : Actor
|
||||||
}
|
}
|
||||||
action void A_BallExplode()
|
action void A_BallExplode()
|
||||||
{
|
{
|
||||||
A_Explode(Random[ASMD](5000,6000),120);
|
A_Explode(Random[ASMD](4000,5000),120);
|
||||||
A_SprayDecal("ShockMarkBig",16);
|
A_SprayDecal("ShockMarkBig",16);
|
||||||
Spawn("SuperShockExplLight",pos);
|
Spawn("SuperShockExplLight",pos);
|
||||||
A_SetScale(1.5);
|
A_SetScale(1.5);
|
||||||
|
|
@ -876,6 +878,7 @@ Class SuperShockBall : Actor
|
||||||
Obituary "%k electrified %o with the Enhanced Shock Rifle.";
|
Obituary "%k electrified %o with the Enhanced Shock Rifle.";
|
||||||
RenderStyle "Add";
|
RenderStyle "Add";
|
||||||
DamageType 'jolted';
|
DamageType 'jolted';
|
||||||
|
DamageFunction Random[ASMD](5000,6000);
|
||||||
Radius 2;
|
Radius 2;
|
||||||
Height 0;
|
Height 0;
|
||||||
Scale 0.5;
|
Scale 0.5;
|
||||||
|
|
@ -962,7 +965,7 @@ Class ShockRifle : UTWeapon
|
||||||
ASMP B -1;
|
ASMP B -1;
|
||||||
Stop;
|
Stop;
|
||||||
Ready:
|
Ready:
|
||||||
ASMS ABCDEFGHIJKLMNO 1;
|
ASMS ABCDEFGHIJKLMNO 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
Idle:
|
Idle:
|
||||||
ASMI A 1
|
ASMI A 1
|
||||||
{
|
{
|
||||||
|
|
@ -1071,7 +1074,7 @@ Class EnhancedShockRifle : UTWeapon replaces InvulnerabilitySphere
|
||||||
ASMP B -1;
|
ASMP B -1;
|
||||||
Stop;
|
Stop;
|
||||||
Ready:
|
Ready:
|
||||||
ASMS ABCDEFGHIJKLMNO 1;
|
ASMS ABCDEFGHIJKLMNO 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
Idle:
|
Idle:
|
||||||
ASMI A 1
|
ASMI A 1
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ Class RifleAmmo : Ammo
|
||||||
Inventory.Amount 10;
|
Inventory.Amount 10;
|
||||||
Inventory.MaxAmount 50;
|
Inventory.MaxAmount 50;
|
||||||
Ammo.BackpackAmount 20;
|
Ammo.BackpackAmount 20;
|
||||||
Ammo.BackpackMaxAmount 50;
|
Ammo.BackpackMaxAmount 100;
|
||||||
Ammo.DropAmount 5;
|
Ammo.DropAmount 5;
|
||||||
}
|
}
|
||||||
States
|
States
|
||||||
|
|
@ -150,23 +150,27 @@ Class SniperRifle : UTWeapon
|
||||||
SRFS A 1 A_Raise(int.max);
|
SRFS A 1 A_Raise(int.max);
|
||||||
Wait;
|
Wait;
|
||||||
Ready:
|
Ready:
|
||||||
SRFS A 1 A_ZoomFactor(invoker.sniperzoom=1.0,ZOOM_INSTANT);
|
SRFS A 1
|
||||||
SRFS B 2;
|
{
|
||||||
SRFS C 1;
|
A_ZoomFactor(invoker.sniperzoom=1.0,ZOOM_INSTANT);
|
||||||
SRFS D 2;
|
A_WeaponReady(WRF_NOFIRE);
|
||||||
SRFS E 1;
|
}
|
||||||
SRFS F 2;
|
SRFS B 2 A_WeaponReady(WRF_NOFIRE);
|
||||||
SRFS G 1;
|
SRFS C 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
SRFS H 2;
|
SRFS D 2 A_WeaponReady(WRF_NOFIRE);
|
||||||
SRFS I 1;
|
SRFS E 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
SRFS J 2;
|
SRFS F 2 A_WeaponReady(WRF_NOFIRE);
|
||||||
SRFS K 1;
|
SRFS G 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
SRFS L 2;
|
SRFS H 2 A_WeaponReady(WRF_NOFIRE);
|
||||||
SRFS M 1;
|
SRFS I 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
SRFS N 2;
|
SRFS J 2 A_WeaponReady(WRF_NOFIRE);
|
||||||
SRFS O 1;
|
SRFS K 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
SRFS P 2;
|
SRFS L 2 A_WeaponReady(WRF_NOFIRE);
|
||||||
SRFS Q 1;
|
SRFS M 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
|
SRFS N 2 A_WeaponReady(WRF_NOFIRE);
|
||||||
|
SRFS O 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
|
SRFS P 2 A_WeaponReady(WRF_NOFIRE);
|
||||||
|
SRFS Q 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
Idle:
|
Idle:
|
||||||
SRFI A 1
|
SRFI A 1
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -370,11 +370,11 @@ Class Translocator : UTWeapon
|
||||||
Wait;
|
Wait;
|
||||||
Ready:
|
Ready:
|
||||||
TLCS A 0 A_JumpIf(invoker.module,"Ready2");
|
TLCS A 0 A_JumpIf(invoker.module,"Ready2");
|
||||||
TLCS ABCDEFGHIJKL 1;
|
TLCS ABCDEFGHIJKL 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
TLCS L 0 A_JumpIf(invoker.module,"Idle");
|
TLCS L 0 A_JumpIf(invoker.module,"Idle");
|
||||||
Goto Idle2;
|
Goto Idle2;
|
||||||
Ready2:
|
Ready2:
|
||||||
TLD2 GFEDCBA 2;
|
TLD2 GFEDCBA 2 A_WeaponReady(WRF_NOFIRE);
|
||||||
Idle:
|
Idle:
|
||||||
TLCI A 0 A_Overlay(-9999,"Dummy"); // little hackeroo to make this more responsive
|
TLCI A 0 A_Overlay(-9999,"Dummy"); // little hackeroo to make this more responsive
|
||||||
TLCI AB 25 A_JumpIf(!invoker.module,"PickedUp");
|
TLCI AB 25 A_JumpIf(!invoker.module,"PickedUp");
|
||||||
|
|
|
||||||
|
|
@ -157,6 +157,14 @@ Class UTPlayer : DoomPlayer
|
||||||
}
|
}
|
||||||
else GiveInventory(type,amount,true);
|
else GiveInventory(type,amount,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override void Tick()
|
||||||
|
{
|
||||||
|
Super.Tick();
|
||||||
|
double ang = level.time/(20*TICRATE/35.)*360.;
|
||||||
|
if ( (abs(sin(ang)) >= 1.0) && player.onground && (player.cmd.forwardmove || player.cmd.sidemove) )
|
||||||
|
A_PlaySound("ut/playerfootstep",CHAN_BODY);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Random Spawner that passes through dropped status to items
|
// Random Spawner that passes through dropped status to items
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ Class WarheadAmmo : Ammo
|
||||||
Inventory.Amount 1;
|
Inventory.Amount 1;
|
||||||
Inventory.MaxAmount 2;
|
Inventory.MaxAmount 2;
|
||||||
Ammo.BackpackAmount 0;
|
Ammo.BackpackAmount 0;
|
||||||
Ammo.BackpackMaxAmount 2;
|
Ammo.BackpackMaxAmount 3;
|
||||||
Ammo.DropAmount 1;
|
Ammo.DropAmount 1;
|
||||||
Inventory.RespawnTics 2100;
|
Inventory.RespawnTics 2100;
|
||||||
}
|
}
|
||||||
|
|
@ -69,7 +69,7 @@ Class ShockWave : Actor
|
||||||
if ( (dist > olddmgradius) || (dir dot a.vel < 0) )
|
if ( (dist > olddmgradius) || (dir dot a.vel < 0) )
|
||||||
{
|
{
|
||||||
a.vel += dir*(moscale/a.mass+20);
|
a.vel += dir*(moscale/a.mass+20);
|
||||||
a.DamageMobj(self,target,moscale,'RedeemerDeath');
|
a.DamageMobj(self,target,moscale,'RedeemerDeath',DMG_THRUSTLESS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
olddmgradius = dmgradius;
|
olddmgradius = dmgradius;
|
||||||
|
|
@ -246,6 +246,7 @@ Class WarShell : Actor
|
||||||
Height 4;
|
Height 4;
|
||||||
Speed 2;
|
Speed 2;
|
||||||
DamageType 'RedeemerDeath';
|
DamageType 'RedeemerDeath';
|
||||||
|
DamageFactor 1000;
|
||||||
PROJECTILE;
|
PROJECTILE;
|
||||||
+FORCEXYBILLBOARD;
|
+FORCEXYBILLBOARD;
|
||||||
+SKYEXPLODE;
|
+SKYEXPLODE;
|
||||||
|
|
@ -657,7 +658,7 @@ Class WarheadLauncher : UTWeapon replaces BFG9000
|
||||||
RDMP B -1;
|
RDMP B -1;
|
||||||
Stop;
|
Stop;
|
||||||
Ready:
|
Ready:
|
||||||
WARS ABCDEFGHIJKLMNO 1;
|
WARS ABCDEFGHIJKLMNO 1 A_WeaponReady(WRF_NOFIRE);
|
||||||
Idle:
|
Idle:
|
||||||
WARI A 1
|
WARI A 1
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue