X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fw_electro.qc;h=649e72374ecc3754ffb6f29b84075854212739e2;hb=7b47ada93e96abb9b49a97c0f528b18d5af8ac3f;hp=d9dbe43b5840d48c5836fa1330dfcd50d17cb8c5;hpb=1bcc2b0ab546b103392c9fd838f634a4f6c0e44e;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/w_electro.qc b/qcsrc/server/w_electro.qc index d9dbe43b5..649e72374 100644 --- a/qcsrc/server/w_electro.qc +++ b/qcsrc/server/w_electro.qc @@ -1,5 +1,15 @@ #ifdef REGISTER_WEAPON -REGISTER_WEAPON(ELECTRO, w_electro, IT_CELLS, 5, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "electro", "electro", _("Electro")); +REGISTER_WEAPON( +/* WEP_##id */ ELECTRO, +/* function */ w_electro, +/* ammotype */ IT_CELLS, +/* impulse */ 5, +/* flags */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, +/* rating */ BOT_PICKUP_RATING_MID, +/* model */ "electro", +/* shortname */ "electro", +/* fullname */ _("Electro") +); #else #ifdef SVQC .float electro_count; @@ -29,13 +39,13 @@ void W_Plasma_TriggerCombo(vector org, float rad, entity own) void W_Plasma_Explode (void) { if(other.takedamage == DAMAGE_AIM) - if(other.classname == "player") + if(IS_PLAYER(other)) if(IsDifferentTeam(self.realowner, other)) if(other.deadflag == DEAD_NO) if(IsFlying(other)) - AnnounceTo(self.realowner, "electrobitch"); + Send_Notification(NOTIF_ONE, self.realowner, MSG_ANNCE, ANNCE_ACHIEVEMENT_ELECTROBITCH); - self.event_damage = SUB_Null; + self.event_damage = func_null; self.takedamage = DAMAGE_NO; if (self.movetype == MOVETYPE_BOUNCE) { @@ -54,7 +64,7 @@ void W_Plasma_Explode_Combo (void) { W_Plasma_TriggerCombo(self.origin, autocvar_g_balance_electro_combo_comboradius, self.realowner); - self.event_damage = SUB_Null; + self.event_damage = func_null; RadiusDamage (self, self.realowner, autocvar_g_balance_electro_combo_damage, autocvar_g_balance_electro_combo_edgedamage, autocvar_g_balance_electro_combo_radius, world, autocvar_g_balance_electro_combo_force, WEP_ELECTRO | HITTYPE_BOUNCE, world); // use THIS type for a combo because primary can't bounce remove (self); } @@ -416,6 +426,7 @@ float w_electro(float req) { if(autocvar_g_balance_electro_reload_ammo) // forced reload { + ammo_amount = 0; if(autocvar_g_balance_electro_lightning) { if(self.clip_load > 0) @@ -436,13 +447,8 @@ float w_electro(float req) { if(autocvar_g_balance_electro_lightning) if(self.BUTTON_ATCK_prev) - { - // prolong the animtime while the gun is being fired - if(self.animstate_startframe == self.anim_shoot_x && self.animstate_numframes == self.anim_shoot_y) - weapon_thinkf(WFRAME_DONTCHANGE, autocvar_g_balance_electro_primary_animtime, w_ready); - else - weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_electro_primary_animtime, w_ready); - } + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_electro_primary_animtime, w_ready); + if (weapon_prepareattack(0, (autocvar_g_balance_electro_lightning ? 0 : autocvar_g_balance_electro_primary_refire))) { if(autocvar_g_balance_electro_lightning)