From 8238f839569d52521639c7e232a88b32a708de37 Mon Sep 17 00:00:00 2001 From: Samual Lenks Date: Fri, 21 Sep 2012 19:34:28 -0400 Subject: [PATCH] Move the macro to be global (cleaner code for EVERYBODY :D) --- qcsrc/server/g_damage.qc | 5 +---- qcsrc/server/miscfunctions.qc | 2 ++ qcsrc/server/mutators/gamemode_ctf.qc | 6 +++--- qcsrc/server/mutators/gamemode_ctf.qh | 5 +---- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index f4fe7615f..d2cc61db3 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -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; diff --git a/qcsrc/server/miscfunctions.qc b/qcsrc/server/miscfunctions.qc index 726f2b503..20828800d 100644 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@ -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 diff --git a/qcsrc/server/mutators/gamemode_ctf.qc b/qcsrc/server/mutators/gamemode_ctf.qc index 7467346a1..0284c9f8c 100644 --- a/qcsrc/server/mutators/gamemode_ctf.qc +++ b/qcsrc/server/mutators/gamemode_ctf.qc @@ -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; } } diff --git a/qcsrc/server/mutators/gamemode_ctf.qh b/qcsrc/server/mutators/gamemode_ctf.qh index a6d79c2a2..7ed3dfef0 100644 --- a/qcsrc/server/mutators/gamemode_ctf.qh +++ b/qcsrc/server/mutators/gamemode_ctf.qh @@ -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 -- 2.39.2