#ifdef REGISTER_WEAPON
-REGISTER_WEAPON(TUBA, w_tuba, 0, 1, WEP_FLAG_HIDDEN | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "tuba", "tuba", _("@!#%'n Tuba"))
+REGISTER_WEAPON(
+/* WEP_##id */ TUBA,
+/* function */ w_tuba,
+/* ammotype */ 0,
+/* impulse */ 1,
+/* flags */ WEP_FLAG_HIDDEN | WEP_TYPE_SPLASH,
+/* rating */ BOT_PICKUP_RATING_MID,
+/* model */ "tuba",
+/* shortname */ "tuba",
+/* xgettext:no-c-format */
+/* fullname */ _("@!#%'n Tuba")
+);
#else
#ifdef SVQC
//#define TUBA_NOTE(n) strcat("weapons/tuba_note", ftos(n), ".wav")
note += 12;
if(hittype & HITTYPE_SECONDARY)
note += 7;
-
+
// we support two kinds of tubas, those tuned in Eb and those tuned in C
// kind of tuba currently is player slot number, or team number if in
// teamplay
// that way, holes in the range of notes are "plugged"
if(teamplay)
{
- if(pl.team == COLOR_TEAM2 || pl.team == COLOR_TEAM4)
+ if(pl.team == NUM_TEAM_2 || pl.team == NUM_TEAM_4)
note += 3;
}
else
if(pl.clientcolors & 1)
note += 3;
}
-
+
// total range of notes:
// 0
// *** ** ****
hittype |= HITTYPE_SECONDARY;
if(self.tuba_instrument & 2)
hittype |= HITTYPE_BOUNCE;
- if(self.tuba_instrument & 4)
- hittype |= HITTYPE_HEADSHOT;
if(self.tuba_note)
{
}
}
- if not(self.tuba_note)
+ if (!self.tuba_note)
{
self.tuba_note = spawn();
self.tuba_note.owner = self.tuba_note.realowner = self;
return TRUE; // TODO use fuel?
else if (req == WR_CHECKAMMO2)
return TRUE; // TODO use fuel?
- return TRUE;
-}
-#endif
-#ifdef CSQC
-float w_tuba(float req)
-{
- if(req == WR_IMPACTEFFECT)
- {
- // nothing to do here; particles of tuba are handled differently
- }
- else if(req == WR_PRECACHE)
- {
- // nothing to do
- }
else if (req == WR_SUICIDEMESSAGE)
{
- float instr;
- instr = 0;
- if(w_deathtype & HITTYPE_SECONDARY)
- instr |= 1;
if(w_deathtype & HITTYPE_BOUNCE)
- instr |= 2;
- if(w_deathtype & HITTYPE_HEADSHOT)
- instr |= 4;
- switch(instr)
- {
- default:
- case 0: // Tuba
- w_deathtypestring = _("%s hurt his own ears with the @!#%%'n Tuba");
- break;
- case 1: // Accordeon
- w_deathtypestring = _("%s hurt his own ears with the @!#%%'n Accordeon");
- break;
- case 2: // Klein Bottle
- w_deathtypestring = _("%s hurt his own ears with the @!#%%'n Klein Bottle");
- break;
- }
+ return WEAPON_KLEINBOTTLE_SUICIDE;
+ else if(w_deathtype & HITTYPE_SECONDARY)
+ return WEAPON_ACCORDEON_SUICIDE;
+ else
+ return WEAPON_TUBA_SUICIDE;
}
else if (req == WR_KILLMESSAGE)
{
- float instr;
- instr = 0;
- if(w_deathtype & HITTYPE_SECONDARY)
- instr |= 1;
if(w_deathtype & HITTYPE_BOUNCE)
- instr |= 2;
- if(w_deathtype & HITTYPE_HEADSHOT)
- instr |= 4;
- switch(instr)
- {
- default:
- case 0: // Tuba
- w_deathtypestring = _("%s died of %s's great playing on the @!#%%'n Tuba");
- break;
- case 1: // Accordeon
- w_deathtypestring = _("%s died of %s's great playing on the @!#%%'n Accordeon");
- break;
- case 2: // Klein Bottle
- w_deathtypestring = _("%s died of %s's great playing on the @!#%%'n Klein Bottle");
- break;
- }
+ return WEAPON_KLEINBOTTLE_MURDER;
+ else if(w_deathtype & HITTYPE_SECONDARY)
+ return WEAPON_ACCORDEON_MURDER;
+ else
+ return WEAPON_TUBA_MURDER;
}
return TRUE;
}
#endif
+#ifdef CSQC
+float w_tuba(float req)
+{
+ // nothing to do here; particles of tuba are handled differently
+
+ return TRUE;
+}
+#endif
#endif