1 void spawnfunc_turret_fusionreactor();
\r
2 void turret_fusionreactor_dinit();
\r
3 void turret_fusionreactor_fire();
\r
5 float turret_fusionreactor_firecheck()
\r
7 if (self.enemy == world) return 0;
\r
9 if (!self.enemy.ammo_flags & TFL_AMMO_RECIVE) return 0;
\r
10 if (!self.enemy.ammo_flags & TFL_AMMO_ENERGY) return 0;
\r
12 if (self.ammo < self.shot_dmg) return 0;
\r
13 if (self.enemy.ammo >= self.enemy.ammo_max) return 0;
\r
14 if (self.tur_dist_enemy > self.target_range_fire) return 0;
\r
15 if (self.tur_dist_enemy < self.target_range_min) return 0;
\r
21 void turret_fusionreactor_fire()
\r
23 self.enemy.ammo = min(self.enemy.ammo + self.shot_dmg,self.enemy.ammo_max);
\r
24 //te_lightning1(world,self.origin,self.enemy.origin);
\r
27 void turret_fusionreactor_postthink()
\r
32 void turret_fusionreactor_dinit()
\r
34 if (self.netname == "") self.netname = "Fusionreactor";
\r
36 self.turrcaps_flags =TFL_TURRCAPS_SUPPORT | TFL_TURRCAPS_AMMOSOURCE;
\r
38 self.ammo_flags = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE;
\r
40 self.target_select_flags = TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_OWNTEAM | TFL_TARGETSELECT_RANGELIMTS;
\r
42 self.firecheck_flags = TFL_FIRECHECK_OWM_AMMO | TFL_FIRECHECK_OTHER_AMMO | TFL_FIRECHECK_DISTANCES | TFL_FIRECHECK_DEAD | TFL_FIRECHECK_WORLD;
\r
44 self.shoot_flags = TFL_SHOOT_HITALLVALID;
\r
46 self.aim_flags = TFL_AIM_NO;
\r
48 self.track_flags = TFL_TRACK_NO;
\r
50 if (turret_stdproc_init("fusreac_std") == 0)
\r
56 setmodel(self,"models/turrets/base.md3");
\r
57 setmodel(self.tur_head,"models/turrets/reactor.md3");
\r
59 //if(!turret_tag_setup(0))
\r
60 // dprint("Warning: Turret ",self.classname, " faild to initialize md3 tags\n");
\r
62 self.tur_head.scale = 0.75;
\r
63 setorigin(self.tur_head,self.origin + '0 0 25');
\r
64 self.tur_head.avelocity = '0 50 0';
\r
66 self.turret_firecheckfunc = turret_fusionreactor_firecheck;
\r
67 self.turret_firefunc = turret_fusionreactor_fire;
\r
69 self.turret_postthink = turret_fusionreactor_postthink;
\r
72 /*QUAKED turret_fusionreactor (0 .5 .8) ?
\r
74 void spawnfunc_turret_fusionreactor()
\r
76 //precache_model ("models/turrets/reactor.md3");
\r
77 //precache_model ("models/turrets/base.md3");
\r
79 self.think = turret_fusionreactor_dinit;
\r
80 self.nextthink = time + 0.5;
\r