]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/client/Main.qc
Oops... also consider the healthsize_min and healthsize_max values for offsetting...
[voretournament/voretournament.git] / data / qcsrc / client / Main.qc
index 3f9c72927e22bb6636cf010b59f025ffca3a8510..626a56c27b692c0315e7ea7b88b178d52e25faf4 100644 (file)
@@ -657,17 +657,40 @@ float CSQC_InputEvent(float bInputType, float nPrimary, float nSecondary)
 \r
 // --------------------------------------------------------------------------\r
 // BEGIN OPTIONAL CSQC FUNCTIONS\r
+void Ent_RemoveEntCS()\r
+{\r
+       entcs_receiver[self.sv_entnum] = world;\r
+}\r
 void Ent_ReadEntCS()\r
 {\r
+       float sf;\r
        InterpolateOrigin_Undo();\r
 \r
        self.classname = "entcs_receiver";\r
-       self.sv_entnum = ReadByte() - 1;\r
-       self.origin_x = ReadShort();\r
-       self.origin_y = ReadShort();\r
-       self.origin_z = ReadShort();\r
-       self.angles_y = ReadByte() * 360.0 / 256;\r
-       self.origin_z = self.angles_x = self.angles_z = 0;\r
+       sf = ReadByte();\r
+\r
+       if(sf & 1)\r
+               self.sv_entnum = ReadByte();\r
+       if(sf & 2)\r
+       {\r
+               self.origin_x = ReadShort();\r
+               self.origin_y = ReadShort();\r
+               self.origin_z = ReadShort();\r
+       }\r
+       if(sf & 4)\r
+       {\r
+               self.angles_y = ReadByte() * 360.0 / 256;\r
+               self.angles_x = self.angles_z = 0;\r
+       }\r
+       if(sf & 8)\r
+               self.healthvalue = ReadShort();\r
+       if(sf & 16)\r
+               self.armorvalue = ReadShort();\r
+       if(sf & 32)\r
+               self.predator = ReadByte();\r
+\r
+       entcs_receiver[self.sv_entnum] = self;\r
+       self.entremove = Ent_RemoveEntCS;\r
 \r
        InterpolateOrigin_Note();\r
 }\r
@@ -1034,6 +1057,12 @@ void Ent_Init()
 \r
        g_vore = ReadCoord();\r
        g_balance_vore_swallow_limit = ReadCoord();\r
+       g_healthsize = ReadCoord();\r
+       g_healthsize_min = ReadCoord();\r
+       g_healthsize_max = ReadCoord();\r
+\r
+       armor_max = ReadCoord();\r
+       teamheal_max = ReadCoord();\r
 \r
        if(!postinit)\r
                PostInit();\r