REGISTER_WEAPON(
/* WEP_##id */ MINE_LAYER,
/* function */ w_minelayer,
-/* ammotype */ IT_ROCKETS,
+/* ammotype */ ammo_rockets,
/* impulse */ 4,
/* flags */ WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH,
/* rating */ BOT_PICKUP_RATING_HIGH,
/* fullname */ _("Mine Layer")
);
-#define MINELAYER_SETTINGS(w_cvar,w_prop) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, ammo) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, animtime) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, damage) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, damageforcescale) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, detonatedelay) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, edgedamage) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, force) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, health) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, lifetime) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, lifetime_countdown) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, limit) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, protection) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, proximityradius) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, radius) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, refire) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, remote_damage) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, remote_edgedamage) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, remote_force) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, remote_radius) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, speed) \
- w_cvar(WEP_MINE_LAYER, minelayer, MO_NONE, time) \
- w_prop(WEP_MINE_LAYER, minelayer, reloading_ammo, reload_ammo) \
- w_prop(WEP_MINE_LAYER, minelayer, reloading_time, reload_time) \
- w_prop(WEP_MINE_LAYER, minelayer, switchdelay_raise, switchdelay_raise) \
- w_prop(WEP_MINE_LAYER, minelayer, switchdelay_drop, switchdelay_drop)
+#define MINELAYER_SETTINGS(w_cvar,w_prop) MINELAYER_SETTINGS_LIST(w_cvar, w_prop, MINE_LAYER, minelayer)
+#define MINELAYER_SETTINGS_LIST(w_cvar,w_prop,id,sn) \
+ w_cvar(id, sn, NONE, ammo) \
+ w_cvar(id, sn, NONE, animtime) \
+ w_cvar(id, sn, NONE, damage) \
+ w_cvar(id, sn, NONE, damageforcescale) \
+ w_cvar(id, sn, NONE, detonatedelay) \
+ w_cvar(id, sn, NONE, edgedamage) \
+ w_cvar(id, sn, NONE, force) \
+ w_cvar(id, sn, NONE, health) \
+ w_cvar(id, sn, NONE, lifetime) \
+ w_cvar(id, sn, NONE, lifetime_countdown) \
+ w_cvar(id, sn, NONE, limit) \
+ w_cvar(id, sn, NONE, protection) \
+ w_cvar(id, sn, NONE, proximityradius) \
+ w_cvar(id, sn, NONE, radius) \
+ w_cvar(id, sn, NONE, refire) \
+ w_cvar(id, sn, NONE, remote_damage) \
+ w_cvar(id, sn, NONE, remote_edgedamage) \
+ w_cvar(id, sn, NONE, remote_force) \
+ w_cvar(id, sn, NONE, remote_radius) \
+ w_cvar(id, sn, NONE, speed) \
+ w_cvar(id, sn, NONE, time) \
+ w_prop(id, sn, float, reloading_ammo, reload_ammo) \
+ w_prop(id, sn, float, reloading_time, reload_time) \
+ 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
MINELAYER_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
}
}
- W_DecreaseAmmo(ammo_rockets, WEP_CVAR(minelayer, ammo), autocvar_g_balance_minelayer_reload_ammo);
+ W_DecreaseAmmo(WEP_CVAR(minelayer, ammo));
W_SetupShot_ProjectileSize (self, '-4 -4 -4', '4 4 4', FALSE, 5, "weapons/mine_fire.wav", CH_WEAPON_A, WEP_CVAR(minelayer, damage));
pointparticles(particleeffectnum("rocketlauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);