]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/mutator_buffs.qc
Merge branch 'TimePath/mutator_cleanup' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / mutator_buffs.qc
index 877bca9f6bfa85aa0ad0dd22e851e1f149a859a9..b582e168604c9626b579258e19810c245144bd66 100644 (file)
@@ -10,12 +10,7 @@ entity buff_FirstFromFlags(int _buffs)
 {
        if (flags)
        {
-               FOREACH(BUFFS, 0, BUFFS_COUNT,
-                       it.m_itemid & _buffs,
-                       LAMBDA({
-                               return it;
-                       })
-               );
+               FOREACH(BUFFS, it.m_itemid & _buffs, LAMBDA(return it));
        }
        return BUFF_NULL;
 }
@@ -207,14 +202,11 @@ float buff_Available(entity buff)
 void buff_NewType(entity ent, float cb)
 {
        RandomSelection_Init();
-       FOREACH(BUFFS, 0, BUFFS_COUNT,
-               buff_Available(it),
-               LAMBDA({
-                       it.buff_seencount += 1;
-                       // if it's already been chosen, give it a lower priority
-                       RandomSelection_Add(world, it.m_itemid, string_null, 1, max(0.2, 1 / it.buff_seencount));
-               })
-       );
+       FOREACH(BUFFS, buff_Available(it), LAMBDA(
+               it.buff_seencount += 1;
+               // if it's already been chosen, give it a lower priority
+               RandomSelection_Add(world, it.m_itemid, string_null, 1, max(0.2, 1 / it.buff_seencount));
+       ));
        ent.buffs = RandomSelection_chosen_float;
 }
 
@@ -637,7 +629,7 @@ MUTATOR_HOOKFUNCTION(buffs_PlayerThrowKey)
                        if(closest.flagcarried) { ctf_Handle_Throw(closest, world, DROP_THROW); }
                        if(closest.nade) { toss_nade(closest, '0 0 0', time + 0.05); }
 
-                       MUTATOR_CALLHOOK(PortalTeleport); // initiate flag dropper
+                       MUTATOR_CALLHOOK(PortalTeleport, self); // initiate flag dropper
 
                        setorigin(self, their_org);
                        setorigin(closest, my_org);