groovy/mudspace/domains/minnovar/
groovy/mudspace/domains/minnovar/objects/containers/
groovy/mudspace/domains/minnovar/objects/mobs/
groovy/mudspace/domains/minnovar/objects/mobs/scripts/
groovy/mudspace/domains/minnovar/objects/weapons/
groovy/mudspace/domains/minnovar/town/
groovy/mudspace/resources/
groovy/mudspace/std/
groovy/mudspace/std/game/
groovy/mudspace/std/game/guild/
groovy/mudspace/std/game/guild/skill/
groovy/mudspace/std/game/objects/
groovy/mudspace/std/game/objects/alive/
groovy/mudspace/std/game/objects/bodyparts/
groovy/mudspace/std/game/objects/containers/
groovy/mudspace/std/game/objects/exits/
groovy/mudspace/std/game/objects/exits/events/
groovy/mudspace/std/game/objects/trappings/
groovy/mudspace/std/game/objects/views/
groovy/mudspace/std/game/races/
groovy/scripts/
groovy/scripts/commands/creator/
groovy/scripts/commands/god/
scripts/
 package commands.player

import org.groovymud.shell.telnetd.ExtendedTerminalIO
import org.groovymud.object.views.View
/* Copyright 2008 Matthew Corby-Eaglen
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */
import org.groovymud.object.alive.Alive;
import org.groovymud.object.registry.Registry
import org.groovymud.object.MudObject
import org.groovymud.object.room.Room
import org.groovymud.object.Container
import java.util.List
import org.groovymud.object.views.*;
import static org.groovymud.utils.WordUtils.depluralize

def target = null
def stream = source.getTerminalOutput()

if(args == null || args.size() == 0){
	target = source.getCurrentContainer();
}else{
	argstr.minus("at")
	if(argstr.endsWith("me")){
		target = source
	}else{
		def item = argstr
		if(item.startsWith("in")){
			item = argstr.minus("in")
		}
		if(target == null){
			target = ((Container)source).getMudObjects(item);		
		}
		if(target == null && item.charAt(item.size() - 1) == "s"){
			depluralize(item)
			target = source.getMudObjects(item);
		}
		def container = source.getCurrentContainer()
		if(target == null || target.size() == 0){
			target = container.getMudObjects(item);
		}
		if(target == null){
		    if(item in container.getShortNames() || item == container.getName())
		    {
		        target = container
		    }
		}
	}
}
if(target != null){

	def item = args != null ? args[0] : null

    	if(target instanceof Set){
    		target.each
			{ 
    		    obj -> 
    		    View look = obj.getView();				
    		    look.writeLookHeader(source, obj);
        	    look.writeLookBody(source, obj);
        	    look.writeLookFooter(source,obj); 
			}
    	}else{
    	    View look = target.getView()
			
	    	look.writeLookHeader(source, target);
    	    look.writeLookBody(source, target);
    	    look.writeLookFooter(source,target);
	    }
  

}else{
	stream.writeln("You cannot see any ${args[0]} here");
}