1 // =========================
2 // CSQC Monster Properties
3 // =========================
7 void monster_changeteam()
9 self.glowmod = Team_ColorRGB(self.team - 1);
10 self.teamradar_color = Team_ColorRGB(self.team - 1);
13 self.colormap = 1024 + (self.team - 1) * 17;
20 MON_ACTION(self.monsterid, MR_DEATH);
22 self.solid = SOLID_CORPSE;
29 dt = time - self.move_time;
30 self.move_time = time;
34 fixedmakevectors(self.angles);
35 //movelib_groundalign4point(50, 25, 0.25, 45);
36 setorigin(self, self.origin + self.velocity * dt);
37 self.angles_y = self.move_angles_y;
40 void monster_construct()
42 entity mon = get_monsterinfo(self.monsterid);
44 if(mon.spawnflags & MONSTER_SIZE_BROKEN)
47 self.netname = M_NAME(self.monsterid);
49 setorigin(self, self.origin);
50 setmodel(self, mon.model);
51 setsize(self, mon.mins, mon.maxs);
53 self.move_movetype = MOVETYPE_BOUNCE;
55 self.solid = SOLID_BBOX;
56 self.movetype = MOVETYPE_BOUNCE;
57 self.move_origin = self.origin;
58 self.move_time = time;
59 self.drawmask = MASK_NORMAL;
61 self.draw = monster_draw;
71 self.monsterid = ReadByte();
73 self.origin_x = ReadCoord();
74 self.origin_y = ReadCoord();
75 self.origin_z = ReadCoord();
76 setorigin(self, self.origin);
78 self.angles_x = ReadAngle();
79 self.angles_y = ReadAngle();
81 self.skin = ReadByte();
82 self.team = ReadByte();
90 self.move_angles_x = ReadShort();
91 self.move_angles_y = ReadShort();
92 self.angles = self.move_angles;
97 self.origin_x = ReadShort();
98 self.origin_y = ReadShort();
99 self.origin_z = ReadShort();
100 setorigin(self, self.origin);
102 self.velocity_x = ReadShort();
103 self.velocity_y = ReadShort();
104 self.velocity_z = ReadShort();
106 self.move_angles_y = ReadShort();
108 self.move_time = time;
109 self.move_velocity = self.velocity;
110 self.move_origin = self.origin;
115 self.frame1time = ReadCoord();
116 self.frame = ReadByte();
121 self.skin = ReadByte();
125 if(_tmp != self.team)
128 monster_changeteam();
132 if(_tmp == 4) // respawning
133 setmodel(self, "null");
137 if(_tmp == 0 && self.health != 0)