12 void spawnfunc_weapon_crossbow() {}
13 void spawnfunc_weapon_handgrenade() {}
14 void spawnfunc_ammo_crossbow() {}
15 void spawnfunc_ammo_9mmclip() {}
16 void spawnfunc_ammo_gaussclip() {}
17 void spawnfunc_weapon_rpg() {}
18 void spawnfunc_weapon_357() {}
19 void ammo_ARgrenades() {}
20 void spawnfunc_item_battery() {}
21 void spawnfunc_ammo_rpgclip() {}
22 void weapon_9mmAR() {}
23 void spawnfunc_weapon_tripmine() {}
24 void spawnfunc_weapon_snark() {}
25 void spawnfunc_ammo_buckshot() {}
27 void spawnfunc_ammo_357() {}
28 void spawnfunc_weapon_gauss() {}
29 void spawnfunc_weapon_hornetgun() {}
30 //void spawnfunc_weapon_shotgun() {}
31 void spawnfunc_item_healthkit() {}
32 void spawnfunc_item_longjump() {}
33 void spawnfunc_item_antidote() {}
34 void spawnfunc_func_recharge() {}
35 void spawnfunc_info_node() {}
36 void spawnfunc_env_sound() {}
37 void spawnfunc_light_spot() {}
38 void spawnfunc_func_healthcharger() {}
41 void func_ladder_touch()
44 if (!other.iscreature)
46 if (other.vehicle_flags & VHF_ISVEHICLE)
50 if(other.classname != "csqcmodel")
57 print("Setting ladder time on ", other.classname, "\n");
60 other.ladder_time = time + 0.1;
61 other.ladder_entity = self;
65 float func_ladder_send(entity to, float sf)
67 WriteByte(MSG_ENTITY, ENT_CLIENT_LADDER);
69 WriteString(MSG_ENTITY, self.classname);
70 WriteByte(MSG_ENTITY, self.warpzone_isboxy);
71 WriteByte(MSG_ENTITY, self.skin);
72 WriteByte(MSG_ENTITY, self.speed);
73 WriteByte(MSG_ENTITY, self.scale);
74 WriteCoord(MSG_ENTITY, self.origin_x);
75 WriteCoord(MSG_ENTITY, self.origin_y);
76 WriteCoord(MSG_ENTITY, self.origin_z);
78 WriteCoord(MSG_ENTITY, self.mins_x);
79 WriteCoord(MSG_ENTITY, self.mins_y);
80 WriteCoord(MSG_ENTITY, self.mins_z);
81 WriteCoord(MSG_ENTITY, self.maxs_x);
82 WriteCoord(MSG_ENTITY, self.maxs_y);
83 WriteCoord(MSG_ENTITY, self.maxs_z);
85 WriteCoord(MSG_ENTITY, self.movedir_x);
86 WriteCoord(MSG_ENTITY, self.movedir_y);
87 WriteCoord(MSG_ENTITY, self.movedir_z);
89 WriteCoord(MSG_ENTITY, self.angles_x);
90 WriteCoord(MSG_ENTITY, self.angles_y);
91 WriteCoord(MSG_ENTITY, self.angles_z);
96 void func_ladder_link()
98 self.nextthink = time;
99 Net_LinkEntity(self, FALSE, 0, func_ladder_send);
103 void spawnfunc_func_ladder()
106 self.touch = func_ladder_touch;
111 void spawnfunc_func_water()
114 self.touch = func_ladder_touch;
122 void func_ladder_draw()
124 tracebox(self.origin, self.mins, self.maxs, self.origin, MOVE_NORMAL, self);
126 if(trace_fraction < 1)
134 void ent_func_ladder()
136 self.classname = strzone(ReadString());
137 self.warpzone_isboxy = ReadByte();
138 self.skin = ReadByte();
139 self.speed = ReadByte();
140 self.scale = ReadByte();
141 self.origin_x = ReadCoord();
142 self.origin_y = ReadCoord();
143 self.origin_z = ReadCoord();
144 setorigin(self, self.origin);
145 self.mins_x = ReadCoord();
146 self.mins_y = ReadCoord();
147 self.mins_z = ReadCoord();
148 self.maxs_x = ReadCoord();
149 self.maxs_y = ReadCoord();
150 self.maxs_z = ReadCoord();
151 setsize(self, self.mins, self.maxs);
152 self.movedir_x = ReadCoord();
153 self.movedir_y = ReadCoord();
154 self.movedir_z = ReadCoord();
155 self.angles_x = ReadCoord();
156 self.angles_y = ReadCoord();
157 self.angles_z = ReadCoord();
159 self.solid = SOLID_TRIGGER;
160 self.draw = func_ladder_draw;
161 self.drawmask = MASK_NORMAL;