X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fclient%2Fcasings.qc;h=38c5c67517885a08075db935ef2b8f9614e05f86;hb=c1a6c6ca8f27620ad6b83a6debaaa3246af832d7;hp=a43d1726fcdce42a09aa30356391dc25cca57ac1;hpb=14d52331c099f8ad672f5ab28ada4dc50243230c;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/casings.qc b/qcsrc/client/casings.qc index a43d1726f..38c5c6751 100644 --- a/qcsrc/client/casings.qc +++ b/qcsrc/client/casings.qc @@ -1,4 +1,17 @@ -.float silent; +#if defined(CSQC) + #include "../common/movetypes/movetypes.qh" + #include "prandom.qh" + #include "rubble.qh" + + .float cnt; + .float alpha; + .int state; +#elif defined(MENUQC) +#elif defined(SVQC) +#endif + + +.bool silent; void Casing_Delete() { @@ -11,7 +24,7 @@ void Casing_Draw() { self.move_angles_x = 0; self.move_angles_z = 0; - self.flags &~= FL_ONGROUND; + self.flags &= ~FL_ONGROUND; } Movetype_Physics_MatchTicrate(autocvar_cl_casings_ticrate, autocvar_cl_casings_sloppy); @@ -44,20 +57,19 @@ void Casing_Touch() if(time >= self.nextthink) { string s; - float f; + int f = floor(prandom() * 3) + 1; - f = floor(prandom() * 3) + 1; switch(self.state) { case 1: - s = strcat("weapons/casings", ftos(f), ".wav"); + s = strcat("weapons/casings", itos(f), ".wav"); break; default: - s = strcat("weapons/brass", ftos(f), ".wav"); + s = strcat("weapons/brass", itos(f), ".wav"); break; } - sound (self, CH_SHOTS, s, VOL_BASE, ATTN_LARGE); + sound (self, CH_SHOTS, s, VOL_BASE, ATTEN_LARGE); } } } @@ -65,12 +77,12 @@ void Casing_Touch() self.nextthink = time + 0.2; } -void Casing_Damage(float thisdmg, float hittype, vector org, vector thisforce) +void Casing_Damage(float thisdmg, int hittype, vector org, vector thisforce) { - if(thisforce_z < 0) - thisforce_z = 0; + if(thisforce.z < 0) + thisforce.z = 0; self.move_velocity = self.move_velocity + thisforce + '0 0 100'; - self.move_flags &~= FL_ONGROUND; + self.move_flags &= ~FL_ONGROUND; } void Ent_Casing(float isNew) @@ -84,6 +96,7 @@ void Ent_Casing(float isNew) casing.origin_x = ReadCoord(); casing.origin_y = ReadCoord(); casing.origin_z = ReadCoord(); + setorigin(casing, casing.origin); casing.velocity = decompressShortVector(ReadShort()); casing.angles_x = ReadByte() * 360 / 256; casing.angles_y = ReadByte() * 360 / 256;