Sha256: 094ac341137d454f8d79fa33fec4f39dacb735a8104dac8316d2d6733e1520ad
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true module Gamefic module Standard module Actions module Open extend Gamefic::Scriptable respond :open, available do |actor, thing| actor.tell "You can't open #{the thing}." end respond :open, available(Openable) do |actor, thing| if thing.open? actor.tell "#{The thing} is already open." else actor.tell "You open #{the thing}." thing.open = true end end respond :open, available(Lockable) do |actor, thing| if thing.locked? actor.tell "#{The thing} is locked." else actor.proceed end end respond :open, available(Lockable, proc(&:has_lock_key?)), available do |actor, thing, key| actor.execute :unlock, thing, key actor.execute :open, thing if thing.unlocked? end interpret 'open :thing with :key', 'open :thing :key' end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gamefic-standard-3.3.0 | lib/gamefic-standard/actions/open.rb |