Some work in progress here.

- Upstreamed GetClipAmount() from Doomreal, for inter-compatibility.
- Fix missing unique pickup messages for clips and single flak shell.
- Implement ice death support.
- Fix frictionless corpses sliding around.
- Add support for a Red Heretic key, should work with any custom maps that use it.
- Added anti-bd feature, thanks to Skerion for letting me use this hilarious video.
- Fixed missing drown sound for Female skins.
- Added missing Redeemer altfire sound.
- Fix damage scaling of Biorifle alt.
- Flak Cannon altfire has been adjusted so it fires faster and reloads slower, like in UT.
- Voodoo dolls can now produce liquid splashes.
- Pain and death sounds will always be overriden by drowning when underwater, like in UT.
- Add player portraits to each class for the settings menu.
This commit is contained in:
Marisa the Magician 2019-11-27 21:27:34 +01:00
commit 6b248cd843
226 changed files with 369 additions and 54 deletions

View file

@ -221,12 +221,20 @@ Class Enforcer : UTWeapon
{
int ClipCount, SlaveClipCount;
bool SlaveActive, SlaveDown, SlaveReload, SlaveAltFire;
bool ClipOut, SlaveClipOut;
int SlaveRefire;
double AltAccuracy;
property ClipCount : ClipCount;
property SlaveClipCount : SlaveClipCount;
override int, int, bool, bool GetClipAmount()
{
if ( !flak_enforcerreload ) return Super.GetClipAmount();
if ( Amount > 1 ) return ClipOut?-1:ClipCount, SlaveClipOut?-1:SlaveClipCount, (ClipCount<5), (SlaveClipCount<5);
return ClipOut?-1:ClipCount, -1, (ClipCount<5), false;
}
override bool HandlePickup( Inventory item )
{
if ( item.GetClass() == GetClass() )
@ -493,6 +501,7 @@ Class Enforcer : UTWeapon
Ready:
ENFS A 0
{
invoker.slaveclipout = invoker.clipout = false;
invoker.slavedown = false;
if ( !invoker.slaveactive && (CountInv("Enforcer") > 1) )
{
@ -607,6 +616,7 @@ Class Enforcer : UTWeapon
}
ENFR A 0
{
invoker.clipout = true;
invoker.clipcount = 0;
A_Overlay(-9999,null);
A_PlaySound("enforcer/click",CHAN_WEAPON);
@ -615,6 +625,7 @@ Class Enforcer : UTWeapon
ENR2 AB 1;
ENR2 B 30
{
invoker.clipout = false;
invoker.clipcount = min(invoker.default.clipcount,invoker.Ammo1.Amount);
A_PlaySound("enforcer/reload",CHAN_WEAPON);
if ( self is 'UTPlayer' )
@ -638,6 +649,7 @@ Class Enforcer : UTWeapon
invoker.slavereload = 0;
return ResolveState("LeftIdle");
}
invoker.slaveclipout = true;
invoker.slaveclipcount = 0;
A_Overlay(-9998,null);
A_PlaySound("enforcer/click",CHAN_6);
@ -647,6 +659,7 @@ Class Enforcer : UTWeapon
2NR2 AB 1;
2NR2 B 30
{
invoker.slaveclipout = false;
invoker.slaveclipcount = min(invoker.default.slaveclipcount,invoker.Ammo1.Amount);
A_PlaySound("enforcer/reload",CHAN_6);
if ( self is 'UTPlayer' )