Beta 2. Changes are as follows:

- Corrected selection order of all weapons.
- Rewrote flaky reloading code. Should be more robust now.
- [flak_m] manually triggered player animations no longer happen while dead.
- Protomag whip damage changed to 15, instead of same damage as Doom fist. This matches the Unreal 0.83 default melee damage.
- Adjusted dual-wielded weapons to try and prevent spin/reload from triggering right when the second gun is brought up.
- Razorclaw no longer stunlocks and can gib.
- Razorclaw damages increased (5/20 → 6/30).
- Dispersion Pistol alt splash damage radius reduced (120 → 80);
- Fixed Dispersion Pistol switching out instead of releasing when out of ammo.
- Dispersion Pistol will only autoselect if it has at least 10 ammo.
- Increased Fireblaster alt projectile damage (50 → 60).
- Fireblaster no longer forces an autoswitch when trying to altfire with less than 30 ammo.
- Increased Autocannon ammo capacity (30/50 → 32/64) and pickup ammo (20 → 32).
- Increased Autocannon hit damage (150 → 300) and explosion radius (50 → 120).
- Adjusted Impaler bolt damage formula (2*amplifiermult**3 → 10*amplifiermult**1.5).
- Impaler bolt seek range now affected by Amplifier.
- Reduced Impaler base explosion radius (120 → 80).
- Impaler altfire drain also affected by Amplifier too.
- Removed the ability to put out fire by moving very fast. This was a dumb idea as it would make fast monsters harder to burn.
- Increased Quadshot per-trace damage to fixed value (Random(4,8) → 11). This matches the 0.83 damage value for it.
- Doubled the damage boost of Razorjack charging.
- Fix Stinger altfire only firing 4 shoots. Was supposed to fire 5 with the first being always accurate.
- Adjusted Stunner damage and charge range so it matches Unreal Bible values (0-6/1-6 → 0-5/1-20).
- Reduced Stunner ammo consumption for a full charge (20 → 10).
- Stunner now also flagged as a "wimpy weapon".
- Reduced Eightball splash damage radius (200/200 → 120/140).
- Dispersion Pistol and Stunner always have at least 1 ammo after each shot.
- Added option to disable Impaler beam self-damage.
This commit is contained in:
Marisa the Magician 2019-09-27 22:26:44 +02:00
commit da224bcfae
26 changed files with 215 additions and 146 deletions

View file

@ -115,7 +115,7 @@ Class Betamag : UnrealWeapon
{
if ( d.HitType == TRACE_HitActor )
{
int dmg = Random[Betamag](1,10)<<1;
int dmg = 15;
dmg = d.HitActor.DamageMobj(invoker,self,dmg,'Melee',DMG_USEANGLE|DMG_THRUSTLESS,atan2(d.HitDir.y,d.HitDir.x));
UTMainHandler.DoKnockback(d.HitActor,d.HitDir,35000);
if ( d.HitActor.player ) d.HitActor.A_QuakeEx(2,2,2,6,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.25);
@ -244,7 +244,21 @@ Class Betamag : UnrealWeapon
override void OwnerDied()
{
Super.OwnerDied();
slaverefire = 0;
slavespin = slavewhip = slaverefire = 0;
if ( Owner.player.ReadyWeapon != self ) return;
let psp = Owner.player.FindPSprite(2);
if ( psp )
{
slaveactive = false;
Owner.player.SetPSprite(2,ResolveState("LeftDeselect"));
}
}
override void DoEffect()
{
Super.DoEffect();
if ( Ammo1.Amount <= 0 ) SelectionOrder = 6800;
else if ( Amount > 1 ) SelectionOrder = 2200;
else SelectionOrder = default.SelectionOrder;
}
override void Tick()
{
@ -275,7 +289,7 @@ Class Betamag : UnrealWeapon
Inventory.InterHubAmount 2;
Weapon.UpSound "betamag/select";
Weapon.SlotNumber 2;
Weapon.SelectionOrder 1;
Weapon.SelectionOrder 3000;
Weapon.SlotPriority 0.9;
Weapon.AmmoType "UMiniAmmo";
Weapon.AmmoUse 1;
@ -301,7 +315,10 @@ Class Betamag : UnrealWeapon
{
invoker.slavedown = false;
if ( !invoker.slaveactive && (CountInv("Betamag") > 1) )
{
invoker.slavespin = invoker.slavewhip = invoker.slaverefire = 0;
player.setpsprite(2,ResolveState("LeftReady"));
}
}
AUTS ABCDEFGHIJK 2 A_WeaponReady(WRF_NOFIRE);
Idle:
@ -334,18 +351,16 @@ Class Betamag : UnrealWeapon
{
A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM);
if ( !invoker.slaveactive && (CountInv("Betamag") > 1) )
{
invoker.slavespin = invoker.slavewhip = invoker.slaverefire = 0;
player.setpsprite(2,ResolveState("LeftReady"));
}
}
Wait;
LeftDummy:
TNT1 A 1
{
if ( health <= 0 )
{
invoker.slaveactive = false;
player.setpsprite(2,ResolveState("LeftDeselect"));
}
else if ( invoker.slavedown ) player.setpsprite(2,ResolveState("LeftDeselect"));
if ( invoker.slavedown ) player.setpsprite(2,ResolveState("LeftDeselect"));
else if ( invoker.slavewhip ) player.setpsprite(2,ResolveState("LeftReload"));
else if ( invoker.slavespin ) player.setpsprite(2,ResolveState("LeftZoom"));
else A_LeftWeaponReady();