X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fgamemode_keepaway.qc;h=145636239c265d2e661ca30d0a6a4fd8b441a32b;hb=39380aa9e45dbc545f5fe241c0002ce65a6f635e;hp=05aa45deb3e0555aa76ae94ddf6b3a08466f6705;hpb=d5bffe0a0226860335a3293f67ee43a09f8aad0a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/gamemode_keepaway.qc b/qcsrc/server/mutators/gamemode_keepaway.qc index 05aa45deb..145636239 100644 --- a/qcsrc/server/mutators/gamemode_keepaway.qc +++ b/qcsrc/server/mutators/gamemode_keepaway.qc @@ -6,7 +6,7 @@ float ka_ballcarrier_waypointsprite_visible_for_player(entity e) // runs on waypoints which are attached to ballcarriers, updates once per frame { if(e.ballcarried) - if(other.classname == "spectator") + if(IS_SPEC(other)) return FALSE; // we don't want spectators of the ballcarrier to see the attached waypoint on the top of their screen // TODO: Make the ballcarrier lack a waypointsprite whenever they have the invisibility powerup @@ -41,7 +41,7 @@ void ka_RespawnBall() // runs whenever the ball needs to be relocated WaypointSprite_Spawn("ka-ball", 0, 0, self, '0 0 64', world, self.team, self, waypointsprite_attachedforcarrier, FALSE, RADARICON_FLAGCARRIER, '0 1 1'); WaypointSprite_Ping(self.waypointsprite_attachedforcarrier); - sound(self, CH_TRIGGER, "keepaway/respawn.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) + sound(self, CH_TRIGGER, "keepaway/respawn.wav", VOL_BASE, ATTEN_NONE); // ATTEN_NONE (it's a sound intended to be heard anywhere) } else { @@ -71,10 +71,10 @@ void ka_TouchEvent() // runs any time that the ball comes in contact with someth return; } if(other.deadflag != DEAD_NO) { return; } - if(other.classname != "player") + if not(IS_PLAYER(other)) { // The ball just touched an object, most likely the world pointparticles(particleeffectnum("kaball_sparks"), self.origin, '0 0 0', 1); - sound(self, CH_TRIGGER, "keepaway/touch.wav", VOL_BASE, ATTN_NORM); + sound(self, CH_TRIGGER, "keepaway/touch.wav", VOL_BASE, ATTEN_NORM); return; } else if(self.wait > time) { return; } @@ -101,9 +101,9 @@ void ka_TouchEvent() // runs any time that the ball comes in contact with someth // messages and sounds ka_EventLog("pickup", other); - Send_Notification(NOTIF_ANY, world, MSG_INFO, INFO_KEEPAWAY_PICKUP, other.netname); - Send_Notification(NOTIF_ANY, world, MSG_CENTER, CENTER_KEEPAWAY_PICKUP, other.netname); - sound(self.owner, CH_TRIGGER, "keepaway/pickedup.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) + Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_KEEPAWAY_PICKUP, other.netname); + Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_KEEPAWAY_PICKUP, other.netname); + sound(self.owner, CH_TRIGGER, "keepaway/pickedup.wav", VOL_BASE, ATTEN_NONE); // ATTEN_NONE (it's a sound intended to be heard anywhere) // scoring PlayerScore_Add(other, SP_KEEPAWAY_PICKUPS, 1); @@ -131,7 +131,7 @@ void ka_DropEvent(entity plyr) // runs any time that a player is supposed to los ball.think = ka_RespawnBall; ball.nextthink = time + autocvar_g_keepawayball_respawntime; ball.takedamage = DAMAGE_YES; - ball.effects &~= EF_NODRAW; + ball.effects &= ~EF_NODRAW; setorigin(ball, plyr.origin + '0 0 10'); ball.velocity = '0 0 200' + '0 100 0'*crandom() + '100 0 0'*crandom(); ball.owner.ballcarried = world; // I hope nothing checks to see if the world has the ball in the rest of my code :P @@ -139,13 +139,13 @@ void ka_DropEvent(entity plyr) // runs any time that a player is supposed to los // reset the player effects plyr.glow_trail = FALSE; - plyr.effects &~= autocvar_g_keepaway_ballcarrier_effects; + plyr.effects &= ~autocvar_g_keepaway_ballcarrier_effects; // messages and sounds ka_EventLog("dropped", plyr); - Send_Notification(NOTIF_ANY, world, MSG_INFO, INFO_KEEPAWAY_DROPPED, plyr.netname); - Send_Notification(NOTIF_ANY, world, MSG_CENTER, CENTER_KEEPAWAY_DROPPED, plyr.netname); - sound(other, CH_TRIGGER, "keepaway/dropped.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) + Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_KEEPAWAY_DROPPED, plyr.netname); + Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_KEEPAWAY_DROPPED, plyr.netname); + sound(other, CH_TRIGGER, "keepaway/dropped.wav", VOL_BASE, ATTEN_NONE); // ATTEN_NONE (it's a sound intended to be heard anywhere) // scoring // PlayerScore_Add(plyr, SP_KEEPAWAY_DROPS, 1); Not anymore, this is 100% the same as pickups and is useless. @@ -159,7 +159,7 @@ void ka_DropEvent(entity plyr) // runs any time that a player is supposed to los void ka_Reset() // used to clear the ballcarrier whenever the match switches from warmup to normal { - if((self.owner) && (self.owner.classname == "player")) + if((self.owner) && (IS_PLAYER(self.owner))) ka_DropEvent(self.owner); ka_RespawnBall(); @@ -243,7 +243,7 @@ void havocbot_role_ka_collector() MUTATOR_HOOKFUNCTION(ka_Scoring) { - if((frag_attacker != frag_target) && (frag_attacker.classname == "player")) + if((frag_attacker != frag_target) && (IS_PLAYER(frag_attacker))) { if(frag_target.ballcarried) { // add to amount of times killing carrier PlayerScore_Add(frag_attacker, SP_KEEPAWAY_CARRIERKILLS, 1); @@ -271,7 +271,7 @@ MUTATOR_HOOKFUNCTION(ka_GiveFragsForKill) MUTATOR_HOOKFUNCTION(ka_PlayerPreThink) { // clear the item used for the ball in keepaway - self.items &~= IT_KEY1; + self.items &= ~IT_KEY1; // if the player has the ball, make sure they have the item for it (Used for HUD primarily) if(self.ballcarried) @@ -333,7 +333,7 @@ MUTATOR_HOOKFUNCTION(ka_PlayerPowerups) // In the future this hook is supposed to allow me to do some extra stuff with waypointsprites and invisibility powerup // So bare with me until I can fix a certain bug with ka_ballcarrier_waypointsprite_visible_for_player() - self.effects &~= autocvar_g_keepaway_ballcarrier_effects; + self.effects &= ~autocvar_g_keepaway_ballcarrier_effects; if(self.ballcarried) self.effects |= autocvar_g_keepaway_ballcarrier_effects;