1.0.2 release:

- Fix Minigun altfire not triggering while primary was previously held.
 - Fix Rocket Launcher fire button handling. You can fire tight wads properly now.
 - Corrected Biorifle Glob behaviour, now spawns an initial splash on impact, as intended.
 - Rename some textures to fix a small map conflict.
This commit is contained in:
Marisa the Magician 2019-10-28 14:28:22 +01:00
commit c7d1ee78a2
11 changed files with 44 additions and 31 deletions

View file

@ -639,15 +639,8 @@ Class BioGlob : BioGel
{
int numsplash;
override void AlignSelf()
void SpawnSplash()
{
Super.AlignSelf();
if ( !bAMBUSH && (Scale.x > 1) ) numsplash = int(2*Scale.x)-1;
}
override void Tick()
{
Super.Tick();
if ( isFrozen() ) return;
Vector3 ofs = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch));
for ( int i=0; i<2; i++ )
{
@ -664,6 +657,18 @@ Class BioGlob : BioGel
d.vel.z -= 2;
}
}
override void AlignSelf()
{
Super.AlignSelf();
if ( !bAMBUSH && (Scale.x > 1) ) numsplash = int(2*Scale.x)-1;
SpawnSplash();
}
override void Tick()
{
Super.Tick();
if ( isFrozen() ) return;
SpawnSplash();
}
}
Class BioSplash : BioGel

View file

@ -467,6 +467,14 @@ Class UTRocketLauncher : UTWeapon
if ( invoker.LockedTarget ) invoker.LockedOn = true;
}
action bool FireCheck()
{
let weap = Weapon(invoker);
if ( !weap ) return false;
if ( weap.bAltFire ) return !(player.cmd.buttons&BT_ALTATTACK);
else return !(player.cmd.buttons&BT_ATTACK);
}
Default
{
Tag "$T_EIGHTBALL";
@ -526,53 +534,53 @@ Class UTRocketLauncher : UTWeapon
AltFire:
// one is loaded already
EBLI A 1 A_LoadRocket(false);
EBLI A 2 A_JumpIf((!invoker.bAltFire&&invoker.bSingleRocket)||(invoker.Ammo1.Amount<=0)||!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireOne");
EBLI A 2 A_JumpIf((!invoker.bAltFire&&invoker.bSingleRocket)||(invoker.Ammo1.Amount<=0)||FireCheck(),"FireOne");
EBLI A 0; // no tween
// load two
EBR1 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
EBR1 ABCDEFG 2 A_JumpIf(!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireOne");
EBR1 ABCDEFG 2 A_JumpIf(FireCheck(),"FireOne");
EBL2 A 0 A_PlaySound("utrl/load",CHAN_6);
EBL2 ABCDEFG 3 A_JumpIf(!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireOne");
EBL2 ABCDEFG 3 A_JumpIf(FireCheck(),"FireOne");
EBR2 A 0
{
A_LoadRocket();
return A_JumpIf((invoker.Ammo1.Amount<=0)||!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireTwo");
return A_JumpIf((invoker.Ammo1.Amount<=0)||FireCheck(),"FireTwo");
}
// load three
EBR2 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
EBR2 ABCDEFG 2 A_JumpIf(!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireTwo");
EBR2 ABCDEFG 2 A_JumpIf(FireCheck(),"FireTwo");
EBL3 A 0 A_PlaySound("utrl/load",CHAN_6);
EBL3 ABCDEFG 3 A_JumpIf(!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireTwo");
EBL3 ABCDEFG 3 A_JumpIf(FireCheck(),"FireTwo");
EBR3 A 0
{
A_LoadRocket();
return A_JumpIf((invoker.Ammo1.Amount<=0)||!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireThree");
return A_JumpIf((invoker.Ammo1.Amount<=0)||FireCheck(),"FireThree");
}
// load four
EBR3 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
EBR3 ABCDEFG 2 A_JumpIf(!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireThree");
EBR3 ABCDEFG 2 A_JumpIf(FireCheck(),"FireThree");
EBL4 A 0 A_PlaySound("utrl/load",CHAN_6);
EBL4 ABCDEFG 3 A_JumpIf(!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireThree");
EBL4 ABCDEFG 3 A_JumpIf(FireCheck(),"FireThree");
EBR4 A 0
{
A_LoadRocket();
return A_JumpIf((invoker.Ammo1.Amount<=0)||!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireFour");
return A_JumpIf((invoker.Ammo1.Amount<=0)||FireCheck(),"FireFour");
}
// load five
EBR4 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
EBR4 ABCDEFG 2 A_JumpIf(!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireFour");
EBR4 ABCDEFG 2 A_JumpIf(FireCheck(),"FireFour");
EBL5 A 0 A_PlaySound("utrl/load",CHAN_6);
EBL5 ABCDEFG 3 A_JumpIf(!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireFour");
EBL5 ABCDEFG 3 A_JumpIf(FireCheck(),"FireFour");
EBR5 A 0
{
A_LoadRocket();
return A_JumpIf((invoker.Ammo1.Amount<=0)||!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireFive");
return A_JumpIf((invoker.Ammo1.Amount<=0)||FireCheck(),"FireFive");
}
// load six
EBR5 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
EBR5 ABCDEFG 2 A_JumpIf(!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireFive");
EBR5 ABCDEFG 2 A_JumpIf(FireCheck(),"FireFive");
EBL6 A 0 A_PlaySound("utrl/load",CHAN_6);
EBL6 ABCDEF 3 A_JumpIf(!(player.cmd.buttons&(BT_ATTACK|BT_ALTATTACK)),"FireFive");
EBL6 ABCDEF 3 A_JumpIf(FireCheck(),"FireFive");
EBL6 F 0 A_LoadRocket();
Goto FireSix;
FireOne:

View file

@ -248,7 +248,7 @@ Class Minigun : UTWeapon
A_Overlay(-9999,"FireDummy");
}
MGNF ABCDEFGHIJKLMNOPQRS 1 A_FireBullet();
MGNF A 0 A_JumpIf(invoker.bAltFire,1);
MGNF A 0 A_JumpIf(player.cmd.buttons&BT_ALTATTACK,1);
Goto Hold+1;
AltHold:
MGNF B 0 A_PlaySound("minigun/altfire",CHAN_WEAPON,1.0,true);