float pps_blue;
float pps_yellow;
float pps_pink;
-void set_dom_state(void)
+void set_dom_state(entity e)
{
// BIG ugly hack to make stat sending work
- self.dom_total_pps = total_pps;
- self.dom_pps_red = pps_red;
- self.dom_pps_blue = pps_blue;
+ e.dom_total_pps = total_pps;
+ e.dom_pps_red = pps_red;
+ e.dom_pps_blue = pps_blue;
if(c3 >= 0)
- {
- self.dom_pps_yellow = pps_yellow;
- }
+ e.dom_pps_yellow = pps_yellow;
if(c4 >= 0)
- {
- self.dom_pps_pink = pps_pink;
- }
+ e.dom_pps_pink = pps_pink;
}
void() dom_controlpoint_setup;
if (head.noise != "")
if(self.enemy)
- sound(self.enemy, CHAN_AUTO, head.noise, VOL_BASE, ATTN_NORM);
+ sound(self.enemy, CH_TRIGGER, head.noise, VOL_BASE, ATTN_NORM);
else
- sound(self, CHAN_TRIGGER, head.noise, VOL_BASE, ATTN_NORM);
+ sound(self, CH_TRIGGER, head.noise, VOL_BASE, ATTN_NORM);
if (head.noise1 != "")
play2all(head.noise1);
WaypointSprite_UpdateSprites(self.sprite, "dom-pink", "", "");
}
- FOR_EACH_PLAYER(self)
- set_dom_state();
-
WaypointSprite_UpdateTeamRadar(self.sprite, RADARICON_DOMPOINT, colormapPaletteColor(self.goalentity.team - 1, 0));
WaypointSprite_Ping(self.sprite);
self.captime = time;
+
+ FOR_EACH_REALCLIENT(head)
+ set_dom_state(head);
};
void AnimateDomPoint()
droptofloor();
waypoint_spawnforitem(self);
- WaypointSprite_SpawnFixed("dom-neut", self.origin + '0 0 32', self, sprite);
- WaypointSprite_UpdateTeamRadar(self.sprite, RADARICON_DOMPOINT, '0 1 1');
+ WaypointSprite_SpawnFixed("dom-neut", self.origin + '0 0 32', self, sprite, RADARICON_DOMPOINT, '0 1 1');
};
// if no control points are found, spawn defaults
if (find(world, classname, "dom_controlpoint") == world)
{
- // here follow default domination points for each map
- /*
- if (world.model == "maps/e1m1.bsp")
- {
- dom_spawnpoint('0 0 0');
- }
- else
- */
+ // TODO in a few months (maybe 2011/08): change this into error() and remove this very poor dom point selection
+ backtrace("This map contains no dom_controlpoint entities. A very poor dom point placement will be chosen. Please fix the map.");
+
+ // if no supported map was found, make every deathmatch spawn a point
+ head = find(world, classname, "info_player_deathmatch");
+ while (head)
{
- // if no supported map was found, make every deathmatch spawn a point
- head = find(world, classname, "info_player_deathmatch");
- while (head)
- {
- dom_spawnpoint(head.origin);
- head = find(head, classname, "info_player_deathmatch");
- }
+ dom_spawnpoint(head.origin);
+ head = find(head, classname, "info_player_deathmatch");
}
}