X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Ftriggers%2Ftrigger%2Fkeylock.qh;h=756d3b25a5c861867fc8f0b525836d40c21f5671;hb=f842e5c9c443c2fea7a82762a6ba0f7b88938770;hp=b21145d429850370ccbae8407c9bbfdbd8ced465;hpb=fc2be4c1e7547ae97301f7966333e4dc858baf92;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/triggers/trigger/keylock.qh b/qcsrc/common/triggers/trigger/keylock.qh index b21145d42..756d3b25a 100644 --- a/qcsrc/common/triggers/trigger/keylock.qh +++ b/qcsrc/common/triggers/trigger/keylock.qh @@ -1,20 +1,10 @@ +#pragma once + #ifdef CSQC -void ent_keylock(); bool item_keys_usekey(entity l, entity p) { - float valid = l.itemkeys & p.itemkeys; - - if (!valid) { - // other has none of the needed keys - return false; - } else if (l.itemkeys == valid) { - // ALL needed keys were given - l.itemkeys = 0; - return true; - } else { - // only some of the needed keys were given - l.itemkeys &= ~valid; - return true; - } + int valid = (l.itemkeys & p.itemkeys); + l.itemkeys &= ~valid; // only some of the needed keys were given + return valid != 0; } #endif