@Override
	public void unInvoke()
	{
		final Physical affected=super.affected;
		// undo the affects of this spell
		if(affected==null)
			return;
		if(canBeUninvoked())
		{
			if((invoker()!=null)
			&&((targetM == null)||(!CMLib.flags().isInTheGame(targetM, true))||(targetM.location()!=invoker().location())))
				invoker().tell(L("The helping hand for @x1 has given up.",targetName));
			final Room R=CMLib.map().roomLocation(affected);
			if(R.isHere(affected))
				R.showHappens(CMMsg.MSG_OK_VISUAL,L("The helping hand vanishes."));
		}
		super.unInvoke();
		if(canBeUninvoked() && (!affected.amDestroyed()))
			affected.destroy();
	}