From b75a7823436f2ad424fcb82e2760e872d303c1d0 Mon Sep 17 00:00:00 2001 From: Major- Date: Fri, 14 Feb 2014 23:10:01 +0000 Subject: [PATCH] Update lookup plugin to use entity-spawning plugin instead of duplicating code. --- data/plugins/cmd-lookup/lookup.rb | 25 +++++++------------------ data/plugins/cmd-lookup/plugin.xml | 4 +++- 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/data/plugins/cmd-lookup/lookup.rb b/data/plugins/cmd-lookup/lookup.rb index 170c7cc4..6192661c 100644 --- a/data/plugins/cmd-lookup/lookup.rb +++ b/data/plugins/cmd-lookup/lookup.rb @@ -8,21 +8,21 @@ java_import 'org.apollo.game.model.def.ObjectDefinition' on :command, :lookup, RIGHTS_ADMIN do |player, command| args = command.arguments.to_a unless args.length > 1 - player.send_message("Invalid syntax - ::lookup [npc/object/item] [name]") + player.send_message('Invalid syntax - ::lookup [npc/object/item] [name]') return end type = args.shift.downcase - name = args.join(" ").downcase + name = args.join(' ').downcase if ['npc', 'object', 'item'].index(type) == nil - player.send_message("Invalid syntax - ::lookup [npc/object/item] [name]") + player.send_message('Invalid syntax - ::lookup [npc/object/item] [name]') return end - ids = locate_entity(type, name).join(" ") + ids = locate_entity(type, name).join(", ") - message = ids.empty? ? "Could not find an #{type} called #{name}." : "Possible ids are: #{ids}" + message = ids.empty? ? "Could not find an #{type} called #{name}." : "Possible ids are: #{ids}." player.send_message(message) end @@ -30,14 +30,14 @@ end on :command, :iteminfo, RIGHTS_ADMIN do |player, command| args = command.arguments unless args.length == 1 - player.send_message("Invalid syntax - ::iteminfo [item id]") + player.send_message('Invalid syntax - ::iteminfo [item id]') return end id = args[0].to_i definition = ItemDefinition.lookup(id) - members = definition.is_members_only ? "members" : "not members" + members = definition.is_members_only ? 'members' : 'not members' player.send_message("Item #{id} is called #{definition.name}, is #{members} only, and has a team of #{definition.team}.") player.send_message("Its description is \"#{definition.description}\".") end @@ -56,15 +56,4 @@ on :command, :npcinfo, RIGHTS_ADMIN do |player, command| is_combative = definition.has_combat_level ? "has a combat level of #{definition.combat_level}" : "does not have a combat level" player.send_message("Npc #{id} is called #{definition.name} and #{is_combative}.") player.send_message("Its description is \"#{definition.description}\".") -end - -# Locates an entity with the specified type (e.g. npc) and name, returning possible ids as an array. -def locate_entity(type, name, limit=5) - ids = [] - name.downcase! - Kernel.const_get("#{type.capitalize}Definition").definitions.each do |definition| - break if ids.length == limit - ids << definition.id.to_i if definition.name.to_s.downcase == name - end - return ids end \ No newline at end of file diff --git a/data/plugins/cmd-lookup/plugin.xml b/data/plugins/cmd-lookup/plugin.xml index 8c191ce6..25bcbfdf 100644 --- a/data/plugins/cmd-lookup/plugin.xml +++ b/data/plugins/cmd-lookup/plugin.xml @@ -10,5 +10,7 @@ - + + entity-spawning + \ No newline at end of file