Various glow stuff: People should now glow coloredly:
a) If they're holding an item belonging to a team, they get that team's glowcolor b) If they're quad they get blue c) If they're pent they get red. Yellow and Green are both just DIMLIGHT for now, but I'll see if I can't use QSG glow_color/glow_size
This commit is contained in:
parent
e63ce1578a
commit
841a2e09b3
55
client.qc
55
client.qc
|
@ -212,7 +212,7 @@ void () PrematchBegin =
|
||||||
other.items = other.items & ~IT_INVULNERABILITY;
|
other.items = other.items & ~IT_INVULNERABILITY;
|
||||||
other.invincible_time = 0;
|
other.invincible_time = 0;
|
||||||
other.invincible_finished = 0;
|
other.invincible_finished = 0;
|
||||||
other.effects = other.effects - (other.effects & EF_DIMLIGHT);
|
other.effects &= ~EF_ANYGLOW;
|
||||||
TF_T_Damage(other, NIL, NIL, other.health + 20, TF_TD_IGNOREARMOUR, TF_TD_OTHER);
|
TF_T_Damage(other, NIL, NIL, other.health + 20, TF_TD_IGNOREARMOUR, TF_TD_OTHER);
|
||||||
other = find(other, classname, "player");
|
other = find(other, classname, "player");
|
||||||
}
|
}
|
||||||
|
@ -225,7 +225,7 @@ void () PrematchBegin =
|
||||||
other.items = other.items & ~IT_INVULNERABILITY;
|
other.items = other.items & ~IT_INVULNERABILITY;
|
||||||
other.invincible_time = 0;
|
other.invincible_time = 0;
|
||||||
other.invincible_finished = 0;
|
other.invincible_finished = 0;
|
||||||
other.effects = other.effects - (other.effects & EF_DIMLIGHT);
|
other.effects &= ~EF_ANYGLOW;
|
||||||
TF_T_Damage(other, NIL, NIL, other.health + 20, TF_TD_IGNOREARMOUR, TF_TD_OTHER);
|
TF_T_Damage(other, NIL, NIL, other.health + 20, TF_TD_IGNOREARMOUR, TF_TD_OTHER);
|
||||||
other = find(other, classname, "grunty");
|
other = find(other, classname, "grunty");
|
||||||
}*/
|
}*/
|
||||||
|
@ -2702,7 +2702,7 @@ void() PlayerPreThink =
|
||||||
|
|
||||||
if (self.undercover_team || self.undercover_skin || self.is_undercover)
|
if (self.undercover_team || self.undercover_skin || self.is_undercover)
|
||||||
{
|
{
|
||||||
if (self.effects & (EF_DIMLIGHT | EF_BRIGHTLIGHT))
|
if (self.effects & EF_ANYGLOW)
|
||||||
{
|
{
|
||||||
sprint(self, PRINT_MEDIUM, "The glowing removes your disguise.\n");
|
sprint(self, PRINT_MEDIUM, "The glowing removes your disguise.\n");
|
||||||
Spy_RemoveDisguise(self);
|
Spy_RemoveDisguise(self);
|
||||||
|
@ -2710,7 +2710,7 @@ void() PlayerPreThink =
|
||||||
}
|
}
|
||||||
/*if (self.job & JOB_THIEF && self.job & JOB_FULL_HIDE)
|
/*if (self.job & JOB_THIEF && self.job & JOB_FULL_HIDE)
|
||||||
{
|
{
|
||||||
if (self.effects & (EF_DIMLIGHT | EF_BRIGHTLIGHT))
|
if (self.effects & EF_ANYGLOW)
|
||||||
{
|
{
|
||||||
sprint(self, PRINT_MEDIUM, "The glowing removes your full invisibility.\n");
|
sprint(self, PRINT_MEDIUM, "The glowing removes your full invisibility.\n");
|
||||||
self.job = self.job - (self.job & JOB_FULL_HIDE);
|
self.job = self.job - (self.job & JOB_FULL_HIDE);
|
||||||
|
@ -2859,9 +2859,6 @@ Check for turning off powerups
|
||||||
*/
|
*/
|
||||||
void() CheckPowerups =
|
void() CheckPowerups =
|
||||||
{
|
{
|
||||||
local float lighton;
|
|
||||||
local entity te;
|
|
||||||
|
|
||||||
if (self.health <= 0)
|
if (self.health <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -2963,26 +2960,8 @@ void() CheckPowerups =
|
||||||
self.items = self.items & ~IT_INVULNERABILITY;
|
self.items = self.items & ~IT_INVULNERABILITY;
|
||||||
self.invincible_time = 0;
|
self.invincible_time = 0;
|
||||||
self.invincible_finished = 0;
|
self.invincible_finished = 0;
|
||||||
}
|
self.effects &= ~EF_ANYGLOW;
|
||||||
if (self.invincible_finished > time)
|
self.effects |= EF_GlowColor(self);
|
||||||
self.effects = self.effects | EF_DIMLIGHT;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Only remove dimlight if it's not being supplied by a GoalItem
|
|
||||||
lighton = FALSE;
|
|
||||||
te = find (NIL, classname, "item_tfgoal");
|
|
||||||
while (te)
|
|
||||||
{
|
|
||||||
if (te.owner == self)
|
|
||||||
{
|
|
||||||
if (te.goal_activation & TFGI_GLOW)
|
|
||||||
lighton = TRUE;
|
|
||||||
}
|
|
||||||
te = find(te, classname, "item_tfgoal");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!lighton)
|
|
||||||
self.effects = self.effects - (self.effects & EF_DIMLIGHT);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3021,26 +3000,8 @@ void() CheckPowerups =
|
||||||
self.super_time = 0;
|
self.super_time = 0;
|
||||||
//WK If inspired, remove inspiration
|
//WK If inspired, remove inspiration
|
||||||
self.tfstate = self.tfstate - (self.tfstate & TFSTATE_INSPIRED);
|
self.tfstate = self.tfstate - (self.tfstate & TFSTATE_INSPIRED);
|
||||||
}
|
self.effects &= ~EF_ANYGLOW;
|
||||||
if (self.super_damage_finished > time)
|
self.effects |= EF_GlowColor(self);
|
||||||
self.effects = self.effects | EF_DIMLIGHT;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Only remove dimlight if it's not being supplied by a GoalItem
|
|
||||||
lighton = FALSE;
|
|
||||||
te = find (NIL, classname, "item_tfgoal");
|
|
||||||
while (te)
|
|
||||||
{
|
|
||||||
if (te.owner == self)
|
|
||||||
{
|
|
||||||
if (te.goal_activation & TFGI_GLOW)
|
|
||||||
lighton = TRUE;
|
|
||||||
}
|
|
||||||
te = find(te, classname, "item_tfgoal");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!lighton)
|
|
||||||
self.effects = self.effects - (self.effects & EF_DIMLIGHT);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -397,7 +397,7 @@ void(entity targ, entity inflictor, entity attacker, float damage, float T_flags
|
||||||
attacker.tfstate = attacker.tfstate - TFSTATE_INSPIRED;
|
attacker.tfstate = attacker.tfstate - TFSTATE_INSPIRED;
|
||||||
attacker.super_damage_finished = 0;
|
attacker.super_damage_finished = 0;
|
||||||
attacker.items = attacker.items & ~IT_QUAD;
|
attacker.items = attacker.items & ~IT_QUAD;
|
||||||
attacker.effects = attacker.effects - (attacker.effects & EF_DIMLIGHT);
|
attacker.effects &= ~EF_ANYGLOW;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (targ.classname == "player" && targ.tfstate & TFSTATE_INSPIRED) {
|
if (targ.classname == "player" && targ.tfstate & TFSTATE_INSPIRED) {
|
||||||
|
@ -407,7 +407,7 @@ void(entity targ, entity inflictor, entity attacker, float damage, float T_flags
|
||||||
targ.tfstate = targ.tfstate - TFSTATE_INSPIRED;
|
targ.tfstate = targ.tfstate - TFSTATE_INSPIRED;
|
||||||
targ.super_damage_finished = 0;
|
targ.super_damage_finished = 0;
|
||||||
targ.items = targ.items & ~IT_QUAD;
|
targ.items = targ.items & ~IT_QUAD;
|
||||||
targ.effects = targ.effects - (targ.effects & EF_DIMLIGHT);
|
targ.effects &= ~EF_ANYGLOW;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
12
defs.qh
12
defs.qh
|
@ -175,11 +175,19 @@
|
||||||
|
|
||||||
// entity effects
|
// entity effects
|
||||||
|
|
||||||
#define EF_BRIGHTFIELD 1
|
#define EF_BRIGHTFIELD 8 //really 1, doesn't exist in quakeworld
|
||||||
#define EF_MUZZLEFLASH 2
|
#define EF_MUZZLEFLASH 8 //really 2, doesn't exist in quakeworld
|
||||||
|
|
||||||
#define EF_BRIGHTLIGHT 4
|
#define EF_BRIGHTLIGHT 4
|
||||||
#define EF_DIMLIGHT 8
|
#define EF_DIMLIGHT 8
|
||||||
|
#define EF_FLAG1 16
|
||||||
|
#define EF_FLAG2 32
|
||||||
|
#define EF_RED 64
|
||||||
|
#define EF_BLUE 128
|
||||||
|
|
||||||
|
#define EF_ANYGLOW (EF_BRIGHTLIGHT | EF_DIMLIGHT | EF_RED | EF_BLUE)
|
||||||
|
|
||||||
|
float (entity e) EF_GlowColor;
|
||||||
|
|
||||||
// network writes. argument to Write*
|
// network writes. argument to Write*
|
||||||
#define MSG_ONE 1 // reliable to one (msg_entity)
|
#define MSG_ONE 1 // reliable to one (msg_entity)
|
||||||
|
|
8
jobs.qc
8
jobs.qc
|
@ -84,7 +84,7 @@ void() JobThief =
|
||||||
//}
|
//}
|
||||||
else { //Become fully hidden
|
else { //Become fully hidden
|
||||||
//RJM - Can't hide while carrying flags.
|
//RJM - Can't hide while carrying flags.
|
||||||
if (self.effects & (EF_DIMLIGHT | EF_BRIGHTLIGHT)) {
|
if (self.effects & EF_ANYGLOW) {
|
||||||
sprint(self,PRINT_HIGH,"Not while glowing, idiot.\n");
|
sprint(self,PRINT_HIGH,"Not while glowing, idiot.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -113,7 +113,7 @@ void() JobThief =
|
||||||
//RJM - Can't hide while carrying flags.
|
//RJM - Can't hide while carrying flags.
|
||||||
//WK - Allow them to go eyes invisible but not full hide
|
//WK - Allow them to go eyes invisible but not full hide
|
||||||
/*
|
/*
|
||||||
if (self.effects & (EF_DIMLIGHT | EF_BRIGHTLIGHT)) {
|
if (self.effects & EF_ANYGLOW) {
|
||||||
sprint(self, PRINT_HIGH, "Not while glowing, gimp.\n");
|
sprint(self, PRINT_HIGH, "Not while glowing, gimp.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -319,7 +319,7 @@ void() ChaplanThink = {
|
||||||
//Sync CHAN_MUSIC with disconnect and sound below
|
//Sync CHAN_MUSIC with disconnect and sound below
|
||||||
self.job = self.job - (self.job & JOB_ACTIVE);
|
self.job = self.job - (self.job & JOB_ACTIVE);
|
||||||
sound (self, CHAN_MUSIC, "items/r_item1.wav", 0.1, ATTN_NORM);
|
sound (self, CHAN_MUSIC, "items/r_item1.wav", 0.1, ATTN_NORM);
|
||||||
self.effects = self.effects - (self.effects & EF_BRIGHTLIGHT);
|
self.effects &= ~EF_ANYGLOW;
|
||||||
//self.tfstate = self.tfstate - (self.tfstate & TFSTATE_RELOADING);
|
//self.tfstate = self.tfstate - (self.tfstate & TFSTATE_RELOADING);
|
||||||
self.current_weapon = self.weapon;
|
self.current_weapon = self.weapon;
|
||||||
W_SetCurrentAmmo();
|
W_SetCurrentAmmo();
|
||||||
|
@ -368,7 +368,7 @@ void() JobChaplan =
|
||||||
//Start playing preacher music, glow and inspire!
|
//Start playing preacher music, glow and inspire!
|
||||||
//sound (self, CHAN_VOICE, "ambience/orff.wav", 0.75, ATTN_NORM);
|
//sound (self, CHAN_VOICE, "ambience/orff.wav", 0.75, ATTN_NORM);
|
||||||
sound (self, CHAN_MUSIC, "ambience/orff.wav", 0.75, ATTN_NORM);
|
sound (self, CHAN_MUSIC, "ambience/orff.wav", 0.75, ATTN_NORM);
|
||||||
self.effects = self.effects | EF_BRIGHTLIGHT;
|
self.effects |= EF_BRIGHTLIGHT | EF_GlowColor(self);
|
||||||
ChaplanInspire();
|
ChaplanInspire();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
2
menu.qc
2
menu.qc
|
@ -967,7 +967,7 @@ void(float inp) Menu_Spy_Input =
|
||||||
{
|
{
|
||||||
if (inp == 1 || inp == 2)
|
if (inp == 1 || inp == 2)
|
||||||
{
|
{
|
||||||
if (self.effects & (EF_DIMLIGHT | EF_BRIGHTLIGHT))
|
if (self.effects & EF_ANYGLOW)
|
||||||
{
|
{
|
||||||
sprint(self, PRINT_HIGH, "You can't go undercover while glowing.\n");
|
sprint(self, PRINT_HIGH, "You can't go undercover while glowing.\n");
|
||||||
ResetMenu();
|
ResetMenu();
|
||||||
|
|
57
player.qc
57
player.qc
|
@ -1254,7 +1254,6 @@ void() PlayerDie =
|
||||||
//WK Stop orff
|
//WK Stop orff
|
||||||
sound (self, CHAN_MUSIC, "items/r_item1.wav", 0.1, ATTN_NORM);
|
sound (self, CHAN_MUSIC, "items/r_item1.wav", 0.1, ATTN_NORM);
|
||||||
//WK Stop glows!
|
//WK Stop glows!
|
||||||
self.flags &= ~(EF_BRIGHTLIGHT | EF_DIMLIGHT);
|
|
||||||
self.effects = 0;
|
self.effects = 0;
|
||||||
// make dead guy release hook (wedge)
|
// make dead guy release hook (wedge)
|
||||||
if (self.hook_out) {
|
if (self.hook_out) {
|
||||||
|
@ -1498,3 +1497,59 @@ void() player_laser4 =[$nailatt1, player_laser1 ]
|
||||||
}
|
}
|
||||||
self.weaponframe=5;
|
self.weaponframe=5;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
float(entity e) EF_GlowColor =
|
||||||
|
{
|
||||||
|
local float ret = 0;
|
||||||
|
|
||||||
|
if (e.classname == "player")
|
||||||
|
{
|
||||||
|
local entity te = NIL;
|
||||||
|
|
||||||
|
te = find(NIL, classname, "item_tfgoal");
|
||||||
|
|
||||||
|
while (te)
|
||||||
|
{
|
||||||
|
if (te.owner == e && (te.goal_activation & TFGI_GLOW))
|
||||||
|
{
|
||||||
|
ret |= EF_DIMLIGHT;
|
||||||
|
|
||||||
|
local float teamno = 0;
|
||||||
|
|
||||||
|
if (te.owned_by == 1)
|
||||||
|
ret |= EF_BLUE;
|
||||||
|
else if (te.owned_by == 2)
|
||||||
|
ret |= EF_RED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.super_damage_finished)
|
||||||
|
ret |= EF_BLUE;
|
||||||
|
if (e.invincible_finished)
|
||||||
|
ret |= EF_RED;
|
||||||
|
|
||||||
|
if ((ret & EF_ANYGLOW) != EF_DIMLIGHT)
|
||||||
|
ret &= ~EF_DIMLIGHT;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
else if (e.classname == "item_tfgoal")
|
||||||
|
{
|
||||||
|
if (e.owned_by)
|
||||||
|
{
|
||||||
|
if (e.owned_by == 1)
|
||||||
|
return EF_BLUE;
|
||||||
|
else if (e.owned_by == 2)
|
||||||
|
return EF_RED;
|
||||||
|
}
|
||||||
|
else if (e.team)
|
||||||
|
{
|
||||||
|
if (e.team == 1)
|
||||||
|
return EF_BLUE;
|
||||||
|
else if (e.team == 2)
|
||||||
|
return EF_RED;
|
||||||
|
}
|
||||||
|
|
||||||
|
return EF_DIMLIGHT;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
4
spy.qc
4
spy.qc
|
@ -273,7 +273,7 @@ void(float type) TeamFortress_SpyFeignDeath =
|
||||||
}
|
}
|
||||||
|
|
||||||
//WK - Can't feign while carrying flag. King cheater!
|
//WK - Can't feign while carrying flag. King cheater!
|
||||||
if (self.effects & (EF_DIMLIGHT | EF_BRIGHTLIGHT)) {
|
if (self.effects & EF_ANYGLOW) {
|
||||||
sprint(self, PRINT_HIGH, "Can't feign while glowing, you sloppy bitch.\n");
|
sprint(self, PRINT_HIGH, "Can't feign while glowing, you sloppy bitch.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -404,7 +404,7 @@ void() TeamFortress_SpyGoUndercover =
|
||||||
{
|
{
|
||||||
local entity te;
|
local entity te;
|
||||||
|
|
||||||
if (self.effects & (EF_DIMLIGHT | EF_BRIGHTLIGHT))
|
if (self.effects & EF_ANYGLOW)
|
||||||
{
|
{
|
||||||
sprint(self, PRINT_MEDIUM, "You cannot disguise while glowing.\n");
|
sprint(self, PRINT_MEDIUM, "You cannot disguise while glowing.\n");
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -125,7 +125,7 @@ float(entity targ) Teleporter_check_person =
|
||||||
CenterPrint(targ, "Civilian + Teleporter = No, NFC!\n");
|
CenterPrint(targ, "Civilian + Teleporter = No, NFC!\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if (targ.effects & (EF_BRIGHTLIGHT | EF_DIMLIGHT | EF_BRIGHTFIELD)) {//no flag for you!
|
if (targ.effects & EF_ANYGLOW) {//no flag for you!
|
||||||
CenterPrint(targ, "Can't use teleporter while glowing!\n");
|
CenterPrint(targ, "Can't use teleporter while glowing!\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
4
tfort.qc
4
tfort.qc
|
@ -144,7 +144,7 @@ void() UseSpecialSkill =
|
||||||
if (self.money)
|
if (self.money)
|
||||||
self.impulse = TF_ENGINEER_BUILD;
|
self.impulse = TF_ENGINEER_BUILD;
|
||||||
else {
|
else {
|
||||||
if (self.effects & (EF_DIMLIGHT | EF_BRIGHTLIGHT)) //CH why not have the check here too, saves a keypress
|
if (self.effects & EF_ANYGLOW) //CH why not have the check here too, saves a keypress
|
||||||
self.impulse = TF_ENGINEER_BUILD;
|
self.impulse = TF_ENGINEER_BUILD;
|
||||||
else
|
else
|
||||||
self.impulse = TF_SPY_SPY;
|
self.impulse = TF_SPY_SPY;
|
||||||
|
@ -3589,7 +3589,7 @@ void() TeamFortress_RegenerateCells =
|
||||||
}
|
}
|
||||||
else if ((self.owner.velocity_z == 0 && self.owner.velocity_y == 0 && self.owner.velocity_x == 0)
|
else if ((self.owner.velocity_z == 0 && self.owner.velocity_y == 0 && self.owner.velocity_x == 0)
|
||||||
&& !(self.owner.job & JOB_FULL_HIDE)
|
&& !(self.owner.job & JOB_FULL_HIDE)
|
||||||
&& !(self.effects & (EF_DIMLIGHT | EF_BRIGHTLIGHT)))
|
&& !(self.effects & EF_ANYGLOW))
|
||||||
{
|
{
|
||||||
self.owner.frame = 0;
|
self.owner.frame = 0;
|
||||||
self.owner.weaponframe = 0;
|
self.owner.weaponframe = 0;
|
||||||
|
|
42
tfortmap.qc
42
tfortmap.qc
|
@ -195,7 +195,7 @@ void() TF_PlaceItem =
|
||||||
// self.oldorigin = self.origin; // So we can return it later
|
// self.oldorigin = self.origin; // So we can return it later
|
||||||
|
|
||||||
if (self.goal_activation & TFGI_ITEMGLOWS)
|
if (self.goal_activation & TFGI_ITEMGLOWS)
|
||||||
self.effects = self.effects | EF_DIMLIGHT;
|
self.effects = self.effects | EF_GlowColor(self);
|
||||||
|
|
||||||
// Setup the item_list mask
|
// Setup the item_list mask
|
||||||
if (item_list_bit == 0)
|
if (item_list_bit == 0)
|
||||||
|
@ -2770,12 +2770,12 @@ void(entity Item, entity AP, entity Goal) tfgoalitem_GiveToPlayer =
|
||||||
|
|
||||||
// Do the deeds on the player
|
// Do the deeds on the player
|
||||||
if (Item.goal_activation & TFGI_GLOW)
|
if (Item.goal_activation & TFGI_GLOW)
|
||||||
AP.effects = AP.effects | EF_DIMLIGHT;
|
AP.effects = AP.effects | EF_GlowColor(AP);
|
||||||
if (Item.goal_activation & TFGI_SLOW)
|
if (Item.goal_activation & TFGI_SLOW)
|
||||||
TeamFortress_SetSpeed(AP);
|
TeamFortress_SetSpeed(AP);
|
||||||
|
|
||||||
if (Item.goal_activation & TFGI_ITEMGLOWS)
|
if (Item.goal_activation & TFGI_ITEMGLOWS)
|
||||||
Item.effects = Item.effects - (Item.effects | EF_DIMLIGHT);
|
Item.effects &= ~EF_ANYGLOW;
|
||||||
|
|
||||||
// Light up console icons
|
// Light up console icons
|
||||||
if (Item.items & IT_KEY1)
|
if (Item.items & IT_KEY1)
|
||||||
|
@ -2899,7 +2899,7 @@ void() ReturnItem =
|
||||||
void(entity Item, entity AP, float method) tfgoalitem_RemoveFromPlayer =
|
void(entity Item, entity AP, float method) tfgoalitem_RemoveFromPlayer =
|
||||||
{
|
{
|
||||||
local entity te;
|
local entity te;
|
||||||
local float lighton, slowon;
|
local float slowon;
|
||||||
local float key1on, key2on;
|
local float key1on, key2on;
|
||||||
local float spyoff;
|
local float spyoff;
|
||||||
local entity DelayReturn;
|
local entity DelayReturn;
|
||||||
|
@ -2918,46 +2918,18 @@ void(entity Item, entity AP, float method) tfgoalitem_RemoveFromPlayer =
|
||||||
RPrint("\n");
|
RPrint("\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
lighton = FALSE;
|
|
||||||
slowon = FALSE;
|
slowon = FALSE;
|
||||||
key1on = FALSE;
|
key1on = FALSE;
|
||||||
key2on = FALSE;
|
key2on = FALSE;
|
||||||
spyoff = FALSE;
|
spyoff = FALSE;
|
||||||
// Remove the deeds from the player
|
// Remove the deeds from the player
|
||||||
// Make sure we don't remove an effect another Goal is also supplying
|
// Make sure we don't remove an effect another Goal is also supplying
|
||||||
te = find (NIL, classname, "item_tfgoal");
|
|
||||||
while (te)
|
|
||||||
{
|
|
||||||
if ((te.owner == AP) && (te != Item))
|
|
||||||
{
|
|
||||||
if (te.goal_activation & TFGI_GLOW)
|
|
||||||
lighton = TRUE;
|
|
||||||
if (te.goal_activation & TFGI_SLOW)
|
|
||||||
slowon = TRUE;
|
|
||||||
|
|
||||||
if (te.items & IT_KEY1)
|
AP.effects &= ~EF_ANYGLOW;
|
||||||
key1on = TRUE;
|
AP.effects |= EF_GlowColor(AP); // This handles other glows
|
||||||
if (te.items & IT_KEY2)
|
|
||||||
key2on = TRUE;
|
|
||||||
|
|
||||||
if (te.goal_result & TFGR_REMOVE_DISGUISE)
|
|
||||||
spyoff = 1;
|
|
||||||
}
|
|
||||||
te = find(te, classname, "item_tfgoal");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check Powerups too
|
|
||||||
if (!lighton)
|
|
||||||
{
|
|
||||||
if (AP.invincible_finished > time + 3)
|
|
||||||
lighton = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!lighton)
|
|
||||||
AP.effects = AP.effects - (AP.effects & EF_DIMLIGHT);
|
|
||||||
|
|
||||||
if (Item.goal_activation & TFGI_ITEMGLOWS)
|
if (Item.goal_activation & TFGI_ITEMGLOWS)
|
||||||
Item.effects = Item.effects | EF_DIMLIGHT;
|
Item.effects = Item.effects | EF_GlowColor(self);
|
||||||
|
|
||||||
// Remove the Spy prevention
|
// Remove the Spy prevention
|
||||||
if (!spyoff)
|
if (!spyoff)
|
||||||
|
|
|
@ -195,7 +195,7 @@ void() Wiz_FastFire =
|
||||||
|
|
||||||
if (self.owner.health > 0)
|
if (self.owner.health > 0)
|
||||||
{
|
{
|
||||||
self.owner.effects = self.owner.effects | EF_MUZZLEFLASH;
|
self.owner.effects = self.owner.effects | EF_DIMLIGHT;
|
||||||
|
|
||||||
makevectors (self.enemy.angles);
|
makevectors (self.enemy.angles);
|
||||||
dst = self.enemy.origin - 13*self.movedir;
|
dst = self.enemy.origin - 13*self.movedir;
|
||||||
|
|
Loading…
Reference in New Issue