diff --git a/lib/aethyr/core/actions/command_action.rb b/lib/aethyr/core/actions/command_action.rb index c037006fc8b327163ba975a08ab96de957c2cb9a..671e02268458a629dfc70f67492a980231ecca3d 100644 --- a/lib/aethyr/core/actions/command_action.rb +++ b/lib/aethyr/core/actions/command_action.rb @@ -7,6 +7,16 @@ module Aethyr super(**data) @player = actor end + + #Looks in player's inventory and room for name. + #Then checks at global level for GOID. + def find_object(name, event) + if event[:player].nil? + return $manager.find(name, nil) || $manager.get_object(name) + else + return $manager.find(name, event[:player]) || $manager.find(name, event[:player].container) || $manager.get_object(name) + end + end end end end diff --git a/lib/aethyr/core/help/help_library.rb b/lib/aethyr/core/help/help_library.rb index e09f115876b84e64439ab6fa33fa1a563e2ab697..747b32d19b23f05c6597dac1445df80ed7a0607e 100644 --- a/lib/aethyr/core/help/help_library.rb +++ b/lib/aethyr/core/help/help_library.rb @@ -30,6 +30,9 @@ module Aethyr def render_topic(topic) redirected_from = "" entry = lookup_topic(topic) + + return "Topic #{topic} has no entry, try help with no arguments" if entry.nil? + while entry.redirect? do redirected_from = "→ redirected from #{topic}\n\n" if redirected_from.empty? entry = lookup_topic(entry.redirect) diff --git a/lib/aethyr/core/input_handlers/admin/admin_handler.rb b/lib/aethyr/core/input_handlers/admin/admin_handler.rb index e1a4f345f0f813a72b16f030fe12721ccd768349..fd09973c22059ced1d45a4a5419410bcdb63774b 100644 --- a/lib/aethyr/core/input_handlers/admin/admin_handler.rb +++ b/lib/aethyr/core/input_handlers/admin/admin_handler.rb @@ -24,13 +24,6 @@ module Aethyr output << "(#{output.length} lines shown.)" end - - #Looks in player's inventory and room for name. - #Then checks at global level for GOID. - def find_object(name, event) - $manager.find(name, event[:player]) || $manager.find(name, event[:player].container) || $manager.get_object(name) - end - end end end