         sex: Mob.sex.none                  # Determines sexual mechanics
         height: 150                     # Height in cm
         weight: 80                      # Weight in kg
-        tattoos: []                     # Invisible IDs assigned by other commands
+        tattoos: {}                     # Invisible IDs assigned by other commands
 
         currentLocation: null
 
     initialize: ->
         @sessions = []
+        @cookies = {}
         @resolver = new MobAttributeResolver @
+
+        # Keep track of the last fiew locations
+        @on 'change:currentLocation', (model, value, options) =>
+            return if model isnt @
+            history = @getCookie("mob_location_history") ? []
+            history.push value
+            while history.length > Mob.maxLocationHistory
+                history.shift()
+            @setCookie "mob_location_history", history
 
     hasPermission: (acl, permission) -> @resolver.hasPermission acl, permission
     mustHavePermission: (acl, permission) ->


        targets

    hasTattoo: (tattoo) ->
        tattoos = @get 'tattoos'
        tattoos ?= []
        tattoo in tattoos

    setTattoo: (tattoo) ->
        tattoos = @get 'tattoos'
        tattoos ?= []
        tattoos.push tattoo
        @set 'tattoos', _.uniq tattoos

    unsetTattoo: (tattoo) ->
        tattoos = @get 'tattoos'
        tattoos ?= []
        @set 'tattoos', _.without tattoos, tattoo




        female: 2       # Female sexual mechanic
        intersex: 3     # Both male and female mechanics

    @maxLocationHistory: 50 # Maximum number of rooms to keep in history cookie

    defaults: ->
        name: 'unnamed'
        shortDescription: 'an unnamed mob'
