mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-03 08:39:11 +00:00
48 lines
1.3 KiB
Ruby
48 lines
1.3 KiB
Ruby
require 'java'
|
|
|
|
java_import 'org.apollo.game.model.Animation'
|
|
|
|
# The hash of fishing tool names to Tools.
|
|
FISHING_TOOLS = {}
|
|
|
|
# A fishing tool.
|
|
class Tool
|
|
attr_reader :id, :bait, :animation, :message, :name
|
|
|
|
# Creates the tool.
|
|
def initialize(id, bait=[], animation, message)
|
|
@id = id
|
|
@bait = bait
|
|
@animation = Animation.new(animation)
|
|
@message = message
|
|
|
|
@name = name_of(:item, id)
|
|
end
|
|
|
|
end
|
|
|
|
|
|
private
|
|
|
|
# Appends a tool with the specified name to the hash.
|
|
def append_tool(name, tool)
|
|
FISHING_TOOLS[name] = tool
|
|
end
|
|
|
|
HARPOON_ANIMATION_ID = 618
|
|
CAGE_ANIMATION_ID = 619
|
|
NET_ANIMATION_ID = 620
|
|
ROD_ANIMATION_ID = 622
|
|
|
|
# TODO The other feathers that can be used
|
|
FISHING_ROD_BAIT = [ 313 ]
|
|
FLY_FISHING_ROD_BAIT = [ 314 ]
|
|
|
|
append_tool(:lobster_cage, Tool.new(301, CAGE_ANIMATION_ID, 'You attempt to catch a lobster...'))
|
|
append_tool(:small_net, Tool.new(303, NET_ANIMATION_ID, 'You cast out your net...'))
|
|
append_tool(:big_net, Tool.new(305, NET_ANIMATION_ID, 'You cast out your net...'))
|
|
append_tool(:harpoon, Tool.new(311, HARPOON_ANIMATION_ID, 'You start harpooning fish...'))
|
|
|
|
append_tool(:fishing_rod, Tool.new(307, FISHING_ROD_BAIT, ROD_ANIMATION_ID, 'You attempt to catch a fish...'))
|
|
append_tool(:fly_fishing_rod, Tool.new(309, FLY_FISHING_ROD_BAIT, ROD_ANIMATION_ID, 'You attempt to catch a fish...'))
|