X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fw_tuba.qc;h=15d4ef9d7deb44e9d6690fff01c77cbde572735d;hb=f4803dbafcdd9f29092535640728e3de19a987da;hp=a02061e8b80f741a27e419a786940dc157f9b1c3;hpb=8f4d064a1d62a040e788fc0634baf93e888ba2f6;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/w_tuba.qc b/qcsrc/server/w_tuba.qc index a02061e8b..15d4ef9d7 100644 --- a/qcsrc/server/w_tuba.qc +++ b/qcsrc/server/w_tuba.qc @@ -130,6 +130,9 @@ void W_Tuba_NoteOff() case 1: bprint(strcat("\{1}\{13}* ^3", self.owner.netname, "^3 played on the @!#%'n Accordeon: ^7", s, "\n")); break; + case 2: + bprint(strcat("\{1}\{13}* ^3", self.owner.netname, "^3 played on the @!#%'n Klein Bottle: ^7", s, "\n")); + break; } } } @@ -145,6 +148,9 @@ float Tuba_GetNote(entity pl, float hittype) if(pl.movement_x > 0) movestate += 3; if(pl.movement_y < 0) movestate -= 1; if(pl.movement_y > 0) movestate += 1; +#ifdef GMQCC + note = 0; +#endif switch(movestate) { // layout: originally I wanted @@ -160,6 +166,7 @@ float Tuba_GetNote(entity pl, float hittype) case 2: note = -5; break; // G case 3: note = -4; break; // G# case 4: note = +5; break; // e# + default: case 5: note = 0; break; // c case 6: note = +2; break; // d case 7: note = +3; break; // eb @@ -179,7 +186,7 @@ float Tuba_GetNote(entity pl, float hittype) // that way, holes in the range of notes are "plugged" if(teamplay) { - if(pl.team == COLOR_TEAM2 || pl.team == COLOR_TEAM4) + if(pl.team == FL_TEAM_2 || pl.team == FL_TEAM_4) note += 3; } else @@ -373,9 +380,10 @@ float w_tuba(float req) precache_model ("models/weapons/g_tuba.md3"); precache_model ("models/weapons/v_tuba.md3"); precache_model ("models/weapons/h_tuba.iqm"); - precache_model ("models/weapons/g_akordeon.md3"); precache_model ("models/weapons/v_akordeon.md3"); precache_model ("models/weapons/h_akordeon.iqm"); + precache_model ("models/weapons/v_kleinbottle.md3"); + precache_model ("models/weapons/h_kleinbottle.iqm"); //float i; //for(i = -18; i <= +27; ++i) @@ -399,6 +407,10 @@ float w_tuba(float req) self.weaponname = "akordeon"; break; case 1: + self.tuba_instrument = 2; + self.weaponname = "kleinbottle"; + break; + case 2: self.tuba_instrument = 0; self.weaponname = "tuba"; break; @@ -413,6 +425,24 @@ float w_tuba(float req) return TRUE; // TODO use fuel? else if (req == WR_CHECKAMMO2) return TRUE; // TODO use fuel? + else if (req == WR_SUICIDEMESSAGE) + { + if(w_deathtype & HITTYPE_BOUNCE) + return WEAPON_ACCORDEON_SUICIDE; + else if(w_deathtype & HITTYPE_HEADSHOT) + return WEAPON_KLEINBOTTLE_SUICIDE; + else + return WEAPON_TUBA_SUICIDE; + } + else if (req == WR_KILLMESSAGE) + { + if(w_deathtype & HITTYPE_BOUNCE) + return WEAPON_ACCORDEON_MURDER; + else if(w_deathtype & HITTYPE_HEADSHOT) + return WEAPON_KLEINBOTTLE_MURDER; + else + return WEAPON_TUBA_MURDER; + } return TRUE; } #endif @@ -427,48 +457,6 @@ float w_tuba(float req) { // 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; - } - } - 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; - } - } return TRUE; } #endif