mirror of
https://github.com/nzp-team/quakec.git
synced 2024-11-22 03:41:15 +00:00
SERVER: Simplify Power-Up icon flash logic
This commit is contained in:
parent
a51a341d4a
commit
7c344306c3
2 changed files with 32 additions and 60 deletions
|
@ -477,7 +477,7 @@ void(entity victim,entity attacker, float damage, float d_style) DamageHandler =
|
||||||
addmoney(attacker, 10, 1);
|
addmoney(attacker, 10, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (victim.health <= 0 || instakill_finished) {
|
if (victim.health <= 0 || instakill_finished > time) {
|
||||||
old_self = self;
|
old_self = self;
|
||||||
self = victim;
|
self = victim;
|
||||||
DieHandler(attacker, d_style);
|
DieHandler(attacker, d_style);
|
||||||
|
|
|
@ -1618,73 +1618,45 @@ void () Impulse_Functions =
|
||||||
self.impulse = 0;
|
self.impulse = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
void(entity ent) CheckPowerups =
|
//
|
||||||
|
// WeaponCore_PowerUpBlink(blink_delay, powerup_endtime)
|
||||||
|
// Determines whether or not the Power-Up HUD icon should be
|
||||||
|
// visible.
|
||||||
|
// FIXME: This should be moved out of weapon_core, ideally.
|
||||||
|
//
|
||||||
|
float(__inout float blink_delay, float powerup_endtime) WeaponCore_PowerUpBlink =
|
||||||
{
|
{
|
||||||
if (instakill_finished >= time)
|
// If the Power-Up is still active
|
||||||
{
|
if (powerup_endtime >= time) {
|
||||||
if (instakill_finished < 4 + time)
|
float should_be_visible = false;
|
||||||
{
|
|
||||||
if (insta_blink< time - 0.25)
|
// If there's less than five seconds remaining,
|
||||||
insta_blink = time + 0.25;
|
// blink every 0.2s.
|
||||||
|
if (powerup_endtime < time + 5) {
|
||||||
|
if (blink_delay < time - 0.2)
|
||||||
|
blink_delay = time + 0.2;
|
||||||
}
|
}
|
||||||
else if (instakill_finished < 7 + time)
|
// If there's less than 10 seconds remaining,
|
||||||
{
|
// blink every 0.4s.
|
||||||
if (insta_blink< time - 0.5)
|
else if (powerup_endtime < time + 10) {
|
||||||
insta_blink = time + 0.5;
|
if (blink_delay < time - 0.4)
|
||||||
|
blink_delay = time + 0.4;
|
||||||
}
|
}
|
||||||
else if (instakill_finished < 10 + time)
|
|
||||||
{
|
if (blink_delay < time)
|
||||||
if (insta_blink< time - 1)
|
return true;
|
||||||
insta_blink = time + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (insta_blink < time)
|
|
||||||
ent.insta_icon = true;
|
|
||||||
else
|
|
||||||
ent.insta_icon = false;
|
|
||||||
}
|
|
||||||
else if(instakill_finished)
|
|
||||||
{
|
|
||||||
instakill_finished = 0;
|
|
||||||
|
|
||||||
ent.insta_icon = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (x2_finished > time)
|
|
||||||
{
|
|
||||||
if (x2_finished < 4 + time)
|
|
||||||
{
|
|
||||||
if (x2_blink< time - 0.25)
|
|
||||||
x2_blink = time + 0.25;
|
|
||||||
}
|
|
||||||
else if (x2_finished < 7 + time)
|
|
||||||
{
|
|
||||||
if (x2_blink< time - 0.5)
|
|
||||||
x2_blink = time + 0.5;
|
|
||||||
}
|
|
||||||
else if (x2_finished < 10 + time)
|
|
||||||
{
|
|
||||||
if (x2_blink< time - 1)
|
|
||||||
x2_blink = time + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (x2_blink < time)
|
|
||||||
ent.x2_icon = true;
|
|
||||||
else
|
|
||||||
ent.x2_icon = false;
|
|
||||||
}
|
|
||||||
else if(x2_finished)
|
|
||||||
{
|
|
||||||
x2_finished = 0;
|
|
||||||
|
|
||||||
ent.x2_icon = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
// End of the line, return false.
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
void() CheckPlayer =
|
void() CheckPlayer =
|
||||||
{
|
{
|
||||||
CheckPowerups(self);
|
// Update Power-Up blinking
|
||||||
|
self.insta_icon = WeaponCore_PowerUpBlink(insta_blink, instakill_finished);
|
||||||
|
self.x2_icon = WeaponCore_PowerUpBlink(x2_blink, x2_finished);
|
||||||
|
|
||||||
CheckRevive(self);
|
CheckRevive(self);
|
||||||
|
|
||||||
if (!self.sprintflag && self.sprinting) {
|
if (!self.sprintflag && self.sprinting) {
|
||||||
|
|
Loading…
Reference in a new issue