]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Automatically do the "help me" ping if flag carrier gets damaged. TODO: make it based...
authorSamual <samual@xonotic.org>
Wed, 11 Apr 2012 20:52:50 +0000 (16:52 -0400)
committerSamual <samual@xonotic.org>
Wed, 11 Apr 2012 20:52:50 +0000 (16:52 -0400)
defaultXonotic.cfg
qcsrc/server/autocvars.qh
qcsrc/server/mutators/gamemode_ctf.qc

index b0b221ebb19fe1cc4078aba7f0981180f2039d89..7d76d7de27d44afa51cd60ae1e5f8c0b1d0d51cc 100644 (file)
@@ -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
index e2a4708a737371b722b625ba5bdf7df279245e63..2ba120a210718bb31d288e42f4f9a2f9bc57638a 100644 (file)
@@ -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;
index 5e5f17241ae18d34e5f1915d41d3a925af733bcb..dc75e176432a20f4d320a8426be92c5c4828cb6d 100644 (file)
@@ -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;
 }