Sha256: 793b020490977398c464f2eb15cefde8c79757b1551f5d993a5a41b9d044e177

Contents?: true

Size: 1.16 KB

Versions: 8

Compression:

Stored size: 1.16 KB

Contents

respond :search, Use.reachable(Receptacle) do |actor, receptacle|
  # TODO Show the contents of the receptacle
  contents = receptacle.children.that_are_not(:attached?)
  if contents.length > 0
    actor.tell "Inside #{contents.length > 1 ? 'are' : 'is'} #{contents.join_and}."
  else
    actor.tell "#{The receptacle} #{receptacle.verb.be} empty."
  end
end

respond :search, Use.reachable(Container) do |actor, container|
  if container.open? or container.transparent?
    actor.proceed
  else
    actor.tell "#{The container} #{container.verb.be} closed."
  end
end

respond :search, Use.reachable do |actor, thing|
  actor.perform :look, thing
end

respond :search, Use.room do |actor, room|
  actor.perform :look, room
end

respond :search, Use.reachable do |actor, entity|
  attached = entity.children.that_are(:attached?).that_are(Container)
  if attached.length > 1
    actor.tell "#{you.pronoun.Subj} #{you.verb.can} search #{attached.join_or}"
  elsif attached.length == 1
    actor.perform :search, attached[0]
  else
    actor.proceed
  end
end

interpret "look in :thing", "search :thing"
interpret "look inside :thing", "search :thing"

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
gamefic-sdk-1.5.0 scripts/standard/actions/search.plot.rb
gamefic-sdk-1.4.1 scripts/standard/actions/search.plot.rb
gamefic-sdk-1.4.0 scripts/standard/actions/search.plot.rb
gamefic-sdk-1.3.1 scripts/standard/actions/search.plot.rb
gamefic-sdk-1.3.0 scripts/standard/actions/search.plot.rb
gamefic-sdk-1.2.0 scripts/standard/actions/search.plot.rb
gamefic-sdk-1.1.0 scripts/standard/actions/search.plot.rb
gamefic-sdk-1.0.1 scripts/standard/actions/search.plot.rb