X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fserver%2Fmutators%2Fgamemode_lms.qc;h=f980607a7e5b71c2332707d07fc5827b4cd9633d;hb=1b130c7ceb9f035ba250a879967d8356552bb914;hp=82258ac77c115e33d144c7dc280526c0c3aa729c;hpb=94579b4c440f739c1203ea5e546d3fcadb884c51;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/gamemode_lms.qc b/qcsrc/server/mutators/gamemode_lms.qc index 82258ac77..f980607a7 100644 --- a/qcsrc/server/mutators/gamemode_lms.qc +++ b/qcsrc/server/mutators/gamemode_lms.qc @@ -46,14 +46,6 @@ MUTATOR_HOOKFUNCTION(lms_PlayerPreSpawn) return FALSE; } -MUTATOR_HOOKFUNCTION(lms_PlayerSpawn) -{ - self.lms_nextcheck = time + autocvar_g_lms_campcheck_interval*2; - self.lms_traveled_distance = 0; - - return FALSE; -} - MUTATOR_HOOKFUNCTION(lms_PlayerDies) { self.respawn_flags |= RESPAWN_FORCE; @@ -97,50 +89,6 @@ MUTATOR_HOOKFUNCTION(lms_PlayerThink) if(self.deadflag == DEAD_DYING) self.deadflag = DEAD_RESPAWNING; - if not(self.deadflag) - if(autocvar_g_lms_campcheck_interval) - { - vector dist; - - // calculate player movement (in 2 dimensions only, so jumping on one spot doesn't count as movement) - dist = self.prevorigin - self.origin; - dist_z = 0; - self.lms_traveled_distance += fabs(vlen(dist)); - - if((autocvar_g_campaign && !campaign_bots_may_start) || (time < game_starttime)) - { - self.lms_nextcheck = time + autocvar_g_lms_campcheck_interval*2; - self.lms_traveled_distance = 0; - } - - if(time > self.lms_nextcheck) - { - if(self.lms_traveled_distance < autocvar_g_lms_campcheck_distance) - { - Send_Notification(NOTIF_ONE, self, MSG_CENTER, CENTER_LMS_CAMPCHECK); - if(self.vehicle) - Damage(self.vehicle, self, self, autocvar_g_lms_campcheck_damage * 2, DEATH_CAMP, self.vehicle.origin, '0 0 0'); - else - Damage(self, self, self, bound(0, autocvar_g_lms_campcheck_damage, self.health + self.armorvalue * autocvar_g_balance_armor_blockpercent + 5), DEATH_CAMP, self.origin, '0 0 0'); - } - self.lms_nextcheck = time + autocvar_g_lms_campcheck_interval; - self.lms_traveled_distance = 0; - } - } - - return FALSE; -} - -MUTATOR_HOOKFUNCTION(lms_PlayerDamage) -{ - if(IS_PLAYER(frag_target)) - if(IS_PLAYER(frag_attacker)) - if(frag_attacker != frag_target) - { - frag_target.lms_traveled_distance = autocvar_g_lms_campcheck_distance; - frag_attacker.lms_traveled_distance = autocvar_g_lms_campcheck_distance; - } - return FALSE; } @@ -173,7 +121,7 @@ MUTATOR_HOOKFUNCTION(lms_GiveFragsForKill) MUTATOR_HOOKFUNCTION(lms_SetStartItems) { - start_items &~= IT_UNLIMITED_AMMO; + start_items &= ~IT_UNLIMITED_AMMO; start_ammo_shells = cvar("g_lms_start_ammo_shells"); start_ammo_nails = cvar("g_lms_start_ammo_nails"); start_ammo_rockets = cvar("g_lms_start_ammo_rockets"); @@ -212,7 +160,7 @@ MUTATOR_HOOKFUNCTION(lms_ItemTouch) PlayerScore_Add(other, SP_LMS_LIVES, autocvar_g_lms_extra_lives); } - return FALSE; + return MUT_ITEMTOUCH_CONTINUE; } // scoreboard stuff @@ -237,12 +185,10 @@ MUTATOR_DEFINITION(gamemode_lms) MUTATOR_HOOK(reset_map_global, lms_ResetMap, CBC_ORDER_ANY); MUTATOR_HOOK(reset_map_players, lms_ResetPlayers, CBC_ORDER_ANY); MUTATOR_HOOK(PutClientInServer, lms_PlayerPreSpawn, CBC_ORDER_ANY); - MUTATOR_HOOK(PlayerSpawn, lms_PlayerSpawn, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerDies, lms_PlayerDies, CBC_ORDER_ANY); MUTATOR_HOOK(MakePlayerObserver, lms_RemovePlayer, CBC_ORDER_ANY); MUTATOR_HOOK(ClientConnect, lms_ClientConnect, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerPreThink, lms_PlayerThink, CBC_ORDER_ANY); - MUTATOR_HOOK(PlayerDamage_Calculate, lms_PlayerDamage, CBC_ORDER_ANY); MUTATOR_HOOK(ForbidThrowCurrentWeapon, lms_ForbidThrowing, CBC_ORDER_ANY); MUTATOR_HOOK(GiveFragsForKill, lms_GiveFragsForKill, CBC_ORDER_ANY); MUTATOR_HOOK(SetStartItems, lms_SetStartItems, CBC_ORDER_ANY);