@Override
	public boolean invoke(MOB mob, List<String> commands, Physical givenTarget, boolean auto, int asLevel)
	{
		if(!Chant.chantAlignmentCheck(this,mob,false,auto))
			return false;
		final Room R=mob.location();
		if((R!=null)&&(!auto))
		{
			this.alwaysRandomArea=true;
			if(super.getPlanarAbility(R.getArea())==null)
			{
				final boolean hereok=mob.location().findItem(null,"DruidicMonument")!=null;
				if(!hereok)
				{
					mob.tell(L("There is no druidic monument here.  You can only begin this chant in a druidic grove."));
					return false;
				}
			}
			else
			{
				final Item otherPlant = Druid_MyPlants.myPlant(R, mob, 0);
				if(otherPlant == null)
				{
					mob.tell(L("There is none of your plants here.  You can travel from here through one of your plants."));
					return false;
				}
			}
		}
		if(!super.invoke(mob,commands,givenTarget,auto,asLevel))
			return false;
		return true;
	}