Release Candidate 3 Hotfix 2:
- Corrections on Power Shield behaviour, added option to make it absorb damage normally like in Unreal instead of individual hits, although this will make it less viable as an Invulnerability replacement.
This commit is contained in:
parent
0bb3e463cc
commit
a06ab42a4a
4 changed files with 27 additions and 18 deletions
|
|
@ -143,12 +143,8 @@ Generates a protective barrier around you that can completely block out up to
|
||||||
|
|
||||||
## Power Shield
|
## Power Shield
|
||||||
|
|
||||||
A much more potent version of the Shield Belt. This one, rather than degrade
|
A much more potent version of the Shield Belt, which can absorb up to 200
|
||||||
with damage taken, wears down based on the NUMBER of hits it takes. So ideally
|
individual hits, but loses charge over time.
|
||||||
it can eat up 200 attacks from anywhere.
|
|
||||||
|
|
||||||
By default, it also drains slowly over time for balance reasons, but this can
|
|
||||||
be disabled for the original behaviour.
|
|
||||||
|
|
||||||
## Dispersion Pistol Powerups
|
## Dispersion Pistol Powerups
|
||||||
|
|
||||||
|
|
|
||||||
11
cvarinfo.txt
11
cvarinfo.txt
|
|
@ -51,12 +51,11 @@ server bool sting_dpistol = false; // d.pistol altfire always level 0
|
||||||
// the weapon, but it's very likely
|
// the weapon, but it's very likely
|
||||||
// that this was kept like this for
|
// that this was kept like this for
|
||||||
// the sake of balance
|
// the sake of balance
|
||||||
server bool sting_pshield = false; // p.shield does not drain over time
|
server bool sting_pshield = false; // p.shield absorbs damage instead of
|
||||||
// this is unbalanced as all hell and
|
// individual hits, like in vanilla.
|
||||||
// it's not recommended to enable the
|
// note that this will make it less
|
||||||
// compatibility option unless you are
|
// useful as an invulnerability
|
||||||
// a die-hard purist who despises the
|
// replacement
|
||||||
// change
|
|
||||||
server bool sting_nopstart = false; // players start only with the
|
server bool sting_nopstart = false; // players start only with the
|
||||||
// dispersion pistol, otherwise they
|
// dispersion pistol, otherwise they
|
||||||
// also get an automag for the sake
|
// also get an automag for the sake
|
||||||
|
|
|
||||||
|
|
@ -242,7 +242,7 @@ STING_AUTODUAL = "Automags";
|
||||||
STING_PROTODUAL = "Protomags";
|
STING_PROTODUAL = "Protomags";
|
||||||
STING_UOPTS = "Compatibility options";
|
STING_UOPTS = "Compatibility options";
|
||||||
STING_DPISTOL = "Dispersion Pistol altfire isn't upgraded";
|
STING_DPISTOL = "Dispersion Pistol altfire isn't upgraded";
|
||||||
STING_PSHIELD = "Power Shield does not drain over time";
|
STING_PSHIELD = "Power Shield works like in Unreal";
|
||||||
STING_NOPSTART = "Players don't start up with an Automag";
|
STING_NOPSTART = "Players don't start up with an Automag";
|
||||||
STING_OLSMP = "Enable SMP 7243 from Oldskool Amp'd";
|
STING_OLSMP = "Enable SMP 7243 from Oldskool Amp'd";
|
||||||
STING_MSENTRY = "Enable new Minigun Sentry";
|
STING_MSENTRY = "Enable new Minigun Sentry";
|
||||||
|
|
@ -488,7 +488,7 @@ STING_AUTODUAL = "Autoarmas";
|
||||||
STING_PROTODUAL = "Protoarmas";
|
STING_PROTODUAL = "Protoarmas";
|
||||||
STING_UOPTS = "Opciones de compatibilidad";
|
STING_UOPTS = "Opciones de compatibilidad";
|
||||||
STING_DPISTOL = "El fuego alternativo de la Pistola de Dispersión no es mejorado";
|
STING_DPISTOL = "El fuego alternativo de la Pistola de Dispersión no es mejorado";
|
||||||
STING_PSHIELD = "El Escudo de Fuerza no pierde carga con el tiempo";
|
STING_PSHIELD = "El Escudo de Fuerza funciona como en Unreal";
|
||||||
STING_NOPSTART = "Los jugadores no empiezan la partida con un Automag";
|
STING_NOPSTART = "Los jugadores no empiezan la partida con un Automag";
|
||||||
STING_OLSMP = "Habilitar SMP 7243 de Oldskool Amp'd";
|
STING_OLSMP = "Habilitar SMP 7243 de Oldskool Amp'd";
|
||||||
STING_MSENTRY = "Habilitar nueva Torreta";
|
STING_MSENTRY = "Habilitar nueva Torreta";
|
||||||
|
|
|
||||||
|
|
@ -201,6 +201,7 @@ Class ShieldBelt : UnrealArmor
|
||||||
Class PowerShield : UnrealArmor
|
Class PowerShield : UnrealArmor
|
||||||
{
|
{
|
||||||
bool gothit;
|
bool gothit;
|
||||||
|
int draintimer;
|
||||||
|
|
||||||
override void AbsorbDamage( int damage, Name damageType, out int newdamage )
|
override void AbsorbDamage( int damage, Name damageType, out int newdamage )
|
||||||
{
|
{
|
||||||
|
|
@ -208,10 +209,18 @@ Class PowerShield : UnrealArmor
|
||||||
{
|
{
|
||||||
Owner.A_PlaySound("belt/absorb",CHAN_7);
|
Owner.A_PlaySound("belt/absorb",CHAN_7);
|
||||||
UTMainHandler.DoFlash(Owner,Color(80,224,0,255),5);
|
UTMainHandler.DoFlash(Owner,Color(80,224,0,255),5);
|
||||||
|
if ( !sting_pshield )
|
||||||
|
{
|
||||||
gothit = true;
|
gothit = true;
|
||||||
damage = 0;
|
damage = 0;
|
||||||
newdamage = 0;
|
newdamage = 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if ( sting_pshield )
|
||||||
|
{
|
||||||
|
Super.AbsorbDamage(damage,damageType,newdamage);
|
||||||
|
return;
|
||||||
|
}
|
||||||
if ( damage > 0 ) newdamage = ApplyDamageFactors(GetClass(),damageType,damage,damage);
|
if ( damage > 0 ) newdamage = ApplyDamageFactors(GetClass(),damageType,damage,damage);
|
||||||
}
|
}
|
||||||
override void DepleteOrDestroy()
|
override void DepleteOrDestroy()
|
||||||
|
|
@ -229,7 +238,12 @@ Class PowerShield : UnrealArmor
|
||||||
amount--;
|
amount--;
|
||||||
gothit = false;
|
gothit = false;
|
||||||
}
|
}
|
||||||
if ( !(level.maptime%15) && !sting_pshield ) amount--;
|
draintimer++;
|
||||||
|
if ( draintimer > 35 )
|
||||||
|
{
|
||||||
|
amount--;
|
||||||
|
draintimer = 0;
|
||||||
|
}
|
||||||
if ( amount <= 0 ) DepleteOrDestroy();
|
if ( amount <= 0 ) DepleteOrDestroy();
|
||||||
}
|
}
|
||||||
Default
|
Default
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue