X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=data%2Fqcsrc%2Fserver%2Fent_cs.qc;h=687e9d544a7ebc14c577dd070ce70c31ef04676d;hb=72ad1b7eb5d491deecdda92451dbea7c24a1c639;hp=6635689ebc8c304a552e31cb7a201d2724359e3a;hpb=cc148bf19700d380a18d7f51a706f9bbe959811b;p=voretournament%2Fvoretournament.git diff --git a/data/qcsrc/server/ent_cs.qc b/data/qcsrc/server/ent_cs.qc index 6635689e..687e9d54 100644 --- a/data/qcsrc/server/ent_cs.qc +++ b/data/qcsrc/server/ent_cs.qc @@ -30,38 +30,63 @@ float entcs_customize() return FALSE; if(other == o) return FALSE; - if(other.classname == "player") - if(o.team != other.team) - if not (radar_showennemies) - return FALSE; return TRUE; } float entcs_send(entity to, float sf) { - entity o; - o = self.owner; WriteByte(MSG_ENTITY, ENT_CLIENT_ENTCS); - WriteByte(MSG_ENTITY, num_for_edict(o)); - WriteShort(MSG_ENTITY, o.origin_x); - WriteShort(MSG_ENTITY, o.origin_y); - WriteShort(MSG_ENTITY, o.origin_z); - WriteByte(MSG_ENTITY, o.angles_y * 256.0 / 360); + WriteByte(MSG_ENTITY, sf); + if(sf & 1) + WriteByte(MSG_ENTITY, num_for_edict(self.owner)-1); + if(sf & 2) + { + WriteShort(MSG_ENTITY, self.origin_x); + WriteShort(MSG_ENTITY, self.origin_y); + WriteShort(MSG_ENTITY, self.origin_z); + } + if(sf & 4) + WriteByte(MSG_ENTITY, self.angles_y * 256.0 / 360); + if(sf & 8) + WriteShort(MSG_ENTITY, self.health); + if(sf & 16) + WriteShort(MSG_ENTITY, self.armorvalue); + if(sf & 32) + WriteByte(MSG_ENTITY, self.stat_eaten); return TRUE; }; void entcs_think() { - self.nextthink = time; + self.nextthink = time + 0.03; entity o; o = self.owner; - if(o.origin != self.origin || o.angles != self.angles) + if(o.origin != self.origin) { setorigin(self, o.origin); + self.SendFlags |= 2; + } + if(o.angles_y != self.angles_y) + { self.angles = o.angles; - self.SendFlags |= 1; + self.SendFlags |= 4; + } + if(o.health != self.health) + { + self.health = o.health; + self.SendFlags |= 8; + } + if(o.armorvalue != self.armorvalue) + { + self.armorvalue = o.armorvalue; + self.SendFlags |= 16; + } + if(o.stat_eaten != self.stat_eaten) + { + self.stat_eaten = o.stat_eaten; + self.SendFlags |= 32; } };