float waypointsprite_distancefadedistance;
float waypointsprite_alpha;
+.float helpme;
.float rule;
.string netname; // primary picture
.string netname2; // secondary picture
float SPRITE_HEALTHBAR_BORDERALPHA = 1;
float SPRITE_HEALTHBAR_HEALTHALPHA = 0.5;
float SPRITE_ARROW_SCALE = 1.0;
+float SPRITE_HELPME_BLINK = 2;
void drawrotpic(vector org, float rot, string pic, vector sz, vector hotspot, vector rgb, float a, float f)
{
print(sprintf("WARNING: sprite of name %s has no color, using pink so you notice it\n", spriteimage));
}
- if(time - floor(time) > 0.5)
+ if(self.helpme && time < self.helpme)
+ a *= SPRITE_HELPME_BLINK;
+ else if(time - floor(time) > 0.5)
a *= spritelookupblinkvalue(spriteimage);
if(a > 1)
string txt;
txt = spritelookuptext(spriteimage);
+ if(self.helpme && time < self.helpme)
+ txt = sprintf(_("%s needing help!"), txt);
if(autocvar_g_waypointsprite_uppercase)
txt = strtoupper(txt);
self.teamradar_color_x = ReadByte() / 255.0;
self.teamradar_color_y = ReadByte() / 255.0;
self.teamradar_color_z = ReadByte() / 255.0;
+ self.helpme = ReadByte() * 0.1;
+ if(self.helpme > 0)
+ self.helpme += servertime;
}
InterpolateOrigin_Note();
}
.float waypointsprite_pingtime;
+.float waypointsprite_helpmetime;
void WaypointSprite_Ping(entity e)
{
// anti spam
e.SendFlags |= 32;
}
+float waypointsprite_limitedrange, waypointsprite_deployed_lifetime, waypointsprite_deadlifetime;
+
+void WaypointSprite_HelpMePing(entity e)
+{
+ WaypointSprite_Ping(e);
+ e.waypointsprite_helpmetime = time + waypointsprite_deployed_lifetime;
+ e.SendFlags |= 32;
+}
+
void WaypointSprite_FadeOutIn(entity e, float t)
{
if(!e.fade_time)
e.SendFlags |= 16;
}
-float waypointsprite_limitedrange, waypointsprite_deployed_lifetime, waypointsprite_deadlifetime;
void WaypointSprite_Init()
{
waypointsprite_limitedrange = autocvar_g_waypointsprite_limitedrange;
WriteByte(MSG_ENTITY, self.colormod_x * 255.0);
WriteByte(MSG_ENTITY, self.colormod_y * 255.0);
WriteByte(MSG_ENTITY, self.colormod_z * 255.0);
+
+ dt = (self.waypointsprite_helpmetime - time) / 0.1;
+ if(dt < 0)
+ dt = 0;
+ if(dt > 255)
+ dt = 255;
+ WriteByte(MSG_ENTITY, dt);
}
return TRUE;