]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
improve squad macros, make logic more versatile and consider the squad of the entity...
authorJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Tue, 23 May 2023 11:38:51 +0000 (13:38 +0200)
committerJuhu <5894800-Juhu_@users.noreply.gitlab.com>
Tue, 23 May 2023 11:38:51 +0000 (13:38 +0200)
qcsrc/common/gamemodes/gamemode/br/sv_squad.qh

index ac7b7b41216c315c43421f2ce8c0671a75fa3ecc..69bdfcaf1c511b67d854c939dd678c2e3955bb46 100644 (file)
@@ -3,9 +3,9 @@
 // player squad entity
 .entity br_squad;
 
-#define IN_SQUAD(a) ((a).br_squad != NULL)
-#define SAME_SQUAD(a,b) (IN_SQUAD((a)) && ((a).br_squad == (b).br_squad))
-#define DIFF_SQUAD(a,b) (!IN_SQUAD((a)) || ((a).br_squad != (b).br_squad))
+#define IN_SQUAD(a) (((a).owner ? ((a).owner) : (a)).br_squad != NULL)
+#define SAME_SQUAD(a,b) ((a == b) || (IN_SQUAD(a) && (((a).owner ? ((a).owner) : (a)).br_squad == ((b).owner ? ((b).owner) : (b)).br_squad)))
+#define DIFF_SQUAD(a,b) ((!IN_SQUAD(a) && (a != b)) || (IN_SQUAD(a) && (((a).owner ? ((a).owner) : (a)).br_squad != ((b).owner ? ((b).owner) : (b)).br_squad)))
 
 int max_squad_size;