]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Move the macro to be global (cleaner code for EVERYBODY :D)
authorSamual Lenks <samual@xonotic.org>
Fri, 21 Sep 2012 23:34:28 +0000 (19:34 -0400)
committerSamual Lenks <samual@xonotic.org>
Fri, 21 Sep 2012 23:34:28 +0000 (19:34 -0400)
qcsrc/server/g_damage.qc
qcsrc/server/miscfunctions.qc
qcsrc/server/mutators/gamemode_ctf.qc
qcsrc/server/mutators/gamemode_ctf.qh

index f4fe7615f424241c2ec09a3074a3bf7352f06d32..d2cc61db3346cb3405ca086e9d025657fd2a4c6f 100644 (file)
@@ -1048,10 +1048,7 @@ float RadiusDamage (entity inflictor, entity attacker, float coredamage, float e
                                                myblastorigin = WarpZone_TransformOrigin(targ, blastorigin);
 
                                                // if it's a player, use the view origin as reference
-                                               if (targ.classname == "player")
-                                                       center = targ.origin + targ.view_ofs;
-                                               else
-                                                       center = targ.origin + (targ.mins + targ.maxs) * 0.5;
+                                               center = CENTER_OR_VIEWOFS(targ);
 
                                                force = normalize(center - myblastorigin);
                                                force = force * (finaldmg / coredamage) * forceintensity;
index 726f2b50316799555901a7e31f97733703588634..20828800deebfdd3d7d0407269179ec0037489a8 100644 (file)
@@ -99,6 +99,8 @@ string STR_OBSERVER = "observer";
 #define FOR_EACH_REALPLAYER(v) FOR_EACH_REALCLIENT(v) if(v.classname == STR_PLAYER)
 #endif
 
+#define CENTER_OR_VIEWOFS(ent) (ent.origin + ((ent.classname == STR_PLAYER) ? ent.view_ofs : ((ent.mins + ent.maxs) * 0.5)))
+
 // copies a string to a tempstring (so one can strunzone it)
 string strcat1(string s) = #115; // FRIK_FILE
 
index 7467346a1bd070adcf850c414e72d9d85aabbef0..0284c9f8c22f20fe4dc2fce1db71601ed3f37c3f 100644 (file)
@@ -1826,8 +1826,8 @@ MUTATOR_HOOKFUNCTION(ctf_PlayerUseKey)
                                if(!head.speedrunning && !head.vehicle)
                                {
                                        // if it's a player, use the view origin as reference (stolen from RadiusDamage functions in g_damage.qc) 
-                                       vector head_center = WarpZone_UnTransformOrigin(head, PLAYER_CENTER(head));
-                                       vector passer_center = PLAYER_CENTER(player);
+                                       vector head_center = WarpZone_UnTransformOrigin(head, CENTER_OR_VIEWOFS(head));
+                                       vector passer_center = CENTER_OR_VIEWOFS(player);
                                        
                                        if(ctf_CheckPassDirection(head_center, passer_center, player.v_angle, head.WarpZone_findradius_nearest))
                                        {
@@ -1850,7 +1850,7 @@ MUTATOR_HOOKFUNCTION(ctf_PlayerUseKey)
                                                {
                                                        if(closest_target)
                                                        {
-                                                               vector closest_target_center = WarpZone_UnTransformOrigin(closest_target, PLAYER_CENTER(closest_target));
+                                                               vector closest_target_center = WarpZone_UnTransformOrigin(closest_target, CENTER_OR_VIEWOFS(closest_target));
                                                                if(vlen(passer_center - head_center) < vlen(passer_center - closest_target_center))
                                                                        { closest_target = head; }
                                                        }
index a6d79c2a2155bfb86574b3444405b2ff99b5f90f..7ed3dfef0121adb150617ac163d5c2c2df3793cd 100644 (file)
@@ -100,7 +100,7 @@ float ctf_captimerecord; // record time for capturing the flag
 .float max_flag_health;
 .float next_take_time;
 
-// passing properties
+// passing/throwing properties
 .float pass_distance;
 .entity pass_sender;
 .entity pass_target;
@@ -108,9 +108,6 @@ float ctf_captimerecord; // record time for capturing the flag
 .float throw_prevtime;
 .float throw_count;
 
-// passing macros
-#define PLAYER_CENTER(ent) (ent.origin + ((ent.classname == "player") ? ent.view_ofs : ((ent.mins + ent.maxs) * 0.5)))
-
 // CaptureShield: If the player is too bad to be allowed to capture, shield them from taking the flag.
 .float ctf_captureshielded; // set to 1 if the player is too bad to be allowed to capture
 float ctf_captureshield_min_negscore; // punish at -20 points