예제 #1
0
 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);
   }
 }
예제 #2
0
 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);
 }
예제 #3
0
  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);
  }