3 CLASS(PortoLaunch, Weapon)
4 /* ammotype */ ATTRIB(PortoLaunch, ammo_type, int, RESOURCE_NONE);
5 /* impulse */ ATTRIB(PortoLaunch, impulse, int, 0);
6 /* flags */ ATTRIB(PortoLaunch, spawnflags, int, WEP_TYPE_OTHER | WEP_FLAG_SUPERWEAPON | WEP_FLAG_NODUAL);
7 /* rating */ ATTRIB(PortoLaunch, bot_pickupbasevalue, float, 0);
8 /* color */ ATTRIB(PortoLaunch, wpcolor, vector, '0.5 0.5 0.5');
9 /* modelname */ ATTRIB(PortoLaunch, mdl, string, "porto");
11 /* model */ ATTRIB(PortoLaunch, m_model, Model, MDL_PORTO_ITEM);
13 /* crosshair */ ATTRIB(PortoLaunch, w_crosshair, string, "gfx/crosshairporto");
14 /* crosshair */ ATTRIB(PortoLaunch, w_crosshair_size, float, 0.6);
15 /* wepimg */ ATTRIB(PortoLaunch, model2, string, "weaponporto");
16 /* refname */ ATTRIB(PortoLaunch, netname, string, "porto");
17 /* wepname */ ATTRIB(PortoLaunch, m_name, string, _("Port-O-Launch"));
19 #define X(BEGIN, P, END, class, prefix) \
21 P(class, prefix, animtime, float, BOTH) \
22 P(class, prefix, lifetime, float, BOTH) \
23 P(class, prefix, refire, float, BOTH) \
24 P(class, prefix, secondary, float, NONE) \
25 P(class, prefix, speed, float, BOTH) \
26 P(class, prefix, switchdelay_drop, float, NONE) \
27 P(class, prefix, switchdelay_raise, float, NONE) \
28 P(class, prefix, weaponreplace, string,NONE) \
29 P(class, prefix, weaponstartoverride, float, NONE) \
30 P(class, prefix, weaponstart, float, NONE) \
31 P(class, prefix, weaponthrowable, float, NONE) \
33 W_PROPS(X, PortoLaunch, porto)
36 REGISTER_WEAPON(PORTO, porto, NEW(PortoLaunch));
39 .entity porto_current;
40 .vector porto_v_angle; // holds "held" view angles
41 .float porto_v_angle_held;
43 .float porto_forbidden;