X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;ds=inline;f=qcsrc%2Fserver%2Fmutators%2Fgamemode_keepaway.qc;h=96765796a1de7967bd938b17e00facdf70f3a8a5;hb=86c9dc7c3696c329496b06375c1e79fb407401ce;hp=65c7ba6e56635a727abfae89c2341a92fb422815;hpb=75d8c631b71daf6ad2019d8139771f00ad426d33;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/gamemode_keepaway.qc b/qcsrc/server/mutators/gamemode_keepaway.qc index 65c7ba6e5..96765796a 100644 --- a/qcsrc/server/mutators/gamemode_keepaway.qc +++ b/qcsrc/server/mutators/gamemode_keepaway.qc @@ -356,6 +356,24 @@ MUTATOR_HOOKFUNCTION(ka_PlayerPowerups) return 0; } +MUTATOR_HOOKFUNCTION(ka_PlayerPhysics) +{ + if(self.ballcarried) + { + self.stat_sv_airspeedlimit_nonqw *= autocvar_g_keepaway_ballcarrier_highspeed; + self.stat_sv_maxspeed *= autocvar_g_keepaway_ballcarrier_highspeed; + } + return false; +} + +MUTATOR_HOOKFUNCTION(ka_BotShouldAttack) +{ + // if neither player has ball then don't attack unless the ball is on the ground + if(!checkentity.ballcarried && !self.ballcarried && ka_ball.owner) + return true; + return false; +} + MUTATOR_HOOKFUNCTION(ka_BotRoles) { if (self.ballcarried) @@ -430,6 +448,8 @@ MUTATOR_DEFINITION(gamemode_keepaway) MUTATOR_HOOK(PlayerDamage_Calculate, ka_PlayerDamage, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerPowerups, ka_PlayerPowerups, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerUseKey, ka_PlayerUseKey, CBC_ORDER_ANY); + MUTATOR_HOOK(PlayerPhysics, ka_PlayerPhysics, CBC_ORDER_ANY); + MUTATOR_HOOK(BotShouldAttack, ka_BotShouldAttack, CBC_ORDER_ANY); MUTATOR_HOOK(HavocBot_ChooseRole, ka_BotRoles, CBC_ORDER_ANY); MUTATOR_ONADD