public void affectEnvStats(Environmental affected, EnvStats affectableStats) { super.affectEnvStats(affected, affectableStats); if (affected instanceof MOB) { affectableStats.setSensesMask(affectableStats.sensesMask() | EnvStats.CAN_SEE_HIDDEN); if (ticksSinceLoss > 30) affectableStats.setDisposition(affectableStats.disposition() | EnvStats.IS_HIDDEN); } else { if (unLocatable) affectableStats.setSensesMask(affectableStats.sensesMask() | EnvStats.SENSE_UNLOCATABLE); if (affected instanceof Item) { if ((((Item) affected).owner() != null) && (((Item) affected).owner() instanceof Room)) affectableStats.setDisposition(affectableStats.disposition() | EnvStats.IS_HIDDEN); } else affectableStats.setDisposition(affectableStats.disposition() | EnvStats.IS_HIDDEN); } }
public void affectEnvStats(Environmental affected, EnvStats affectableStats) { super.affectEnvStats(affected, affectableStats); if ((affected == null) || (!(affected instanceof MOB))) return; MOB mob = (MOB) affected; if (!CMLib.flags().canBreathe(mob)) affectableStats.setSensesMask(affectableStats.sensesMask() - EnvStats.CAN_NOT_BREATHE); }
public void affectEnvStats(Environmental affected, EnvStats affectableStats) { super.affectEnvStats(affected, affectableStats); if (affected == null) return; if (!(affected instanceof MOB)) return; affectableStats.setSensesMask(affectableStats.sensesMask() | EnvStats.CAN_NOT_MOVE); }