/* fullname */ _("Crylink")
);
-#define CRYLINK_SETTINGS(weapon) \
- WEP_ADD_CVAR(weapon, MO_BOTH, ammo) \
- WEP_ADD_CVAR(weapon, MO_BOTH, animtime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, damage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, edgedamage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, radius) \
- WEP_ADD_CVAR(weapon, MO_BOTH, force) \
- WEP_ADD_CVAR(weapon, MO_BOTH, spread) \
- WEP_ADD_CVAR(weapon, MO_BOTH, refire) \
- WEP_ADD_CVAR(weapon, MO_BOTH, speed) \
- WEP_ADD_CVAR(weapon, MO_BOTH, shots) \
- WEP_ADD_CVAR(weapon, MO_BOTH, bounces) \
- WEP_ADD_CVAR(weapon, MO_BOTH, bouncedamagefactor) \
- WEP_ADD_CVAR(weapon, MO_BOTH, middle_lifetime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, middle_fadetime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, other_lifetime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, other_fadetime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, linkexplode) \
- WEP_ADD_CVAR(weapon, MO_BOTH, joindelay) \
- WEP_ADD_CVAR(weapon, MO_BOTH, joinspread) \
- WEP_ADD_CVAR(weapon, MO_BOTH, joinexplode) \
- WEP_ADD_CVAR(weapon, MO_BOTH, joinexplode_damage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, joinexplode_edgedamage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, joinexplode_radius) \
- WEP_ADD_CVAR(weapon, MO_BOTH, joinexplode_force) \
- WEP_ADD_CVAR(weapon, MO_SEC, spreadtype) \
- 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 CRYLINK_SETTINGS(w_cvar,w_prop) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, ammo) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, animtime) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, damage) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, edgedamage) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, radius) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, force) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, spread) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, refire) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, speed) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, shots) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, bounces) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, bouncedamagefactor) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, middle_lifetime) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, middle_fadetime) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, other_lifetime) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, other_fadetime) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, linkexplode) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, joindelay) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, joinspread) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, joinexplode) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, joinexplode_damage) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, joinexplode_edgedamage) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, joinexplode_radius) \
+ w_cvar(WEP_CRYLINK, crylink, MO_BOTH, joinexplode_force) \
+ w_cvar(WEP_CRYLINK, crylink, MO_SEC, spreadtype) \
+ w_prop(WEP_CRYLINK, crylink, reloading_ammo, reload_ammo) \
+ w_prop(WEP_CRYLINK, crylink, reloading_time, reload_time) \
+ w_prop(WEP_CRYLINK, crylink, switchdelay_raise, switchdelay_raise) \
+ w_prop(WEP_CRYLINK, crylink, switchdelay_drop, switchdelay_drop)
#ifdef SVQC
-CRYLINK_SETTINGS(crylink)
+CRYLINK_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
.float gravity;
.float crylink_waitrelease;
.entity crylink_lastgroup;
precache_sound ("weapons/crylink_fire.wav");
precache_sound ("weapons/crylink_fire2.wav");
precache_sound ("weapons/crylink_linkjoin.wav");
- WEP_SET_PROPS(CRYLINK_SETTINGS(crylink), WEP_CRYLINK)
+ CRYLINK_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
return TRUE;
}
case WR_SETUP:
}
case WR_CONFIG:
{
- WEP_CONFIG_SETTINGS(CRYLINK_SETTINGS(crylink))
+ CRYLINK_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
return TRUE;
}
case WR_RELOAD:
/* fullname */ _("Devastator")
);
-#define DEVASTATOR_SETTINGS(weapon) \
- WEP_ADD_CVAR(weapon, MO_NONE, ammo) \
- WEP_ADD_CVAR(weapon, MO_NONE, animtime) \
- WEP_ADD_CVAR(weapon, MO_NONE, damage) \
- WEP_ADD_CVAR(weapon, MO_NONE, damageforcescale) \
- WEP_ADD_CVAR(weapon, MO_NONE, detonatedelay) \
- WEP_ADD_CVAR(weapon, MO_NONE, edgedamage) \
- WEP_ADD_CVAR(weapon, MO_NONE, force) \
- WEP_ADD_CVAR(weapon, MO_NONE, guidedelay) \
- WEP_ADD_CVAR(weapon, MO_NONE, guidegoal) \
- WEP_ADD_CVAR(weapon, MO_NONE, guiderate) \
- WEP_ADD_CVAR(weapon, MO_NONE, guideratedelay) \
- WEP_ADD_CVAR(weapon, MO_NONE, guidestop) \
- WEP_ADD_CVAR(weapon, MO_NONE, health) \
- WEP_ADD_CVAR(weapon, MO_NONE, lifetime) \
- WEP_ADD_CVAR(weapon, MO_NONE, radius) \
- WEP_ADD_CVAR(weapon, MO_NONE, refire) \
- WEP_ADD_CVAR(weapon, MO_NONE, remote_damage) \
- WEP_ADD_CVAR(weapon, MO_NONE, remote_edgedamage) \
- WEP_ADD_CVAR(weapon, MO_NONE, remote_force) \
- WEP_ADD_CVAR(weapon, MO_NONE, remote_radius) \
- WEP_ADD_CVAR(weapon, MO_NONE, speed) \
- WEP_ADD_CVAR(weapon, MO_NONE, speedaccel) \
- WEP_ADD_CVAR(weapon, MO_NONE, speedstart) \
- 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 DEVASTATOR_SETTINGS(w_cvar,w_prop) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, ammo) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, animtime) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, damage) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, damageforcescale) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, detonatedelay) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, edgedamage) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, force) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, guidedelay) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, guidegoal) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, guiderate) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, guideratedelay) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, guidestop) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, health) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, lifetime) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, radius) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, refire) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, remote_damage) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, remote_edgedamage) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, remote_force) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, remote_radius) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, speed) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, speedaccel) \
+ w_cvar(WEP_DEVASTATOR, devastator, MO_NONE, speedstart) \
+ w_prop(WEP_DEVASTATOR, devastator, reloading_ammo, reload_ammo) \
+ w_prop(WEP_DEVASTATOR, devastator, reloading_time, reload_time) \
+ w_prop(WEP_DEVASTATOR, devastator, switchdelay_raise, switchdelay_raise) \
+ w_prop(WEP_DEVASTATOR, devastator, switchdelay_drop, switchdelay_drop)
#ifdef SVQC
-DEVASTATOR_SETTINGS(devastator)
+DEVASTATOR_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
.float rl_release;
.float rl_detonate_later;
#endif
precache_sound("weapons/rocket_fire.wav");
precache_sound("weapons/rocket_mode.wav");
}
- WEP_SET_PROPS(DEVASTATOR_SETTINGS(devastator), WEP_DEVASTATOR)
+ DEVASTATOR_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
return TRUE;
}
case WR_SETUP:
}
case WR_CONFIG:
{
- WEP_CONFIG_SETTINGS(DEVASTATOR_SETTINGS(devastator))
+ DEVASTATOR_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
return TRUE;
}
case WR_RESETPLAYER:
/* netname */ "fireball",
/* fullname */ _("Fireball")
);
-#define FIREBALL_SETTINGS(weapon) \
- WEP_ADD_CVAR(weapon, MO_BOTH, animtime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, refire) \
- WEP_ADD_CVAR(weapon, MO_BOTH, damage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, damageforcescale) \
- WEP_ADD_CVAR(weapon, MO_BOTH, speed) \
- WEP_ADD_CVAR(weapon, MO_BOTH, lifetime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, laserburntime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, laserdamage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, laseredgedamage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, laserradius) \
- WEP_ADD_CVAR(weapon, MO_PRI, edgedamage) \
- WEP_ADD_CVAR(weapon, MO_PRI, force) \
- WEP_ADD_CVAR(weapon, MO_PRI, radius) \
- WEP_ADD_CVAR(weapon, MO_PRI, health) \
- WEP_ADD_CVAR(weapon, MO_PRI, refire2) \
- WEP_ADD_CVAR(weapon, MO_PRI, bfgdamage) \
- WEP_ADD_CVAR(weapon, MO_PRI, bfgforce) \
- WEP_ADD_CVAR(weapon, MO_PRI, bfgradius) \
- WEP_ADD_CVAR(weapon, MO_SEC, damagetime) \
- WEP_ADD_CVAR(weapon, MO_SEC, speed_up) \
- 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 FIREBALL_SETTINGS(w_cvar,w_prop) \
+ w_cvar(WEP_FIREBALL, fireball, MO_BOTH, animtime) \
+ w_cvar(WEP_FIREBALL, fireball, MO_BOTH, refire) \
+ w_cvar(WEP_FIREBALL, fireball, MO_BOTH, damage) \
+ w_cvar(WEP_FIREBALL, fireball, MO_BOTH, damageforcescale) \
+ w_cvar(WEP_FIREBALL, fireball, MO_BOTH, speed) \
+ w_cvar(WEP_FIREBALL, fireball, MO_BOTH, lifetime) \
+ w_cvar(WEP_FIREBALL, fireball, MO_BOTH, laserburntime) \
+ w_cvar(WEP_FIREBALL, fireball, MO_BOTH, laserdamage) \
+ w_cvar(WEP_FIREBALL, fireball, MO_BOTH, laseredgedamage) \
+ w_cvar(WEP_FIREBALL, fireball, MO_BOTH, laserradius) \
+ w_cvar(WEP_FIREBALL, fireball, MO_PRI, edgedamage) \
+ w_cvar(WEP_FIREBALL, fireball, MO_PRI, force) \
+ w_cvar(WEP_FIREBALL, fireball, MO_PRI, radius) \
+ w_cvar(WEP_FIREBALL, fireball, MO_PRI, health) \
+ w_cvar(WEP_FIREBALL, fireball, MO_PRI, refire2) \
+ w_cvar(WEP_FIREBALL, fireball, MO_PRI, bfgdamage) \
+ w_cvar(WEP_FIREBALL, fireball, MO_PRI, bfgforce) \
+ w_cvar(WEP_FIREBALL, fireball, MO_PRI, bfgradius) \
+ w_cvar(WEP_FIREBALL, fireball, MO_SEC, damagetime) \
+ w_cvar(WEP_FIREBALL, fireball, MO_SEC, speed_up) \
+ w_prop(WEP_FIREBALL, fireball, reloading_ammo, reload_ammo) \
+ w_prop(WEP_FIREBALL, fireball, reloading_time, reload_time) \
+ w_prop(WEP_FIREBALL, fireball, switchdelay_raise, switchdelay_raise) \
+ w_prop(WEP_FIREBALL, fireball, switchdelay_drop, switchdelay_drop)
#ifdef SVQC
-FIREBALL_SETTINGS(fireball)
+FIREBALL_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
.float bot_primary_fireballmooth; // whatever a mooth is
.vector fireball_impactvec;
.float fireball_primarytime;
precache_sound ("weapons/fireball_fire.wav");
precache_sound ("weapons/fireball_fire2.wav");
precache_sound ("weapons/fireball_prefire2.wav");
- WEP_SET_PROPS(FIREBALL_SETTINGS(fireball), WEP_FIREBALL)
+ FIREBALL_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
return TRUE;
}
case WR_SETUP:
}
case WR_CONFIG:
{
- WEP_CONFIG_SETTINGS(FIREBALL_SETTINGS(fireball))
+ FIREBALL_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
return TRUE;
}
case WR_RESETPLAYER:
/* fullname */ _("Hagar")
);
-#define HAGAR_SETTINGS(weapon) \
- WEP_ADD_CVAR(weapon, MO_BOTH, ammo) \
- WEP_ADD_CVAR(weapon, MO_BOTH, damage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, edgedamage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, force) \
- WEP_ADD_CVAR(weapon, MO_BOTH, radius) \
- WEP_ADD_CVAR(weapon, MO_BOTH, refire) \
- WEP_ADD_CVAR(weapon, MO_BOTH, speed) \
- WEP_ADD_CVAR(weapon, MO_BOTH, damageforcescale) \
- WEP_ADD_CVAR(weapon, MO_BOTH, health) \
- WEP_ADD_CVAR(weapon, MO_PRI, lifetime) \
- WEP_ADD_CVAR(weapon, MO_NONE, secondary) \
- WEP_ADD_CVAR(weapon, MO_SEC, spread) \
- WEP_ADD_CVAR(weapon, MO_SEC, load) \
- WEP_ADD_CVAR(weapon, MO_SEC, load_max) \
- WEP_ADD_CVAR(weapon, MO_SEC, load_abort) \
- WEP_ADD_CVAR(weapon, MO_SEC, load_animtime) \
- WEP_ADD_CVAR(weapon, MO_SEC, load_hold) \
- WEP_ADD_CVAR(weapon, MO_SEC, load_speed) \
- WEP_ADD_CVAR(weapon, MO_SEC, load_releasedeath) \
- WEP_ADD_CVAR(weapon, MO_SEC, load_spread) \
- WEP_ADD_CVAR(weapon, MO_SEC, load_spread_bias) \
- WEP_ADD_CVAR(weapon, MO_SEC, load_linkexplode) \
- WEP_ADD_CVAR(weapon, MO_SEC, lifetime_min) \
- WEP_ADD_CVAR(weapon, MO_SEC, lifetime_rand) \
- 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 HAGAR_SETTINGS(w_cvar,w_prop) \
+ w_cvar(WEP_HAGAR, hagar, MO_BOTH, ammo) \
+ w_cvar(WEP_HAGAR, hagar, MO_BOTH, damage) \
+ w_cvar(WEP_HAGAR, hagar, MO_BOTH, edgedamage) \
+ w_cvar(WEP_HAGAR, hagar, MO_BOTH, force) \
+ w_cvar(WEP_HAGAR, hagar, MO_BOTH, radius) \
+ w_cvar(WEP_HAGAR, hagar, MO_BOTH, refire) \
+ w_cvar(WEP_HAGAR, hagar, MO_BOTH, speed) \
+ w_cvar(WEP_HAGAR, hagar, MO_BOTH, damageforcescale) \
+ w_cvar(WEP_HAGAR, hagar, MO_BOTH, health) \
+ w_cvar(WEP_HAGAR, hagar, MO_PRI, lifetime) \
+ w_cvar(WEP_HAGAR, hagar, MO_NONE, secondary) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, spread) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, load) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, load_max) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, load_abort) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, load_animtime) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, load_hold) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, load_speed) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, load_releasedeath) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, load_spread) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, load_spread_bias) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, load_linkexplode) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, lifetime_min) \
+ w_cvar(WEP_HAGAR, hagar, MO_SEC, lifetime_rand) \
+ w_prop(WEP_HAGAR, hagar, reloading_ammo, reload_ammo) \
+ w_prop(WEP_HAGAR, hagar, reloading_time, reload_time) \
+ w_prop(WEP_HAGAR, hagar, switchdelay_raise, switchdelay_raise) \
+ w_prop(WEP_HAGAR, hagar, switchdelay_drop, switchdelay_drop)
#ifdef SVQC
-HAGAR_SETTINGS(hagar)
+HAGAR_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
#endif
#else
#ifdef SVQC
precache_sound ("weapons/hagar_fire.wav");
precache_sound ("weapons/hagar_load.wav");
precache_sound ("weapons/hagar_beep.wav");
- WEP_SET_PROPS(HAGAR_SETTINGS(hagar), WEP_HAGAR)
+ HAGAR_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
return TRUE;
}
case WR_SETUP:
}
case WR_CONFIG:
{
- WEP_CONFIG_SETTINGS(HAGAR_SETTINGS(hagar))
+ HAGAR_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
return TRUE;
}
case WR_RESETPLAYER:
/* fullname */ _("Heavy Laser Assault Cannon")
);
-#define HLAC_SETTINGS(weapon) \
- WEP_ADD_CVAR(weapon, MO_BOTH, ammo) \
- WEP_ADD_CVAR(weapon, MO_BOTH, animtime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, damage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, edgedamage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, force) \
- WEP_ADD_CVAR(weapon, MO_BOTH, lifetime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, radius) \
- WEP_ADD_CVAR(weapon, MO_BOTH, refire) \
- WEP_ADD_CVAR(weapon, MO_BOTH, speed) \
- WEP_ADD_CVAR(weapon, MO_BOTH, spread_crouchmod) \
- WEP_ADD_CVAR(weapon, MO_PRI, spread_add) \
- WEP_ADD_CVAR(weapon, MO_PRI, spread_max) \
- WEP_ADD_CVAR(weapon, MO_PRI, spread_min) \
- WEP_ADD_CVAR(weapon, MO_NONE, secondary) \
- WEP_ADD_CVAR(weapon, MO_SEC, shots) \
- WEP_ADD_CVAR(weapon, MO_SEC, spread) \
- 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 HLAC_SETTINGS(w_cvar,w_prop) \
+ w_cvar(WEP_HLAC, hlac, MO_BOTH, ammo) \
+ w_cvar(WEP_HLAC, hlac, MO_BOTH, animtime) \
+ w_cvar(WEP_HLAC, hlac, MO_BOTH, damage) \
+ w_cvar(WEP_HLAC, hlac, MO_BOTH, edgedamage) \
+ w_cvar(WEP_HLAC, hlac, MO_BOTH, force) \
+ w_cvar(WEP_HLAC, hlac, MO_BOTH, lifetime) \
+ w_cvar(WEP_HLAC, hlac, MO_BOTH, radius) \
+ w_cvar(WEP_HLAC, hlac, MO_BOTH, refire) \
+ w_cvar(WEP_HLAC, hlac, MO_BOTH, speed) \
+ w_cvar(WEP_HLAC, hlac, MO_BOTH, spread_crouchmod) \
+ w_cvar(WEP_HLAC, hlac, MO_PRI, spread_add) \
+ w_cvar(WEP_HLAC, hlac, MO_PRI, spread_max) \
+ w_cvar(WEP_HLAC, hlac, MO_PRI, spread_min) \
+ w_cvar(WEP_HLAC, hlac, MO_NONE, secondary) \
+ w_cvar(WEP_HLAC, hlac, MO_SEC, shots) \
+ w_cvar(WEP_HLAC, hlac, MO_SEC, spread) \
+ w_prop(WEP_HLAC, hlac, reloading_ammo, reload_ammo) \
+ w_prop(WEP_HLAC, hlac, reloading_time, reload_time) \
+ w_prop(WEP_HLAC, hlac, switchdelay_raise, switchdelay_raise) \
+ w_prop(WEP_HLAC, hlac, switchdelay_drop, switchdelay_drop)
#ifdef SVQC
-HLAC_SETTINGS(hlac)
+HLAC_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
#endif
#else
#ifdef SVQC
precache_model ("models/weapons/v_hlac.md3");
precache_model ("models/weapons/h_hlac.iqm");
precache_sound ("weapons/lasergun_fire.wav");
- WEP_SET_PROPS(HLAC_SETTINGS(hlac), WEP_HLAC)
+ HLAC_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
return TRUE;
}
case WR_SETUP:
}
case WR_CONFIG:
{
- WEP_CONFIG_SETTINGS(HLAC_SETTINGS(hlac))
+ HLAC_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
return TRUE;
}
case WR_RELOAD:
/* fullname */ _("Grappling Hook")
);
-#define HOOK_SETTINGS(weapon) \
- WEP_ADD_CVAR(weapon, MO_BOTH, animtime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, ammo) \
- WEP_ADD_CVAR(weapon, MO_BOTH, refire) \
- WEP_ADD_CVAR(weapon, MO_PRI, hooked_ammo) \
- WEP_ADD_CVAR(weapon, MO_PRI, hooked_time_free) \
- WEP_ADD_CVAR(weapon, MO_PRI, hooked_time_max) \
- WEP_ADD_CVAR(weapon, MO_SEC, damage) \
- WEP_ADD_CVAR(weapon, MO_SEC, duration) \
- WEP_ADD_CVAR(weapon, MO_SEC, edgedamage) \
- WEP_ADD_CVAR(weapon, MO_SEC, force) \
- WEP_ADD_CVAR(weapon, MO_SEC, gravity) \
- WEP_ADD_CVAR(weapon, MO_SEC, lifetime) \
- WEP_ADD_CVAR(weapon, MO_SEC, power) \
- WEP_ADD_CVAR(weapon, MO_SEC, radius) \
- WEP_ADD_CVAR(weapon, MO_SEC, speed) \
- WEP_ADD_CVAR(weapon, MO_SEC, health) \
- WEP_ADD_CVAR(weapon, MO_SEC, damageforcescale) \
- 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 HOOK_SETTINGS(w_cvar,w_prop) \
+ w_cvar(WEP_HOOK, hook, MO_BOTH, animtime) \
+ w_cvar(WEP_HOOK, hook, MO_BOTH, ammo) \
+ w_cvar(WEP_HOOK, hook, MO_BOTH, refire) \
+ w_cvar(WEP_HOOK, hook, MO_PRI, hooked_ammo) \
+ w_cvar(WEP_HOOK, hook, MO_PRI, hooked_time_free) \
+ w_cvar(WEP_HOOK, hook, MO_PRI, hooked_time_max) \
+ w_cvar(WEP_HOOK, hook, MO_SEC, damage) \
+ w_cvar(WEP_HOOK, hook, MO_SEC, duration) \
+ w_cvar(WEP_HOOK, hook, MO_SEC, edgedamage) \
+ w_cvar(WEP_HOOK, hook, MO_SEC, force) \
+ w_cvar(WEP_HOOK, hook, MO_SEC, gravity) \
+ w_cvar(WEP_HOOK, hook, MO_SEC, lifetime) \
+ w_cvar(WEP_HOOK, hook, MO_SEC, power) \
+ w_cvar(WEP_HOOK, hook, MO_SEC, radius) \
+ w_cvar(WEP_HOOK, hook, MO_SEC, speed) \
+ w_cvar(WEP_HOOK, hook, MO_SEC, health) \
+ w_cvar(WEP_HOOK, hook, MO_SEC, damageforcescale) \
+ w_prop(WEP_HOOK, hook, reloading_ammo, reload_ammo) \
+ w_prop(WEP_HOOK, hook, reloading_time, reload_time) \
+ w_prop(WEP_HOOK, hook, switchdelay_raise, switchdelay_raise) \
+ w_prop(WEP_HOOK, hook, switchdelay_drop, switchdelay_drop)
#ifdef SVQC
-HOOK_SETTINGS(hook)
+HOOK_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
.float dmg;
.float dmg_edge;
precache_sound ("weapons/hook_impact.wav"); // done by g_hook.qc
precache_sound ("weapons/hook_fire.wav");
precache_sound ("weapons/hookbomb_fire.wav");
- WEP_SET_PROPS(HOOK_SETTINGS(hook), WEP_HOOK)
+ HOOK_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
return TRUE;
}
case WR_SETUP:
}
case WR_CONFIG:
{
- WEP_CONFIG_SETTINGS(HOOK_SETTINGS(hook))
+ HOOK_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
return TRUE;
}
case WR_RESETPLAYER:
/* fullname */ _("Nex")
);
-#define NEX_SETTINGS(weapon) \
- WEP_ADD_CVAR(weapon, MO_BOTH, ammo) \
- WEP_ADD_CVAR(weapon, MO_BOTH, animtime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, damage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, force) \
- WEP_ADD_CVAR(weapon, MO_BOTH, damagefalloff_mindist) \
- WEP_ADD_CVAR(weapon, MO_BOTH, damagefalloff_maxdist) \
- WEP_ADD_CVAR(weapon, MO_BOTH, damagefalloff_halflife) \
- WEP_ADD_CVAR(weapon, MO_BOTH, damagefalloff_forcehalflife) \
- WEP_ADD_CVAR(weapon, MO_BOTH, refire) \
- WEP_ADD_CVAR(weapon, MO_NONE, charge) \
- WEP_ADD_CVAR(weapon, MO_NONE, charge_mindmg) \
- WEP_ADD_CVAR(weapon, MO_NONE, charge_shot_multiplier) \
- WEP_ADD_CVAR(weapon, MO_NONE, charge_animlimit) \
- WEP_ADD_CVAR(weapon, MO_NONE, charge_limit) \
- WEP_ADD_CVAR(weapon, MO_NONE, charge_rate) \
- WEP_ADD_CVAR(weapon, MO_NONE, charge_rot_rate) \
- WEP_ADD_CVAR(weapon, MO_NONE, charge_rot_pause) \
- WEP_ADD_CVAR(weapon, MO_NONE, charge_start) \
- WEP_ADD_CVAR(weapon, MO_NONE, charge_minspeed) \
- WEP_ADD_CVAR(weapon, MO_NONE, charge_maxspeed) \
- WEP_ADD_CVAR(weapon, MO_NONE, charge_velocity_rate) \
- WEP_ADD_CVAR(weapon, MO_NONE, secondary) \
- WEP_ADD_CVAR(weapon, MO_SEC, chargepool) \
- WEP_ADD_CVAR(weapon, MO_SEC, chargepool_regen) \
- WEP_ADD_CVAR(weapon, MO_SEC, chargepool_pause_regen) \
- 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 NEX_SETTINGS(w_cvar,w_prop) \
+ w_cvar(WEP_NEX, nex, MO_BOTH, ammo) \
+ w_cvar(WEP_NEX, nex, MO_BOTH, animtime) \
+ w_cvar(WEP_NEX, nex, MO_BOTH, damage) \
+ w_cvar(WEP_NEX, nex, MO_BOTH, force) \
+ w_cvar(WEP_NEX, nex, MO_BOTH, damagefalloff_mindist) \
+ w_cvar(WEP_NEX, nex, MO_BOTH, damagefalloff_maxdist) \
+ w_cvar(WEP_NEX, nex, MO_BOTH, damagefalloff_halflife) \
+ w_cvar(WEP_NEX, nex, MO_BOTH, damagefalloff_forcehalflife) \
+ w_cvar(WEP_NEX, nex, MO_BOTH, refire) \
+ w_cvar(WEP_NEX, nex, MO_NONE, charge) \
+ w_cvar(WEP_NEX, nex, MO_NONE, charge_mindmg) \
+ w_cvar(WEP_NEX, nex, MO_NONE, charge_shot_multiplier) \
+ w_cvar(WEP_NEX, nex, MO_NONE, charge_animlimit) \
+ w_cvar(WEP_NEX, nex, MO_NONE, charge_limit) \
+ w_cvar(WEP_NEX, nex, MO_NONE, charge_rate) \
+ w_cvar(WEP_NEX, nex, MO_NONE, charge_rot_rate) \
+ w_cvar(WEP_NEX, nex, MO_NONE, charge_rot_pause) \
+ w_cvar(WEP_NEX, nex, MO_NONE, charge_start) \
+ w_cvar(WEP_NEX, nex, MO_NONE, charge_minspeed) \
+ w_cvar(WEP_NEX, nex, MO_NONE, charge_maxspeed) \
+ w_cvar(WEP_NEX, nex, MO_NONE, charge_velocity_rate) \
+ w_cvar(WEP_NEX, nex, MO_NONE, secondary) \
+ w_cvar(WEP_NEX, nex, MO_SEC, chargepool) \
+ w_cvar(WEP_NEX, nex, MO_SEC, chargepool_regen) \
+ w_cvar(WEP_NEX, nex, MO_SEC, chargepool_pause_regen) \
+ w_prop(WEP_NEX, nex, reloading_ammo, reload_ammo) \
+ w_prop(WEP_NEX, nex, reloading_time, reload_time) \
+ w_prop(WEP_NEX, nex, switchdelay_raise, switchdelay_raise) \
+ w_prop(WEP_NEX, nex, switchdelay_drop, switchdelay_drop)
#ifdef SVQC
-NEX_SETTINGS(nex)
+NEX_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
#endif
#else
#ifdef SVQC
precache_sound ("weapons/nexwhoosh1.wav");
precache_sound ("weapons/nexwhoosh2.wav");
precache_sound ("weapons/nexwhoosh3.wav");
- WEP_SET_PROPS(NEX_SETTINGS(nex), WEP_NEX)
+ NEX_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
return TRUE;
}
case WR_SETUP:
}
case WR_CONFIG:
{
- WEP_CONFIG_SETTINGS(NEX_SETTINGS(nex))
+ NEX_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
return TRUE;
}
case WR_RELOAD:
/* 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) \
+ w_cvar(WEP_PORTO, porto, MO_BOTH, animtime) \
+ w_cvar(WEP_PORTO, porto, MO_BOTH, lifetime) \
+ w_cvar(WEP_PORTO, porto, MO_BOTH, refire) \
+ w_cvar(WEP_PORTO, porto, MO_BOTH, speed) \
+ w_cvar(WEP_PORTO, porto, MO_NONE, secondary) \
+ w_prop(WEP_PORTO, porto, reloading_ammo, reload_ammo) \
+ w_prop(WEP_PORTO, porto, reloading_time, reload_time) \
+ w_prop(WEP_PORTO, porto, switchdelay_raise, switchdelay_raise) \
+ w_prop(WEP_PORTO, porto, switchdelay_drop, switchdelay_drop)
#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;
}
case WR_CONFIG:
{
- WEP_CONFIG_SETTINGS(PORTO_SETTINGS(porto))
+ PORTO_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
return TRUE;
}
case WR_THINK:
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:
/* fullname */ _("Rifle")
);
-#define RIFLE_SETTINGS(weapon) \
- WEP_ADD_CVAR(weapon, MO_BOTH, ammo) \
- WEP_ADD_CVAR(weapon, MO_BOTH, animtime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, bulletconstant) \
- WEP_ADD_CVAR(weapon, MO_BOTH, bullethail) \
- WEP_ADD_CVAR(weapon, MO_BOTH, burstcost) \
- WEP_ADD_CVAR(weapon, MO_BOTH, damage) \
- WEP_ADD_CVAR(weapon, MO_BOTH, force) \
- WEP_ADD_CVAR(weapon, MO_BOTH, lifetime) \
- WEP_ADD_CVAR(weapon, MO_BOTH, refire) \
- WEP_ADD_CVAR(weapon, MO_BOTH, shots) \
- WEP_ADD_CVAR(weapon, MO_BOTH, speed) \
- WEP_ADD_CVAR(weapon, MO_BOTH, spread) \
- WEP_ADD_CVAR(weapon, MO_BOTH, tracer) \
- WEP_ADD_CVAR(weapon, MO_NONE, bursttime) \
- WEP_ADD_CVAR(weapon, MO_NONE, secondary) \
- WEP_ADD_CVAR(weapon, MO_SEC, reload) \
- 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 RIFLE_SETTINGS(w_cvar,w_prop) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, ammo) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, animtime) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, bulletconstant) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, bullethail) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, burstcost) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, damage) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, force) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, lifetime) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, refire) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, shots) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, speed) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, spread) \
+ w_cvar(WEP_RIFLE, rifle, MO_BOTH, tracer) \
+ w_cvar(WEP_RIFLE, rifle, MO_NONE, bursttime) \
+ w_cvar(WEP_RIFLE, rifle, MO_NONE, secondary) \
+ w_cvar(WEP_RIFLE, rifle, MO_SEC, reload) \
+ w_prop(WEP_RIFLE, rifle, reloading_ammo, reload_ammo) \
+ w_prop(WEP_RIFLE, rifle, reloading_time, reload_time) \
+ w_prop(WEP_RIFLE, rifle, switchdelay_raise, switchdelay_raise) \
+ w_prop(WEP_RIFLE, rifle, switchdelay_drop, switchdelay_drop)
#ifdef SVQC
-RIFLE_SETTINGS(rifle)
+RIFLE_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
.float rifle_accumulator;
#endif
#else
precache_model ("models/weapons/h_campingrifle.iqm");
precache_sound ("weapons/campingrifle_fire.wav");
precache_sound ("weapons/campingrifle_fire2.wav");
- WEP_SET_PROPS(RIFLE_SETTINGS(rifle), WEP_RIFLE)
+ RIFLE_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
return TRUE;
}
case WR_SETUP:
}
case WR_CONFIG:
{
- WEP_CONFIG_SETTINGS(RIFLE_SETTINGS(rifle))
+ RIFLE_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
return TRUE;
}
case WR_RESETPLAYER:
/* fullname */ _("T.A.G. Seeker")
);
-#define SEEKER_SETTINGS(weapon) \
- WEP_ADD_CVAR(weapon, MO_NONE, type) \
- WEP_ADD_CVAR(weapon, MO_NONE, flac_ammo) \
- WEP_ADD_CVAR(weapon, MO_NONE, flac_animtime) \
- WEP_ADD_CVAR(weapon, MO_NONE, flac_damage) \
- WEP_ADD_CVAR(weapon, MO_NONE, flac_edgedamage) \
- WEP_ADD_CVAR(weapon, MO_NONE, flac_force) \
- WEP_ADD_CVAR(weapon, MO_NONE, flac_lifetime) \
- WEP_ADD_CVAR(weapon, MO_NONE, flac_lifetime_rand) \
- WEP_ADD_CVAR(weapon, MO_NONE, flac_radius) \
- WEP_ADD_CVAR(weapon, MO_NONE, flac_refire) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_accel) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_ammo) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_animtime) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_count) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_damage) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_damageforcescale) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_decel) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_delay) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_edgedamage) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_force) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_health) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_lifetime) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_proxy) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_proxy_delay) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_proxy_maxrange) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_radius) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_refire) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_smart) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_smart_mindist) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_smart_trace_max) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_smart_trace_min) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_speed_max) \
- WEP_ADD_CVAR(weapon, MO_NONE, missile_turnrate) \
- WEP_ADD_CVAR(weapon, MO_NONE, tag_ammo) \
- WEP_ADD_CVAR(weapon, MO_NONE, tag_animtime) \
- WEP_ADD_CVAR(weapon, MO_NONE, tag_damageforcescale) \
- WEP_ADD_CVAR(weapon, MO_NONE, tag_health) \
- WEP_ADD_CVAR(weapon, MO_NONE, tag_lifetime) \
- WEP_ADD_CVAR(weapon, MO_NONE, tag_refire) \
- WEP_ADD_CVAR(weapon, MO_NONE, tag_speed) \
- WEP_ADD_CVAR(weapon, MO_NONE, tag_tracker_lifetime) \
- 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 SEEKER_SETTINGS(w_cvar,w_prop) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, type) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, flac_ammo) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, flac_animtime) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, flac_damage) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, flac_edgedamage) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, flac_force) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, flac_lifetime) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, flac_lifetime_rand) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, flac_radius) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, flac_refire) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_accel) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_ammo) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_animtime) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_count) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_damage) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_damageforcescale) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_decel) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_delay) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_edgedamage) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_force) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_health) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_lifetime) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_proxy) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_proxy_delay) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_proxy_maxrange) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_radius) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_refire) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_smart) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_smart_mindist) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_smart_trace_max) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_smart_trace_min) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_speed_max) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, missile_turnrate) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, tag_ammo) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, tag_animtime) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, tag_damageforcescale) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, tag_health) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, tag_lifetime) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, tag_refire) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, tag_speed) \
+ w_cvar(WEP_SEEKER, seeker, MO_NONE, tag_tracker_lifetime) \
+ w_prop(WEP_SEEKER, seeker, reloading_ammo, reload_ammo) \
+ w_prop(WEP_SEEKER, seeker, reloading_time, reload_time) \
+ w_prop(WEP_SEEKER, seeker, switchdelay_raise, switchdelay_raise) \
+ w_prop(WEP_SEEKER, seeker, switchdelay_drop, switchdelay_drop)
#ifdef SVQC
-SEEKER_SETTINGS(seeker)
+SEEKER_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
.entity tag_target, wps_tag_tracker;
.float tag_time;
#endif
precache_sound ("weapons/tag_fire.wav");
precache_sound ("weapons/flac_fire.wav");
precache_sound ("weapons/seeker_fire.wav");
- WEP_SET_PROPS(SEEKER_SETTINGS(seeker), WEP_SEEKER)
+ SEEKER_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
return TRUE;
}
case WR_SETUP:
}
case WR_CONFIG:
{
- WEP_CONFIG_SETTINGS(SEEKER_SETTINGS(seeker))
+ SEEKER_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
return TRUE;
}
case WR_RELOAD:
/* fullname */ _("@!#%'n Tuba")
);
-#define TUBA_SETTINGS(weapon) \
- WEP_ADD_CVAR(weapon, MO_NONE, animtime) \
- WEP_ADD_CVAR(weapon, MO_NONE, attenuation) \
- WEP_ADD_CVAR(weapon, MO_NONE, damage) \
- WEP_ADD_CVAR(weapon, MO_NONE, edgedamage) \
- WEP_ADD_CVAR(weapon, MO_NONE, force) \
- WEP_ADD_CVAR(weapon, MO_NONE, radius) \
- WEP_ADD_CVAR(weapon, MO_NONE, refire) \
- 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 TUBA_SETTINGS(w_cvar,w_prop) \
+ w_cvar(WEP_TUBA, tuba, MO_NONE, animtime) \
+ w_cvar(WEP_TUBA, tuba, MO_NONE, attenuation) \
+ w_cvar(WEP_TUBA, tuba, MO_NONE, damage) \
+ w_cvar(WEP_TUBA, tuba, MO_NONE, edgedamage) \
+ w_cvar(WEP_TUBA, tuba, MO_NONE, force) \
+ w_cvar(WEP_TUBA, tuba, MO_NONE, radius) \
+ w_cvar(WEP_TUBA, tuba, MO_NONE, refire) \
+ w_prop(WEP_TUBA, tuba, reloading_ammo, reload_ammo) \
+ w_prop(WEP_TUBA, tuba, reloading_time, reload_time) \
+ w_prop(WEP_TUBA, tuba, switchdelay_raise, switchdelay_raise) \
+ w_prop(WEP_TUBA, tuba, switchdelay_drop, switchdelay_drop)
#ifdef SVQC
-TUBA_SETTINGS(tuba)
+TUBA_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
.entity tuba_note;
.float tuba_smoketime;
.float tuba_instrument;
precache_model ("models/weapons/h_akordeon.iqm");
precache_model ("models/weapons/v_kleinbottle.md3");
precache_model ("models/weapons/h_kleinbottle.iqm");
- WEP_SET_PROPS(TUBA_SETTINGS(tuba), WEP_TUBA)
+ TUBA_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
return TRUE;
}
case WR_SETUP:
}
case WR_CONFIG:
{
- WEP_CONFIG_SETTINGS(TUBA_SETTINGS(tuba))
+ TUBA_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
return TRUE;
}
case WR_SUICIDEMESSAGE: