mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-03 16:49:11 +00:00
45 lines
1.2 KiB
Ruby
45 lines
1.2 KiB
Ruby
require 'java'
|
|
|
|
java_import 'org.apollo.cache.def.ItemDefinition'
|
|
java_import 'org.apollo.cache.def.NpcDefinition'
|
|
java_import 'org.apollo.cache.def.ObjectDefinition'
|
|
|
|
# Checks whether the amount of arguments provided is correct, sending the player the specified
|
|
# message if not.
|
|
def valid_arg_length(args, length, player, message)
|
|
valid = length.is_a?(Range) ? length.include?(args.length) : length == args.length
|
|
|
|
player.send_message(message) unless valid
|
|
valid
|
|
end
|
|
|
|
# Returns the name of the Object, Npc, or Item with the specified id.
|
|
def name_of(type, id)
|
|
types = [:object, :item, :npc]
|
|
unless types.include?(type)
|
|
fail "Invalid type of #{type} specified, must be one of #{types}"
|
|
end
|
|
|
|
Kernel.const_get("#{type.capitalize}Definition").lookup(id).name.to_s
|
|
end
|
|
|
|
# Monkey-patches Hash to add a has_keys? method.
|
|
class Hash
|
|
|
|
def has_keys?(*keys)
|
|
keys.all? { |key| self.key?(key) }
|
|
end
|
|
|
|
end
|
|
|
|
# Monkey-patches Player to add a hash_level? method.
|
|
class Player
|
|
|
|
# Returns whether or not the player's current level is greater than or equal to the specified
|
|
# level.
|
|
def level?(skill, level)
|
|
skill_set.get_skill(skill).current_level >= level
|
|
end
|
|
|
|
end
|