Rebalanced splash damages. Restored vanilla UT damage radii.
Corrected Ripper alt projectile damage. They actually do deal both direct hit and splash damage. Made UDamage and Enhanced Shock Rifle last longer outside of deathmatch.
This commit is contained in:
parent
951de234ed
commit
ac71b65cae
7 changed files with 36 additions and 22 deletions
|
|
@ -47,7 +47,7 @@ This mod requires GZDoom 3.5.0 or later.
|
|||
|
||||
## In progress
|
||||
|
||||
- General polishing and bugfixing
|
||||
- General polishing, bugfixing and rebalancing
|
||||
- Add some more effects
|
||||
- Visual recoil affecting aim (time to recycle SM's A_Swing once again)
|
||||
- Lava/Slime footstep sounds?
|
||||
|
|
@ -65,6 +65,7 @@ This mod requires GZDoom 3.5.0 or later.
|
|||
scripted textures are implemented.
|
||||
- Add player models + weapon attachment support when that is also added in.
|
||||
- Add option to have UT-like player movement physics.
|
||||
- Migrate RandomSpawners to CheckReplacement.
|
||||
|
||||
## Known bugs
|
||||
|
||||
|
|
|
|||
|
|
@ -411,8 +411,8 @@ Class BioGel : Actor
|
|||
s.args[3] = int(s.args[3]*Scale.x);
|
||||
invoker.deadtimer = -2;
|
||||
if ( invoker.atline ) invoker.atline.RemoteActivate(target,invoker.atside,SPAC_Impact,pos);
|
||||
UTMainHandler.DoBlast(self,Min(150,int(Scale.x*25)),20000*Scale.x);
|
||||
A_Explode(int(Random[GES](18,22)*max(1,(Scale.x-1)**2)),Min(150,int(Scale.x*25)));
|
||||
UTMainHandler.DoBlast(self,Min(250,int(Scale.x*75)),20000*Scale.x);
|
||||
A_Explode(int(Random[GES](18,26)*Scale.x),Min(250,int(Scale.x*75)));
|
||||
A_PlaySound("ges/explode",CHAN_VOICE);
|
||||
int numpt = Min(300,int(Scale.x*30))+Random[GES](-10,10);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
|
|
|
|||
|
|
@ -123,16 +123,16 @@ Class UTRocket : Actor
|
|||
l.target = self;
|
||||
A_PlaySound("utrl/fly",CHAN_VOICE,1.0,true,2.5);
|
||||
}
|
||||
action void A_RocketExplode( int dmg )
|
||||
action void A_RocketExplode( int dmg, int rad )
|
||||
{
|
||||
bFORCEXYBILLBOARD = true;
|
||||
A_SetRenderStyle(1.0,STYLE_Add);
|
||||
A_SprayDecal("RocketBlast",150);
|
||||
A_NoGravity();
|
||||
A_SetScale(0.75);
|
||||
UTMainHandler.DoBlast(self,100,80000);
|
||||
A_Explode(dmg,100);
|
||||
A_QuakeEx(3,3,3,8,0,250,"",QF_RELATIVE|QF_SCALEDOWN,falloff:100,rollIntensity:0.2);
|
||||
UTMainHandler.DoBlast(self,rad,80000);
|
||||
A_Explode(dmg,rad);
|
||||
A_QuakeEx(3,3,3,8,0,rad+50,"",QF_RELATIVE|QF_SCALEDOWN,falloff:rad,rollIntensity:0.2);
|
||||
A_PlaySound("utrl/explode",CHAN_VOICE);
|
||||
A_AlertMonsters();
|
||||
Spawn("RocketExplLight",pos);
|
||||
|
|
@ -179,7 +179,7 @@ Class UTRocket : Actor
|
|||
}
|
||||
Wait;
|
||||
Death:
|
||||
TNT1 A 0 A_RocketExplode(Random[Eightball](90,115));
|
||||
TNT1 A 0 A_RocketExplode(Random[Eightball](90,120),220);
|
||||
SSMX ABCDEFGHIJ 2 Bright;
|
||||
Stop;
|
||||
}
|
||||
|
|
@ -232,7 +232,7 @@ Class UTGrenade : UTRocket
|
|||
}
|
||||
Goto Spawn;
|
||||
Death:
|
||||
TNT1 A 0 A_RocketExplode(Random[Eightball](90,120));
|
||||
TNT1 A 0 A_RocketExplode(Random[Eightball](100,150),200);
|
||||
Goto Super::Death+1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -385,9 +385,9 @@ Class FlakSlug : Actor
|
|||
A_SprayDecal("RocketBlast",150);
|
||||
A_NoGravity();
|
||||
A_SetScale(1.2);
|
||||
UTMainHandler.DoBlast(self,80,75000);
|
||||
A_Explode(Random[Flak](70,80),80);
|
||||
A_QuakeEx(4,4,4,8,0,200,"",QF_RELATIVE|QF_SCALEDOWN,falloff:80,rollIntensity:0.2);
|
||||
UTMainHandler.DoBlast(self,150,75000);
|
||||
A_Explode(Random[Flak](70,80),150);
|
||||
A_QuakeEx(4,4,4,8,0,250,"",QF_RELATIVE|QF_SCALEDOWN,falloff:150,rollIntensity:0.2);
|
||||
A_PlaySound("flak/explode",CHAN_VOICE);
|
||||
A_AlertMonsters();
|
||||
if ( !Tracer ) Spawn("SlugSmoke",pos);
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ Class DamageAmplifier : Powerup
|
|||
l = Spawn("DamageAmpLight",Owner.pos);
|
||||
l.target = Owner;
|
||||
l.master = self;
|
||||
if ( deathmatch ) EffectTics /= 2;
|
||||
}
|
||||
|
||||
override void DoEffect()
|
||||
|
|
|
|||
|
|
@ -185,8 +185,6 @@ Class Razor2Alt : Razor2
|
|||
{
|
||||
Default
|
||||
{
|
||||
DamageFunction 0;
|
||||
DamageType 'RipperAltDealth';
|
||||
BounceType "None";
|
||||
-CANBOUNCEWATER;
|
||||
+EXPLODEONWATER;
|
||||
|
|
@ -204,7 +202,7 @@ Class Razor2Alt : Razor2
|
|||
A_AlertMonsters();
|
||||
A_SprayDecal("RazorBlast",20);
|
||||
UTMainHandler.DoBlast(self,120,87000);
|
||||
A_Explode(Random[Ripper](30,50),120);
|
||||
A_Explode(Random[Ripper](30,50),180,damagetype:'RipperAltDeath');
|
||||
A_QuakeEx(3,3,3,10,0,180,"",QF_RELATIVE|QF_SCALEDOWN,falloff:120,rollIntensity:0.1);
|
||||
int numpt = Random[Ripper](10,20);
|
||||
Vector3 x = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch));
|
||||
|
|
|
|||
|
|
@ -336,10 +336,10 @@ Class ShockBeam : Actor
|
|||
{
|
||||
if ( target ) target.TakeInventory('ShockAmmo',2);
|
||||
let b = t.Results.HitActor.target;
|
||||
UTMainHandler.DoBlast(b,300,70000);
|
||||
UTMainHandler.DoBlast(b,250,70000);
|
||||
b.ExplodeMissile(null,self);
|
||||
b.A_Explode(Random[ASMD](150,160),300);
|
||||
b.A_QuakeEx(6,6,6,60,0,1200,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollIntensity:0.2);
|
||||
b.A_Explode(Random[ASMD](150,180),250);
|
||||
b.A_QuakeEx(6,6,6,60,0,1200,"",QF_RELATIVE|QF_SCALEDOWN,falloff:250,rollIntensity:0.2);
|
||||
b.A_SprayDecal("BigShockMark1",100);
|
||||
b.A_SprayDecal("BigShockMark2",100);
|
||||
Spawn("ShockRifleWave",b.pos);
|
||||
|
|
@ -829,7 +829,7 @@ Class ShockBall : Actor
|
|||
action void A_BallExplode()
|
||||
{
|
||||
UTMainHandler.DoBlast(self,70,70000);
|
||||
A_Explode(Random[ASMD](40,50),70);
|
||||
A_Explode(Random[ASMD](50,60),70);
|
||||
A_SprayDecal("ShockMarkBig",16);
|
||||
Spawn("ShockExplLight",pos);
|
||||
A_SetScale(1.0);
|
||||
|
|
@ -1115,6 +1115,15 @@ Class EnhancedShockAmmo : Ammo
|
|||
{
|
||||
int ticcnt;
|
||||
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
if ( deathmatch )
|
||||
{
|
||||
MaxAmount /= 2;
|
||||
BackpackMaxAmount /= 2;
|
||||
}
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
Super.Tick();
|
||||
|
|
@ -1129,9 +1138,9 @@ Class EnhancedShockAmmo : Ammo
|
|||
Tag "Enhanced Shock Core";
|
||||
Inventory.PickupMessage "You picked up an Enhanced Shock Core.";
|
||||
Inventory.Amount 5;
|
||||
Inventory.MaxAmount 25;
|
||||
Inventory.MaxAmount 50;
|
||||
Ammo.BackpackAmount 0;
|
||||
Ammo.BackpackMaxAmount 25;
|
||||
Ammo.BackpackMaxAmount 50;
|
||||
Ammo.DropAmount 2;
|
||||
}
|
||||
States
|
||||
|
|
@ -1155,6 +1164,11 @@ Class ViewSuperShockSpark : ViewShockSpark
|
|||
|
||||
Class EnhancedShockRifle : UTWeapon replaces InvulnerabilitySphere
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
if ( deathmatch ) AmmoGive1 /= 2;
|
||||
}
|
||||
action void A_SShockFire()
|
||||
{
|
||||
Weapon weap = Weapon(invoker);
|
||||
|
|
@ -1247,7 +1261,7 @@ Class EnhancedShockRifle : UTWeapon replaces InvulnerabilitySphere
|
|||
Weapon.AmmoUse 1;
|
||||
Weapon.AmmoType2 "EnhancedShockAmmo";
|
||||
Weapon.AmmoUse2 1;
|
||||
Weapon.AmmoGive 25;
|
||||
Weapon.AmmoGive 50;
|
||||
UTWeapon.DropAmmo 5;
|
||||
+WEAPON.AMMO_OPTIONAL;
|
||||
+WEAPON.ALT_AMMO_OPTIONAL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue