X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Ftriggers%2Ftrigger%2Fkeylock.qh;h=904c3fa3d4a7404d5d4c0535fbc59858b2d6cc42;hp=b21145d429850370ccbae8407c9bbfdbd8ced465;hb=050fb0011ae5fb2b36c7c7f3d560f9453807a8ab;hpb=1d4454eb627b54e4b01a36ccce32a2767b02416c diff --git a/qcsrc/common/triggers/trigger/keylock.qh b/qcsrc/common/triggers/trigger/keylock.qh index b21145d42..904c3fa3d 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); // TODO: itemkeys isn't networked or anything! + l.itemkeys &= ~valid; // only some of the needed keys were given + return valid != 0; } #endif