@Override
	public boolean okMessage(final Environmental myHost, final CMMsg msg)
	{
		if(!super.okMessage(myHost,msg))
			return false;

		if(!(affected instanceof MOB))
			return true;

		final MOB mob=(MOB)affected;
		if((msg.amITarget(mob))
		   &&(msg.targetMinor()==CMMsg.TYP_DAMAGE))
		{
			int recovery=(int)Math.round(CMath.mul((msg.value()),protection()));
			if(recovery>mob.curState().getMana())
				recovery=mob.curState().getMana();
			if(recovery>0)
			{
				msg.setValue(msg.value()-recovery);
				mob.curState().adjMana(-recovery,mob.maxState());
			}
		}
		return true;
	}