X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fwaypointsprites.qc;h=736cc564cc4c81bffaae6096cddc11b46c8ac867;hb=d83e03a366494037c020f4cebf474325de88e69e;hp=0e6f2168b863b50c94a7c49dd20659a9315ed879;hpb=b0f359e16b0690d457fdc6fb7cb4f2d8d51da7bc;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/waypointsprites.qc b/qcsrc/server/waypointsprites.qc index 0e6f2168b..736cc564c 100644 --- a/qcsrc/server/waypointsprites.qc +++ b/qcsrc/server/waypointsprites.qc @@ -197,7 +197,7 @@ float WaypointSprite_visible_for_player(entity e) { if(self.team != e.team) return FALSE; - if(e.classname != "player") + if (!IS_PLAYER(e)) return FALSE; } @@ -206,7 +206,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") @@ -238,14 +238,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); } @@ -257,9 +251,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; @@ -468,8 +462,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; }