X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fweapons%2Fw_minelayer.qc;h=9f773d01bf3cb3addc007bc4633a0789fc1b5881;hb=38d3c1a08c18abc768e5c37256552b5f30bdfa53;hp=8ac784f0b7b1a7321f7b64225099f392fbd4c41e;hpb=7107d0729f68145f8d73a8d1f85ff9430d9f8829;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/weapons/w_minelayer.qc b/qcsrc/common/weapons/w_minelayer.qc index 8ac784f0b..9f773d01b 100644 --- a/qcsrc/common/weapons/w_minelayer.qc +++ b/qcsrc/common/weapons/w_minelayer.qc @@ -11,35 +11,37 @@ REGISTER_WEAPON( /* fullname */ _("Mine Layer") ); -#define MINELAYER_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, health) \ - WEP_ADD_CVAR(weapon, MO_NONE, lifetime) \ - WEP_ADD_CVAR(weapon, MO_NONE, lifetime_countdown) \ - WEP_ADD_CVAR(weapon, MO_NONE, limit) \ - WEP_ADD_CVAR(weapon, MO_NONE, protection) \ - WEP_ADD_CVAR(weapon, MO_NONE, proximityradius) \ - 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, time) \ - 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 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, float, reloading_ammo, reload_ammo) \ + w_prop(WEP_MINE_LAYER, minelayer, float, reloading_time, reload_time) \ + w_prop(WEP_MINE_LAYER, minelayer, float, switchdelay_raise, switchdelay_raise) \ + w_prop(WEP_MINE_LAYER, minelayer, float, switchdelay_drop, switchdelay_drop) \ + w_prop(WEP_MINE_LAYER, minelayer, string, weaponreplace, weaponreplace) \ + w_prop(WEP_MINE_LAYER, minelayer, float, weaponstart, weaponstart) #ifdef SVQC -MINELAYER_SETTINGS(minelayer) +MINELAYER_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP) void W_Mine_Think (void); .float minelayer_detonate, mine_explodeanyway; .float mine_time; @@ -100,7 +102,7 @@ void W_Mine_Explode () { if(other.takedamage == DAMAGE_AIM) if(IS_PLAYER(other)) - if(IsDifferentTeam(self.realowner, other)) + if(DIFF_TEAM(self.realowner, other)) if(other.deadflag == DEAD_NO) if(IsFlying(other)) Send_Notification(NOTIF_ONE, self.realowner, MSG_ANNCE, ANNCE_ACHIEVEMENT_AIRSHOT); @@ -175,7 +177,7 @@ void W_Mine_ProximityExplode () head = findradius(self.origin, WEP_CVAR(minelayer, radius)); while(head) { - if(head == self.realowner || !IsDifferentTeam(head, self.realowner)) + if(head == self.realowner || SAME_TEAM(head, self.realowner)) return; head = head.chain; } @@ -235,7 +237,7 @@ void W_Mine_Think (void) while(head) { if(IS_PLAYER(head) && head.deadflag == DEAD_NO) - if(head != self.realowner && IsDifferentTeam(head, self.realowner)) // don't trigger for team mates + if(head != self.realowner && DIFF_TEAM(head, self.realowner)) // don't trigger for team mates if(!self.mine_time) { spamsound (self, CH_SHOTS, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM); @@ -500,7 +502,7 @@ float w_minelayer(float req) if(autocvar_g_balance_minelayer_reload_ammo && self.clip_load < WEP_CVAR(minelayer, ammo)) // forced reload { // not if we're holding the minelayer without enough ammo, but can detonate existing mines - if not (W_PlacedMines(FALSE) && self.ammo_rockets < WEP_CVAR(minelayer, ammo)) + if(!(W_PlacedMines(FALSE) && self.ammo_rockets < WEP_CVAR(minelayer, ammo))) WEP_ACTION(self.weapon, WR_RELOAD); } else if (self.BUTTON_ATCK) @@ -531,7 +533,7 @@ float w_minelayer(float req) precache_sound ("weapons/mine_fire.wav"); precache_sound ("weapons/mine_stick.wav"); precache_sound ("weapons/mine_trigger.wav"); - WEP_SET_PROPS(MINELAYER_SETTINGS(minelayer), WEP_MINE_LAYER) + MINELAYER_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP) return TRUE; } case WR_SETUP: @@ -559,7 +561,7 @@ float w_minelayer(float req) } case WR_CONFIG: { - WEP_CONFIG_SETTINGS(MINELAYER_SETTINGS(minelayer)) + MINELAYER_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS) return TRUE; } case WR_RESETPLAYER: @@ -569,7 +571,7 @@ float w_minelayer(float req) } case WR_RELOAD: { - W_Reload(WEP_CVAR(minelayer, ammo), autocvar_g_balance_minelayer_reload_ammo, autocvar_g_balance_minelayer_reload_time, "weapons/reload.wav"); + W_Reload(WEP_CVAR(minelayer, ammo), "weapons/reload.wav"); return TRUE; } case WR_SUICIDEMESSAGE: