Okay, I'll try yours out - but I need to figure out how to fix the same nil problem that I got like the other quest script. I tried using your fix for it but it wouldn't work
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
#===============================================================================
# Quest Log System
# Author game_guy
# Version 3.0
#-------------------------------------------------------------------------------
# Intro:
# A script that keeps track of quests you obtain and complete.
#
# Features:
# Marks quest names with a yellow color if they're completed
# Easy to setup one quest
# Be able to use a fairly long description
# Be able to display a picture
# Easy to add and complete a quest
# More compatible than earlier versions
#
# Instructions:
# Scroll down a bit until you see # Being Config. Follow the instructions there.
# Scroll below that and you'll see Begin Quest Setup. Follow the steps there.
#
# Script Calls:
# Quest.add(id) ~ Adds the quest(id) to the parties quests.
# Quest.take(id) ~ Takes the quest(id) from the party.
# Quest.complete(id) ~ Makes the quest(id) completed.
# Quest.completed?(id) ~ Returns true if the quest(id) is completed.
# Quest.has?(id) ~ Returns true if the party has quest(id).
#
# Credits:
# game_guy ~ for making it
# Beta Testers ~ Sally and Landith
# Blizzard ~ Small piece of code I borrowed from his bestiary
#===============================================================================
module GameGuy
#==================================================
# Begin Config
# UsePicture ~ true means it'll show pictures in
# the quests, false it wont.
#==================================================
UsePicture = false
def self.qreward(id)
case id
#==================================================
# Quest Reward
# Use when x then return "Reward"
# x = id, Reward = reward in quotes
#==================================================
when 1 then return "100 Gold"
when 2 then return "3 Potions"
when 3 then return "Strength Ring"
end
return "????"
end
def self.qpicture(id)
case id
#==================================================
# Quest Picture
# Use when x then return "picture"
# x = id, picture = picutre name in quotes
#==================================================
when 1 then return "ghost"
end
return nil
end
def self.qname(id)
case id
#==================================================
# Quest Name
# Use when x then return "name"
# x = id, name = quest name in quotes
#==================================================
when 1 then return "Bob's Chicken"
when 2 then return "Lost My Weapon"
when 3 then return "Finding The Letter"
when 4 then return "Do You Believe in Magic"
when 5 then return "Quest For A Bowl"
when 6 then return "Quest For Quest"
when 7 then return "Rat Catcher"
when 8 then return "Baby Trouble"
when 9 then return "Monster Mother"
when 10 then return "Purity of Water"
when 11 then return "Sailor's Quest"
when 12 then return "Dangerous Passage"
when 13 then return "The Search For Hidden Treasure"
when 14 then return "Pricilla's Possession"
when 15 then return "Agilequest"
when 16 then return "Quest of the Musaph"
when 17 then return "The Urothmyte Trials"
when 18 then return "Bar Fight!"
when 19 then return "Abandoned Village"
when 20 then return "Milk Quest Part 1"
when 21 then return "Milk Quest Part 2"
when 22 then return "Milk Quest Part 3"
when 23 then return "Herbalist Dungeon"
when 24 then return "Expidition To The Danger Zone"
when 25 then return "Angel Flight"
when 26 then return "Combat Guild"
when 27 then return "Leothon's Mini-Quest"
when 28 then return "Warped Diamond"
when 29 then return "Fortune"
when 30 then return "The Mysterious Source"
end
return ""
end
def self.qlocation(id)
case id
#==================================================
# Quest Location
# Use when x then return "location"
# x = id, location = location in quotes
#==================================================
when 1 then return "Tutorial"
when 2 then return "Kirkwood Forest"
when 3 then return "Ridgeville Woods"
when 4 then return "Ridgeville Woods"
when 5 then return "Creekside"
when 6 then return "Emporia"
when 7 then return "Emporia Harbor"
when 8 then return "East Lakiki Island"
when 9 then return "East Lakiki Island"
when 10 then return "East Lakiki Island"
when 11 then return "East Lakiki Island"
when 12 then return "Lakiki Desert Dungeon"
when 13 then return "Saharan Village"
when 14 then return "Saharan Village"
when 15 then return "Swampy Marshes"
when 16 then return "Swamp"
when 17 then return "Ruins of Urothmus"
when 18 then return "Quanzfalls Tavern"
when 19 then return "Abandoned Village"
when 20 then return "Peaceful Wood"
when 21 then return "Jungle Crossover"
when 22 then return "Jungle Village"
when 23 then return "Herbalist's Realm"
when 24 then return "Paladin City"
when 25 then return "West Lakiki Island"
when 26 then return "Fairie's Woods"
when 27 then return "Combat Guild"
when 28 then return "Combat Guild"
when 29 then return "Poisonous Woods Tree Hollow"
when 30 then return "Legends Area"
end
return "????"
end
def self.qdescription(id)
case id
#==================================================
# Quest Description
# Use when x then return "description"
# x = id, description = quest description in quotes
#==================================================
when 1 then return "Kill a chicken and bring back a feather to Farmer Bob."
when 2 then return "Give the wounded adventurer his weapon back by defeating the monster who took it."
when 3 then return "Go find a letter that this man lost and give it back to him."
when 4 then return "Bring the sick girl a magic potion to heal her."
when 5 then return "Get the man a bowl by following these steps. \n\ Go North to Emporia. Go to the shop that sells blowing pipes and molten glass. Make him a bowl out of the glass."
when 6 then return "Solve the puzzle that the woman gives you. Turn the right switches to unlock the barrier to the treasure!"
when 7 then return "Get the sailor his rat that he lost somewhere in Kirkwood forest."
when 8 then return "Get the woman her baby. \n\ She lost it somewhere on Lakiki Island."
when 9 then return "Slay the beast within the woman to rid her of her angry spirit."
when 10 then return "Bring Acquatica back a bottle of pure water by killing water salamanders."
when 11 then return "Go on an adventure with the little sailor boy to unexplored lands."
when 12 then return "Try to find your way through the Desert tunnels. /n/ Watch out for boulders!"
end
return ""
end
end
module Quest
def self.add(id)
$game_party.add_quest(id)
end
def self.take(id)
$game_party.take_quest(id)
end
def self.complete(id)
$game_party.complete(id)
end
def self.completed?(id)
return $game_party.completed?(id)
end
def self.has?(id)
return $game_party.has_quest?(id)
end
end
class Game_Party
attr_accessor :quests
attr_accessor :completed
alias gg_quests_lat initialize
def initialize
@quests = []
@completed = []
gg_quests_lat
end
def add_quest(id)
unless @quests.include?(id)
@quests.push(id)
end
end
def completed?(id)
return @completed.include?(id)
end
def complete(id)
unless @completed.include?(id)
if @quests.include?(id)
@completed.push(id)
end
end
end
def has_quest?(id)
return @quests.include?(id)
end
def take_quest(id)
@quests.delete(id)
@completed.delete(id)
end
end
class Scene_Quest
def main
@quests = []
for i in $game_party.quests
@quests.push(GameGuy.qname(i))
end
@map = Spriteset_Map.new
@quests2 = []
for i in $game_party.quests
@quests2.push(i)
end
@quests.push("No Quests") if @quests.size < 1
@quests_window = Window_Command.new(160, @quests)
@quests_window.height = 480
@quests_window.back_opacity = 110
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
@quests_window.dispose
@quest_info.dispose if @quest_info != nil
@map.dispose
end
def update
@quests_window.update
if @quests_window.active
update_quests
return
end
if @quest_info != nil
update_info
return
end
end
def update_quests
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new
return
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
@quest_info = Window_QuestInfo.new(@quests2[@quests_window.index])
@quest_info.back_opacity = 110
@quests_window.active = false
return
end
end
def update_info
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@quests_window.active = true
@quest_info.dispose
@quest_info = nil
return
end
end
end
class Window_QuestInfo < Window_Base
def initialize(quest)
super(160, 0, 480, 480)
self.contents = Bitmap.new(width - 32, height - 32)
@quest = quest
refresh
end
def refresh
self.contents.clear
if GameGuy::UsePicture
pic = GameGuy.qpicture(@quest)
bitmap = RPG::Cache.picture(GameGuy.qpicture(@quest)) if pic != nil
rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil
self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil
end
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 480, 32, "Quest:")
self.contents.font.color = normal_color
self.contents.draw_text(0, 32, 480, 32, GameGuy.qname(@quest))
self.contents.font.color = system_color
self.contents.draw_text(0, 64, 480, 32, "Reward:")
self.contents.font.color = normal_color
self.contents.draw_text(0, 96, 480, 32, GameGuy.qreward(@quest))
self.contents.font.color = system_color
self.contents.draw_text(0, 128, 480, 32, "Location:")
self.contents.font.color = normal_color
self.contents.draw_text(0, 160, 480, 32, GameGuy.qlocation(@quest))
self.contents.font.color = system_color
self.contents.draw_text(0, 192, 480, 32, "Completion:")
self.contents.font.color = normal_color
if $game_party.completed.include?(@quest)
self.contents.font.color = crisis_color
self.contents.draw_text(0, 224, 480, 32, "Completed")
else
self.contents.font.color = normal_color
self.contents.draw_text(0, 224, 480, 32, "Not Started")
end
self.contents.font.color = system_color
self.contents.draw_text(0, 256, 480, 32, "Description:")
self.contents.font.color = normal_color
text = self.contents.slice_text(GameGuy.qdescription(@quest), 480)
text.each_index {|i|
self.contents.draw_text(0, 288 + i*32, 480, 32, text[i])}
end
end
class Bitmap
def slice_text(text, width)
words = text.split(' ')
return words if words.size == 1
result, current_text = [], words.shift
words.each_index {|i|
if self.text_size("#{current_text} #{words[i]}").width > width
result.push(current_text)
current_text = words[i]
else
current_text = "#{current_text} #{words[i]}"
end
result.push(current_text) if i >= words.size - 1}
return result
end
end
class Scene_Load < Scene_File
alias load_party_variables on_decision
def on_decision(filename)
load_party_variables(filename)
# Initializes quest variables to empty arrays UNLESS they are not nil to begin with
$game_party.quests ||= []
$game_party.completed ||= []
end
end
#===============================================================================
# Quest Log System
# Author game_guy
# Version 3.0
#-------------------------------------------------------------------------------
# Intro:
# A script that keeps track of quests you obtain and complete.
#
# Features:
# Marks quest names with a yellow color if they're completed
# Easy to setup one quest
# Be able to use a fairly long description
# Be able to display a picture
# Easy to add and complete a quest
# More compatible than earlier versions
#
# Instructions:
# Scroll down a bit until you see # Being Config. Follow the instructions there.
# Scroll below that and you'll see Begin Quest Setup. Follow the steps there.
#
# Script Calls:
# Quest.add(id) ~ Adds the quest(id) to the parties quests.
# Quest.take(id) ~ Takes the quest(id) from the party.
# Quest.complete(id) ~ Makes the quest(id) completed.
# Quest.completed?(id) ~ Returns true if the quest(id) is completed.
# Quest.has?(id) ~ Returns true if the party has quest(id).
#
# Credits:
# game_guy ~ for making it
# Beta Testers ~ Sally and Landith
# Blizzard ~ Small piece of code I borrowed from his bestiary
#===============================================================================
module GameGuy
#==================================================
# Begin Config
# UsePicture ~ true means it'll show pictures in
# the quests, false it wont.
#==================================================
UsePicture = false
def self.qreward(id)
case id
#==================================================
# Quest Reward
# Use when x then return "Reward"
# x = id, Reward = reward in quotes
#==================================================
when 1 then return "100 Gold"
when 2 then return "3 Potions"
when 3 then return "Strength Ring"
end
return "????"
end
def self.qpicture(id)
case id
#==================================================
# Quest Picture
# Use when x then return "picture"
# x = id, picture = picutre name in quotes
#==================================================
when 1 then return "ghost"
end
return nil
end
def self.qname(id)
case id
#==================================================
# Quest Name
# Use when x then return "name"
# x = id, name = quest name in quotes
#==================================================
when 1 then return "Bob's Chicken"
when 2 then return "Lost My Weapon"
when 3 then return "Finding The Letter"
when 4 then return "Do You Believe in Magic"
when 5 then return "Quest For A Bowl"
when 6 then return "Quest For Quest"
when 7 then return "Rat Catcher"
when 8 then return "Baby Trouble"
when 9 then return "Monster Mother"
when 10 then return "Purity of Water"
when 11 then return "Sailor's Quest"
when 12 then return "Dangerous Passage"
when 13 then return "The Search For Hidden Treasure"
when 14 then return "Pricilla's Possession"
when 15 then return "Agilequest"
when 16 then return "Quest of the Musaph"
when 17 then return "The Urothmyte Trials"
when 18 then return "Bar Fight!"
when 19 then return "Abandoned Village"
when 20 then return "Milk Quest Part 1"
when 21 then return "Milk Quest Part 2"
when 22 then return "Milk Quest Part 3"
when 23 then return "Herbalist Dungeon"
when 24 then return "Expidition To The Danger Zone"
when 25 then return "Angel Flight"
when 26 then return "Combat Guild"
when 27 then return "Leothon's Mini-Quest"
when 28 then return "Warped Diamond"
when 29 then return "Fortune"
when 30 then return "The Mysterious Source"
end
return ""
end
def self.qlocation(id)
case id
#==================================================
# Quest Location
# Use when x then return "location"
# x = id, location = location in quotes
#==================================================
when 1 then return "Arton Woods"
when 2 then return "Eeka"
when 3 then return "Eeka"
end
return "????"
end
def self.qdescription(id)
case id
#==================================================
# Quest Description
# Use when x then return "description"
# x = id, description = quest description in quotes
#==================================================
when 1 then return "Capture 10 animals and bring back the meat."
when 2 then return "Bring gold to Jarns Defense to pay her tab."
when 3 then return "Go get Kip a hunting knife from Eeka."
end
return ""
end
end
module Quest
def self.add(id)
$game_party.add_quest(id)
end
def self.take(id)
$game_party.take_quest(id)
end
def self.complete(id)
$game_party.complete(id)
end
def self.completed?(id)
return $game_party.completed?(id)
end
def self.has?(id)
return $game_party.has_quest?(id)
end
end
class Game_Party
attr_accessor :quests
attr_accessor :completed
alias gg_quests_lat initialize
def initialize
@quests = []
@completed = []
gg_quests_lat
end
def add_quest(id)
unless @quests.include?(id)
@quests.push(id)
end
end
def completed?(id)
return @completed.include?(id)
end
def complete(id)
unless @completed.include?(id)
if @quests.include?(id)
@completed.push(id)
end
end
end
def has_quest?(id)
return @quests.include?(id)
end
def take_quest(id)
@quests.delete(id)
@completed.delete(id)
end
end
class Scene_Quest
def main
@quests = []
for i in $game_party.quests
@quests.push(GameGuy.qname(i))
end
@map = Spriteset_Map.new
@quests2 = []
for i in $game_party.quests
@quests2.push(i)
end
@quests.push("No Quests") if @quests.size < 1
@quests_window = Window_Command.new(160, @quests)
@quests_window.height = 480
@quests_window.back_opacity = 110
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
@quests_window.dispose
@quest_info.dispose if @quest_info != nil
@map.dispose
end
def update
@quests_window.update
if @quests_window.active
update_quests
return
end
if @quest_info != nil
update_info
return
end
end
def update_quests
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new
return
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
@quest_info = Window_QuestInfo.new(@quests2[@quests_window.index])
@quest_info.back_opacity = 110
@quests_window.active = false
return
end
end
def update_info
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@quests_window.active = true
@quest_info.dispose
@quest_info = nil
return
end
end
end
class Window_QuestInfo < Window_Base
def initialize(quest)
super(160, 0, 480, 480)
self.contents = Bitmap.new(width - 32, height - 32)
@quest = quest
refresh
end
def refresh
self.contents.clear
if GameGuy::UsePicture
pic = GameGuy.qpicture(@quest)
bitmap = RPG::Cache.picture(GameGuy.qpicture(@quest)) if pic != nil
rect = Rect.new(0, 0, bitmap.width, bitmap.height) if pic != nil
self.contents.blt(480-bitmap.width-32, 0, bitmap, rect) if pic != nil
end
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 480, 32, "Quest:")
self.contents.font.color = normal_color
self.contents.draw_text(0, 32, 480, 32, GameGuy.qname(@quest))
self.contents.font.color = system_color
self.contents.draw_text(0, 64, 480, 32, "Reward:")
self.contents.font.color = normal_color
self.contents.draw_text(0, 96, 480, 32, GameGuy.qreward(@quest))
self.contents.font.color = system_color
self.contents.draw_text(0, 128, 480, 32, "Location:")
self.contents.font.color = normal_color
self.contents.draw_text(0, 160, 480, 32, GameGuy.qlocation(@quest))
self.contents.font.color = system_color
self.contents.draw_text(0, 192, 480, 32, "Completion:")
self.contents.font.color = normal_color
if $game_party.completed.include?(@quest)
self.contents.font.color = crisis_color
self.contents.draw_text(0, 224, 480, 32, "Completed")
else
self.contents.font.color = normal_color
self.contents.draw_text(0, 224, 480, 32, "In Progress")
end
self.contents.font.color = system_color
self.contents.draw_text(0, 256, 480, 32, "Description:")
self.contents.font.color = normal_color
text = self.contents.slice_text(GameGuy.qdescription(@quest), 480)
text.each_index {|i|
self.contents.draw_text(0, 288 + i*32, 480, 32, text[i])}
end
end
class Bitmap
def slice_text(text, width)
words = text.split(' ')
return words if words.size == 1
result, current_text = [], words.shift
words.each_index {|i|
if self.text_size("#{current_text} #{words[i]}").width > width
result.push(current_text)
current_text = words[i]
else
current_text = "#{current_text} #{words[i]}"
end
result.push(current_text) if i >= words.size - 1}
return result
end
end
Quote from: gameus on November 13, 2013, 09:22:11 am
Please do searches before making a topic. This topic is actually only 6 topics above someone asking the same thing and getting the same answer.
http://forum.chaos-project.com/index.php/topic,13579.0.html
Not to mention there have been other people requesting this same thing a few times.
when 2 then [
["Introduction to Fishing", "Fish are a source of both food and magic. Fish are caught in multiples, which allow for a more efficient source of energy."],
["Level 1 - Sardine", "Can be fished after the completion of the Rat Catcher Quest. Talk to the Captain at the Emporian Docks to get there. Requires a Fly Fishing Pole and bait."],
["Level 15 - Trout", "Can be fished in the Emporian River."],
["Level 25 - Salmon", "Requires Level 21 Combat to access the Lakiki Desert. They are found in a small oasis. \n\ Requires a Strong Fishing Pole and bait."],
["Level 35 - Lobster", "Found in a half-frozen lake in the Fairy's meadow. \n\ Requires Lobster Pot and Lobster Bait."],
["Level 45 - Shark", "Requires a Fishing scroll obtainable from Legends which requires 55 Legends to obtain. The fishing spot is located in East Emporia. \n\ Requires Harpoon, Nets, Vials of Blood, and Stabilizers for the net."],
["Level 55 - Fire Ray", "Completion of the Milk quest is required to fish these. They are located in the Jungle. \n\ Catched by hand."],
["Level 150 - Deep Sea Fishing", "Requires access to the foreign lands. \n\ Requires a Deep Sea Fishing Pole and Deep Sea Fishing bait."]
]
when 3 then [
["Introduction to Agility", "Agility is useful for accessing quick shortcuts, or even entire new locations. \n\ Agility also offers protection in combat with the increased chance of evading with every level."],
["Level 1 - Lakiki Agility Course", "Can be accessed at West Lakiki Island."],
["Level 15 - Icy Agility Course", "Ccan be accessed near the Combat guild in Fairy's meadow."],
["Level 25 - Heavenly Agility Course", "Can be found when accessing Heaven through the rainbow in East Lakiki."],
["Level 35 - Musaph Agility Course", "Can be accessed by traveling through the Swamps north of East Lakiki. \n\ Requires completion of Quest of the Musaph and 80 Legends for the Agility Scroll."],
["Level 45 - Enhanced Agility Course", "A shortcut to the Regular Musaph Agility Course opens at this level."],
["Level 80 - Mountain Agility Course", "Can be accessed through the Inpenetrable Pass."]
]
when 4 then [
["Introduction to Legend", "Legend is a skill in which you delve into dungeons and battle ferocious monsters in order to reach the final destination. \n\ The Main source for leveling Legend is through the Elemental Floors, which can be accessed by talking to the Legend master near the Combat guild in the Fairy's meadow. \n\ Leveling legend gives access to new weapons, abilities, and even areas which offer more efficient ways of making money or leveling your skills."],
["Level 1 - Earth Floor 1", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
["Level 10 - Earth Floor 2", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
["Level 20 - Water Floor 3", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
["Level 30 - Water Floor 5", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
["Level 40 - Wind Floor 6", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
["Level 50 - Wind Floor 7", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
["Level 60 - Fire Floor 8", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
["Level 70 - Fire Floor 9", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
["Level 80 - Elemental Floor 10", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
["Level 90 - Elemental Floor 11", "Can be found in the Legend Area, by talking to the Legend Master, north of the Combat guild in Fairy's meadow."],
["Level ? - World Dungeons", "World Dungeons are scattered dungeons all over the world. They vary based on Legend level and can only be raided once. After the dungeon has been defeated, it is yours to keep."],
]
when 8 then [
["Introduction to Farming", "To start farming, visit the area west of Emporia. \n\ Planting tostle seeds is a good way to raise farming at low levels. \n\ Your plants grow over-time, and when they are ready to harvest, you must go collect them. \n\ Plants have a variety of uses from helping make potions, and could be used to make bows, or planks, to build your house. \n\ The use of each plant varies."],
["Level 1 - Tostle Plant", "Can be planted in Herb Patches"],
["Level 10 - Rosemary Plant", "Can be planted in Herb Patches"],
["Level 15 - Oak Tree", "Can be planted in Tree plots. \n\ Requires Scroll of Secrets 2 to access."],
["Level 20 - Ratheford Plant", "Can be planted in Herb Patches."],
["Level 30 - Willow Tree", "Can be planted in Tree plots. \n\ Requires Scroll of Secrets 2 to access."],
["Level 35 - Mirabelle Plant", " Can be planted in Herb Patches."],
["Level 45 - Maple Tree","Can be planted in Tree plots. \n\ Requires Scroll of Secrets 2 to access."],
["Level 45 - Pumpkin", "Can be planted in a Pumpkin Patch plot."],
["Level 60 - Yew Tree","Can be planted in Tree plots. \n\ Requires Scroll of Secrets 2 to access."],
["Level 75 - Mystic Tree","Can be planted in Tree plots. \n\ Requires Scroll of Secrets 2 to access."],
["Level 100 - Halloween Tree", "Can be planted in the Halloween Tree plot."]
]
when 10 then [
["Introduction to Hunting", "Hunting can be accessed by traveling east of Creekside, and going up the Creekside waterfall. \n\ The hunting master will explain what you need to know about getting started with hunting. \n\ The tool box sells supplies which can be used for crafting Perfect skins into useful objects."],
["Level 1 - Rabbits", "Perfect Rabbit furs can be crafted into a Rabbit Hat. \n\ This offers a higher success rate when catching rabbits."],
["Level 10 - Frogs", "Perfect Frog skins can be used to create Frog-skin boots. \n\ Not only do they offer a decent accuracy bonus, but also offer a higher success rate when catching Frogs."],
["Level 15 - Seagulls", "Requires bird nets to catch, which can be purchased at the hunting tool-box. \n\ Perfect Feathers can be used in conjuction with high-tier healing potions (super, and extreme potions) to double the healing effect."],
["Level 20 - Squirrels", "Perfect Squirrel furs can be made into squirrel mitts, which offer a higher success rate when catching squirrels."],
["Level 30 - Blackbirds", "Requires bird nets to catch, which can be purchased at the hunting tool-box. \n\ Perfect Feathers can be used in conjuction with high-tier healing potions (super, and extreme potions) to double the healing effect."],
["Level 40 - Bulls", "A teasing stick, which can be found on the mountain in a crevice where the bulls live, is needed to hunt bulls. \n\ Perfect bull skins can be used to create a Bull-skin vest, which offers a lower rate of engaging combat with the bull, and a higher rate of receiving Perfect Bull skins."],
["Level 50 - Jungle Tigers", "Partial Completion of the Milk quest is needed to hunt these creatures. Their fur does not offer any advantages, but does have a very high market, making these skins very valuable."]
]
when 12 then [
["Introdction to Building", "To start off, you must purchase a house from an estate agent. \n\ The agent is located in a building shop east of the Quanzfall Outskirts and the Abandoned village. \n\ To purchase a house, you must be willing to give up 100,000 Coins. The benefits of a house are very valuable, though. \n\ These benefits include a very useful home teleport, many ways to restore oneself, a storage system, a means of teleporting to hard-to-reach areas, the ability to enhance some skills using workbenches... the list goes on."],
["Level 1 - Chair", "Offers comfort for a tired bottom."],
["Level 3 - Small Rug", "Offers beauty to your home."],
["Level 5 - Cupboard", "Items can be stored in here."],
["Level 5 - Potted Plant", "Offers beauty to your home."],
["Level 7 - Fireplace", "Can cook fish you earn from fishing. \n\ Cooked fish offer 50% bonuses."],
["Level 8 - Water Supply", "Refills any empty watering cans"],
["Level 10 - Chicken Trophy", "Shows your victory against a chicken."],
["Level 13 - Basic Carpet", "Offers beauty to your home."],
["Level 13 - Bed", "Restores your health to full."],
["Level 15 - Table", "This works as a workbench. You may make empty watering cans which can be filled with a Water supply, which offer double farming produce, or Fishing orbs, which offer double fishing catch. Both items can be made out of clay as well."],
["Level 16 - Medium Rug", "Offers beauty to your home."],
["Level 16 - Majestic Chair", "Offers comfort for a tired bottom. \n\ Unlocks a new teleport."],
["Level 20 - Zombie Trophy", "Shows your victory against a zombie."],
["Level 20 - Plank Table", "Useful for turning logs into planks."],
["Level 22 - Simple Portal", "Used for teleporting to certain locations."],
["Level 24 - Large Rug", "Offers beauty to your home."],
["Level 24 - Ornate Bed", "Restores your health and magic to full."],
["Level 26 - Ornate Plant", "Offers beauty to your home."],
["Level 28 - Magic Carpet", "Used as a walk-way to your throne."],
["Level 30 - Dragon Trophy", "Shows your victory against a dragon."],
["Level 32 - Marble Fireplace", "Can cook fish you earn from fishing. \n\ Cooked fish offer 50% bonuses."],
["Level 34 - Throne", "Offers comfort for a tired bottom. \n\ Unlocks a new teleport."],
["Level 34 - Enhanced Portal", "Used for teleporting to a variety of locations."],
["Level 46 - Ornate Portal", "Used for teleporting to a wide variety of locations."],
["Level 54 - Emperial Throne", "Offers comfort for a tired bottom. \n\ Unlocks a new teleport."],
["Level 58 - Intricate Obelisk", "Only used after completion of the Milk Quest. \n\ Fragments can be used in conjunction with this obelisk to obtain very strong armour."],
["Level 60 - Backyard", "Unlocks a backyard with a new Herb farming patch."]
]
when 13 then [
["Introduction to Plundering", "Plundering is a story-driven skill. \n\ You team up with some thiefs to gain the respect of the Saharan Town's royalty to be let into the castle. \n\ To begin plundering, completion of the Dangerous passage quest is required. \n\ This quest can be started in the Lakiki Desert which requires 21 Combat to access, and traveling North into a cave with menacing boulders."],
["Level 1 - Civilians", "Offers no more than 100 Coins."],
["Level 10 - Farmers", "Offers a variety of Herb and Tree seeds."],
["Level 16 - Intern Rogues", "Offers up to 5,000 Coins."],
["Level 20 - Intern Guard", "Offers up to 8,000 Coins."],
["Level 30 - Guard", "Offers a variety of swords from Bronze to Fire."],
["Level 30 - Picklocking the Castle Door", "Offers entry to the Saharan Castle."],
["Level 32 - Chest", "Offers up to 20,000 Coins."],
["Level 40 - Nobles", "Offers up to 65,000 Coins."],
["Level 52 - Legend", "Offers a variety of Legend items \n\ Requires a Legend level of 90 to steal from."]
]
when 14 then [
["Introduction to Rogue", "Rogue is a combat-oriented skill in which a rogue master assigns you tasks which you can complete based on your combat and rogue level. \n\ Rogue monsters have potentially valuable drops, which increase in value with each rogue monster. \n\ Higher-level rogue masters offer more difficult, but more rewarding tasks."],
["Level 1 - Muck Rogue Master", "Can be reached in the outskirts of Quanzfalls in a little shack."],
["level 15 - White Wolf", "This monsters is located in Muck's dungeon."],
["Level 25 - Samadaen", "This monster is located in Muck's dungeon."],
["Level 35 - Mucaeous", "This monster is located in Muck's dungeon."],
["Level 45 - Aberstyne Wolf", "This monster is located in to the East of Muck's Shack."],
["Level 60 - Nes Rogue Master", "Can be reached to the south-west of the location of Aberstyne wolves. \n\ He lives in a giant oak tree. \n\ His tasks are considerably more difficult and lengthier. \n\ Only recommended for those who truly enjoy rogue."],
["Level 60 - Maelstrom", "This monster is located south-west of Nes's oak tree. \n\ They are located in a small dungeon."],
["Level 65 - Soulless Wolf", "This monster can be reached by accessing Nes's rogue dungeon. \n\ A lantern is required for this task."],
["Level 70 - Pheonixus", "This monster is very powerful, and located underneath Nes's oak tree, in a dungeon far below ground level. \n\ A lantern is required for this task."],
["Level 75 - Vellixum", "This monster can be reached by entering a crevice in the Paladin's Fireplace in Paladin City."],
["Level 80 - Rochet", "This monster is located in the Fortmaster's camp in a small dungeon. \n\ Partial completion of the Milk Quest is necessary to access this dungeon."],
["Level 90 - Breugus", "This monster can be accessed by heading West of Lakiki Island and entering an area with a circle of stones. \n\ North-east is where the dungeon is located. \n\ A high agility level would help considerably to cross the blazing lava to reach these monsters."],
["Level 100 - Musaphus Rogue Master", "This rogue master is accessed by hopping onto a floating log on a river located South-East of where the Aberstyne wolves live. \n\ A requirement of Level 100 Agility is needed to use this log to reach Tenebris forest, where you can access rogue tasks. \n\ These rogue tasks are very difficult, and are not recommended for anyone under Level 150 Combat."]
]
when 15 then [
["Introduction to Scroll-Making", "Scroll-Making is a skill in which you must use Papyrus scrolls purchasable through Scroll salesmen, and use these scrolls on certain obelisks to infuse them with magical abilities. \n\ Papyrus costs 1,000 Coins each, and the first salesman is located in the outskirts of Quanzfalls."],
["Level 1 - Light Healing Scrolls", "This obelisk is located East of the first salesman, and east of the Abandoned village, and south of the Fortmaster's Camp. \n\ This scroll can be used for small healing, or healing-over-time in battle."],
["Level 5 - Slash Scrolls", "This obelisk is located in the swamp, North of East Lakiki Island. \n\ This scroll offers a magical ability to damage all of your opponents in combat."],
["Level 10 - Crush Scrolls", "This obelisk is located in the Saharan Desert. \n\ Completion of the Dangerous Passage Quest is required to access this obelisk. \n\ This scroll offers a magical ability to damage all of your opponents in combat."],
["Level 15 - Aberstyne Scrolls", "This obelisk is located South-East of where Aberstyne wolves live. \n\ This scroll offers a teleport near the Aberstyne obelisk."],
["Level 20 - Holarian Scrolls", "This obelisk is located in Quanzfalls. \n\ This scroll offers the ability to heal yourself for 400 Health, while wearing a Holarian Staff."],
["Level 20 - Urothmus Scrolls", "This obelisk is located South of Quanzfalls, in the Webycium Cave. \n\ This scroll offers the ability to damage all opponents in combat for very high damage, while wearing an Urothmus Staff."],
["Level 35 - Arabellus Scrolls", "This oeblisk is located in Paladin City \n\ This scroll offers the ability to enhance your agility potions to make them offer you every more walking speed. (This reverts back to normal once you have teleported)."],
["Level 35 - Scroll-Making Guild", "This Guild is located South-West of the large Quanzfalls outskirts. \n\ Here you can level your Scroll-Making through little games like alchemy, teleportation, and mazes. \n\ With your points you earn, you can purchase new ways to train scroll-making, or items that could enhance your magical abilities."],
["Level 40 - Vitrum Scrolls", "This obelisk is located South-East of the Aberstyne Wolves, and South of the large oak tree. \n\ This scroll offers the ability to make special-herb potions in multiples of 10, rather than one by one."]
]
when 16 then [
["Introduction to Herbalism", "Herbalism is a skill which uses special herbs in order to make potions with special enhancements. \n\ These enhancements range from a boost in accuracy to a boost in strength to even a boost in health. \n\ With the increase of your herbalism, you can make more powerful versions of the basic concoctions."],
["Level 1 - Clean Guoren", "Cleans a Guoren Herb."],
["Level 1 - Accuracy Potion", "Requires a Guoren Mixture + Tostle Substance"],
["Level 5 - Melanose", "Cleans a Melanose Herb."],
["Level 5 - Agility potion", "Requires a Melanose Mixture + Aqueous Berries \n\ Aqueous Berries can be found in a cavern south of Lakiki Island in the water."],
["Level 10 - Pelepanose", "Cleans a Pelepanose Herb."],
["Level 10 - Magical Defense Potion", "Requires a Pelepanose Mixture + Rosemary Substance"],
["Level 15 - Ferfella", "Cleans a Ferfella Herb."],
["Level 15 - Magical Potion", "Requires a Ferfella Mixture + Ferrore \n\ Ferrore can be obtained by talking to a farmer in the outskirts of Quanzfalls."],
["Level 20 - Reganose", "Cleans a Reganose Herb."],
["Level 20 - Physical Defense Potion", "Requires a Reganose Mixture + Mirabelle Substance"],
["Level 35 - Enhanced Accuracy Potion", "Requires a Guoren Mixture + Desert Root \n\ Desert Root can be bought from at the Foreign lands."],
["Level 40 - Enhanced Agility Potion", "Requires a Melanose Mixture + Enchanted Bark \n\ Enchanted Bark can be bought from at the Foreign lands."],
["Level 45 - Enchanted Magical Defense Potion", "Requires a Peleanose Mixture + Cinnamon \n\ Cinnamon can be bought from at the Foreign lands."],
["Level 50 - Enchanted Magical Potion", "Requires a Ferfella Mixture + Enchanted Grain \n\ Enchanted Grain can be bought from at the Foreign lands."],
["Level 55 - Enchanted Physical Defense Potion", "Requires a Reganose Mixture + Lilac Flower \n\ Lilac Flower can be bought from at the Foreign lands."]
]
when 20 then [
["Introduction to Holyness", "Holyness is a skill involving freeing the gods. Ferrous, the god that rose to power from human, took advantage of his power and banished Urothmus and Holaria into another realm. \n\ You must read messages that the gods are sending to you as Soul Sprites. \n\ Messages vary in complication, and to decipher these higher-tier messages, your must increase your understanding through leveling your Holyness. \n\ To start training, you must pay the hooded Ferrous guard to allow you entry to a sacred area in the Ridgeville woods."],
["Level 1 - Light Energy Portal", "This portal is located North of the Ridgeville Woods"],
["Level 10 - Healing Energy Portal", "This portal is located on Lakiki Island"],
["level 20 - Destructive Energy Portal", "This portal is located in the Ruins of Urothmus, North of Quanzfalls."],
["Level 30 - Dense Energy Portal", "This portal is located in the Jungle. \n\ Partial completion of the Milk Quest is required to access this area."],
["Level 40 - Combusting Energy Portal", "This portal is located in Paladin City."],
]
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# Drawing Info on Screen
#--------------------------------------------------------------------------
def refresh
self.contents.clear
x = 32
y = 144
SS_Config::ACTORS_REPRESENTING_SKILLS.each_index{|i|
side_skill = $game_actors[SS_Config::ACTORS_REPRESENTING_SKILLS[i]]
draw_actor_graphic(side_skill, x + (i%2)*230, y + i * 26)
draw_actor_level(side_skill, x + (i%2)*250, y + i * 26 - 48)
draw_actor_exp(side_skill, x + (i%2)*230 + 30, y + i * 26 - 32, 180)
}
self.contents.draw_text(232, 64, 160, 32, "Total Level: ")
self.contents.draw_text(232, 64, 160, 32, $game_player.total_levels.to_s, 2)
actor = $game_party.actors[0]
draw_actor_graphic(actor, 32, 65)
draw_actor_name(actor, 74, 0)
draw_actor_level(actor, 232, 16)
draw_actor_state(actor, 285, 13)
draw_actor_exp(actor, 232, 40)
draw_actor_hp(actor, 74, 16)
draw_actor_sp(actor, 74, 40)
end
end