@Override
	public void executeMsg(Environmental myHost, CMMsg affect)
	{
		super.executeMsg(myHost, affect);
		if((affect.target()!=null)&&(affect.target().equals(affected))
		   &&(affect.tool()!=null)&&(affect.tool().ID().equals("Scrapping")))
		{
			final Item item=(Item)affect.target();
			final MOB mob = affect.source();
			if (mob != null)
			{
				final Room room = mob.location();
				final int damage = 3 * item.phyStats().weight();
				CMLib.combat().postDamage(mob, mob, item, damage*2,  CMMsg.MASK_ALWAYS|CMMsg.TYP_FIRE, Weapon.TYPE_PIERCING,
						L("Scrapping @x1 causes an explosion which <DAMAGE> <T-NAME>!!!",item.Name()));
				final Set<MOB> theBadGuys=mob.getGroupMembers(new HashSet<MOB>());
				for (final Object element : theBadGuys)
				{
					final MOB inhab=(MOB)element;
					if (mob != inhab)
						CMLib.combat().postDamage(inhab, inhab, item, damage, CMMsg.MASK_ALWAYS|CMMsg.TYP_FIRE, Weapon.TYPE_PIERCING,
								L("Fragments from @x1 <DAMAGE> <T-NAME>!",item.Name()));
				}
				room.recoverRoomStats();
			}
			item.destroy();
		}
	}