@Override
	public boolean okMessage(final Environmental myHost, final CMMsg msg)
	{
		if((affected==null)||(!(affected instanceof Room)))
		   return false;
		final Room room=(Room)affected;
		if(msg.source().location()==room)
		{
			final MOB mob=msg.source();
			if(!msg.sourceMajor(CMMsg.MASK_ALWAYS))
			{
				if((room.domainType()==Room.DOMAIN_OUTDOORS_UNDERWATER)
				||(room.domainType()==Room.DOMAIN_INDOORS_UNDERWATER))
				{
					mob.tell(_("You are frozen in the ice sheet and can't even blink."));
					return false;
				}
				else
				if((msg.sourceMajor(CMMsg.MASK_MOVE)))
				{
					if((!CMLib.flags().isInFlight(mob))
					&&(CMLib.dice().rollPercentage()>((msg.source().charStats().getStat(CharStats.STAT_DEXTERITY)*3)+25)))
					{
						int oldDisposition=mob.basePhyStats().disposition();
						oldDisposition=oldDisposition&(~(PhyStats.IS_SLEEPING|PhyStats.IS_SNEAKING|PhyStats.IS_SITTING|PhyStats.IS_CUSTOM));
						mob.basePhyStats().setDisposition(oldDisposition|PhyStats.IS_SITTING);
						mob.recoverPhyStats();
						mob.location().show(mob,null,CMMsg.MSG_OK_ACTION,_("<S-NAME> slip(s) on the ice."));
						return false;
					}
				}
			}
		}
		return super.okMessage(myHost,msg);
	}