1 void() crylink_ready_01;
2 void() crylink_fire1_01;
3 void() crylink_fire2_01;
4 void() crylink_deselect_01;
5 void() crylink_select_01;
7 float() crylink_check =
9 if (self.ammo_cells > 0)
14 void(float req) w_crylink =
18 else if (req == WR_FIRE1)
19 weapon_prepareattack(crylink_check, crylink_check, crylink_fire1_01, 0.2);
20 else if (req == WR_FIRE2)
21 weapon_prepareattack(crylink_check, crylink_check, crylink_fire2_01, 0.2);
22 else if (req == WR_RAISE)
24 else if (req == WR_UPDATECOUNTS)
25 self.currentammo = self.ammo_cells;
26 else if (req == WR_DROP)
27 crylink_deselect_01();
28 else if (req == WR_SETUP)
29 weapon_setup(WEP_CRYLINK, "w_crylink.zym", IT_CELLS);
30 else if (req == WR_CHECKAMMO)
31 weapon_hasammo = crylink_check();
35 void W_Crylink_Touch (void)
37 self.event_damage = SUB_Null;
38 te_smallflash(self.origin);
39 RadiusDamage (self, self.owner, 45, 0, 3, world, 55, IT_CRYLINK);
43 void W_Crylink_Attack (void) //(float postion)
47 sound (self, CHAN_WEAPON, "weapons/crylink2.wav", 1, ATTN_NORM);
49 makevectors(self.v_angle);
52 proj.classname = "spike";
54 proj.movetype = MOVETYPE_FLY;
55 proj.solid = SOLID_BBOX;
57 setmodel (proj, "models/plasma.mdl");
58 setsize (proj, '0 0 0', '0 0 0');
59 setorigin (proj, self.origin + self.view_ofs + v_forward * 10 + v_right * 5 + v_up * -14);
61 proj.velocity = v_forward * 4000;
62 proj.velocity = proj.velocity + v_right * ( crandom() * 50 );
63 proj.velocity = proj.velocity + v_up * ( crandom() * 50 );
64 proj.touch = W_Crylink_Touch;
65 proj.think = SUB_Remove;
66 proj.nextthink = time + 9;
71 proj.effects = proj.effects | EF_ADDITIVE;
73 self.attack_finished = time + 0.20;
74 self.ammo_cells = self.ammo_cells - 0.2;
77 void W_Crylink_Attack2 (void)
85 void() crylink_ready_01 = {weapon_thinkf(WFRAME_IDLE, 0.1, crylink_ready_01); self.weaponentity.state = WS_READY;};
86 void() crylink_select_01 = {weapon_thinkf(-1, PLAYER_WEAPONSELECTION_DELAY, w_ready); weapon_boblayer1(PLAYER_WEAPONSELECTION_SPEED, '0 0 0');};
87 void() crylink_deselect_01 = {weapon_thinkf(-1, PLAYER_WEAPONSELECTION_DELAY, w_clear); weapon_boblayer1(PLAYER_WEAPONSELECTION_SPEED, PLAYER_WEAPONSELECTION_RANGE);};
88 void() crylink_fire1_01 =
90 weapon_doattack(crylink_check, crylink_check, W_Crylink_Attack);
91 weapon_thinkf(WFRAME_FIRE1, 0.15, crylink_ready_01);
93 void() crylink_fire2_01 =
95 weapon_doattack(crylink_check, crylink_check, W_Crylink_Attack);
96 weapon_thinkf(WFRAME_FIRE1, 0.15, crylink_ready_01);
98 void() crylink_fire3_01 =
100 weapon_doattack(crylink_check, crylink_check, W_Crylink_Attack);
101 weapon_thinkf(WFRAME_FIRE1, 0.15, crylink_ready_01);