Sha256: 93380f98704afdf06e33d3dc0a01121cbc3601d9f2263c8de81c251da54401a7
Contents?: true
Size: 840 Bytes
Versions: 5
Compression:
Stored size: 840 Bytes
Contents
# frozen_string_literal: true Gamefic::Standard.script do 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| Grammar::Pronoun.objective(obj) == word } end next actor.proceed if xlation.any?(&:nil?) || xlation.that_are(Thing).empty? actor.perform "#{keywords[0].to_sym} #{xlation.join(' ')}" end end
Version data entries
5 entries across 5 versions & 1 rubygems