#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")
mmax = 240 / mintempo; // 60 = "0.25 means 1 sec", at 120 0.5 means 1 sec, at 240 1 means 1 sec
else
mmax = 240; // you won't try THAT hard... (tempo 1)
- //print(sprintf("initial tempo rules: %f %f\n", mmin, mmax));
+ //printf("initial tempo rules: %f %f\n", mmin, mmax);
for(i = 0; i < n; ++i)
{
// vi_x <= vi_y <= vj_x <= vj_y
// ti <= tj
- //print(sprintf("first note: %f to %f, should be %f\n", vi_x, vi_y, ti));
- //print(sprintf("second note: %f to %f, should be %f\n", vj_x, vj_y, tj));
- //print(sprintf("m1 = %f\n", (vi_x - vj_y) / (ti - tj)));
- //print(sprintf("m2 = %f\n", (vi_y - vj_x) / (ti - tj)));
+ //printf("first note: %f to %f, should be %f\n", vi_x, vi_y, ti);
+ //printf("second note: %f to %f, should be %f\n", vj_x, vj_y, tj);
+ //printf("m1 = %f\n", (vi_x - vj_y) / (ti - tj));
+ //printf("m2 = %f\n", (vi_y - vj_x) / (ti - tj));
mmin = max(mmin, (vi_x - vj_y) / (ti - tj)); // lower bound
mmax = min(mmax, (vi_y - vj_x) / (ti - tj)); // upper bound
}
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 == FL_TEAM_2 || pl.team == FL_TEAM_4)
+ 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
// *** ** ****
}
}
- if not(self.tuba_note)
+ if (!self.tuba_note)
{
self.tuba_note = spawn();
self.tuba_note.owner = self.tuba_note.realowner = self;
#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
- }
-/*<<<<<<< HEAD
-=======
- else if (req == WR_SUICIDEMESSAGE)
- {
- float instr;
- instr = 0;
- if(w_deathtype & HITTYPE_SECONDARY)
- instr |= 1;
- if(w_deathtype & HITTYPE_BOUNCE)
- instr |= 2;
- 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;
- }
- }
- else if (req == WR_KILLMESSAGE)
- {
- float instr;
- instr = 0;
- if(w_deathtype & HITTYPE_SECONDARY)
- instr |= 1;
- if(w_deathtype & HITTYPE_BOUNCE)
- instr |= 2;
- 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;
- }
- }
->>>>>>> origin/master*/
+ // nothing to do here; particles of tuba are handled differently
+
return TRUE;
}
#endif