@Override
	public boolean tick(final Tickable ticking, final int tickID)
	{
		if(destroyed)
			return false;
		tickStatus=Tickable.STATUS_START;
		if(tickID==Tickable.TICKID_ITEM_BEHAVIOR)
		{
			tickStatus=Tickable.STATUS_BEHAVIOR;
			eachBehavior(new EachApplicable<Behavior>(){ @Override
			public final void apply(final Behavior B)
			{
				B.tick(ticking,tickID);
			} });
			tickStatus=Tickable.STATUS_SCRIPT;
			eachScript(new EachApplicable<ScriptingEngine>(){ @Override
			public final void apply(final ScriptingEngine S)
			{
				S.tick(ticking,tickID);
			} });
			if((numBehaviors()==0)&&(numScripts()==0))
				return false;
		}
		else
		if((tickID!=Tickable.TICKID_CLANITEM)&&(tickID!=Tickable.TICKID_ELECTRONICS))
		{
			tickStatus=Tickable.STATUS_AFFECT;
			eachEffect(new EachApplicable<Ability>(){ @Override
			public final void apply(final Ability A)
			{
				if(!A.tick(ticking,tickID))
					A.unInvoke();
			} });
		}
		tickStatus=Tickable.STATUS_NOT;
		return !amDestroyed();
	}