gamefic-standard 3.2.0 → 3.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93e0b9232ad79263ae86444d04d4c9a4fefa4f1b4502d2fcb8275263fc6a9401
4
- data.tar.gz: 0fcd39f5dbdd99d94fd9525d188e29ada3d89d0545e6dc2455d695e5faf060ea
3
+ metadata.gz: 5b0c82ed182ca48a25af31d675e7a661d2956403c56ffbe74a1f88ded22ab667
4
+ data.tar.gz: 7f7a7c1d1ef4eb12d1f41fa8e004e2ca92833ba2b4583bf0bcd9ac6d9df63ae4
5
5
  SHA512:
6
- metadata.gz: 8d500f2938e3475dea1e00c926b3dcec159ba76565c435f8590a317a316883b3c5ad2e7a8e01dc26eff1f9393680af8c925db42e26e57ba2d31aebcf2c5b3071
7
- data.tar.gz: 34bb09d0c1a814c6e2f6febc04a1e8b959b78d8b0a1a17ffb42477ba110f4880ff24707f62255cc9c73c6602476d63abb79d496d79dafe394d3af3b6d4a36389
6
+ metadata.gz: fc01bbb87e5631b207b152611eed41449279ee4f25f99e5897855aaf6ffd9e558bdbc056f68c7bd48f96ec8169b891480442f1b2f0e5a8115a4466efba9bdfc8
7
+ data.tar.gz: 3e090e4e91037020f9b3956f5d864be29ab0e97bebd8b813c684ca111f3234d24407c952ac324f801c1bedc79db56655018a9df905da5ab8ff5d46e9c18b0b92
data/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
- ## 3.2.0
1
+ ## 3.2.1 - July 23, 2024
2
+ - Help actions are meta
3
+ - Ignore empty commands
4
+
5
+ ## 3.2.0 - July 10, 2024
2
6
  - Recognize pronouns in commands
3
7
 
4
8
  ## 3.1.0 - April 8, 2024
@@ -3,7 +3,7 @@
3
3
  module Gamefic
4
4
  module Standard
5
5
  script do
6
- respond :verbs do |actor|
6
+ meta :verbs do |actor|
7
7
  list = rulebook.synonyms.reject { |syn| syn.to_s.start_with?('_') }
8
8
  .map { |syn| "<kbd>#{syn}</kbd>"}
9
9
  .join_and
@@ -15,7 +15,7 @@ module Gamefic
15
15
  interpret 'commands', 'verbs'
16
16
  interpret 'help', 'verbs'
17
17
 
18
- respond :help, plaintext do |actor, command|
18
+ meta :help, plaintext do |actor, command|
19
19
  if rulebook.synonyms.include?(command.to_sym) && !command.start_with?('_')
20
20
  available = rulebook.syntaxes.select { |syntax| syntax.synonym == command.to_sym }
21
21
  .uniq(&:signature)
@@ -1,5 +1,7 @@
1
1
  Gamefic::Standard.script do
2
2
  meta nil, plaintext do |actor, string|
3
+ next if string.strip.empty?
4
+
3
5
  words = string.keywords
4
6
  list = actor.epic.synonyms
5
7
  if list.include?(words[0]&.to_sym)
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # An entity that provides access from one room to another.
4
+ #
3
5
  class Portal < Thing
4
6
  # @return [Gamefic::Entity]
5
7
  attr_accessor :destination
@@ -19,6 +21,7 @@ class Portal < Thing
19
21
  # @return [Room, nil]
20
22
  def reverse
21
23
  return nil if destination.nil?
24
+
22
25
  destination.children.that_are(Portal).find do |portal|
23
26
  portal.destination == parent
24
27
  end
@@ -30,7 +33,7 @@ class Portal < Thing
30
33
  end
31
34
 
32
35
  def name
33
- @name || (direction.nil? ? destination.name : direction.name)
36
+ @name || direction&.name || destination.name
34
37
  end
35
38
 
36
39
  def instruction
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Gamefic
4
4
  module Standard
5
- VERSION = '3.2.0'
5
+ VERSION = '3.2.1'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gamefic-standard
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fred Snyder
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-10 00:00:00.000000000 Z
11
+ date: 2024-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gamefic