2 #include "../dpdefs/csprogsdefs.qh"
3 #include "../client/defs.qh"
6 #include "../client/movetypes.qh"
7 #include "../server/tturrets/include/turrets_early.qh"
8 #include "../client/main.qh"
9 #include "../csqcmodellib/cl_model.qh"
12 #include "../dpdefs/progsdefs.qh"
13 #include "constants.qh"
14 #include "../server/constants.qh"
17 .float healer_lifetime;
21 float healer_send(entity to, float sf)
23 WriteByte(MSG_ENTITY, ENT_CLIENT_HEALING_ORB);
24 WriteByte(MSG_ENTITY, sf);
28 WriteCoord(MSG_ENTITY, self.origin.x);
29 WriteCoord(MSG_ENTITY, self.origin.y);
30 WriteCoord(MSG_ENTITY, self.origin.z);
32 WriteByte(MSG_ENTITY, self.healer_lifetime);
33 //WriteByte(MSG_ENTITY, self.ltime - time + 1);
34 WriteShort(MSG_ENTITY, self.healer_radius);
35 // round time delta to a 1/10th of a second
36 WriteByte(MSG_ENTITY, (self.ltime - time)*10.0+0.5);
47 float dt = time - self.move_time;
48 self.move_time = time;
52 self.alpha = (self.ltime - time) / self.healer_lifetime;
53 self.scale = min((1 - self.alpha)*self.healer_lifetime*4,1)*self.healer_radius;
59 setmodel(self, "models/ctf/shield.md3");
61 setorigin(self, self.origin);
63 float model_radius = self.maxs.x;
64 vector size = '1 1 1' * self.healer_radius / 2;
65 setsize(self,-size,size);
66 self.healer_radius = self.healer_radius/model_radius*0.6;
68 self.draw = healer_draw;
70 self.movetype = MOVETYPE_NONE;
71 self.solid = SOLID_NOT;
72 self.drawmask = MASK_NORMAL;
74 self.avelocity = self.move_avelocity = '7 0 11';
75 self.colormod = '1 0 0';
76 self.renderflags |= RF_ADDITIVE;
85 self.origin_x = ReadCoord();
86 self.origin_y = ReadCoord();
87 self.origin_z = ReadCoord();
88 setorigin(self, self.origin);
90 self.healer_lifetime = ReadByte();
91 self.healer_radius = ReadShort();
92 self.ltime = time + ReadByte()/10.0;
93 //self.ltime = time + self.healer_lifetime;