Sha256: 4e7b5924bc2e377e990d807823c7fb7f41c7dbb62e035cdb63c75fbc0eabe2d1
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
# frozen_string_literal: true module Gamefic module Standard module Actions module Pronouns extend Gamefic::Scriptable introduction do |actor| actor[:standard_pronoun_targets] = [] end after_action do |action| next unless action.verb action.actor[:standard_pronoun_targets].replace action.arguments.that_are(Thing) end meta nil, plaintext do |actor, string| keywords = string.keywords list = actor.epic.synonyms next actor.proceed unless list.include?(keywords.first&.to_sym) xlation = keywords[1..].map do |word| next word unless %w[him her it them].include?(word) actor[:standard_pronoun_targets].find { |obj| obj.objective == word } end next actor.proceed if xlation.any?(&:nil?) || xlation.that_are(Thing).empty? actor.perform "#{keywords[0].to_sym} #{xlation.join(' ')}" end 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/pronouns.rb |