From: Samual Date: Wed, 11 Apr 2012 20:52:50 +0000 (-0400) Subject: Automatically do the "help me" ping if flag carrier gets damaged. TODO: make it based... X-Git-Tag: xonotic-v0.7.0~240^2~79 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=417e7ba1dfbb128b5df97c933a3891e4548e83ff;p=xonotic%2Fxonotic-data.pk3dir.git Automatically do the "help me" ping if flag carrier gets damaged. TODO: make it based on damage... i.e., if their health gets below X level, THEN do it automatically. --- diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index b0b221ebb..7d76d7de2 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -595,6 +595,7 @@ set g_ctf_flag_return_time 15 set g_ctf_flag_return_dropped 100 set g_ctf_flag_return_damage 0 set g_ctf_flag_return_when_unreachable 1 "automatically return the flag if it falls into lava/slime/trigger hurt" +set g_ctf_flagcarrier_auto_helpme_when_damaged 1 set g_ctf_flagcarrier_allow_vehicle_carry 1 set g_ctf_flagcarrier_selfdamagefactor 1 set g_ctf_flagcarrier_selfforcefactor 1 diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index e2a4708a7..2ba120a21 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -790,6 +790,7 @@ float autocvar_g_ctf_flag_return_time; float autocvar_g_ctf_flag_return_when_unreachable; float autocvar_g_ctf_flag_return_damage; float autocvar_g_ctf_flag_return_dropped; +float autocvar_g_ctf_flagcarrier_auto_helpme_when_damaged; float autocvar_g_ctf_flagcarrier_allow_vehicle_carry; float autocvar_g_ctf_flagcarrier_selfdamagefactor; float autocvar_g_ctf_flagcarrier_selfforcefactor; diff --git a/qcsrc/server/mutators/gamemode_ctf.qc b/qcsrc/server/mutators/gamemode_ctf.qc index 5e5f17241..dc75e1764 100644 --- a/qcsrc/server/mutators/gamemode_ctf.qc +++ b/qcsrc/server/mutators/gamemode_ctf.qc @@ -1005,12 +1005,17 @@ MUTATOR_HOOKFUNCTION(ctf_PlayerDamage) // for changing damage and force values t frag_damage *= autocvar_g_ctf_flagcarrier_selfdamagefactor; frag_force *= autocvar_g_ctf_flagcarrier_selfforcefactor; } - else // damage done everyone else + else // damage done to everyone else { frag_damage *= autocvar_g_ctf_flagcarrier_damagefactor; frag_force *= autocvar_g_ctf_flagcarrier_forcefactor; } } + else if(frag_target.flagcarried) // if the target is a flagcarrier + { + if(autocvar_g_ctf_flagcarrier_auto_helpme_when_damaged) + WaypointSprite_HelpMePing(self.wps_flagcarrier); // TODO: only do this if there is a significant loss of health? + } return 0; }