@Override
	public void spring(MOB target)
	{
		if((target!=invoker())
		&&(target.location()!=null))
		{
			if((doesSaveVsTraps(target))
			||(invoker().getGroupMembers(new HashSet<MOB>()).contains(target)))
				target.location().show(target,null,null,CMMsg.MASK_ALWAYS|CMMsg.MSG_NOISE,L("<S-NAME> avoid(s) setting off a trap!"));
			else
			if(target.location().show(target,target,this,CMMsg.MASK_ALWAYS|CMMsg.MSG_NOISE,L("@x1 is covered in grease!",CMStrings.capitalizeAndLower(affected.name()))))
			{
				super.spring(target);
				target.location().show(target,affected,null,CMMsg.MSG_DROP,L("<S-NAME> drop(s) the greasy <T-NAME>!"));
				if(((--times)<=0)&&(canBeUninvoked())&&(affected instanceof Item))
					disable();
				else
					sprung=false;
			}
		}
	}