Sha256: a0aa4938c18bfef413fc35b3fb7778136c2e2dce5a9343201c1007dc70929eaf

Contents?: true

Size: 1.48 KB

Versions: 2

Compression:

Stored size: 1.48 KB

Contents

Gamefic.script do
  respond :go, Use.siblings(Portal) do |actor, portal|
    if portal.destination.nil?
      actor.tell "That portal leads nowhere."
    else
      actor.parent = portal.destination
      if !portal.direction.nil?
        actor.tell "You go #{portal.direction}."
      end
      actor.perform :look
    end
  end

  respond :go, Use.text do |actor, text|
    if actor.parent == actor.room
      actor.tell "I don't see any way to go \"#{text} from here."
    else
      actor.perform :leave
      if actor.parent == actor.room
        actor.perform "go #{text}"
      else
        actor.proceed
      end
    end
  end

  respond :go, Use.available(Door) do |actor, door|
    actor.perform :open, door unless door.open?
    actor.proceed if door.open?
  end

  interpret "north", "go north"
  interpret "south", "go south"
  interpret "west", "go west"
  interpret "east", "go east"
  interpret "up", "go up"
  interpret "down", "go down"
  interpret "northwest", "go northwest"
  interpret "northeast", "go northeast"
  interpret "southwest", "go southwest"
  interpret "southeast", "go southeast"

  interpret "n", "go north"
  interpret "s", "go south"
  interpret "w", "go west"
  interpret "e", "go east"
  interpret "u", "go up"
  interpret "d", "go down"
  interpret "nw", "go northwest"
  interpret "ne", "go northeast"
  interpret "sw", "go southwest"
  interpret "se", "go southeast"

  interpret "go to :place", "go :place"
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gamefic-standard-2.3.1 lib/gamefic-standard/actions/go.rb
gamefic-standard-2.3.0 lib/gamefic-standard/actions/go.rb