1 void() crylink_ready_01;
2 void() crylink_fire1_01;
3 void() crylink_fire2_01;
4 void() crylink_fire3_01;
5 void() crylink_deselect_01;
6 void() crylink_select_01;
8 float() crylink_check =
10 if (self.ammo_cells > 0)
15 void(float req) w_crylink =
19 else if (req == WR_FIRE1)
20 weapon_prepareattack(crylink_check, crylink_check, crylink_fire1_01, 0.2);
21 else if (req == WR_FIRE2)
22 weapon_prepareattack(crylink_check, crylink_check, crylink_fire2_01, 0.2);
23 else if (req == WR_FIRE3)
24 weapon_prepareattack(crylink_check, crylink_check, crylink_fire3_01, 0.2);
25 else if (req == WR_RAISE)
27 else if (req == WR_UPDATECOUNTS)
28 self.currentammo = self.ammo_cells;
29 else if (req == WR_DROP)
30 crylink_deselect_01();
31 else if (req == WR_SETUP)
32 weapon_setup(WEP_CRYLINK, "w_crylink.zym", IT_CELLS);
33 else if (req == WR_CHECKAMMO)
34 weapon_hasammo = crylink_check();
38 void W_Crylink_Touch (void)
40 self.event_damage = SUB_Null;
41 te_smallflash(self.origin);
42 RadiusDamage (self, self.owner, 45, 0, 3, world, 55, IT_CRYLINK);
46 void W_Crylink_Attack (void) //(float postion)
50 sound (self, CHAN_WEAPON, "weapons/crylink2.wav", 1, ATTN_NORM);
54 proj.classname = "spike";
56 proj.movetype = MOVETYPE_FLY;
57 proj.solid = SOLID_BBOX;
59 setmodel (proj, "models/sprites/bubbles.spr");
60 setsize (proj, '0 0 0', '0 0 0');
61 setorigin (proj, self.origin + self.view_ofs + v_forward * 10 + v_right * 5 + v_up * -14);
63 proj.velocity = v_forward * 4000;
64 proj.velocity = proj.velocity + v_right * ( crandom() * 50 );
65 proj.velocity = proj.velocity + v_up * ( crandom() * 50 );
66 proj.touch = W_Crylink_Touch;
67 proj.think = SUB_Remove;
68 proj.nextthink = time + 9;
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, 0.3, w_ready); weapon_boblayer1(16, '0 0 0');};
87 void() crylink_deselect_01 = {weapon_thinkf(-1, 0.3, w_clear); weapon_boblayer1(16, '0 20 -40');};
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);