X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fweapons%2Fw_porto.qc;h=46963a1a7450df5c2fbe6479b465ec63f5abc0a0;hb=606ae011d789fe0ff6e1414160c7d79acf8aaf03;hp=53d28c0b807c6c3eeb6b65438795d32c658fc3c7;hpb=0ee74987765518ffed584a790f90607c3f3f8e71;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/weapons/w_porto.qc b/qcsrc/common/weapons/w_porto.qc index 53d28c0b8..46963a1a7 100644 --- a/qcsrc/common/weapons/w_porto.qc +++ b/qcsrc/common/weapons/w_porto.qc @@ -1,29 +1,32 @@ #ifdef REGISTER_WEAPON REGISTER_WEAPON( /* WEP_##id */ PORTO, -/* function */ w_porto, -/* ammotype */ 0, +/* function */ W_Porto, +/* ammotype */ ammo_none, /* impulse */ 0, /* flags */ WEP_TYPE_OTHER | WEP_FLAG_SUPERWEAPON, /* rating */ 0, +/* color */ '0.5 0.5 0.5', /* model */ "porto" , /* netname */ "porto", /* fullname */ _("Port-O-Launch") ); -#define PORTO_SETTINGS(weapon) \ - WEP_ADD_CVAR(weapon, MO_BOTH, animtime) \ - WEP_ADD_CVAR(weapon, MO_BOTH, lifetime) \ - WEP_ADD_CVAR(weapon, MO_BOTH, refire) \ - WEP_ADD_CVAR(weapon, MO_BOTH, speed) \ - WEP_ADD_CVAR(weapon, MO_NONE, secondary) \ - WEP_ADD_PROP(weapon, reloading_ammo, reload_ammo) \ - WEP_ADD_PROP(weapon, reloading_time, reload_time) \ - WEP_ADD_PROP(weapon, switchdelay_raise, switchdelay_raise) \ - WEP_ADD_PROP(weapon, switchdelay_drop, switchdelay_drop) +#define PORTO_SETTINGS(w_cvar,w_prop) PORTO_SETTINGS_LIST(w_cvar, w_prop, PORTO, porto) +#define PORTO_SETTINGS_LIST(w_cvar,w_prop,id,sn) \ + w_cvar(id, sn, BOTH, animtime) \ + w_cvar(id, sn, BOTH, lifetime) \ + w_cvar(id, sn, BOTH, refire) \ + w_cvar(id, sn, BOTH, speed) \ + w_cvar(id, sn, NONE, secondary) \ + w_prop(id, sn, float, switchdelay_raise, switchdelay_raise) \ + w_prop(id, sn, float, switchdelay_drop, switchdelay_drop) \ + w_prop(id, sn, string, weaponreplace, weaponreplace) \ + w_prop(id, sn, float, weaponstart, weaponstart) \ + w_prop(id, sn, float, weaponstartoverride, weaponstartoverride) #ifdef SVQC -PORTO_SETTINGS(porto) +PORTO_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP) .entity porto_current; .vector porto_v_angle; // holds "held" view angles .float porto_v_angle_held; @@ -254,9 +257,9 @@ void W_Porto_Attack (float type) gren.touch = W_Porto_Touch; if(self.items & IT_STRENGTH) - W_SetupProjectileVelocity(gren, WEP_CVAR_BOTH(porto, (type <= 0), speed) * autocvar_g_balance_powerup_strength_force, 0); + W_SetupVelocity_Explicit(gren, WEP_CVAR_BOTH(porto, (type <= 0), speed) * autocvar_g_balance_powerup_strength_force, 0); else - W_SetupProjectileVelocity(gren, WEP_CVAR_BOTH(porto, (type <= 0), speed), 0); + W_SetupVelocity_Explicit(gren, WEP_CVAR_BOTH(porto, (type <= 0), speed), 0); gren.angles = vectoangles (gren.velocity); gren.flags = FL_PROJECTILE; @@ -277,8 +280,8 @@ void W_Porto_Attack (float type) other = gren; MUTATOR_CALLHOOK(EditProjectile); } -float w_nexball_weapon(float req); -float w_porto(float req) +float w_nexball_weapon(float req); // WEAPONTODO +float W_Porto(float req) { //vector v_angle_save; @@ -298,7 +301,7 @@ float w_porto(float req) } case WR_CONFIG: { - WEP_CONFIG_SETTINGS(PORTO_SETTINGS(porto)) + PORTO_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS) return TRUE; } case WR_THINK: @@ -371,7 +374,7 @@ float w_porto(float req) precache_sound ("porto/explode.wav"); precache_sound ("porto/fire.wav"); precache_sound ("porto/unsupported.wav"); - WEP_SET_PROPS(PORTO_SETTINGS(porto), WEP_PORTO) + PORTO_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP) return TRUE; } case WR_SETUP: @@ -389,7 +392,7 @@ float w_porto(float req) } #endif #ifdef CSQC -float w_porto(float req) +float W_Porto(float req) { switch(req) {