X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fserver%2Fw_rocketlauncher.qc;h=6cd8929f6f70bcf276de5cb39864b4c657d6a843;hb=d91906e1bb6225cd68269812a6d2b4314e23fcdb;hp=202dd68bdfaac166918253cf0863c88b3287c338;hpb=cfc97de2f89e06a0dd538202d4073c4aed16173e;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/w_rocketlauncher.qc b/qcsrc/server/w_rocketlauncher.qc index 202dd68bd..6cd8929f6 100644 --- a/qcsrc/server/w_rocketlauncher.qc +++ b/qcsrc/server/w_rocketlauncher.qc @@ -1,5 +1,15 @@ #ifdef REGISTER_WEAPON -REGISTER_WEAPON(ROCKET_LAUNCHER, w_rlauncher, IT_ROCKETS, 9, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_HIGH, "rl", "rocketlauncher", _("Rocket Launcher")) +REGISTER_WEAPON( +/* WEP_##id */ ROCKET_LAUNCHER, +/* function */ w_rlauncher, +/* ammotype */ IT_ROCKETS, +/* impulse */ 9, +/* flags */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH, +/* rating */ BOT_PICKUP_RATING_HIGH, +/* model */ "rl", +/* shortname */ "rocketlauncher", +/* fullname */ _("Rocket Launcher") +); #else #ifdef SVQC .float rl_release; @@ -19,11 +29,11 @@ void W_Rocket_Explode () W_Rocket_Unregister(); if(other.takedamage == DAMAGE_AIM) - if(other.classname == "player") - if(IsDifferentTeam(self.realowner, other)) + if(IS_PLAYER(other)) + if(DIFF_TEAM(self.realowner, other)) if(other.deadflag == DEAD_NO) if(IsFlying(other)) - AnnounceTo(self.realowner, "airshot"); + Send_Notification(NOTIF_ONE, self.realowner, MSG_ANNCE, ANNCE_ACHIEVEMENT_AIRSHOT); self.event_damage = func_null; self.takedamage = DAMAGE_NO; @@ -137,8 +147,8 @@ void W_Rocket_Think (void) if (self.realowner.weapon == WEP_ROCKET_LAUNCHER) { if(self == self.realowner.lastrocket) - if not(self.realowner.rl_release) - if not(self.BUTTON_ATCK2) + if (!self.realowner.rl_release) + if (!self.BUTTON_ATCK2) if(autocvar_g_balance_rocketlauncher_guiderate) if(time > self.pushltime) if(self.realowner.deadflag == DEAD_NO) @@ -168,7 +178,7 @@ void W_Rocket_Think (void) { pointparticles(particleeffectnum("rocket_guide"), self.origin, self.velocity, 1); // TODO add a better sound here - sound (self.realowner, CH_WEAPON_B, "weapons/rocket_mode.wav", VOL_BASE, ATTN_NORM); + sound (self.realowner, CH_WEAPON_B, "weapons/rocket_mode.wav", VOL_BASE, ATTEN_NORM); self.count = 1; } } @@ -197,13 +207,13 @@ void W_Rocket_Damage (entity inflictor, entity attacker, float damage, float dea { if (self.health <= 0) return; - + if (!W_CheckProjectileDamage(inflictor.realowner, self.realowner, deathtype, -1)) // no exceptions return; // g_projectiles_damage says to halt - + self.health = self.health - damage; self.angles = vectoangles(self.velocity); - + if (self.health <= 0) W_PrepareExplosionByDamage(attacker, W_Rocket_Explode); } @@ -250,7 +260,7 @@ void W_Rocket_Attack (void) missile.nextthink = time; missile.cnt = time + autocvar_g_balance_rocketlauncher_lifetime; missile.flags = FL_PROJECTILE; - missile.missile_flags = MIF_SPLASH; + missile.missile_flags = MIF_SPLASH; CSQCProjectile(missile, autocvar_g_balance_rocketlauncher_guiderate == 0 && autocvar_g_balance_rocketlauncher_speedaccel == 0, PROJECTILE_ROCKET, FALSE); // because of fly sound @@ -348,7 +358,7 @@ float w_rlauncher(float req) //As the distance gets larger, a correct detonation gets near imposible //Bots are assumed to use the rocket spawnfunc_light to see if the rocket gets near a player if(v_forward * normalize(missile.origin - self.enemy.origin)< 0.1) - if(self.enemy.classname == "player") + if(IS_PLAYER(self.enemy)) if(desirabledamage >= 0.1*coredamage) if(random()/distance*300 > frametime*bound(0,(10-skill)*0.2,1)) self.BUTTON_ATCK2 = TRUE; @@ -399,7 +409,7 @@ float w_rlauncher(float req) } } if(rockfound) - sound (self, CH_WEAPON_B, "weapons/rocket_det.wav", VOL_BASE, ATTN_NORM); + sound (self, CH_WEAPON_B, "weapons/rocket_det.wav", VOL_BASE, ATTEN_NORM); } } } @@ -469,7 +479,7 @@ float w_rlauncher(float req) org2 = w_org + w_backoff * 12; pointparticles(particleeffectnum("rocket_explode"), org2, '0 0 0', 1); if(!w_issilent) - sound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); + sound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_NORM); } else if(req == WR_PRECACHE) {