1 .float option, opton5;
\r
3 void () MagnetMineTouch;
\r
5 void () RemoveMagnetMine;
\r
10 void () TeamFortress_FinishedBuilding;
\r
11 void () lvl1_sentry_stand;
\r
12 void (float tno, entity ignore, string st) teamsprint;
\r
15 .float current_weapon;
\r
18 .void(entity attacker, float damage) th_pain;
\r
21 void (entity bld) CheckBelowBuilding;
\r
22 void (entity gunhead) CheckSentry;
\r
23 void () Sentry_Rotate;
\r
24 float () Sentry_FindTarget;
\r
25 void () Sentry_FoundTarget;
\r
26 void () Sentry_HuntTarget;
\r
27 void () Sentry_Pain;
\r
30 void EngineerSpecial()
\r
32 // sprint(self, "Not done yet\n");
\r
33 // this is gonna contain build menu eventually
\r
36 /*==========================
\r
37 TF Engineer Build Function
\r
38 =========================*/
\r
39 void(entity gunhead) CheckSentry =
\r
42 local entity gunbase;
\r
43 gunbase = gunhead.trigger_field;
\r
44 dist = gunbase.origin - gunhead.origin;
\r
45 if (vlen(dist) > 15)
\r
47 bprint(self.real_owner.netname);
\r
48 bprint("'s sentry gun malfunctioned\n");
\r
53 void () TeamFortress_EngineerBuild =
\r
57 if ((self.is_building == 0))
\r
59 // if ((((self.ammo_cells < 100) && (self.has_dispenser == 0)) && (self.has_sentry == 0)))
\r
61 // CenterPrint (self, "You don't have enough metal to \nbuild anything.\n\n");
\r
64 self.current_menu = 15;
\r
65 self.menu_count = 25;
\r
69 if ((self.is_building == 1))
\r
71 sprint (self, "You stop building.\n");
\r
73 self.tfstate = (self.tfstate - (self.tfstate & 65536));
\r
74 TeamFortress_SetSpeed (self);
\r
75 te = find (world, netname, "build_timer");
\r
78 if ((te.owner == self))
\r
85 te = find (te, netname, "build_timer");
\r
88 self.is_building = 0;
\r
89 // self.current_weapon = self.weapon; // add function to make weapon disappear?
\r
90 W_SetCurrentAmmo ();
\r
95 float(entity obj, entity builder) CheckArea =
\r
100 pos = pointcontents(obj.origin);
\r
101 if (pos == -2 || pos == -6)
\r
103 return TF_FLARE_LIT;
\r
105 src_x = obj.origin_x + obj.maxs_x + 16;
\r
106 src_y = obj.origin_y + obj.maxs_y + 16;
\r
107 src_z = obj.origin_z + obj.maxs_z + 16;
\r
108 pos = pointcontents(src);
\r
109 if (pos == -2 || pos == -6)
\r
111 return TF_FLARE_LIT;
\r
113 end_x = obj.origin_x + obj.mins_x - 16;
\r
114 end_y = obj.origin_y + obj.mins_y - 16;
\r
115 end_z = obj.origin_z + obj.mins_z - 16;
\r
116 traceline(src, end, TF_FLARE_OFF, obj);
\r
117 if (trace_fraction != TF_FLARE_OFF)
\r
119 return TF_FLARE_LIT;
\r
121 pos = pointcontents(end);
\r
122 if (pos == -2 || pos == -6)
\r
124 return TF_FLARE_LIT;
\r
126 src_x = obj.origin_x + obj.mins_x - 16;
\r
127 src_y = obj.origin_y + obj.maxs_y + 16;
\r
128 src_z = obj.origin_z + obj.maxs_z + 16;
\r
129 pos = pointcontents(src);
\r
130 if (pos == -2 || pos == -6)
\r
132 return TF_FLARE_LIT;
\r
134 end_x = obj.origin_x + obj.maxs_x + 16;
\r
135 end_y = obj.origin_y + obj.mins_y - 16;
\r
136 end_z = obj.origin_z + obj.mins_z - 16;
\r
137 traceline(src, end, TF_FLARE_OFF, obj);
\r
138 if (trace_fraction != TF_FLARE_OFF)
\r
140 return TF_FLARE_LIT;
\r
142 pos = pointcontents(end);
\r
143 if (pos == -2 || pos == -6)
\r
145 return TF_FLARE_LIT;
\r
147 traceline(builder.origin, obj.origin, TF_FLARE_OFF, builder);
\r
148 if (trace_fraction != TF_FLARE_OFF)
\r
150 return TF_FLARE_LIT;
\r
152 return TF_FLARE_OFF;
\r
155 void(float objtobuild) TeamFortress_Build =
\r
162 makevectors(self.v_angle);
\r
163 v_forward_z = TF_FLARE_LIT;
\r
164 v_forward = normalize(v_forward) * 64;
\r
165 newmis.origin = self.origin + v_forward;
\r
166 if (objtobuild == TF_FLARE_OFF)
\r
168 if (self.has_dispenser)
\r
170 sprint(self, "You can only have one dispenser.\nTry dismantling your old one.\n");
\r
173 tmp1 = '-16 -16 0';
\r
175 newmis.mdl = "progs/dispencr.mdl";
\r
176 newmis.netname = "dispenser";
\r
181 if (objtobuild == 2)
\r
183 if (self.has_sentry)
\r
185 sprint(self, "You can only have one sentry gun.\nTry dismantling your old one.\n");
\r
188 tmp1 = '-16 -16 0';
\r
190 // newmis.mdl = "progs/turrbase.mdl";
\r
191 newmis.mdl = "models/sentry/turr1_base.md3";
\r
192 newmis.scale = .75;
\r
193 newmis.netname = "sentrygun";
\r
194 // btime = time + 5;
\r
197 if ((objtobuild == 3))
\r
199 if (self.has_tesla)
\r
201 sprint (self, "You can only have one tesla gun\n");
\r
204 tmp1 = '-16 -16 0';
\r
206 newmis.mdl = "progs/newtesla.mdl";
\r
208 newmis.netname = "tesla";
\r
209 btime = (time + 7);
\r
212 if (objtobuild == 5)
\r
214 if (self.has_teleporter >= 2)
\r
216 sprint(self, "You can only have 2 teleporters.\nTry dismantling an old one.\n");
\r
220 tmp1 = '-16 -16 0';
\r
222 newmis.mdl = "progs/telepad.mdl";
\r
223 newmis.netname = "teleporter";
\r
229 if (CheckArea(newmis, self) == TF_FLARE_LIT)
\r
231 sprint(self, "Not enough room to build here\n");
\r
235 self.is_building = TF_FLARE_OFF;
\r
236 self.immune_to_check = time + 10;
\r
237 // self.maxspeed = TF_FLARE_LIT; // make sure player cant move
\r
238 self.tfstate = self.tfstate | 65536;
\r
239 /* self.weapon = self.current_weapon; // get rid of player's weapon model
\r
240 self.current_weapon = TF_FLARE_LIT;
\r
241 self.weaponmodel = "";
\r
242 self.weaponframe = TF_FLARE_LIT;*/
\r
243 // TeamFortress_SetSpeed(self); // hmm? player cant move?
\r
244 newmis.owner = self;
\r
245 newmis.classname = "timer";
\r
246 newmis.netname = "build_timer";
\r
247 newmis.nextthink = btime;
\r
248 newmis.think = TeamFortress_FinishedBuilding;
\r
249 newmis.colormap = self.colormap;
\r
250 newmis.weapon = objtobuild;
\r
251 newmis.angles_y = anglemod(self.angles_y + 180);
\r
252 newmis.velocity = '0 0 8';
\r
253 newmis.movetype = 6;
\r
255 setmodel(newmis, newmis.mdl);
\r
256 setsize(newmis, tmp1, tmp2);
\r
257 setorigin(newmis, newmis.origin);
\r
258 newmis.flags = newmis.flags - (newmis.flags & 512);
\r
260 DoReload (5, (btime - time)); // Engineer build function shared with reload one
\r
261 // 5 is for building, btime minus time is for build time
\r
264 void(entity bld) CheckBelowBuilding =
\r
266 local vector below;
\r
267 below = bld.origin;
\r
268 if (bld.classname == "detpack")
\r
270 below_z = below_z - 8;
\r
274 below_z = below_z - 24;
\r
276 traceline(bld.origin, below, TF_FLARE_OFF, bld);
\r
277 if (trace_fraction == TF_FLARE_OFF)
\r
280 bld.flags = bld.flags - (bld.flags & 512);
\r
284 void() TeamFortress_FinishedBuilding =
\r
286 local entity oldself;
\r
287 local vector source;
\r
289 if (self.owner.is_building != TF_FLARE_OFF)
\r
295 oldself.owner = world;
\r
296 oldself.real_owner = self;
\r
297 self.is_building = TF_FLARE_LIT;
\r
298 self.tfstate = self.tfstate - (self.tfstate & 65536);
\r
299 self.current_weapon = self.weapon;
\r
300 self.StatusRefreshTime = time + 0.1;
\r
301 TeamFortress_SetSpeed(self);
\r
302 /* if (oldself.weapon == TF_FLARE_OFF)
\r
304 self.has_dispenser = TF_FLARE_OFF;
\r
305 sprint(self, "You finish building the dispenser.\n");
\r
306 teamsprint(self.team_no, self, self.netname);
\r
307 teamsprint(self.team_no, self, " has built a Dispenser.\n");
\r
308 self.ammo_cells = self.ammo_cells - 100;
\r
309 oldself.classname = "building_dispenser";
\r
310 oldself.netname = "dispenser";
\r
311 oldself.blocked = T_Dispenser;
\r
312 oldself.touch = T_Dispenser;
\r
313 oldself.max_health = 150;
\r
314 oldself.health = 150;
\r
315 oldself.think = DispenserThink;
\r
316 oldself.nextthink = time + 5;
\r
317 oldself.th_die = Dispenser_Die;
\r
318 oldself.mdl = "progs/dispencr.mdl";
\r
319 oldself.team_no = self.team_no;
\r
320 oldself.real_owner = self;
\r
321 oldself.colormap = self.colormap;
\r
322 oldself.takedamage = 2;
\r
323 oldself.owner = world;
\r
324 oldself.movetype = 6;
\r
325 oldself.velocity = '0 0 8';
\r
326 oldself.flags = oldself.flags - (oldself.flags & 512);
\r
327 oldself.ammo_shells = ceil(self.ammo_shells * 0.25);
\r
328 oldself.ammo_nails = ceil(self.ammo_nails * 0.25);
\r
329 oldself.ammo_rockets = ceil(self.ammo_rockets * 0.25);
\r
330 oldself.ammo_cells = ceil(self.ammo_cells * 0.25);
\r
331 oldself.armorvalue = ceil(self.armorvalue * 0.25);
\r
332 self.ammo_shells = ceil(self.ammo_shells * 0.75);
\r
333 self.ammo_nails = ceil(self.ammo_nails * 0.75);
\r
334 self.ammo_rockets = ceil(self.ammo_rockets * 0.75);
\r
335 self.ammo_cells = ceil(self.ammo_cells * 0.75);
\r
336 self.armorvalue = ceil(self.armorvalue * 0.75);
\r
338 setmodel(oldself, oldself.mdl);
\r
339 //setsize(oldself, '-8 -8 0', '8 8 24');gold. commented out.. plexi's idea :j
\r
340 setorigin(oldself, oldself.origin);
\r
344 if (oldself.weapon == 2)
\r
346 local entity barrel;
\r
348 // barrel.mdl = "models/sentry/turr1_base.md3";
\r
349 barrel.mdl = "models/sentry/turr1_barrel.md3";
\r
350 barrel.scale = .75;
\r
353 // barrel.angles_x = barrel.angles_x - 70;
\r
355 // barrel.angles_z = barrel.angles_z - 90;
\r
356 /* barrel.angles_x = TF_FLARE_LIT;
\r
357 barrel.angles_y = oldself.angles_y;
\r
358 barrel.angles_z = TF_FLARE_LIT;*/
\r
359 // barrel.movetype = 4;
\r
360 // barrel.movetype = MOVETYPE_FOLL`OW;
\r
361 barrel.yaw_speed = 10;
\r
362 // barrel.angles_z = barrel.angles_z - 45;
\r
363 setmodel(barrel, barrel.mdl);
\r
364 // setsize(barrel, '-16 -16 0', '16 16 48'); // temp //'d
\r
365 // setorigin(barrel, oldself.origin + '0 0 8');
\r
366 setorigin(barrel, '0 0 0');
\r
369 self.has_sentry = TF_FLARE_OFF;
\r
370 sprint(self, "You finish building the sentry gun.\n");
\r
371 teamsprint(self.team_no, self, self.netname);
\r
372 teamsprint(self.team_no, self, " has built a Sentry Gun.\n");
\r
373 oldself.classname = "building_sentrygun_base";
\r
374 oldself.netname = "sentry gun";
\r
375 oldself.takedamage = TF_FLARE_LIT;
\r
376 oldself.th_die = Sentry_Die;
\r
377 self.ammo_cells = self.ammo_cells - 130;
\r
378 setsize(oldself, '-16 -16 0', '16 16 4');
\r
380 newmis.classname = "building_sentrygun";
\r
381 newmis.health = 150;
\r
382 newmis.max_health = newmis.health;
\r
383 newmis.weapon = TF_FLARE_OFF;
\r
384 newmis.th_die = Sentry_Die;
\r
385 newmis.th_pain = Sentry_Pain;
\r
386 // newmis.mdl = "progs/turrgun.mdl";
\r
387 newmis.mdl = "models/sentry/turr1_body.md3";
\r
388 newmis.scale = .75;
\r
389 sound(oldself, 3, "weapons/tnkatck4.wav", TF_FLARE_OFF, TF_FLARE_OFF);
\r
391 setmodel(newmis, newmis.mdl);
\r
392 setsize(newmis, '-16 -16 0', '16 16 48');
\r
393 setorigin(newmis, oldself.origin + '0 0 8');
\r
394 newmis.real_owner = oldself.real_owner;
\r
395 newmis.trigger_field = oldself;
\r
396 oldself.oldenemy = newmis;
\r
397 newmis.movetype = 4;
\r
398 oldself.colormap = self.colormap;
\r
399 newmis.colormap = self.colormap;
\r
400 newmis.takedamage = 2;
\r
401 newmis.velocity = '0 0 -8';
\r
402 newmis.flags = newmis.flags - (newmis.flags & 512);
\r
403 oldself.flags = oldself.flags - (oldself.flags & 512);
\r
404 newmis.team_no = self.team_no;
\r
405 newmis.think = lvl1_sentry_stand;
\r
406 newmis.nextthink = time + 0.5;
\r
407 newmis.yaw_speed = 10;
\r
408 newmis.heat = TF_FLARE_LIT;
\r
409 newmis.angles_x = TF_FLARE_LIT;
\r
410 // newmis.angles_y = oldself.angles_y;
\r
411 newmis.angles_y = oldself.angles_y;
\r
412 newmis.angles_z = TF_FLARE_LIT;
\r
413 newmis.waitmin = anglemod(newmis.angles_y - 50);
\r
414 newmis.waitmax = anglemod(newmis.angles_y + 50);
\r
415 if (newmis.waitmin > newmis.waitmax)
\r
417 newmis.waitmin = newmis.waitmax;
\r
418 newmis.waitmax = anglemod(newmis.angles_y - 50);
\r
420 newmis.ammo_shells = 25;
\r
421 newmis.maxammo_shells = 100;
\r
422 newmis.maxammo_rockets = 20;
\r
424 newmis.barrel_ent = barrel;
\r
426 // setattachment(newmis, oldself, "tag_base_body");
\r
427 setattachment(barrel, newmis, "tag_body_barrel");
\r
434 if ((oldself.weapon == 3))
\r
436 self.has_tesla = TF_FLARE_OFF;
\r
437 sprint (self, "You finish building the tesla coil.\n");
\r
438 teamsprint (self.team_no, self, self.netname);
\r
439 teamsprint (self.team_no, self, " has built a tesla.\n");
\r
440 sound (oldself, 3, "weapons/guerilla_set.wav", TF_FLARE_OFF, TF_FLARE_OFF);
\r
441 oldself.classname = "building_tesla";
\r
442 oldself.netname = "tesla";
\r
443 oldself.takedamage = 2;
\r
445 oldself.th_die = Tesla_Die;
\r
446 oldself.th_pain = Tesla_Pain;
\r
447 self.ammo_cells = (self.ammo_cells - 150);
\r
448 oldself.health = 200;
\r
449 oldself.movetype = 6;
\r
450 oldself.colormap = self.colormap;
\r
451 oldself.velocity = '0 0 -8';
\r
452 oldself.avelocity = '0 0 0';
\r
453 oldself.flags = (oldself.flags - (oldself.flags & 512));
\r
454 oldself.team_no = self.team_no;
\r
455 oldself.think = Tesla_Idle;
\r
456 // oldself.think = tsla_on1;
\r
457 oldself.nextthink = (time + 2);
\r
458 // oldself.nextthink = time + 0.1;
\r
459 // oldself.has_holo = time + 2; // next Tesla_Idle run
\r
460 oldself.touch = Tesla_Touch;
\r
461 oldself.enemy = world;
\r
462 oldself.maxammo_shells = TF_FLARE_LIT;
\r
463 oldself.maxammo_nails = TF_FLARE_LIT;
\r
464 oldself.maxammo_rockets = TF_FLARE_LIT;
\r
465 oldself.max_health = 100;
\r
466 oldself.ammo_cells = 50;
\r
467 oldself.tf_items = TF_FLARE_LIT;
\r
468 if (!(self.weapons_carried & 8))
\r
470 oldself.ammo_shells = 2;
\r
471 oldself.ammo_nails = 2;
\r
472 oldself.ammo_rockets = TF_FLARE_OFF;
\r
473 oldself.currentammo = 5;
\r
474 oldself.max_health = 200;
\r
475 oldself.ammo_cells = 120;
\r
477 // oldself.colormap = self.colormap; // Custom TF ColorMap
\r
478 // oldself.job = 0; // Custom TF Animations timing
\r
479 oldself.health = oldself.max_health;
\r
480 oldself.waitmin = ((oldself.ammo_shells + 2) * (oldself.ammo_nails + 2));
\r
481 oldself.waitmax = TF_FLARE_LIT;
\r
483 if (infokey(world, "balancedtesla") == "1") {
\r
484 oldself.currentammo = 2; }
\r
487 if (oldself.weapon == 5)
\r
489 self.has_teleporter = (self.has_teleporter + 1);
\r
490 sprint (self, "You finish building the Teleporter Pad.\n");
\r
492 // teamprefixsprint(self.team_no,self); //- OfN
\r
494 teamsprint(self.team_no, self, self.netname);
\r
495 teamsprint(self.team_no, self, " has built a Teleporter Pad.\n");
\r
496 sound (oldself, 3, "weapons/guerset.wav", 1, 1);
\r
498 self.ammo_cells = self.ammo_cells - 90;
\r
500 // Create the teleporter
\r
501 oldself.classname = "building_teleporter";
\r
502 oldself.netname = "teleporter";
\r
503 // oldself.blocked = Teleporter_touch; // Actual touch function
\r
504 oldself.touch = Teleporter_touch;
\r
505 oldself.max_health = 300;
\r
506 oldself.health = 300;
\r
507 oldself.th_die = Teleporter_Die; // Death function
\r
508 oldself.mdl = "progs/telepad.mdl"; // Actual mdl
\r
509 oldself.team_no = self.team_no;
\r
510 oldself.maxammo_cells = 200; //CH Max of 20 teleports
\r
511 oldself.ammo_cells = 100; //CH start not at full
\r
513 oldself.real_owner = self; // The Engineer owns this item
\r
514 oldself.colormap = self.colormap; // Set the Color
\r
515 oldself.takedamage = 2;
\r
516 oldself.owner = world;
\r
517 oldself.movetype = 6;
\r
518 oldself.velocity = '0 0 8';
\r
519 oldself.flags = oldself.flags - (oldself.flags & 512);
\r
522 setmodel(oldself, oldself.mdl);
\r
523 setsize (oldself, '-16 -16 0', '16 16 4');
\r
524 setorigin(oldself, oldself.origin + '0 0 8'); //CH does jump
\r
526 oldself.heat = 4; //dont come on for 4 seconds
\r
527 oldself.think = Teleporter_heat_think;
\r
528 oldself.nextthink = time + 1;
\r
529 oldself.spawnflags = 4; //CH cause extensive checks for height
\r
531 oldself.is_malfunctioning = 0;
\r
532 oldself.all_active=0; // OfN - reset HACKER improvements
\r
537 W_SetCurrentAmmo();
\r
544 void () Drop_Magnetic_Mine =
\r
546 if (self.has_mine == 1)
\r
548 sprint (self, "Hey, one mine at a time!\n");
\r
555 item.team_no = self.team_no;
\r
557 item.classname = "drop1";
\r
558 item.origin = (self.origin - '0 0 -10');
\r
560 // item.angles_x = 360;
\r
562 item.angles_y = 45;
\r
565 item.solid = SOLID_TRIGGER;
\r
568 item.velocity = '0 0 1';
\r
569 setsize (item, '-1 -1 0', '1 1 6');
\r
571 item.nextthink = (time + 180);
\r
573 item.touch = MagnetMineTouch;
\r
574 setmodel (item, "models/magmine/magnetmine.md3");
\r
577 item.think = RemoveMagnetMine;
\r
579 item.pausetime = time + 2;
\r
581 sprint(self, "You set a Mag Mine!\n");
\r
584 void EngineerGrenade(float req)
\r
586 if(req == WR_GRENADE1)
\r
588 if(W_ThrowGrenade(W_ArmorGrenade))
\r
589 self.grenade_time = time + cvar("g_balance_grenade_armor_refire");
\r
591 else if(req == WR_GRENADE2)
\r
593 Drop_Magnetic_Mine();
\r
594 self.grenade_time = time + 2;
\r
598 void EngineerPreThink()
\r
602 void EngineerPostThink()
\r
606 void BecomeEngineer(float portion)
\r
608 self.max_health = cvar("g_balance_class_engineer_health") * portion;
\r
610 self.max_armor = cvar("g_balance_class_engineer_armor") * portion;
\r
612 self.mass = cvar("g_balance_class_engineer_mass");
\r
614 SetPlayerSpeed(self);
\r
616 self.items = IT_WEP1 | IT_WEP2 | IT_WEP3 | IT_WEP4;
\r
617 self.switchweapon = WEP2;
\r
618 self.ammo_shells = floor(20 * portion);
\r
619 self.ammo_nails = floor(20 * portion);
\r
620 self.ammo_rockets = floor(1 * portion);
\r
621 self.ammo_cells = floor(0 * portion);
\r
622 self.playerclass = 9; // TF P.C.
\r
623 SetMaxAmmoFor (32);
\r
627 void () RemoveMagnetMine =
\r
629 sprint (self.owner, "Your Mag Mine is gone...\n");
\r
630 self.owner.has_mine = 0;
\r
637 local entity theowner;
\r
640 theowner = self.owner;
\r
641 theowner.option5 = (theowner.option5 - .5);
\r
642 st = ftos (theowner.option5);
\r
643 // sound (theowner, 0, "ambient/100hzhum.wav", 1, 1); // find new wav! :o
\r
644 theowner.origin = self.origin;
\r
645 CenterPrint2 (theowner, "You are stuck on a mag mine!\n", st);
\r
646 if ((theowner.option5 < 2))
\r
648 theowner.option5 = 0;
\r
649 sprint (theowner.enemy, "Your Mag Mine died...\n");
\r
650 theowner.enemy.has_mine = 0;
\r
654 self.nextthink = (time + .5);
\r
657 void () MagMineActivate =
\r
659 if ((other.option == 0))
\r
661 self.owner.has_mine = 1;
\r
663 newmis.classname = "timer";
\r
664 newmis.netname = " FlashTimer";
\r
665 newmis.team_no = self.owner.team_no;
\r
666 newmis.owner = other;
\r
667 other.enemy = self.owner;
\r
668 newmis.think = MagTimer;
\r
669 newmis.nextthink = (time + 1);
\r
670 newmis.origin = other.origin;
\r
672 other.option5 = (floor ((other.armorvalue * .25)) + 3);
\r
673 if ((other.option5 > 15))
\r
675 other.option5 = 15;
\r
679 void () RemoveDudMine =
\r
684 void () MagnetMineTouch =
\r
686 local float isgood;
\r
687 local entity isnearplayer;
\r
689 isnearplayer = findradius (self.origin, 10);
\r
690 while (isnearplayer)
\r
692 if ((isnearplayer.classname == "player"))
\r
695 // bprint (isnearplayer.classname);
\r
699 isnearplayer = isnearplayer.chain;
\r
704 if ((self.pausetime > time))
\r
708 if ((other.classname != "player"))
\r
712 if ((other.health <= 0))
\r
716 // if ((other.is_undercover == 1)) //temp - add function!!
\r
720 if ((other.team_no == self.owner.team_no))
\r
724 if ((other.classname == "player"))
\r
726 MagMineActivate ();
\r
727 sprint (other, "You stepped on a Magnetic Mine! :(\n");
\r
728 sprint (self.owner, "Your Magnet Mine worked!\n");
\r
729 self.pausetime = (time + 5);
\r
731 self.touch = SUB_NULL;
\r
732 self.effects = EF_BRIGHTFIELD | EF_ADDITIVE;
\r
733 self.think = RemoveDudMine;
\r
734 self.nextthink = (time + 15);
\r