X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmutators%2Fmutator%2Fcampcheck%2Fsv_campcheck.qc;h=97e63161d54a062a771fd8129a9884ebff34cd52;hb=e0012447bfce1b551df3dc01b043655aa93dafad;hp=52fc52466d5f93ec8203f3b104ac2b72e295dba1;hpb=4bb6b84519dbf3cce06996e37db18f5678dabba1;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/mutators/mutator/campcheck/sv_campcheck.qc b/qcsrc/common/mutators/mutator/campcheck/sv_campcheck.qc index 52fc52466..97e63161d 100644 --- a/qcsrc/common/mutators/mutator/campcheck/sv_campcheck.qc +++ b/qcsrc/common/mutators/mutator/campcheck/sv_campcheck.qc @@ -1,10 +1,11 @@ #include "sv_campcheck.qh" +string autocvar_g_campcheck; float autocvar_g_campcheck_damage; float autocvar_g_campcheck_distance; float autocvar_g_campcheck_interval; -REGISTER_MUTATOR(campcheck, cvar("g_campcheck")); +REGISTER_MUTATOR(campcheck, expr_evaluate(autocvar_g_campcheck)); .float campcheck_nextcheck; .float campcheck_traveled_distance; @@ -44,7 +45,7 @@ MUTATOR_HOOKFUNCTION(campcheck, PlayerPreThink) if(!STAT(FROZEN, player)) if(!PHYS_INPUT_BUTTON_CHAT(player)) if(IS_REAL_CLIENT(player)) // bots may camp, but that's no reason to constantly kill them - if(!forbidWeaponUse(player)) + if(!weaponLocked(player)) { // calculate player movement (in 2 dimensions only, so jumping on one spot doesn't count as movement) vector dist = vec2(player.campcheck_prevorigin - player.origin); @@ -62,9 +63,9 @@ MUTATOR_HOOKFUNCTION(campcheck, PlayerPreThink) { Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_CAMPCHECK); if(player.vehicle) - Damage(player.vehicle, NULL, NULL, autocvar_g_campcheck_damage * 2, DEATH_CAMP.m_id, player.vehicle.origin, '0 0 0'); + Damage(player.vehicle, NULL, NULL, autocvar_g_campcheck_damage * 2, DEATH_CAMP.m_id, DMG_NOWEP, player.vehicle.origin, '0 0 0'); else - Damage(player, NULL, NULL, bound(0, autocvar_g_campcheck_damage, player.health + player.armorvalue * autocvar_g_balance_armor_blockpercent + 5), DEATH_CAMP.m_id, player.origin, '0 0 0'); + Damage(player, NULL, NULL, bound(0, autocvar_g_campcheck_damage, GetResource(player, RES_HEALTH) + GetResource(player, RES_ARMOR) * autocvar_g_balance_armor_blockpercent + 5), DEATH_CAMP.m_id, DMG_NOWEP, player.origin, '0 0 0'); } player.campcheck_nextcheck = time + autocvar_g_campcheck_interval; player.campcheck_traveled_distance = 0;