]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/waypointsprites.qc
Merge branch 'master' into terencehill/itemstime
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / waypointsprites.qc
index 840858d805dfa4ad5754270fa5c062281765ce87..507c0551b2db4127b10bbe8f7ed21d5b735300b2 100644 (file)
@@ -195,14 +195,14 @@ float WaypointSprite_visible_for_player(entity e)
        // team waypoints
        if(self.rule == SPRITERULE_SPECTATOR)
        {
-               if(!inWarmupStage && e.classname == "player")
+               if(!warmup_stage && e.classname == "player")
                        return FALSE;
        }
        else if(self.team && self.rule == SPRITERULE_DEFAULT)
        {
                if(self.team != e.team)
                        return FALSE;
-               if(e.classname != "player")
+               if (!IS_PLAYER(e))
                        return FALSE;
        }
 
@@ -211,7 +211,7 @@ float WaypointSprite_visible_for_player(entity e)
 
 entity WaypointSprite_getviewentity(entity e)
 {
-       if(e.classname == "spectator")
+       if(IS_SPEC(e))
                e = e.enemy;
        /* TODO idea (check this breaks nothing)
        else if(e.classname == "observer")
@@ -243,14 +243,8 @@ float WaypointSprite_Customize()
        entity e;
        e = WaypointSprite_getviewentity(other);
 
-       // as a GENERAL rule:
-       // if you have the invisibility powerup, sprites ALWAYS are restricted to your team
-       // but only apply this to real players, not to spectators
-       if(g_minstagib && (self.owner.flags & FL_CLIENT) && (self.owner.items & IT_STRENGTH) && (e == other))
-       {
-               if(!WaypointSprite_isteammate(self.owner, e))
-                       return FALSE;
-       }
+       if(MUTATOR_CALLHOOK(CustomizeWaypoint))
+               return FALSE;
 
        return self.waypointsprite_visible_for_player(e);
 }
@@ -262,9 +256,9 @@ float WaypointSprite_SendEntity(entity to, float sendflags)
        WriteByte(MSG_ENTITY, ENT_CLIENT_WAYPOINT);
 
        sendflags = sendflags & 0x7F;
-       
+
        if(g_nexball)
-               sendflags &~= 0x80;
+               sendflags &= ~0x80;
        else if(self.max_health || (self.pain_finished && (time < self.pain_finished + 0.25)))
                sendflags |= 0x80;
 
@@ -473,8 +467,8 @@ entity WaypointSprite_AttachCarrier(
        e = WaypointSprite_Spawn(spr, 0, 0, carrier, '0 0 64', world, carrier.team, carrier, waypointsprite_attachedforcarrier, FALSE, icon, rgb);
        if(e)
        {
-               WaypointSprite_UpdateMaxHealth(e, '1 0 0' * healtharmor_maxdamage(start_health, start_armorvalue, autocvar_g_balance_armor_blockpercent) * 2);
-               WaypointSprite_UpdateHealth(e, '1 0 0' * healtharmor_maxdamage(carrier.health, carrier.armorvalue, autocvar_g_balance_armor_blockpercent));
+               WaypointSprite_UpdateMaxHealth(e, '1 0 0' * healtharmor_maxdamage(start_health, start_armorvalue, autocvar_g_balance_armor_blockpercent, DEATH_WEAPON) * 2);
+               WaypointSprite_UpdateHealth(e, '1 0 0' * healtharmor_maxdamage(carrier.health, carrier.armorvalue, autocvar_g_balance_armor_blockpercent, DEATH_WEAPON));
        }
        return e;
 }