]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/server/tturrets/units/unit_machinegun.qc
fix a typo in walker code
[divverent/nexuiz.git] / data / qcsrc / server / tturrets / units / unit_machinegun.qc
1 void spawnfunc_turret_machinegun();\r
2 void turret_machinegun_std_init();\r
3 void turret_machinegun_attack();\r
4 \r
5 //.float bulletcounter;\r
6 void turret_machinegun_attack()\r
7 {\r
8 \r
9     entity flash;\r
10 \r
11     sound (self, CHAN_WEAPON, "weapons/uzi_fire.wav", VOL_BASE, ATTN_NORM);\r
12     fireBallisticBullet (self.tur_shotorg, self.tur_shotdir_updated,self.shot_spread, self.shot_speed, 5, self.shot_dmg, 0, self.shot_force, DEATH_TURRET, 0, 1, cvar("g_balance_uzi_bulletconstant"));\r
13 \r
14     //w_deathtypestring = "had an alergic reaction due to 10 kilos of led";\r
15     te_smallflash(self.tur_shotorg);\r
16     //  trailparticles(self,particleeffectnum("EF_MGTURRETTRAIL"),self.tur_shotorg_updated,trace_endpos);\r
17 \r
18     // muzzle flash for 3rd person view\r
19     flash = spawn();\r
20     //setorigin(flash, '43 1 8');\r
21     setmodel(flash, "models/uziflash.md3"); // precision set below\r
22     setattachment(flash, self.tur_head, "tag_fire");\r
23     flash.think = W_Uzi_Flash_Go;\r
24     flash.nextthink = time + 0.02;\r
25     flash.frame = 2;\r
26     flash.angles_z = flash.v_angle_z + random() * 180;\r
27     flash.alpha = 1;\r
28     flash.effects = EF_ADDITIVE | EF_FULLBRIGHT | EF_LOWPRECISION;\r
29 }\r
30 \r
31 \r
32 void turret_machinegun_std_init()\r
33 {\r
34     if (self.netname == "")      self.netname     = "Machinegun Turret";\r
35 \r
36     self.ammo_flags = TFL_AMMO_BULLETS | TFL_AMMO_RECHARGE | TFL_AMMO_RECIVE;\r
37     self.turrcaps_flags = TFL_TURRCAPS_PLAYERKILL;// | TFL_TURRCAPS_MISSILEKILL;\r
38     self.aim_flags = TFL_AIM_LEAD;\r
39 \r
40     if(cvar("g_antilag_bullets"))\r
41         self.turrcaps_flags |= TFL_TURRCAPS_HITSCAN;\r
42     else\r
43         self.aim_flags      |= TFL_AIM_SHOTTIMECOMPENSATE;\r
44 \r
45     if (turret_stdproc_init("machinegun_std") == 0)\r
46     {\r
47         remove(self);\r
48         return;\r
49     }\r
50 \r
51     self.damage_flags |= TFL_DMG_HEADSHAKE;\r
52 \r
53     setmodel(self,"models/turrets/base.md3");\r
54     setmodel(self.tur_head,"models/turrets/machinegun.md3");\r
55 \r
56     if (!turret_tag_setup())\r
57         dprint("Warning: Turret ",self.classname, " faild to initialize md3 tags\n");\r
58 \r
59     // Our fire routine\r
60     self.turret_firefunc  = turret_machinegun_attack;\r
61 \r
62 }\r
63 \r
64 \r
65 \r
66 /*\r
67 * machinegun turret. does what you'd expect\r
68 */\r
69 \r
70 /*QUAKED turret_machinegun (0 .5 .8) ?\r
71 */\r
72 void spawnfunc_turret_machinegun()\r
73 {\r
74     precache_model ("models/turrets/machinegun.md3");\r
75     precache_model ("models/turrets/base.md3");\r
76     precache_sound ("weapons/uzi_fire.wav");\r
77 \r
78     self.think = turret_machinegun_std_init;\r
79     self.nextthink = time + 0.5;\r
80 }\r
81 \r