@Override
	public boolean tick(Tickable ticking, int tickID)
	{
		if(!super.tick(ticking, tickID))
			return false;
		if(affected instanceof SailingShip)
		{
			final SailingShip I=(SailingShip)affected;
			if(I.subjectToWearAndTear())
			{
				final PhysicalAgent currentVictim = I.getCombatant();
				if(currentVictim == null)
				{
					if(I.usesRemaining()<=code)
						unInvoke();
					else
					{
						I.setUsesRemaining(I.usesRemaining()-5);
						Area A=I.getShipArea();
						if(A!=null)
						{
							for(Enumeration<Room> r=A.getProperMap();r.hasMoreElements();)
							{
								final Room R=r.nextElement();
								if((R!=null)&&(R.numInhabitants()>0))
								{
									R.showHappens(CMMsg.MSG_OK_ACTION, L("The temporary combat repairs are slowly unraveling."));
								}
							}
						}
					}
				}
			}
		}
		return true;
	}