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.
|
|
@ -61,7 +61,7 @@ This mod requires GZDoom 4.2.3 or later.
|
||||||
|
|
||||||
## In progress
|
## In progress
|
||||||
|
|
||||||
- N/A, this is the 1.0.1 release
|
- N/A, this is the 1.0.2 release
|
||||||
|
|
||||||
## Planned
|
## Planned
|
||||||
|
|
||||||
|
|
|
||||||
12
gldefs.txt
|
|
@ -820,10 +820,10 @@ HardwareShader PostProcess scene
|
||||||
// Skyboxes
|
// Skyboxes
|
||||||
SkyBox "KGDaySky" fliptop
|
SkyBox "KGDaySky" fliptop
|
||||||
{
|
{
|
||||||
"graphics/SkySetB_front.png"
|
"graphics/dtsky_front.png"
|
||||||
"graphics/SkySetB_right.png"
|
"graphics/dtsky_right.png"
|
||||||
"graphics/SkySetB_back.png"
|
"graphics/dtsky_back.png"
|
||||||
"graphics/SkySetB_left.png"
|
"graphics/dtsky_left.png"
|
||||||
"graphics/SkySetB_up.png"
|
"graphics/dtsky_up.png"
|
||||||
"graphics/SkySetB_down.png"
|
"graphics/dtsky_down.png"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 124 B After Width: | Height: | Size: 124 B |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
|
@ -639,15 +639,8 @@ Class BioGlob : BioGel
|
||||||
{
|
{
|
||||||
int numsplash;
|
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));
|
Vector3 ofs = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch));
|
||||||
for ( int i=0; i<2; i++ )
|
for ( int i=0; i<2; i++ )
|
||||||
{
|
{
|
||||||
|
|
@ -664,6 +657,18 @@ Class BioGlob : BioGel
|
||||||
d.vel.z -= 2;
|
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
|
Class BioSplash : BioGel
|
||||||
|
|
|
||||||
|
|
@ -467,6 +467,14 @@ Class UTRocketLauncher : UTWeapon
|
||||||
if ( invoker.LockedTarget ) invoker.LockedOn = true;
|
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
|
Default
|
||||||
{
|
{
|
||||||
Tag "$T_EIGHTBALL";
|
Tag "$T_EIGHTBALL";
|
||||||
|
|
@ -526,53 +534,53 @@ Class UTRocketLauncher : UTWeapon
|
||||||
AltFire:
|
AltFire:
|
||||||
// one is loaded already
|
// one is loaded already
|
||||||
EBLI A 1 A_LoadRocket(false);
|
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
|
EBLI A 0; // no tween
|
||||||
// load two
|
// load two
|
||||||
EBR1 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
|
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 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
|
EBR2 A 0
|
||||||
{
|
{
|
||||||
A_LoadRocket();
|
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
|
// load three
|
||||||
EBR2 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
|
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 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
|
EBR3 A 0
|
||||||
{
|
{
|
||||||
A_LoadRocket();
|
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
|
// load four
|
||||||
EBR3 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
|
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 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
|
EBR4 A 0
|
||||||
{
|
{
|
||||||
A_LoadRocket();
|
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
|
// load five
|
||||||
EBR4 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
|
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 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
|
EBR5 A 0
|
||||||
{
|
{
|
||||||
A_LoadRocket();
|
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
|
// load six
|
||||||
EBR5 A 0 A_PlaySound("utrl/rotate",CHAN_6,0.1);
|
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 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();
|
EBL6 F 0 A_LoadRocket();
|
||||||
Goto FireSix;
|
Goto FireSix;
|
||||||
FireOne:
|
FireOne:
|
||||||
|
|
|
||||||
|
|
@ -248,7 +248,7 @@ Class Minigun : UTWeapon
|
||||||
A_Overlay(-9999,"FireDummy");
|
A_Overlay(-9999,"FireDummy");
|
||||||
}
|
}
|
||||||
MGNF ABCDEFGHIJKLMNOPQRS 1 A_FireBullet();
|
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;
|
Goto Hold+1;
|
||||||
AltHold:
|
AltHold:
|
||||||
MGNF B 0 A_PlaySound("minigun/altfire",CHAN_WEAPON,1.0,true);
|
MGNF B 0 A_PlaySound("minigun/altfire",CHAN_WEAPON,1.0,true);
|
||||||
|
|
|
||||||