X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcl_client.qc;h=f34e22b0d9a15224940df81013b852c705091e33;hb=57356786644b16c2a56f5127ba6fadd60aa8d742;hp=ada824caa69b9d87239f51924a8365f973079d5d;hpb=c84e504f3bc160b770bc8e7c5d334e3ebca51314;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index ada824caa..f34e22b0d 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -404,8 +404,7 @@ void PutObserverInServer (void) DropAllRunes(self); MUTATOR_CALLHOOK(MakePlayerObserver); - if (g_minstagib) - minstagib_stop_countdown(); + minstagib_stop_countdown(self); Portal_ClearAll(self); @@ -421,9 +420,6 @@ void PutObserverInServer (void) if(self.flagcarried) DropFlag(self.flagcarried, world, world); - if(self.ballcarried && g_nexball) - DropBall(self.ballcarried, self.origin + self.ballcarried.origin, self.velocity); - WaypointSprite_PlayerDead(); if not(g_ca) // don't reset teams when moving a ca player to the spectators @@ -489,7 +485,7 @@ void PutObserverInServer (void) setorigin (self, (spot.origin + PL_VIEW_OFS)); // offset it so that the spectator spawns higher off the ground, looks better this way self.prevorigin = self.origin; self.items = 0; - self.weapons = 0; + WEPSET_CLEAR_E(self); self.model = ""; FixPlayermodel(); setmodel(self, "null"); @@ -739,7 +735,7 @@ void PutClientInServer (void) self.ammo_fuel = warmup_start_ammo_fuel; self.health = warmup_start_health; self.armorvalue = warmup_start_armorvalue; - self.weapons = warmup_start_weapons; + WEPSET_COPY_EA(self, warmup_start_weapons); } else { @@ -750,10 +746,10 @@ void PutClientInServer (void) self.ammo_fuel = start_ammo_fuel; self.health = start_health; self.armorvalue = start_armorvalue; - self.weapons = start_weapons; + WEPSET_COPY_EA(self, start_weapons); } - if(self.weapons & WEPBIT_SUPERWEAPONS) // exception for minstagib, as minstanex is a superweapon + if(WEPSET_CONTAINS_ANY_EA(self, WEPBIT_SUPERWEAPONS)) // exception for minstagib, as minstanex is a superweapon self.superweapons_finished = time + autocvar_g_balance_superweapons_time; else self.superweapons_finished = 0; @@ -761,10 +757,10 @@ void PutClientInServer (void) if(g_weaponarena_random) { if(g_weaponarena_random_with_laser) - self.weapons &~= WEPBIT_LASER; - self.weapons = randombits(self.weapons, g_weaponarena_random, FALSE); + WEPSET_ANDNOT_EW(self, WEP_LASER); + W_RandomWeapons(self, g_weaponarena_random); if(g_weaponarena_random_with_laser) - self.weapons |= WEPBIT_LASER; + WEPSET_OR_EW(self, WEP_LASER); } self.items = start_items; @@ -1536,7 +1532,7 @@ void ClientConnect (void) if(clienttype(self) == CLIENTTYPE_REAL) { - if(autocvar_g_bugrigs || g_weaponarena == WEPBIT_TUBA) + if(autocvar_g_bugrigs || WEPSET_EQ_AW(g_weaponarena_weapons, WEP_TUBA)) stuffcmd(self, "cl_cmd settemp chase_active 1\n"); } @@ -1658,8 +1654,6 @@ void ClientDisconnect (void) RemoveGrapplingHook(self); if(self.flagcarried) DropFlag(self.flagcarried, world, world); - if(self.ballcarried && g_nexball) - DropBall(self.ballcarried, self.origin + self.ballcarried.origin, self.velocity); // Here, everything has been done that requires this player to be a client. @@ -1901,9 +1895,7 @@ void player_powerups (void) } if (self.items & IT_SUPERWEAPON) { - //if(W_WeaponBit(self.weapon) & WEPBIT_SUPERWEAPONS) - // self.effects = self.effects | EF_RED; - if (!(self.weapons & WEPBIT_SUPERWEAPONS)) + if (!WEPSET_CONTAINS_ANY_EA(self, WEPBIT_SUPERWEAPONS)) { self.superweapons_finished = 0; self.items = self.items - (self.items & IT_SUPERWEAPON); @@ -1919,12 +1911,12 @@ void player_powerups (void) if (time > self.superweapons_finished) { self.items = self.items - (self.items & IT_SUPERWEAPON); - self.weapons &~= WEPBIT_SUPERWEAPONS; + WEPSET_ANDNOT_EA(self, WEPBIT_SUPERWEAPONS); sprint(self, "^3Superweapons have broken down\n"); } } } - else if(self.weapons & WEPBIT_SUPERWEAPONS) + else if(WEPSET_CONTAINS_ANY_EA(self, WEPBIT_SUPERWEAPONS)) { if (time < self.superweapons_finished || (self.items & IT_UNLIMITED_SUPERWEAPONS)) { @@ -1934,7 +1926,7 @@ void player_powerups (void) else { self.superweapons_finished = 0; - self.weapons &~= WEPBIT_SUPERWEAPONS; // just in case + WEPSET_ANDNOT_EA(self, WEPBIT_SUPERWEAPONS); } } else @@ -2161,7 +2153,7 @@ void SpectateCopy(entity spectatee) { self.strength_finished = spectatee.strength_finished; self.invincible_finished = spectatee.invincible_finished; self.pressedkeys = spectatee.pressedkeys; - self.weapons = spectatee.weapons; + WEPSET_COPY_EE(self, spectatee); self.switchweapon = spectatee.switchweapon; self.switchingweapon = spectatee.switchingweapon; self.weapon = spectatee.weapon;