@Override
	public void executeMsg(final Environmental myHost, final CMMsg msg)
	{
		if((affected instanceof Item)
		&&((((Item)affected).owner()!=lastOwner)||((lastOwner!=null)&&(lastOwner.phyStats().level()!=lastLevel)))
		&&(((Item)affected).owner() instanceof MOB))
		{
			lastOwner=((Item)affected).owner();
			lastLevel=lastOwner.phyStats().level();
			int level=(int)Math.round(CMath.mul(((MOB)lastOwner).phyStats().level(),levelPct))+levelAdd;
			if(level<minLevel) level=minLevel;
			if(level>maxLevel) level=maxLevel;
			((Item)affected).basePhyStats().setLevel(level);
			((Item)affected).phyStats().setLevel(level);
			CMLib.itemBuilder().balanceItemByLevel((Item)affected);
			((Item)affected).basePhyStats().setLevel(((MOB)lastOwner).phyStats().level());
			((Item)affected).phyStats().setLevel(((MOB)lastOwner).phyStats().level());
			lastOwner.recoverPhyStats();
			final Room R=((MOB)lastOwner).location();
			if(R!=null) R.recoverRoomStats();
		}
		super.executeMsg(myHost,msg);
	}