X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fitem_key.qc;h=5c7e30e36e7c78c58087722707750081360f7aad;hb=1039e3d347436a76f55c09d9cb65bc5ab79ac5a4;hp=e39f2813450abfad76fd6a9750cee7bee470770f;hpb=4666d229e9b631885c542e1e9f04cf78ec8b38f2;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/item_key.qc b/qcsrc/server/item_key.qc index e39f28134..5c7e30e36 100644 --- a/qcsrc/server/item_key.qc +++ b/qcsrc/server/item_key.qc @@ -19,7 +19,7 @@ float item_keys_usekey(entity l, entity p) { return TRUE; } else { // only some of the needed keys were given - l.itemkeys &~= valid; + l.itemkeys &= ~valid; return TRUE; } } @@ -36,6 +36,8 @@ string item_keys_keylist(float keylist) { if ((keylist & (keylist-1)) != 0) return strcat("the ", item_keys_names[lowestbit(keylist)]); + n = ""; + base = 0; while (keylist) { l = lowestbit(keylist); if (n) @@ -61,7 +63,7 @@ item_key * Key touch handler. */ void item_key_touch(void) { - if (other.classname != "player") + if not(IS_PLAYER(other)) return; // player already picked up this key @@ -181,30 +183,34 @@ void spawnfunc_item_key() { break; default: - if (!self.netname) { + _netname = "FLUFFY PINK keycard"; + _colormod = '1 1 1'; + + if (self.netname == "") { objerror("item_key doesn't have a default name for this key and a custom one was not specified!"); remove(self); return; - } else if (!self.colormod) { - _colormod = '1 1 1'; } break; } // find default model +#ifdef GMQCC + _model = string_null; +#endif if (self.itemkeys <= ITEM_KEY_BIT(2)) { _model = "models/keys/key.md3"; } else if (self.itemkeys >= ITEM_KEY_BIT(3) && self.itemkeys <= ITEM_KEY_BIT(5)) { _model = "models/keys/key.md3"; // FIXME: replace it by a keycard model! - } else if (!self.model) { + } else if (self.model == "") { objerror("item_key doesn't have a default model for this key and a custom one was not specified!"); remove(self); return; } // set defailt netname - if (!self.netname) + if (self.netname == "") self.netname = _netname; // set default colormod @@ -212,14 +218,14 @@ void spawnfunc_item_key() { self.colormod = _colormod; // set default model - if (!self.model) + if (self.model == "") self.model = _model; // set default pickup message - if (!self.message) + if (self.message == "") self.message = strzone(strcat("You've picked up the ", self.netname, "!")); - if (!self.noise) + if (self.noise == "") self.noise = "misc/itempickup.wav"; // save the name for later @@ -312,7 +318,7 @@ void trigger_keylock_touch(void) { started_delay = FALSE; // only player may trigger the lock - if (other.classname != "player") + if not(IS_PLAYER(other)) return; @@ -385,11 +391,11 @@ void spawnfunc_trigger_keylock(void) { } // set unlocked message - if (!self.message) + if (self.message == "") self.message = "Unlocked!"; // set default unlock noise - if (!self.noise) { + if (self.noise == "") { if (self.sounds == 1) self.noise = "misc/secret.wav"; else if (self.sounds == 2) @@ -399,11 +405,11 @@ void spawnfunc_trigger_keylock(void) { } // set default use key sound - if (!self.noise1) + if (self.noise1 == "") self.noise1 = "misc/decreasevalue.wav"; // set closed sourd - if (!self.noise2) + if (self.noise2 == "") self.noise2 = "misc/talk.wav"; // delay between triggering message2 and trigger2