Poll
Question:
Choose your favorite resources! 26 votes!
Option 1: Three Pretty Gifts (icon set)
votes: 4
Option 2: Futuristic Gunz (icon set)
votes: 4
Option 3: Starfyre (song track)
votes: 4
Option 4: Organic Heights (song track)
votes: 4
Option 5: Frozen (song track)
votes: 7
Option 6: Nocturne No. 2 (song track)
votes: 5
Option 7: Nocturne No. 4 (song track)
votes: 6
Option 8: Vigil (song track)
votes: 5
Option 9: Whiten Target Enemy (script)
votes: 5
Option 10: Shopping Item Variance (script)
votes: 3
Option 11: ATS: Special Message Codes (script)
votes: 4
Option 12: Website Launch from Title (script)
votes: 4
Option 13: Icon Hues (script)
votes: 3
Option 14: Drop Options (script)
votes: 3
Option 15: Female Knight Faceset
votes: 2
Option 16: Male Knight Portrait
votes: 3
Option 17: Male Knight Faceset
votes: 2
Option 18: Priestess Portrait
votes: 2
Option 19: Priestess Faceset
votes: 2
Option 20: Naia Faceset 1
votes: 1
Option 21: Naia Faceset 2
votes: 1
Option 22: Naia Cut-In 1
votes: 4
Option 23: Naia Cut-In 2
votes: 2
Option 24: Elicia Faceset 1
votes: 1
Option 25: Elicia Faceset 2
votes: 2
Option 26: Elicia Cut-In 1
votes: 4
Option 27: Elicia Cut-In 2
votes: 2
Option 28: Terrence Cut-In 1
votes: 3
Option 29: Unnamed Cut-In 1
votes: 4
Option 30: Unnamed Cut-In 2
votes: 2
Option 31: Yuyubabe Charset (sprite)
votes: 4
Option 32: Dark Cyrus (sprite)
votes: 2
Option 33: Ralph Battler
votes: 2
Option 34: Goddess Battler
votes: 3
The second day of resources!
This is the second poll in the Twelve Days of Resources contest. For this contest, we had people submit a total of 42 RPG Maker resources for everyone to enjoy and use as they wish. Then, every day for eleven days, we'll hold polls for people to vote for all of their favorite resources. The ones with the top votes will be included in the next day's polls, while the ones with less votes are voted off the island removed from the future polls. By the end of the eleventh poll, we'll then give out awards for best pixel art, best portrait art, best scripting, and best music, before setting up the final twelfth poll for one last vote for your favorite out of all of them!
Eight from yesterday have been removed, giving you 34 resources to use your 26 votes on. This first few days will probably have too many good ones for you to really decide on, but as the polls winding down the numbers, things will start getting a lot more suspenseful! Good luck to all of our contestants, and everyone have a Merry Christmas!
[spoiler=Submitted Resources Part 1]
Three Pretty Gifts by Gracie
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FwmprA.png&hash=2918f7a8d199e58ec9047dca366e0658a9eff665)
Futuristic Gunz by IAMFORTE
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2F7YT6S.png&hash=d35bc1674d44b5ce784a6a337cf8dcd18a3f277c)
Starfyre by Malson
[mp3]http://k002.kiwi6.com/hotlink/349kc74y01/starfyre.mp3[/mp3]
Organic Heights by Irock
[mp3]http://k002.kiwi6.com/hotlink/wxbl7v08s4/organic_heights.mp3[/mp3]
Frozen by HaloOfTheSun
[mp3]http://k002.kiwi6.com/hotlink/76g67k2j3o/frozen.mp3[/mp3]
Nocturne No. 2 by Pacman
[mp3]http://k002.kiwi6.com/hotlink/lz4wttrdzd/nocturne_no_2.mp3[/mp3]
Nocturne No. 4 by Pacman
[mp3]http://k002.kiwi6.com/hotlink/7iiaghrmx8/nocturne_no_4.mp3[/mp3]
Vigil by Malson
[mp3]http://k002.kiwi6.com/hotlink/91hguq5jvy/vigil.mp3[/mp3]
Whiten Target Enemy by cozziekuns
#===============================================================================
# Whiten Target Enemy
#-------------------------------------------------------------------------------
# Version: 1.0
# Author: cozziekuns (rmrk)
# Last Date Updated: 12/04/2011 (MM/DD/YYYY)
#===============================================================================
# Description:
#-------------------------------------------------------------------------------
# Changes the targeting system to include the whitening of the enemy, and the
# potential to remove the targeting window.
#===============================================================================
# Updates
# ------------------------------------------------------------------------------
# o 12/04/2011 - Started Script
#===============================================================================
# To-do List
#-------------------------------------------------------------------------------
# o Nothing! Suggest some features.
#===============================================================================
# Instructions
#-------------------------------------------------------------------------------
# Copy and paste this script above Main but below Materials, and edit the
# modules to your liking.
#===============================================================================
module COZZIEKUNS
module ENEMY_WHITEN
HIDE_TARGETENEMY_WINDOW = true # Whether or not you want to hide the enemy
# targeting window with all the target names
end
end
#==============================================================================
# ** Window_EnemyHelp
#==============================================================================
class Window_EnemyHelp < Window_Help
#----------------------------------------------------------------------------
# * Object Initialization
#----------------------------------------------------------------------------
def initialize(line_number = 1)
super
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
contents.clear
contents.draw_text(4, 0, 544, 24, @text, 1)
end
end
#==============================================================================
# ** Window_BattleEnemy
#==============================================================================
class Window_BattleEnemy < Window_Selectable
#----------------------------------------------------------------------------
# * Object Initialization
#----------------------------------------------------------------------------
alias coz_enemyflash_wbe_initialize initialize
def initialize(*args)
coz_enemyflash_wbe_initialize(*args)
@hidden = true
end
#----------------------------------------------------------------------------
# * Frame Update
#----------------------------------------------------------------------------
def update
super
if enemy
enemy.sprite_effect_type = :whiten if active
if @hidden and COZZIEKUNS::ENEMY_WHITEN::HIDE_TARGETENEMY_WINDOW
self.visible = false
@info_viewport.rect.width = Graphics.width if @info_viewport
end
@help_window.set_text(enemy.name)
end
end
if COZZIEKUNS::ENEMY_WHITEN::HIDE_TARGETENEMY_WINDOW
#----------------------------------------------------------------------------
# * Cursor Down
#----------------------------------------------------------------------------
def cursor_down(*args)
end
#----------------------------------------------------------------------------
# * Cursor Up
#----------------------------------------------------------------------------
def cursor_up(*args)
end
#--------------------------------------------------------------------------
# * Cursor Right
#--------------------------------------------------------------------------
def cursor_right(*args)
select((index + 1) % item_max)
end
#--------------------------------------------------------------------------
# * Cursor Left
#--------------------------------------------------------------------------
def cursor_left(*args)
select((index - 1 + item_max) % item_max)
end
end
#----------------------------------------------------------------------------
# * Show Window
#----------------------------------------------------------------------------
alias coz_enemyflash_wbe_show show
def show
@help_window.show
coz_enemyflash_wbe_show
end
#----------------------------------------------------------------------------
# * Hide Window
#----------------------------------------------------------------------------
alias coz_enemyflash_wbe_hide hide
def hide
@help_window.hide
coz_enemyflash_wbe_hide
end
end
#==============================================================================
# ** Scene_Battle
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# * Create Enemy Window
#--------------------------------------------------------------------------
alias coz_enemyflash_sb_create_enemy_window create_enemy_window
def create_enemy_window
coz_enemyflash_sb_create_enemy_window
@enemy_window.help_window = Window_EnemyHelp.new
@enemy_window.help_window.visible = false
end
#--------------------------------------------------------------------------
# * Select Enemy Selection
#--------------------------------------------------------------------------
alias coz_enemyflash_sb_select_enemy_selection select_enemy_selection
def select_enemy_selection
@skill_window.visible = false
@skill_window.help_window.visible = false
@item_window.visible = false
@item_window.help_window.visible = false
coz_enemyflash_sb_select_enemy_selection
end
#--------------------------------------------------------------------------
# * On Enemy Cancel
#--------------------------------------------------------------------------
alias coz_enemyflash_sb_on_enemy_cancel on_enemy_cancel
def on_enemy_cancel
case @actor_command_window.current_symbol
when :skill
@skill_window.visible = true
@skill_window.help_window.visible = true
when :item
@item_window.visible = true
@item_window.help_window.visible = true
end
coz_enemyflash_sb_on_enemy_cancel
end
end
Shopping Item Variance by cozziekuns
#==============================================================================
# ** Shopping Item Variance
#-------------------------------------------------------------------------------
# Version: 1.0
# Author: cozziekuns (rmrk)
# Last Date Updated: 12/06/2011 (MM/DD/YYYY)
#===============================================================================
# Description:
#-------------------------------------------------------------------------------
# Changes the shopping system to account for Modern Algebra's lovely script,
# Item Instances Base, by allowing multiple instances of items to be shown in
# a shop at a given time, giving the player knowledge of which items are above
# average and allowing for an easy picking of said item.
#===============================================================================
# Updates
# ------------------------------------------------------------------------------
# o 12/06/2011 - Started Script
#===============================================================================
# To-do List
#-------------------------------------------------------------------------------
# o Nothing! Suggest some features.
#===============================================================================
# Instructions
#-------------------------------------------------------------------------------
# Copy and paste this script above Main but below Materials, and edit the
# modules to your liking.
#===============================================================================
module COZZIEKUNS
module SIV
NUMBER_OF_ITEMS = [4, 6] # Min and max number of items of an item in the
# store at one time
REMOVE_ON_PURCHASE = true # Remove the item stock on purchase
end
end
#==============================================================================
# ** RPG::BaseItem
#==============================================================================
class RPG::BaseItem
MA_INSTANCE_CHECKS.push (/\\SHOP_NUMBER\[\d+\]/i)
#--------------------------------------------------------------------------
# * Shop Number
#--------------------------------------------------------------------------
def shop_number
unless @shop_number
@shop_number = 0
@shop_number = $1.to_i if self.note[/\\SHOP_NUMBER\[(\d+)\]/i]
end
return @shop_number
end
end
#==============================================================================
# ** Window_ShopBuy
#==============================================================================
class Window_ShopBuy < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias coz_csi_wsb_initialize initialize
def initialize(*args)
init_goods = $game_temp.shop_goods.clone
init_goods.each do |i|
case i[0]
when 0
item = $data_items[i[1]]
when 1
item = $data_weapons[i[1]]
when 2
item = $data_armors[i[1]]
end
coz_num = COZZIEKUNS::SIV::NUMBER_OF_ITEMS
num = ((coz_num[0] + 1) + rand(coz_num[1] - coz_num[0] + 1))
if item.instance_based?
num = item.shop_number > 0 ? item.shop_number : num
num.times do
$game_temp.shop_goods.push(i)
end
else
$game_temp.shop_goods.push(i)
end
$game_temp.shop_goods.shift
end
coz_csi_wsb_initialize(*args)
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
@data = []
index = 0
for goods_item in @shop_goods
case goods_item[0]
when 0
item = $data_items[goods_item[1]]
when 1
item = $data_weapons[goods_item[1]]
when 2
item = $data_armors[goods_item[1]]
end
if item.instance_based?
case item
when RPG::Item then data_type, type_id = $data_items, 0
when RPG::Weapon then data_type, type_id = $data_weapons, 1
when RPG::Armor then data_type, type_id = $data_armors, 2
end
new_item = data_type.create_instance(item)
item = new_item
end
if item != nil
if item.instance_based?
@data.push([item, index])
else
@data.push(item)
end
end
index += 1
end
@item_max = @data.size
create_contents
for i in 0...@item_max
draw_item(i)
end
end
#--------------------------------------------------------------------------
# * Draw Item
#--------------------------------------------------------------------------
alias coz_csi_ssh_draw_item draw_item
def draw_item(index, *args)
if (@data[index]).is_a?(Array)
item = @data[index][0]
number = $game_party.item_number(item)
enabled = (item.price <= $game_party.gold and number < 99)
rect = item_rect(index)
self.contents.clear_rect(rect)
draw_item_name(item, rect.x, rect.y, enabled)
rect.width -= 4
self.contents.draw_text(rect, item.price, 2)
else
coz_csi_ssh_draw_item(index, *args)
end
end
#--------------------------------------------------------------------------
# * Delete Item
#--------------------------------------------------------------------------
def delete_item(item)
@shop_goods.delete_at(item)
end
#--------------------------------------------------------------------------
# * Help Text Update
#--------------------------------------------------------------------------
alias coz_csi_ssh_update_help update_help
def update_help
if item.is_a?(Array)
@help_window.set_text(item[0] == nil ? "" : item[0].description)
else
coz_csi_ssh_update_help
end
end
end
#==============================================================================
# ** Scene_Shop
#==============================================================================
class Scene_Shop < Scene_Base
#--------------------------------------------------------------------------
# * Update Buy Item Selection
#--------------------------------------------------------------------------
alias coz_csi_ssh_update_buy_selection update_buy_selection
def update_buy_selection
rop = COZZIEKUNS::SIV::REMOVE_ON_PURCHASE
if @buy_window.item.is_a?(Array)
@status_window.item = @buy_window.item[0]
if Input.trigger?(Input::B)
Sound.play_cancel
@command_window.active = true
@dummy_window.visible = true
@buy_window.active = false
@buy_window.visible = false
@status_window.visible = false
@status_window.item = nil
@help_window.set_text("")
return
end
if Input.trigger?(Input::C)
@item = @buy_window.item[0]
number = $game_party.item_number(@item)
if @item == nil or @item.price > $game_party.gold or number == 99
Sound.play_buzzer
else
Sound.play_shop
$game_party.lose_gold(@item.price)
$game_party.gain_item(@item)
@buy_window.delete_item(@buy_window.item[1]) if rop
@gold_window.refresh
@buy_window.refresh
@status_window.refresh
@buy_window.active = true
@buy_window.visible = true
end
end
else
coz_csi_ssh_update_buy_selection
end
end
end
[/spoiler]
[spoiler=Submitted Resources Part 2]
ATS: Special Message Codes by modern algebra
#==============================================================================
# ATS: Special Message Codes [VXA]
# Version: 1.0
# Author: modern algebra (rmrk.net)
# Date: December 11, 2011
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Description:
#
# This script allows you to use a number of additional special codes in the
# message system, which will function similar to the default codes like
# \v[n], \c[n], etc. Please see the list of special message codes starting at
# line 54 for a full idea of what is added. Basically, it gives you greater
# control over the delivery of a message, allows you to make use of font
# effects like bolding and italicizing, and allows you to retrieve and
# display useful data like the names of weapons and armors.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# ATS Series:
#
# This script is part of the Advanced Text System series of scripts. These
# scripts are based off the Advanced Text System for RMVX, but since RMVX Ace
# has a much more sensibly designed message system, it is no longer necessary
# that it be one large script. For that reason, and responding to feedback on
# the ATS, I have split the ATS into multiple different scripts so that you
# only need to pick up the components for the features that you want. It is
# therefore easier to customize and configure.
#
# To find more scripts in the ATS Series, please visit:
# http://rmrk.net/index.php/topic,44525.0.html
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Instructions:
#
# This script is not difficult to use or configure. There are only two
# configuration options for this script. These are:
#
# :message_speed
# :show_fast_speed
#
# :message_speed allows you to set the default number of frames to wait
# between drawing each letter in the message window. :show_fast_speed allows
# you to control the amount it speeds up when the player presses enter. You
# can gain instructions on setting the default value for both at line 180.
#
# As with other ATS scripts, you can change the value of these options in
# game with the following codes in a script call:
#
# ats_next(:message_option, x)
# ats_all(:message_option, x)
#
# Where :message_option is the symbol you want (:message_speed or
# :show_fast_speed) and x is the value you want to change it to. ats_next
# will only change it for the very next message, while ats_all will change it
# for every message to follow.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# List of Special Message Codes:
#
# The default message codes are retained, and this script adds a number of
# other desirable features. The following is a complete list of the message
# codes at your disposal. Simply insert them into a Display Message command,
# Choice Branches, or any other message related system.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Font Effects:
#
# \fn[fontname] - Change the font to fontname. If you put multiple fontnames
# separated by commas, then it will take the first one the user has installed
# \fs[n] - Change the font size to n.
# \{ - Increase the font size by 8.
# \} - Decrease the font size by 8.
# \c[n] - Set the colour of the text being drawn to the nth colour of the
# Windowskin palette. 0 is the normal color and 16 is the system color.
# \hc[RRGGBB] or \c[#RRGGBB] - Set the colour of the text being drawn to any
# colour, using hexadecimal values. You can set each colour (red, green,
# blue) to anything from 0-255 (00-FF). You must use hexadecimal values. If
# so desired, you can add an additional hex value from 00-FF to change the
# alpha.
# \b - Turn bold on. Text drawn after this code will be bolded.
# /b - Turn bold off.
# \i - Turn italic on. Text drawn after this code will be italicized.
# /i - Turn italic off.
# \o - Turn outline on.
# /o - Turn outline off.
# \s - Turn shadow on. Text drawn after this code will have a shadow.
# /s - Turn shadow off.
# \u - Turn underline on. Text drawn after this code will be underlined.
# /u - Turn underline off.
# \hl[n] - Turn highlight on. Text drawn after this code will be highlighted
# with colour n + 1 from the windowskin palette
# /hl OR \hl[0] - Turn highlight off.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Message Control:
#
# \s[n] - Sets the message speed to wait n frames between drawing every letter.
# 0 is instant.
# \s[+n] - Sets the message speed to wait an additional n frames between drawing
# every letter.
# \s[-n] - Sets the message speed to wait n less frames between drawing every
# letter.
# \. - Wait 15 frames before drawing the next character
# \| - Wait 60 frames before drawing the next character
# \w[n] - Wait n frames before drawing the next character
# \! - Pause text and wait for player to press Enter
# \^ - Skip Pause; allows you to close a message window without requiring player
# input.
# \> - Show line fast.
# \< - Stop showing line fast.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Replacement Codes:
#
# \p[n] - Draw the name of the actor in the xth position in the party. 1 is
# the party leader, 2 is the second member, etc.
# \n[n] - Draw the name of the actor with ID n
# \nn[n] - Draw the nickname of the actor with ID n.
# \pid[n] - Draw the ID of the actor in the nth position in the party.
# \ac[n] - Draw the class name of the actor with ID n.
# \al[n] - Draw the level of the actor with ID n.
# \ni[n] - Draw the name of the item with ID n.
# \nw[n] - Draw the name of the weapon with ID n.
# \na[n] - Draw the name of the armor with ID n.
# \ns[n] - Draw the name of the skill with ID n.
# \nt[n] - Draw the name of the state with ID n.
# \nc[n] - Draw the name of the class with ID n.
# \ne[n] - Draw the name of the event with ID n on the current map.
# \nm[n] - Draw the name of the enemy with ID n.
# \nv[n] - Draw the name of the variable with ID n.
# \nsw[n] - Draw the name of the switch with ID n.
# \nl[n] - Draw the name of the element with ID n.
# \nwt[n] - Draw the name of the weapon type with ID n.
# \nat[n] - Draw the name of the armor type with ID n.
# \nst[n] - Draw the name of the skill type with ID n.
# \np[n] - Draw the name of the actor in the nth position in the party.
# \map - Draw the name of the map the player is currently on.
# \map[n] - Draw the name of the map with ID n.
# \pg - Draws the amount of money the party has.
# \g - Draws the unit of currency.
# \vocab[method] - Will draw whatever Vocab.method returns, if it is a valid
# method call. Suitable values for method are: level, level_a, hp, hp_a,
# mp, mp_a, tp, tp_a, fight, escape, attack, guard, item, skill, equip,
# status, formation, save, game_end, weapon, armor, key_item, equip2,
# optimize, clear, new_game, continue, shutdown, to_title, cancel,
# currency_unit
# \vocab[param, n] - Will draw the label for parameter with ID n. 0 => Max HP;
# 1 => Max MP; 2 => Attack; 3 => Defence; 4 => Magic; 5 => Magic Defence;
# 6 => Agility; 7 => Luck
# \vocab[etype, n] - Will draw the label for equipment type with ID n.
# 0 => Weapon; 1 => Shield; 2 => Head; 3 => Body; 4 => Accessory
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Other Effects:
#
# \$ - Opens a window which shows the party's gold.
# \n - line break
# \i[n] - Draw icon with index n.
# \ii[n] - Draw icon of the item with ID n.
# \iw[n] - Draw icon of the weapon with ID n.
# \ia[n] - Draw icon of the armor with ID n.
# \is[n] - Draw icon of the skill with ID n.
# \it[n] - Draw icon of the state with ID n.
# \x[n] - Draw next character at pixel n of the window contents.
# \s[n,text] - Will only draw text only if the switch with ID n is ON.
# \s![n,text] - Will only draw text only if the switch with ID n is OFF.
# \#{code} - This will evaluate code. So, if you know scipting, you can place
# any code there and it will draw whatever is returned by it. For instance:
# \#{$game_system.save_count} would draw the number of times the player has
# saved the current game.
#==============================================================================
$imported = {} unless $imported
$imported[:ATS_SpecialMessageCodes] = true
#==============================================================================
# ** Game_ATS
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# new public instance variables - message_speed; special_message_codes
#==============================================================================
class Game_ATS
CONFIG = {} unless $imported[:AdvancedTextSystem]
CONFIG[:special_message_codes] = {
special_message_codes:true,
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
# EDITABLE REGION
#||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# :message_speed => x,
# Changing the value of x determines the default number of frames to
# wait between drawing letters in a message window. 0 is instant.
:message_speed => 1,
# :show_fast_speed => x
# Changing the value of x determines the number of frames to wait
# between drawing letters when the player is holding enter. 0 is
# instant
:show_fast_speed => 0
#||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# END EDITABLE REGION
#////////////////////////////////////////////////////////////////////////
}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Public Instance Variables
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CONFIG[:special_message_codes].keys.each { |key| attr_accessor key }
end
#==============================================================================
# Initialize Common ATS Data if no other ATS script interpreted first
#==============================================================================
if !$imported[:AdvancedTextSystem]
#============================================================================
# *** DataManager
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# aliased method - create_game_objects; make_save_contents;
# extract_save_contents
#============================================================================
module DataManager
class << self
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Create Game Objects
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias modb_ats_crtgmobj_6yh7 create_game_objects
def create_game_objects(*args, &block)
modb_ats_crtgmobj_6yh7(*args, &block)
$game_ats = Game_ATS.new
$game_ats.init_new_installs
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Make Save Contents
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias mlba_ats_mksave_5tg9 make_save_contents
def make_save_contents(*args, &block)
contents = mlba_ats_mksave_5tg9(*args, &block)
contents[:ats] = $game_ats
contents
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Extract Save Contents
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_ats_extrcsvcon_8uj2 extract_save_contents
def extract_save_contents(contents, *args, &block)
ma_ats_extrcsvcon_8uj2(contents, *args, &block)
$game_ats = contents[:ats] ? contents[:ats] : Game_ATS.new
$game_ats.init_new_installs
end
end
end
#============================================================================
# ** Game_ATS
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# This class holds the default data for all scripts in the ATS series
#============================================================================
class Game_ATS
def initialize; reset; end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Reset any or all installed ATS scripts
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def reset(script_name = nil)
if script_name.is_a? (Symbol) # If script to reset specified
CONFIG[script_name].each_pair { |key, value|
self.send("#{key}=".to_sym, value)
$game_message.send("#{key}=".to_sym, value)
}
else # Reset all ATS scripts
CONFIG.keys.each { |script| reset(script) }
end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Initialize any newly installed ATS scripts
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def init_new_installs
CONFIG.keys.each { |script| reset(script) unless self.send(script) }
end
end
#============================================================================
# ** Game_Message
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# aliased method - clear
#============================================================================
class Game_Message
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Clear
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias mlb_ats_clrats_5tv1 clear
def clear(*args, &block)
mlb_ats_clrats_5tv1(*args, &block) # Run Original Method
return if !$game_ats
Game_ATS::CONFIG.values.each { |installed|
installed.keys.each { |key| self.send("#{key}=".to_sym, $game_ats.send(key)) }
}
end
end
#============================================================================
# ** Game_Interpreter
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# new methods - ats_all; ats_next
#============================================================================
class Game_Interpreter
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * ATS All
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def ats_all(sym, *args, &block)
$game_ats.send("#{sym}=".to_sym, *args, &block)
ats_next(sym, *args, &block)
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * ATS Next
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def ats_next(sym, *args, &block)
$game_message.send("#{sym}=".to_sym, *args, &block)
end
end
end
$imported[:AdvancedTextSystem] = true
class Game_Message
Game_ATS::CONFIG[:special_message_codes].keys.each { |key| attr_accessor key }
end
#==============================================================================
# ** Game_Event
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# new method - name
#==============================================================================
class Game_Event
def name
return @event ? @event.name : ""
end
end
#==============================================================================
# ** Window_Base
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# aliased methods - initialize; convert_escape_characters; calc_line_height;
# process_escape_character; process_normal_character; reset_font_settings
#==============================================================================
class Window_Base
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Object Initialization
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias mlgb_atssmc_init_3do9 initialize
def initialize(*args, &block)
mlgb_atssmc_init_3do9(*args, &block) # Run Original Method
@underline = false
@highlight = -1
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Convert Escape Characters
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_atssmc_convesc_4rc1 convert_escape_characters
def convert_escape_characters(*args, &block)
result = ma_atssmc_convesc_4rc1(*args, &block) # Run Original Method
# Party
result.gsub!(/\ePID\[(\d+)\]/i) { $1.to_i >= 1 ? $game_party.members[$1.to_i - 1].id.to_s : "1" }
result.gsub!(/\ePG/i) { $game_party.gold }
# Message Speed
result.gsub!(/\eS\[([\+-]?\d+)\]/i) { "\eMS\[#{$1}\]" }
result.gsub!(/\e%/) { "\eDS%"}
# Hex Colour
result.gsub!(/\eC\[#/i) { "\eHC[" }
# Icons
result.gsub!(/\eII\[(\d+)\]/i) { "\eI\[#{$data_items[$1.to_i].icon_index}\]" rescue "" }
result.gsub!(/\eIW\[(\d+)\]/i) { "\eI\[#{$data_weapons[$1.to_i].icon_index}\]" rescue "" }
result.gsub!(/\eIA\[(\d+)\]/i) { "\eI\[#{$data_armors[$1.to_i].icon_index}\]" rescue "" }
result.gsub!(/\eIS\[(\d+)\]/i) { "\eI\[#{$data_skills[$1.to_i].icon_index}\]" rescue "" }
result.gsub!(/\eIT\[(\d+)\]/i) { "\eI\[#{$data_states[$1.to_i].icon_index}\]" rescue "" }
# Actor Stats
result.gsub!(/\eAC\[(\d+)\]/i) { $data_classes[$game_actors[$1.to_i].class_id].name }
result.gsub!(/\eAL\[(\d+)\]/i) { $game_actors[$1.to_i].level.to_s }
# Names
result.gsub!(/\eMAP\[(\d+)\]/i) { load_data(sprintf("Data/Map%03d.rvdata2", $1.to_i)).display_name rescue "" }
result.gsub!(/\eMAP/i) { $game_map.display_name rescue "" }
result.gsub!(/\eNE\[(\d+)\]/i) { $game_map.events[$1.to_i].name }
result.gsub!(/\eNN\[(\d+)\]/i) { $game_actors[$1.to_i].nickname }
result.gsub!(/\eNI\[(\d+)\]/i) { $data_items[$1.to_i].name rescue "" }
result.gsub!(/\eNW\[(\d+)\]/i) { $data_weapons[$1.to_i].name rescue "" }
result.gsub!(/\eNA\[(\d+)\]/i) { $data_armors[$1.to_i].name rescue "" }
result.gsub!(/\eNS\[(\d+)\]/i) { $data_skills[$1.to_i].name rescue "" }
result.gsub!(/\eNT\[(\d+)\]/i) { $data_states[$1.to_i].name rescue "" }
result.gsub!(/\eNM\[(\d+)\]/i) { $data_enemies[$1.to_i].name rescue "" }
result.gsub!(/\eNC\[(\d+)\]/i) { $data_classes[$1.to_i].name rescue "" }
result.gsub!(/\eNV\[(\d+)\]/i) { $data_system.variables[$1.to_i] }
result.gsub!(/\eNSW\[(\d+)\]/i) { $data_system.switches[$1.to_i] }
result.gsub!(/\eNWT\[(\d+)\]/i) { $data_system.weapon_types[$1.to_i] }
result.gsub!(/\eNAT\[(\d+)\]/i) { $data_system.armor_types[$1.to_i] }
result.gsub!(/\eNST\[(\d+)\]/i) { $data_system.skill_types[$1.to_i] }
result.gsub!(/\eNL\[(\d+)\]/i) { $data_system.elements[$1.to_i] }
# Vocab
result.gsub!(/\eVOCAB\[(\w+),\s*(\d+)\s*\]/i) { Vocab.send($1.downcase, $2.to_i) rescue "" }
result.gsub!(/\eVOCAB\[(\w+)\]/i) { Vocab.send($1.downcase) rescue "" }
# Font Settings
result.gsub!(/\eB/i) { "\eFE[0]" } # Bold On
result.gsub!(/\/B/i) { "\eFE[1]" } # Bold Off
result.gsub!(/\eI([^\[])/i) { "\eFE[2]#{$1}" } # Italics On
result.gsub!(/\/I/i) { "\eFE[3]" } # Italics Off
result.gsub!(/\eO/i) { "\eFE[4]" } # Outline On
result.gsub!(/\/O/i) { "\eFE[5]" } # Outline Off
result.gsub!(/\eS([^\[!])/i) { "\eFE[6]#{$1}" } # Shadow On
result.gsub!(/\/S/i) { "\eFE[7]" } # Shadow Off
result.gsub!(/\eU/i) { "\eFE[8]" } # Underline On
result.gsub!(/\/U/i) { "\e\FE[9]" } # Underline Off
result.gsub!(/\eHL\[(\d+)\]/i) { "\eHL[#{$1.to_i}]" } # Highlight On: custom colour
result.gsub!(/\eHL([^\[])/i) { "\eHL[17]#{$1}" }# Highlight On: system colour
result.gsub!(/\/HL/i) { "\eHL[0]" } # Hightlight Off
result.gsub!(/\/FN/i) { "\eFN[]" } # Default Font
result.gsub!(/\/FS/i) { "\eFS[#{Font.default_size}]" } # Default Font
# Conditional Text
result.gsub!(/\eS\[(\d+)[,;:](.+?)\]/i) { $game_switches[$1.to_i] ? $2 : "" }
result.gsub!(/\eS!\[(\d+)[,;:](.+?)\]/i) { $game_switches[$1.to_i] ? "" : $2 }
# Evaluation
result.gsub!(/\e#\{(.+?)\}/im) { (eval($1)).to_s rescue "" }
# Do resubstitutions if requested
if result.sub!(/\eRESUB/i, "") != nil
result = convert_escape_characters(result, *args, &block)
end
result.gsub!(/\eN/i, "\n") # Line Break
result # Return result
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Calculate Line Height
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_atssmc_clclnhght_3ek9 calc_line_height
def calc_line_height(text, *args, &block)
res = ma_atssmc_clclnhght_3ek9(text, *args, &block) # Run Original Method
text.slice(/^.*$/).scan(/\eFS\[(\d+)\]/i) { |num| res = [res, num[0].to_i].max }
res
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Process Normal Character
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias mlra_atssmc_procnorm_5fg2 process_normal_character
def process_normal_character(c, pos, *args, &block)
draw_highlight_underline(c, pos) if @underline || @highlight
mlra_atssmc_procnorm_5fg2(c, pos, *args, &block) # Run Original Method
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Process Escape Character
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_atssmc_procesc_7gv1 process_escape_character
def process_escape_character(code, text, pos, *args, &block)
case code.upcase
when 'X' then pos[:x] = obtain_escape_param(text)
when 'HC' # Hex Colour
hex = text.slice!(/^\[([ABCDEF\d]+)\]/i)
rgb = $1.scan(/../).map { |hex| hex.to_i(16) }
change_color(Color.new(*rgb)) if rgb.size.between?(3,4)
when 'FE' # Font Settings
param = obtain_escape_param(text)
case param / 2
when 0 then contents.font.bold = ((param % 2) == 0) # Bold
when 1 then contents.font.italic = ((param % 2) == 0) # Italic
when 2 then contents.font.outline = ((param % 2) == 0) # Outline
when 3 then contents.font.shadow = ((param % 2) == 0) # Shadow
when 4 then @underline = ((param % 2) == 0) # Underline
end
when 'HL' then @highlight = obtain_escape_param(text) - 1 # Highlight
when 'FN' # Font Name
text.slice!(/^\[(.*?\])/)
param = $1
if param.nil? || param == ']'
contents.font.name = Font.default_name
else
ary = []
while param.slice!(/\s*(.+?)\s*[,;:\]]/) != nil do ary.push($1) end
contents.font.name = ary
end
when 'FS' # Font Size
text.slice!(/^\[(\d+)\]/)
contents.font.size = [[$1.to_i, 16].max, 64].min
else
ma_atssmc_procesc_7gv1(code, text, pos, *args, &block) # Run Original Method
end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Reset Font Settings
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_atssmc_resetfont_8jb5 reset_font_settings
def reset_font_settings(*args, &block)
ma_atssmc_resetfont_8jb5(*args, &block) # Run Original Method
contents.font.outline = Font.default_outline
contents.font.shadow = Font.default_shadow
@underline = false
@highlight = -1
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Draw Highlighting and Underlining
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def draw_highlight_underline(c, pos)
text_width = text_size(c).width
y_space = (pos[:height] - contents.font.size) / 2
if @underline # Underlining
y = pos[:y] + pos[:height]
y -= [2, y_space].max
contents.fill_rect(pos[:x], y, text_width, 2, contents.font.color)
end
if @highlight >= 0 # Highlighting
y = pos[:y]
y += y_space - 1 if y_space > 0
text_height = [contents.font.size + 2, pos[:height]].min
colour = text_color(@highlight)
colour.alpha = 128 if colour.alpha > 128
contents.fill_rect(pos[:x], y, text_width, text_height, colour)
end
end
end
#===============================================================================
# ** Window_Message
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# aliased method - clear_instance_variables; process_escape_character;
# update_show_fast; wait_for_one_character
#===============================================================================
class Window_Message
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Clear Instance Variables
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_atssmc_clrinsvar_3dq9 clear_instance_variables
def clear_instance_variables(*args, &block)
ma_atssmc_clrinsvar_3dq9(*args, &block) # Run Original Method
@skip_disabled = false
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Process Escape Character
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias mnaa_atssmc_escchar_3dr9 process_escape_character
def process_escape_character(code, text, pos, *args, &block)
case code.upcase
when 'MS' # Set Message Speed
if !text[/^\[([+-])/].nil?
text.sub!(/^\[([\+-])/, '[' )
sign = $1
else
sign = ""
end
param = obtain_escape_param(text)
sign.empty? ? $game_message.message_speed = param : $game_message.message_speed += "#{sign}#{param}".to_i
when 'DS'
text.slice!(/^%/) # Delete buffer to ensure code isn't overextended
@skip_disabled = !@skip_disabled
when 'W' then wait(obtain_escape_param(text))
else
mnaa_atssmc_escchar_3dr9(code, text, pos, *args, &block) # Run Original Method
end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Update Show Fast
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias mlg_atssmc_updshwfast_7yb1 update_show_fast
def update_show_fast(*args, &block)
mlg_atssmc_updshwfast_7yb1(*args, &block)
@show_fast = Input.press? (Input::C) if $game_message.show_fast_speed > 0
@show_fast = false if @skip_disabled
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Wait for One Character
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias mdrnl_smcats_waitonechar_5rf1 wait_for_one_character
def wait_for_one_character(*args, &block)
mdrnl_smcats_waitonechar_5rf1(*args, &block) # Run Original Method
if (@show_fast || @line_show_fast) && $game_message.show_fast_speed > 0
wait($game_message.show_fast_speed)
elsif $game_message.message_speed > 1
wait($game_message.message_speed - 1)
end
end
end
Website Launch from Title by modern algebra
#==============================================================================
# Website Launch from Title [VXA]
# Version: 1.0
# Author: modern algebra (rmrk.net)
# Date: December 11, 2011
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Description:
#
# This simple script adds the option to launch website from a command on
# the title screen. Only works in Windows, but RMVXA only runs in Windows
# anyway, so that shouldn't be a problem. With this script, you can add
# multiple commands that open different websites.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Instructions:
#
# Paste this script into its own slot above Main and below Materials.
#
# Just go down to the configurable constants area at line 27 and read the
# instructions there to see how to set up a new website launch command.
#==============================================================================
$imported = {} unless $imported
$imported[:MAWebsiteLaunchTitle] = true
MAWLT_TITLE_WEBSITE_COMMANDS = [
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
# EDITABLE REGION
#``````````````````````````````````````````````````````````````````````````````
# For each website launching command you want to include, simply add an
# array at line 45 with the following data, in the following order:
#
# ["Command Name", index, "url address"]
#
# "Command Name" is what will show up in the command window itself.
# index is an integer and it determines in what order the command appears
# "url address" is the URL opened when the command is pressed.
#
# If you wish to add more than one website command, you may, but remember to
# add a comma after all but the last array. It would look like this:
#
# ["Command Name 1", index, "url address 1"],
# ["Command Name 2", index, "url address 2"],
# ["Command Name 3", index, "url address 3"]
#||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
["RMRK", 2, "http://rmrk.net"]
#||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# END EDITABLE REGION
#//////////////////////////////////////////////////////////////////////////////
]
#==============================================================================
# ** Window_TitleCommand
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# aliased method - make_command_list; update_placement
#==============================================================================
class Window_TitleCommand
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Make Command List
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_wlft_mkcommands_7yh8 make_command_list
def make_command_list(*args, &block)
ma_wlft_mkcommands_7yh8(*args, &block) # Run Original Method
MAWLT_TITLE_WEBSITE_COMMANDS.each_index { |i|
website = MAWLT_TITLE_WEBSITE_COMMANDS[i]
add_command(website[0], "website_launch_#{i}".to_sym)
@list.insert(website[1], @list.pop)
}
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Update Placement
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_wlft_updplace_5fh2 update_placement
def update_placement(*args, &block)
ma_wlft_updplace_5fh2(*args, &block) # Run Original Method
# Make sure title window doesn't go off screen
self.y = Graphics.height - height if self.y + height > Graphics.height
end
end
#==============================================================================
# ** Scene_Title
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# aliased method - create_command_window
#==============================================================================
class Scene_Title
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Create Command Window
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_wlft_crtcmmndwin_3kj9 create_command_window
def create_command_window(*args, &block)
ma_wlft_crtcmmndwin_3kj9(*args, &block) # Run Original Method
MAWLT_TITLE_WEBSITE_COMMANDS.each_index { |i|
website = MAWLT_TITLE_WEBSITE_COMMANDS[i]
@command_window.set_handler("website_launch_#{i}".to_sym,
lambda {
Thread.new { system("start #{website[2]}") }
@command_window.activate
})
}
end
end
Icon Hues by modern algebra
#==============================================================================
# Icon Hues
# Version: 1.0
# Author: modern algebra (rmrk.net)
# Date: December 18, 2011
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Description:
#
# This script allows you to specify a hue for the icons of individual items,
# weapons, armors, skills, and states. This way you can use the same icon for
# various items, only changing the hue. This script also permits you to show
# icons with shifted hues in any message window.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Instructions:
#
# Place this script above Main and below default scripts in the Script
# Editor. Put it above all other custom scripts.
#
# To specify a hue for an icon, simply put the following in the note field
# of an item, weapon, armor, skill, or state:
#
# \icon_hue[x]
# x: the hue you want. It can be any integer between 0 and 359.
#
# EXAMPLES:
# \icon_hue[65]
# \icon_hue[320]
#``````````````````````````````````````````````````````````````````````````````
# Additionally, this script introduces six new message commands that you can
# use to display a hue-altered icon in any message window.
#
# \IH[n, x]
# n: the index of the icon you want to show. The index of an icon must
# be an integer and is discernible by looking at the bottom left
# corner when selecting icons.
# x: the hue you want - it can be any integer between 0 and 359.
#
# You can also use the following commands:
# \II[n] - Draws hue-shifted icon of the item with ID n.
# \IW[n] - Draws hue-shifted icon of the weapon with ID n.
# \IA[n] - Draws hue-shifted icon of the armor with ID n.
# \IS[n] - Draws hue-shifted icon of the skill with ID n.
# \IT[n] - Draws hue-shifted icon of the state with ID n.
#
# EXAMPLES:
# \IH[14, 250] - Draws Icon 14 with a hue change of 250.
# \IW[4] - Draws the hue-shifted icon of the weapon with ID 4.
# \IT[64] - Draws the hue-shifted icon of the state with ID 64.
#``````````````````````````````````````````````````````````````````````````````
# Compatibility with: YEA Command Window Icons
#
# This script also works with Yanfly's YEA Command Window Icons script,
# found at the following link:
#
# http://yanflychannel.wordpress.com/rmvxa/menu-scripts/command-window-icons/
#
# All you need to do is make sure that the Icon Hue script is below the
# YEA Command Window Script in the Script List (but still above Main). Then,
# in the configuration for YEA Command Window Icons, you just need to set the
# command as an array in the following format:
# "Command" => [n, x],
# n: the index of the icon you want to show.
# x: the hue of the icon - it can be any integer between 0 and 359.
#
# EXAMPLES:
# "New Game" => [224, 65],
#
# To reiterate, the configuration must be done in the YEA Command Window
# Icons Script, not this one. The configuration section of that script starts
# at line 55. Also note that if you do not want to set the hue, then you do
# not need to put it in an array; the default configuration will still work.
#==============================================================================
$imported = {} unless $imported
$imported[:MAIcon_Hue] = true
#==============================================================================
# ** RPG::BaseItem
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# new method - icon_hue
#==============================================================================
class RPG::BaseItem
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Icon Hue
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def icon_hue
if @icon_hue.nil?
@icon_hue = self.note[/\\ICON[ _]HUE\[(\d+)\]/i].nil? ? 0 : $1.to_i
end
@icon_hue
end
end
#==============================================================================
# ** Window_Base
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# aliased methods - draw_item_name; draw_actor_icons; draw_icon;
# convert_escape_character; process_escape_character
# new method - draw_icon_with_hue
#==============================================================================
class Window_Base
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Draw Item Name
# item : Item (skill, weapon, armor are also possible)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias modra_ichue_dritm_8ik2 draw_item_name
def draw_item_name(item, *args)
@maih_icon_hue = item.icon_hue if item != nil
modra_ichue_dritm_8ik2(item, *args) # Run Original Method
@maih_icon_hue = nil
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Draw State
# actor : Game_Actor object
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias malg_icnhue_dstat_7uj3 draw_actor_icons
def draw_actor_icons(actor, *args)
@maih_icon_hue = []
for state in actor.states do @maih_icon_hue.push (state.icon_hue) end
# Don't need to do buffs since all the same anyway
malg_icnhue_dstat_7uj3(actor, *args) # Run Original Method
@maih_icon_hue = nil
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Draw Icon
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias modrn_drwicn_hue_6yh1 draw_icon
def draw_icon(icon_index, x, y, enabled = true, *args)
hue = @maih_icon_hue.is_a?(Array) ? @maih_icon_hue.shift : @maih_icon_hue
if !hue || hue == 0
# Run Original Method
modrn_drwicn_hue_6yh1(icon_index, x, y, enabled, *args)
else
draw_icon_with_hue(icon_index, hue, x, y, enabled)
end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Draw Icon With Hue
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def draw_icon_with_hue(icon_index, icon_hue, x, y, enabled = true)
bitmap = Cache.system("Iconset")
rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
# Draw Icon onto small and independent bitmap
icon_bmp = Bitmap.new(24, 24)
icon_bmp.blt(0, 0, bitmap, rect)
icon_bmp.hue_change(icon_hue) # Change hue of icon
rect.x, rect.y = 0, 0
self.contents.blt(x, y, icon_bmp, rect, enabled ? 255 : translucent_alpha)
icon_bmp.dispose # Dispose Icon Bitmap
end
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
# Compatibility with ATS Special Message Codes
#//////////////////////////////////////////////////////////////////////////
if $imported[:ATS_SpecialMessageCodes]
alias ma_icnhue_convertesc_8ib6 ma_atssmc_convesc_4rc1
else
alias ma_icnhue_convertesc_8ib6 convert_escape_characters
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Convert Escape Characters
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def convert_escape_characters(*args, &block)
result = ma_icnhue_convertesc_8ib6(*args, &block) # Run Original Method
result.gsub!(/\eIH\[/i, "\eHI\[") # Change \IH to \HI
result.gsub!(/\eII\[(\d+)\]/i) { "\eHI\[#{$data_items[$1.to_i].icon_index},#{$data_items[$1.to_i].icon_hue}\]" rescue "" }
result.gsub!(/\eIW\[(\d+)\]/i) { "\eHI\[#{$data_weapons[$1.to_i].icon_index},#{$data_weapons[$1.to_i].icon_hue}\]" rescue "" }
result.gsub!(/\eIA\[(\d+)\]/i) { "\eHI\[#{$data_armors[$1.to_i].icon_index},#{$data_armors[$1.to_i].icon_hue}\]" rescue "" }
result.gsub!(/\eIS\[(\d+)\]/i) { "\eHI\[#{$data_skills[$1.to_i].icon_index},#{$data_skills[$1.to_i].icon_hue}\]" rescue "" }
result.gsub!(/\eIT\[(\d+)\]/i) { "\eHI\[#{$data_states[$1.to_i].icon_index},#{$data_states[$1.to_i].icon_hue}\]" rescue "" }
result
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Process Escape Character
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias malg_icnhu_procescchar_5tc1 process_escape_character
def process_escape_character(code, text, pos, *args, &block)
if code.upcase == 'HI' # Icon with Hue
text.slice!(/^\[\s*(\d+)\s*[,:;]?\s*(\d*)\s*\]/)
@maih_icon_hue = $2.to_i
process_draw_icon($1.to_i, pos)
@maih_icon_hue = nil
else
malg_icnhu_procescchar_5tc1(code, text, pos, *args, &block) # Run Original Method
end
end
end
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
# Compatibility with YEA - Command Window Icons
#//////////////////////////////////////////////////////////////////////////////
if $imported["YEA-CommandWindowIcons"]
#============================================================================
# ** Window_Command
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# aliased methods - command_icon; draw_icon_with_text
# new method - use_icon_hue?
#============================================================================
class Window_Command
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Command Icon
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if self.method_defined?(:command_icon)
alias ma_ih_cmndicn_6uj7 command_icon
def command_icon(*args, &block)
result = ma_ih_cmndicn_6uj7(*args, &block) # Run Original Method
return result[0] if result.is_a?(Array)
result
end
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Draw Icon Text
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if self.method_defined?(:draw_icon_text)
alias ma_icnh_drwicntext_4rk9 draw_icon_text
def draw_icon_text(rect, text, *args, &block)
icn_a = ma_ih_cmndicn_6uj7(text)
if icn_a.is_a?(Array)
@maih_icon_hue = icn_a.size > 1 ? icn_a[1] : 0
end
result = ma_icnh_drwicntext_4rk9(rect, text, *args, &block) # Run Original Method
@maih_icon_hue = nil
result
end
end
end
end
[/spoiler]
[spoiler=Submitted Resources Part 3]
Drop Options by modern algebra
#==============================================================================
# Drop Options [VXA]
# Version: 1.0
# Author: modern algebra (rmrk.net)
# Date: December 19, 2011
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Description:
#
# This script is very simple. All it does is allow you to make item drops a
# little less static in some very simple ways:
#
# (a) you can make more than three drops for each enemy, so enemies can
# drop a greater variety of loot;
# (b) you can place a cap on the amount of these extra drops, so if you
# want a boss to have a 100% chance of dropping one of three items, but
# only one, then you can do that;
# (c) you can use percentile rather than denominator based drops; and
# (d) you can randomize the amount of gold dropped by setting a range
# within which it can fall.
#
# If you are using any scripts that show loot drops of enemies (such as a
# bestiary), the effects of this script will not be correctly reflected in
# that without direct modifications. If you are using such a script, please
# feel free to post a link to it in this script's thread in RMRK and I will
# write a patch for it.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Instructions:
#
# Place this script above Main and below any other scripts in the Script
# Editor (F11).
#
# All configuration happens in the note boxes of enemies. If you wish to add
# a new drop, place this code in a note box for the enemy:
#
# \drop[type id, probability]
# type : the type, either I (for Item), W (for Weapon), or A (for
# Armor).
# id : This is the ID of the item, weapon, or armor.
# probability : This is the probability the item, weapon, or armor will
# drop. If you put a % sign after the number, then it will
# drop that percentage of the time. If not, then the number
# you put here will be the denominator, same as with
# regular drops. The number has to be an integer.
# EXAMPLES:
# \drop[i1, 65%]
# This will mean that the item with ID 1 (Potion by default) will drop
# 65% of the time when you kill this enemy.
# \drop[a5, 8]
# This will mean that the armor with ID 5 (Mithril Shield by default)
# will drop 1/8 times you kill this enemy.
#
# To set a maximum on the number of extra drops (note that this only applies
# to extra drops set up in the note field - the two default drops are exempt
# from this cap), you can use the code:
#
# \max_drop[x]
# x : the maximum amount of extra drops that you want.
# EXAMPLE:
# If an enemy is set up like this:
# \drop[w3, 100%]
# \drop[w4, 100%]
# \max_drop[1]
# Then that means that the enemy will definitely drop either Weapon 3
# (Spear) or Weapon 4 (Short Sword), but will not drop both since
# the \max_drop code prevents it from dropping more than one of the notebox
# drops.
#
# To randomize the amount of gold an enemy drops, place the following code
# in its note box:
#
# \gold[variance]
# variance : this is an integer, and the amount of gold dropped is
# calculated by randomly selecting a number between 0 and this value,
# and then adding it to the regular gold drop you set in the database.
# EXAMPLE:
# If an enemy has 5 gold set as its drop in the database, then the
# following note:
# \gold[12]
# will mean that the enemy will drop anywhere between 5 and 17 gold upon
# its death.
#==============================================================================
$imported = {} unless $imported
$imported[:MADropOptions] = true
#==============================================================================
# ** RPG::Enemy
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# aliased method - gold
# new method - random_gold; extra_drops; max_drop
#==============================================================================
class RPG::Enemy
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Gold
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_drpopt_gold_2go9 gold
def gold(*args, &block)
(rand(ma_random_gold + 1)) + ma_drpopt_gold_2go9(*args, &block)
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Random Gold
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def ma_random_gold
(@ma_rand_gold = self.note[/\\GOLD\[(\d+)\]/i] != nil ? $1.to_i : 0) if !@ma_rand_gold
@ma_rand_gold
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Extra Drops
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def ma_extra_drops
if @ma_extra_drops.nil?
@ma_extra_drops = []
self.note.scan(/\\DROP\[\s*([IWA])\s*(\d+),?\s*(\d+)(%?)\s*\]/i).each { |match|
drop = RPG::Enemy::DropItem.new
i = ['I', 'W', 'A'].index(match[0].upcase)
drop.kind = i.nil? ? 0 : i + 1
drop.data_id = match[1].to_i
drop.denominator = match[3].empty? ? match[2].to_i : match[2].to_f
@ma_extra_drops.push(drop)
}
end
@ma_extra_drops
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Max Drops
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def ma_max_drops
if !@ma_max_drops
@ma_max_drops = self.note[/\\MAX[ _]DROPS?\[(\d+)\]/i].nil? ? 999 : $1.to_i
end
@ma_max_drops
end
end
#==============================================================================
# ** Game_Enemy
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# aliased method - make_drop_items
# new method - ma_make_extra_drops
#==============================================================================
class Game_Enemy
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Make Drop Items
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias mlg_dropopt_makedrops_5rx9 make_drop_items
def make_drop_items(*args, &block)
# Run Original Method and add the new drops
mlg_dropopt_makedrops_5rx9(*args, &block) + ma_make_extra_drops
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Make Extra Drops
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def ma_make_extra_drops
result = []
enemy.ma_extra_drops.each { |di|
if di.kind > 0
bool = di.denominator.is_a?(Integer) ? (rand * di.denominator < drop_item_rate) : (rand(100) < (di.denominator * drop_item_rate))
result.push(item_object(di.kind, di.data_id)) if bool
end
}
while result.size > enemy.ma_max_drops
result.delete_at(rand(result.size))
end
result
end
end
Female Knight Faceset by Yuyubabe
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FXOlbk.png&hash=c89b3e80043a3f9e71a8aa2b0637231b0955692d)
Male Knight Portrait by Yuyubabe
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FMDNzo.png&hash=87bafeb335897d9f3ea502747a2da210243becfd)
Male Knight Faceset by Yuyubabe
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FVv3CK.png&hash=5dd1e85528a0d00327c04cc41247016a1343637e)
Priestess Portrait by Yuyubabe
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FNjPMf.png&hash=33a0145f63f388081d080351ff6ec1bec80d0d0e)
Priestess Faceset by Yuyubabe
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FNmNCf.png&hash=82681209385c8fd9f46092eb7ef58b89dd007685)
Naia Faceset 1 by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FTbOWe.png&hash=c0ba5f3fd54426513bf856b6b94a6f4e3aaa9135)
Naia Faceset 2 by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2Fn3NG3.png&hash=d72a12363530f5a5ba606446728a7fdfdbf83e5f)
Naia Cut-In 1 by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2F66Kxu.png&hash=37a73f93649cc3359cf3dc412b747c4c1e40cfd2)
Naia Cut-In 2 by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2F260tR.png&hash=27f80452921561218709efc59d058e613c2ef2c5)
Elicia Faceset 1 by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FLds2t.png&hash=5681943814cb56d4aa32dac9cb23d2024fbfc1fe)
Elicia Faceset 2 by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FSSP7k.png&hash=a08702251cd67ba396a58d6401f5e6a0bf35f2a4)
Elicia Cut-In 1 by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FL952R.png&hash=c28ca7235abec13773e4efb44a42c721779a3ea2)
Elicia Cut-In 2 by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FpH86e.png&hash=2389de8fccde0be91a7fc6acd612abcaaca9ecb6)
Terrence Cut-In 1 by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FDaheh.png&hash=12c04f6b1589caadef5073cafd94f3bafbcc45d7)
Unnamed Cut-In 1 by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FIYqK1.png&hash=4b4c52dae93daf76998d078ea28d9046c9a9bf80)
Unnamed Cut-In 2 by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2F5IjSQ.png&hash=eb82ac5e830ff2b1d9d89a2876aaf8f1689beb6c)
Yuyubabe Charsets by IAMFORTE
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2F1AAtS.png&hash=5bc791291124eff553d2937dc432030ce0495dd9)
Dark Cyrus by Zylos
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FmDlse.png&hash=7a9496f2178c280ea3805ef0e8b5dc4d3f86620d)
Ralph Battler by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FvzqD8.png&hash=73084f2a5234cbca6135af0d7422480a5ed8b850)
Goddess Battler by Nessiah
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FOPPJf.png&hash=0db90c401591788e70dd570615cc41cf58bc527b)
[/spoiler]
Don't forget that you have up to 26 votes, so don't just pick and choose only one. Go all out and select whichever ones strike your fancy at all.