Alright, I've changed my issue. I've resolved the ziffee's spin thing. Now I need different help.
In the equipment menu, I've gotten it to where it only displays 3 stats, And it only shows the text for 3 of the equipment types you can use. ( weapon, shield, head.) But it still lets you go down to select those empty boxes. How do I remove those extra selectable boxes? I dont need them there and it's just clutter to have blank boxes you can select.
post a link to the script.
Just need help with my new above topic thanks.
Is this what you wanted? Just replace the game actor, let me know if there are any issues I'm a scripting noob.
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
# This class handles actors. It's used within the Game_Actors class
# ($game_actors) and referenced by the Game_Party class ($game_party).
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :name # name
attr_reader :character_name # character graphic filename
attr_reader :character_index # character graphic index
attr_reader :face_name # face graphic filename
attr_reader :face_index # face graphic index
attr_reader :class_id # class ID
attr_reader :weapon_id # weapon ID
attr_reader :armor1_id # shield ID
attr_reader :armor2_id # helmet ID
attr_reader :armor3_id # body armor ID
attr_reader :level # level
attr_reader :exp # experience
attr_accessor :last_skill_id # for cursor memory: Skill
#--------------------------------------------------------------------------
# * Object Initialization
# actor_id : actor ID
#--------------------------------------------------------------------------
def initialize(actor_id)
super()
setup(actor_id)
@last_skill_id = 0
end
#--------------------------------------------------------------------------
# * Setup
# actor_id : actor ID
#--------------------------------------------------------------------------
def setup(actor_id)
actor = $data_actors[actor_id]
@actor_id = actor_id
@name = actor.name
@character_name = actor.character_name
@character_index = actor.character_index
@face_name = actor.face_name
@face_index = actor.face_index
@class_id = actor.class_id
@weapon_id = actor.weapon_id
@armor1_id = actor.armor1_id
@armor2_id = actor.armor2_id
@armor3_id = actor.armor3_id
@level = actor.initial_level
@exp_list = Array.new(101)
make_exp_list
@exp = @exp_list[@level]
@skills = []
for i in self.class.learnings
learn_skill(i.skill_id) if i.level <= @level
end
clear_extra_values
recover_all
end
#--------------------------------------------------------------------------
# * Determine if Actor or Not
#--------------------------------------------------------------------------
def actor?
return true
end
#--------------------------------------------------------------------------
# * Get Actor ID
#--------------------------------------------------------------------------
def id
return @actor_id
end
#--------------------------------------------------------------------------
# * Get Index
#--------------------------------------------------------------------------
def index
return $game_party.members.index(self)
end
#--------------------------------------------------------------------------
# * Get Actor Object
#--------------------------------------------------------------------------
def actor
return $data_actors[@actor_id]
end
#--------------------------------------------------------------------------
# * Get Class Object
#--------------------------------------------------------------------------
def class
return $data_classes[@class_id]
end
#--------------------------------------------------------------------------
# * Get Skill Object Array
#--------------------------------------------------------------------------
def skills
result = []
for i in @skills
result.push($data_skills[i])
end
return result
end
#--------------------------------------------------------------------------
# * Get Weapon Object Array
#--------------------------------------------------------------------------
def weapons
result = []
result.push($data_weapons[@weapon_id])
if two_swords_style
result.push($data_weapons[@armor1_id])
end
return result
end
#--------------------------------------------------------------------------
# * Get Armor Object Array
#--------------------------------------------------------------------------
def armors
result = []
unless two_swords_style
result.push($data_armors[@armor1_id])
end
result.push($data_armors[@armor2_id])
result.push($data_armors[@armor3_id])
return result
end
#--------------------------------------------------------------------------
# * Get Equipped Item Object Array
#--------------------------------------------------------------------------
def equips
return weapons + armors
end
#--------------------------------------------------------------------------
# * Calculate Experience
#--------------------------------------------------------------------------
def make_exp_list
@exp_list[1] = @exp_list[100] = 0
m = actor.exp_basis
n = 0.75 + actor.exp_inflation / 200.0;
for i in 2..99
@exp_list[i] = @exp_list[i-1] + Integer(m)
m *= 1 + n;
n *= 0.9;
end
end
#--------------------------------------------------------------------------
# * Get Element Change Value
# element_id : element ID
#--------------------------------------------------------------------------
def element_rate(element_id)
rank = self.class.element_ranks[element_id]
result = [0,200,150,100,50,0,-100][rank]
for armor in armors.compact
result /= 2 if armor.element_set.include?(element_id)
end
for state in states
result /= 2 if state.element_set.include?(element_id)
end
return result
end
#--------------------------------------------------------------------------
# * Get Added State Success Rate
# state_id : state ID
#--------------------------------------------------------------------------
def state_probability(state_id)
if $data_states[state_id].nonresistance
return 100
else
rank = self.class.state_ranks[state_id]
return [0,100,80,60,40,20,0][rank]
end
end
#--------------------------------------------------------------------------
# * Determine if State is Resisted
# state_id : state ID
#--------------------------------------------------------------------------
def state_resist?(state_id)
for armor in armors.compact
return true if armor.state_set.include?(state_id)
end
return false
end
#--------------------------------------------------------------------------
# * Get Normal Attack Element
#--------------------------------------------------------------------------
def element_set
result = []
if weapons.compact == []
return [1] # Unarmed: melee attribute
end
for weapon in weapons.compact
result |= weapon == nil ? [] : weapon.element_set
end
return result
end
#--------------------------------------------------------------------------
# * Get Additional Effect of Normal Attack (state change)
#--------------------------------------------------------------------------
def plus_state_set
result = []
for weapon in weapons.compact
result |= weapon == nil ? [] : weapon.state_set
end
return result
end
#--------------------------------------------------------------------------
# * Get Maximum HP Limit
#--------------------------------------------------------------------------
def maxhp_limit
return 9999
end
#--------------------------------------------------------------------------
# * Get Basic Maximum HP
#--------------------------------------------------------------------------
def base_maxhp
return actor.parameters[0, @level]
end
#--------------------------------------------------------------------------
# * Get basic Maximum MP
#--------------------------------------------------------------------------
def base_maxmp
return actor.parameters[1, @level]
end
#--------------------------------------------------------------------------
# * Get Basic Attack
#--------------------------------------------------------------------------
def base_atk
n = actor.parameters[2, @level]
for item in equips.compact do n += item.atk end
return n
end
#--------------------------------------------------------------------------
# * Get Basic Defense
#--------------------------------------------------------------------------
def base_def
n = actor.parameters[3, @level]
for item in equips.compact do n += item.def end
return n
end
#--------------------------------------------------------------------------
# * Get Basic Spirit
#--------------------------------------------------------------------------
def base_spi
n = actor.parameters[4, @level]
for item in equips.compact do n += item.spi end
return n
end
#--------------------------------------------------------------------------
# * Get Basic Agility
#--------------------------------------------------------------------------
def base_agi
n = actor.parameters[5, @level]
for item in equips.compact do n += item.agi end
return n
end
#--------------------------------------------------------------------------
# * Get Hit Rate
#--------------------------------------------------------------------------
def hit
if two_swords_style
n1 = weapons[0] == nil ? 95 : weapons[0].hit
n2 = weapons[1] == nil ? 95 : weapons[1].hit
n = [n1, n2].min
else
n = weapons[0] == nil ? 95 : weapons[0].hit
end
return n
end
#--------------------------------------------------------------------------
# * Get Evasion Rate
#--------------------------------------------------------------------------
def eva
n = 5
for item in armors.compact do n += item.eva end
return n
end
#--------------------------------------------------------------------------
# * Get Critical Ratio
#--------------------------------------------------------------------------
def cri
n = 4
n += 4 if actor.critical_bonus
for weapon in weapons.compact
n += 4 if weapon.critical_bonus
end
return n
end
#--------------------------------------------------------------------------
# * Get Ease of Hitting
#--------------------------------------------------------------------------
def odds
return 4 - self.class.position
end
#--------------------------------------------------------------------------
# * Get [Dual Wield] Option
#--------------------------------------------------------------------------
def two_swords_style
return actor.two_swords_style
end
#--------------------------------------------------------------------------
# * Get [Fixed Equipment] Option
#--------------------------------------------------------------------------
def fix_equipment
return actor.fix_equipment
end
#--------------------------------------------------------------------------
# * Get [Automatic Battle] Option
#--------------------------------------------------------------------------
def auto_battle
return actor.auto_battle
end
#--------------------------------------------------------------------------
# * Get [Super Guard] Option
#--------------------------------------------------------------------------
def super_guard
return actor.super_guard
end
#--------------------------------------------------------------------------
# * Get [Pharmocology] Option
#--------------------------------------------------------------------------
def pharmacology
return actor.pharmacology
end
#--------------------------------------------------------------------------
# * Get [First attack within turn] weapon option
#--------------------------------------------------------------------------
def fast_attack
for weapon in weapons.compact
return true if weapon.fast_attack
end
return false
end
#--------------------------------------------------------------------------
# * Get [Chain attack] weapon option
#--------------------------------------------------------------------------
def dual_attack
for weapon in weapons.compact
return true if weapon.dual_attack
end
return false
end
#--------------------------------------------------------------------------
# * Get [Prevent critical] armor option
#--------------------------------------------------------------------------
def prevent_critical
for armor in armors.compact
return true if armor.prevent_critical
end
return false
end
#--------------------------------------------------------------------------
# * Get [half MP cost] armor option
#--------------------------------------------------------------------------
def half_mp_cost
for armor in armors.compact
return true if armor.half_mp_cost
end
return false
end
#--------------------------------------------------------------------------
# * Get [Double Experience] Armor Option
#--------------------------------------------------------------------------
def double_exp_gain
for armor in armors.compact
return true if armor.double_exp_gain
end
return false
end
#--------------------------------------------------------------------------
# * Get [Auto HP Recovery] Armor Option
#--------------------------------------------------------------------------
def auto_hp_recover
for armor in armors.compact
return true if armor.auto_hp_recover
end
return false
end
#--------------------------------------------------------------------------
# * Get Normal Attack Animation ID
#--------------------------------------------------------------------------
def atk_animation_id
if two_swords_style
return weapons[0].animation_id if weapons[0] != nil
return weapons[1] == nil ? 1 : 0
else
return weapons[0] == nil ? 1 : weapons[0].animation_id
end
end
#--------------------------------------------------------------------------
# * Get Normal Attack Animation ID (Dual Wield: Weapon 2)
#--------------------------------------------------------------------------
def atk_animation_id2
if two_swords_style
return weapons[1] == nil ? 0 : weapons[1].animation_id
else
return 0
end
end
#--------------------------------------------------------------------------
# * Get Experience String
#--------------------------------------------------------------------------
def exp_s
return @exp_list[@level+1] > 0 ? @exp : "-------"
end
#--------------------------------------------------------------------------
# * Get String for Next Level Experience
#--------------------------------------------------------------------------
def next_exp_s
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] : "-------"
end
#--------------------------------------------------------------------------
# * Get String for Experience to Next Level
#--------------------------------------------------------------------------
def next_rest_exp_s
return @exp_list[@level+1] > 0 ?
(@exp_list[@level+1] - @exp) : "-------"
end
#--------------------------------------------------------------------------
# * Change Equipment (designate ID)
# equip_type : Equip region (0..4)
# item_id : Weapon ID or armor ID
# test : Test flag (for battle test or temporary equipment)
# Used by event commands or battle test preparation.
#--------------------------------------------------------------------------
def change_equip_by_id(equip_type, item_id, test = false)
if equip_type == 0 or (equip_type == 1 and two_swords_style)
change_equip(equip_type, $data_weapons[item_id], test)
else
change_equip(equip_type, $data_armors[item_id], test)
end
end
#--------------------------------------------------------------------------
# * Change Equipment (designate object)
# equip_type : Equip region (0..4)
# item : Weapon or armor (nil is used to unequip)
# test : Test flag (for battle test or temporary equipment)
#--------------------------------------------------------------------------
def change_equip(equip_type, item, test = false)
last_item = equips[equip_type]
unless test
return if $game_party.item_number(item) == 0 if item != nil
$game_party.gain_item(last_item, 1)
$game_party.lose_item(item, 1)
end
item_id = item == nil ? 0 : item.id
case equip_type
when 0 # Weapon
@weapon_id = item_id
unless two_hands_legal? # If two hands is not allowed
change_equip(1, nil, test) # Unequip from other hand
end
when 1 # Shield
@armor1_id = item_id
unless two_hands_legal? # If two hands is not allowed
change_equip(0, nil, test) # Unequip from other hand
end
when 2 # Head
@armor2_id = item_id
when 3 # Body
@armor3_id = item_id
end
end
#--------------------------------------------------------------------------
# * Discard Equipment
# item : Weapon or armor to be discarded.
# Used when the "Include Equipment" option is enabled.
#--------------------------------------------------------------------------
def discard_equip(item)
if item.is_a?(RPG::Weapon)
if @weapon_id == item.id
@weapon_id = 0
elsif two_swords_style and @armor1_id == item.id
@armor1_id = 0
end
elsif item.is_a?(RPG::Armor)
if not two_swords_style and @armor1_id == item.id
@armor1_id = 0
elsif @armor2_id == item.id
@armor2_id = 0
elsif @armor3_id == item.id
@armor3_id = 0
end
end
end
#--------------------------------------------------------------------------
# * Determine if Two handed Equipment
#--------------------------------------------------------------------------
def two_hands_legal?
if weapons[0] != nil and weapons[0].two_handed
return false if @armor1_id != 0
end
if weapons[1] != nil and weapons[1].two_handed
return false if @weapon_id != 0
end
return true
end
#--------------------------------------------------------------------------
# * Determine if Equippable
# item : item
#--------------------------------------------------------------------------
def equippable?(item)
if item.is_a?(RPG::Weapon)
return self.class.weapon_set.include?(item.id)
elsif item.is_a?(RPG::Armor)
return false if two_swords_style and item.kind == 0
return self.class.armor_set.include?(item.id)
end
return false
end
#--------------------------------------------------------------------------
# * Change Experience
# exp : New experience
# show : Level up display flag
#--------------------------------------------------------------------------
def change_exp(exp, show)
last_level = @level
last_skills = skills
@exp = [[exp, 9999999].min, 0].max
while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
level_up
end
while @exp < @exp_list[@level]
level_down
end
@hp = [@hp, maxhp].min
@mp = [@mp, maxmp].min
if show and @level > last_level
display_level_up(skills - last_skills)
end
end
#--------------------------------------------------------------------------
# * Level Up
#--------------------------------------------------------------------------
def level_up
@level += 1
for learning in self.class.learnings
learn_skill(learning.skill_id) if learning.level == @level
end
end
#--------------------------------------------------------------------------
# * Level Down
#--------------------------------------------------------------------------
def level_down
@level -= 1
end
#--------------------------------------------------------------------------
# * Show Level Up Message
# new_skills : Array of newly learned skills
#--------------------------------------------------------------------------
def display_level_up(new_skills)
$game_message.new_page
text = sprintf(Vocab::LevelUp, @name, Vocab::level, @level)
$game_message.texts.push(text)
for skill in new_skills
text = sprintf(Vocab::ObtainSkill, skill.name)
$game_message.texts.push(text)
end
end
#--------------------------------------------------------------------------
# * Get Experience (for the double experience point option)
# exp : Amount to increase experience.
# show : Level up display flag
#--------------------------------------------------------------------------
def gain_exp(exp, show)
if double_exp_gain
change_exp(@exp + exp * 2, show)
else
change_exp(@exp + exp, show)
end
end
#--------------------------------------------------------------------------
# * Change Level
# level : new level
# show : Level up display flag
#--------------------------------------------------------------------------
def change_level(level, show)
level = [[level, 99].min, 1].max
change_exp(@exp_list[level], show)
end
#--------------------------------------------------------------------------
# * Learn Skill
# skill_id : skill ID
#--------------------------------------------------------------------------
def learn_skill(skill_id)
unless skill_learn?($data_skills[skill_id])
@skills.push(skill_id)
@skills.sort!
end
end
#--------------------------------------------------------------------------
# * Forget Skill
# skill_id : skill ID
#--------------------------------------------------------------------------
def forget_skill(skill_id)
@skills.delete(skill_id)
end
#--------------------------------------------------------------------------
# * Determine if Finished Learning Skill
# skill : skill
#--------------------------------------------------------------------------
def skill_learn?(skill)
return @skills.include?(skill.id)
end
#--------------------------------------------------------------------------
# * Determine Usable Skills
# skill : skill
#--------------------------------------------------------------------------
def skill_can_use?(skill)
return false unless skill_learn?(skill)
return super
end
#--------------------------------------------------------------------------
# * Change Name
# name : new name
#--------------------------------------------------------------------------
def name=(name)
@name = name
end
#--------------------------------------------------------------------------
# * Change Class ID
# class_id : New class ID
#--------------------------------------------------------------------------
def class_id=(class_id)
@class_id = class_id
for i in 0..4 # Remove unequippable items
change_equip(i, nil) unless equippable?(equips[i])
end
end
#--------------------------------------------------------------------------
# * Change Graphics
# character_name : new character graphic filename
# character_index : new character graphic index
# face_name : new face graphic filename
# face_index : new face graphic index
#--------------------------------------------------------------------------
def set_graphic(character_name, character_index, face_name, face_index)
@character_name = character_name
@character_index = character_index
@face_name = face_name
@face_index = face_index
end
#--------------------------------------------------------------------------
# * Use Sprites?
#--------------------------------------------------------------------------
def use_sprite?
return false
end
#--------------------------------------------------------------------------
# * Perform Collapse
#--------------------------------------------------------------------------
def perform_collapse
if $game_temp.in_battle and dead?
@collapse = true
Sound.play_actor_collapse
end
end
#--------------------------------------------------------------------------
# * Perform Automatic Recovery (called at end of turn)
#--------------------------------------------------------------------------
def do_auto_recovery
if auto_hp_recover and not dead?
self.hp += maxhp / 20
end
end
#--------------------------------------------------------------------------
# * Create Battle Action (for automatic battle)
#--------------------------------------------------------------------------
def make_action
@action.clear
return unless movable?
action_list = []
action = Game_BattleAction.new(self)
action.set_attack
action.evaluate
action_list.push(action)
for skill in skills
action = Game_BattleAction.new(self)
action.set_skill(skill.id)
action.evaluate
action_list.push(action)
end
max_value = 0
for action in action_list
if action.value > max_value
@action = action
max_value = action.value
end
end
end
end
It seems to clash with this part of my battle system:
#==============================================================================
# Game_Actors
#==============================================================================
class Game_Actors
#--------------------------------------------------------------------------
# Get Actor - fixes nil actor_id bug and restores \n[0] (BugFix - Rewrite)
#--------------------------------------------------------------------------
def [](actor_id)
return nil if actor_id == nil # New
actor_id = $game_party.members[0].id if actor_id == 0 # New
if @data[actor_id] == nil and $data_actors[actor_id] != nil
@data[actor_id] = Game_Actor.new(actor_id)
end
return @data[actor_id]
end
end
What battle system are you using?
R.I.B.S by OriginalWij. i'd prefer something better, but it's the only front view system I could find. :p
I've been unable to download the script would you mind posting it?
yep http://www.mediafire.com/?z7r9to2c8xrcph3 (http://www.mediafire.com/?z7r9to2c8xrcph3)
By clash you mean error right? I ran it through and it appeared fine or do you mean that accessory pops up?
Yeah, I'm getting this:
Script 'RIBS v1.7" line 796: NoMethodError occured.
undefined method '[]' for nil:NilClass
Not sure what that is.
Hm that's odd, what other scripts are you using?
Quiet a few. Though honestly the battle system is getting annoying. I think I need to switch. Any suggestions for a mainly single character battle system? After I get that I'll try your script again and hopefully it'll work out lol
EDIT: Ima try the Vampyre ABS system, looks interesting.
Well a similar one would be Cozziekuns earthbound battle system http://rmrk.net/index.php/topic,39830.msg459672.html#msg459672 (http://rmrk.net/index.php/topic,39830.msg459672.html#msg459672)
Edit: It takes a lot to set it up but if you're up to it good luck :)
I tested it. I really don't enjoy the menu. Could I maybe add the spin command script to that? make it little more pleasing to the eyes?
Unfortunately no, what I'm using now is Tankentia SBS and it has spin command.
2.6 - http://www.box.com/shared/561x0kce84 (http://www.box.com/shared/561x0kce84)
3.4 - http://www.mediafire.com/?i3h47htx3qsjnsc (http://www.mediafire.com/?i3h47htx3qsjnsc)
Spin Command with the graphic
=begin ========================================================================
* ziifee's Spin Command for RPG Tankentai Sideview Battle System
By ziifee ( http://neomemo.web.fc2.com/ )
<SBS Only>
?-This script is only for the Tankentai SBS WITHOUT the ATB installed.
<Image Required>
Spin40 : Spin40.png is required in the Graphics/System folder.
=end # ========================================================================
#==============================================================================
# ? Ziifee
#==============================================================================
module Zii
# ? Spin Command/Icon Index Number
FIGHT = 131 # Fight
ESCAPE = 2812 # Escape
ATTACK = 1 # Attack (Default)
GUARD = 52 # Guard (Default)
SKILL = 132 # Skill
ITEM = 144 # Item
# ? Spin Command/Direction of Rotation ( "normal" or "reverse" )
# Determines how Spin Command rotates according to left/right key press.
TURN = "normal"
# ? Face Graphics (true: Use battle face graphic / false: don't use faces)
STATUS_FACE = true
# ? Actor Names (true: Show actor names / false: Don't show )
STATUS_LINE = true
# ? Actor Name Text Size ( VX default size: 20 )
LINE_SIZE = 14
#--------------------------------------------------------------------------
# ? ???? ???
#--------------------------------------------------------------------------
def self.turn_normal?
return false if TURN == "reverse"
return true if TURN == "normal"
return true
end
#--------------------------------------------------------------------------
# ? ???????? [???????] ???
#--------------------------------------------------------------------------
def self.battle_face?
return true if STATUS_FACE
return false
end
#--------------------------------------------------------------------------
# ? ???????????? [??] ???
#--------------------------------------------------------------------------
def self.line_name?
return true if STATUS_LINE
return false
end
end
# ? ???????
#==============================================================================
# ? Window_BattleStatus
#==============================================================================
class Window_BattleStatus
#--------------------------------------------------------------------------
# ? ????????? ?
#--------------------------------------------------------------------------
def initialize
super(0, 0, 416, 128)
@column_max = 5
refresh
self.active = false
self.opacity = 0
end
#--------------------------------------------------------------------------
# ? ????? ?
#--------------------------------------------------------------------------
def draw_item(index)
x = index * 96
rect = Rect.new(x, 0, 96, 96)
self.contents.clear_rect(rect)
self.contents.font.color = normal_color
actor = $game_party.members[index]
draw_actor_face(actor, x + 2, 2, 92) if actor.hp > 0 and Zii.battle_face?
draw_actor_state(actor, x + 72, WLH * 3)
if Zii.line_name?
self.contents.font.color = hp_color(actor)
size = Zii::LINE_SIZE
self.contents.font.size = size
self.contents.draw_text(x, WLH * 1 + 20 - size, 80, WLH, actor.name)
self.contents.font.size = 20
end
draw_actor_hp(actor, x, WLH * 2, 60)
draw_actor_mp(actor, x, WLH * 3, 50)
end
#--------------------------------------------------------------------------
# ? ???????
#--------------------------------------------------------------------------
def update_cursor
if @index < 0 # ??????? 0 ?????
self.cursor_rect.empty # ??????????
else # ??????? 0 ?????
rect = Rect.new(index * 96, 0, 96, 96)
self.cursor_rect = rect # ??????????
end
end
end
# ? ??????
#==============================================================================
# ? Window_SpinCommand
#------------------------------------------------------------------------------
# ?????????????????????
#==============================================================================
class Window_SpinCommand < Window_Base
#--------------------------------------------------------------------------
# ? ??????????
#--------------------------------------------------------------------------
attr_reader :index # ??????
attr_reader :help_window # ????????
#--------------------------------------------------------------------------
# ? ?????????
# cx / cy : ??? X?? / Y??
# commands : ?????? (?? ? [name, kind, pull, enabled?])
# setting : ?????? ("R"=>?? "S"=>?? "G"=>?? "L"=>??)
#--------------------------------------------------------------------------
def initialize(cx, cy, commands, setting = {})
@radius = setting.has_key?("R") ? setting["R"] : 40 # ????
@speed = setting.has_key?("S") ? setting["S"] : 36 # ????
@spin_back = setting.has_key?("G") ? setting["G"] : "" # ????
@spin_line = setting.has_key?("L") ? setting["L"] : nil # ????
x, y = cx - @radius - 28, cy - @radius - 28
width = height = @radius * 2 + 56
super(x, y, width, height)
self.opacity = 0
@index = 0
@commands = commands # ????
@spin_right = true
@spin_count = 0
update_cursor
end
#--------------------------------------------------------------------------
# ? ?????????? (???? ???)
# i : ??????
# cx : ?? ???? X??
# cy : ?? ???? Y??
#--------------------------------------------------------------------------
def draw_spin_graphic(i, cx, cy)
case command_kind(i)
when "icon"
draw_icon(command_pull(i), cx - 12, cy - 12, command_enabled?(i))
end
end
#--------------------------------------------------------------------------
# ? ?????? ?????
#--------------------------------------------------------------------------
def refresh
set_spin
end
#--------------------------------------------------------------------------
# ? ????? ?????
#--------------------------------------------------------------------------
def draw_item(index, enabled = true)
@commands[index][3] = enabled
set_spin
end
#--------------------------------------------------------------------------
# ? ?????????????
#--------------------------------------------------------------------------
def command_name(index = @index)
return "" if index < 0
name = @commands[index][0]
return name != nil ? name : ""
end
#--------------------------------------------------------------------------
# ? ??????????
#--------------------------------------------------------------------------
def command_kind(index)
result = @commands[index][1]
return result != nil ? result : ""
end
#--------------------------------------------------------------------------
# ? ??????? ???
#--------------------------------------------------------------------------
def command_pull(index)
result = @commands[index][2]
return result != nil ? result : ""
end
#--------------------------------------------------------------------------
# ? ?????????????
#--------------------------------------------------------------------------
def command_enabled?(index)
result = @commands[index][3]
return result != nil ? result : true
end
#--------------------------------------------------------------------------
# ? ?????? index ?????
#--------------------------------------------------------------------------
def set_index(name)
n = -1
for i in 0...@commands.size
n = i if @commands[i][0] == name
end
@index = n if n >= 0
update_cursor
call_update_help
set_spin
end
#--------------------------------------------------------------------------
# ? ?????????
# index : ?????????
#--------------------------------------------------------------------------
def index=(index)
@index = index
update_cursor
call_update_help
set_spin
end
#--------------------------------------------------------------------------
# ? ???X?????
#--------------------------------------------------------------------------
def center_x
return contents.width / 2
end
#--------------------------------------------------------------------------
# ? ???Y?????
#--------------------------------------------------------------------------
def center_y
return contents.height / 2
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def item_max
return @commands.size
end
#--------------------------------------------------------------------------
# ? ????? (??? ??)
#--------------------------------------------------------------------------
def set_background
return if @spin_back == ""
bitmap = Cache.system(@spin_back)
rect = Rect.new(0, 0, bitmap.width, bitmap.height)
self.contents.blt(12, 12, bitmap, rect)
end
#--------------------------------------------------------------------------
# ? ????? (??? ??)
#--------------------------------------------------------------------------
def set_text
return if @spin_line == nil
y = center_y - WLH / 2 + @spin_line
self.contents.draw_text(center_x - 48, y, 96, WLH, command_name, 1)
end
#--------------------------------------------------------------------------
# ? ?????????????????
#--------------------------------------------------------------------------
def angle_size
return (Math::PI * 2 / item_max)
end
#--------------------------------------------------------------------------
# ? ??????????????? ?????
#--------------------------------------------------------------------------
def set_spin_count
@spin_count = angle_size * 360 / @speed
set_spin(true)
end
#--------------------------------------------------------------------------
# ? ????? ???
# spin : ????? (true ?????)
#--------------------------------------------------------------------------
def set_spin(spin = false)
self.contents.clear
set_background
angle = spin ? @speed * @spin_count / 360 : 0
angle = @spin_right ? angle : -angle
for i in 0...item_max
n = (i - @index) * angle_size + angle
cx = @radius * Math.sin(n) + center_x
cy = - @radius * Math.cos(n) + center_y
draw_spin_graphic(i, cx, cy)
end
set_text
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def update
super
update_cursor
if @spin_count > 0
@spin_count -= 1
set_spin(@spin_count >= 1)
return
end
update_command
end
#--------------------------------------------------------------------------
# ? ???????????
#--------------------------------------------------------------------------
def command_movable?
return false if @spin_count > 0
return false if (not visible or not active)
return false if (index < 0 or index > item_max or item_max == 0)
return false if (@opening or @closing)
return true
end
#--------------------------------------------------------------------------
# ? ?????????
#--------------------------------------------------------------------------
def command_right
@index = (@index + 1) % item_max
@spin_right = true
set_spin_count
end
#--------------------------------------------------------------------------
# ? ?????????
#--------------------------------------------------------------------------
def command_left
@index = (@index - 1 + item_max) % item_max
@spin_right = false
set_spin_count
end
#--------------------------------------------------------------------------
# ? ?????????
#--------------------------------------------------------------------------
def update_command
if command_movable?
if Input.press?(Input::RIGHT)
Sound.play_cursor
Zii.turn_normal? ? command_right : command_left
end
if Input.press?(Input::LEFT)
Sound.play_cursor
Zii.turn_normal? ? command_left : command_right
end
end
call_update_help
end
#--------------------------------------------------------------------------
# ? ???????
#--------------------------------------------------------------------------
def update_cursor
if @index < 0
self.cursor_rect.empty
else
rect = Rect.new(0, 0, 24, 24)
rect.x = center_x - rect.width / 2
rect.y = center_y - rect.height / 2 - @radius
self.cursor_rect = rect
end
end
#--------------------------------------------------------------------------
# ? ???????????
# help_window : ???????????
#--------------------------------------------------------------------------
def help_window=(help_window)
@help_window = help_window
call_update_help
end
#--------------------------------------------------------------------------
# ? ???????????????????
#--------------------------------------------------------------------------
def call_update_help
if self.active and @help_window != nil
update_help
end
end
#--------------------------------------------------------------------------
# ? ??????????? (???????????)
#--------------------------------------------------------------------------
def update_help
end
end
#==============================================================================
# ? Window_PartyCommand
#==============================================================================
class Window_PartyCommand < Window_SpinCommand
#--------------------------------------------------------------------------
# ? ?????????
#--------------------------------------------------------------------------
def initialize
s1 = [Vocab::fight, "icon", Zii::FIGHT, true]
s2 = [Vocab::escape, "icon", Zii::ESCAPE, $game_troop.can_escape]
setting = {"R"=>40, "S"=>52, "G"=>"Spin40", "L"=>-12}
super(56, 64, [s1, s2], setting)
self.active = false
set_spin
end
end
#==============================================================================
# ? Window_ActorCommand
#==============================================================================
class Window_ActorCommand < Window_SpinCommand
#--------------------------------------------------------------------------
# ? ?????????
#--------------------------------------------------------------------------
def initialize
s1 = [Vocab::attack, "icon", Zii::ATTACK, true]
s2 = [Vocab::skill, "icon", Zii::SKILL, true]
s3 = [Vocab::guard, "icon", Zii::GUARD, true]
s4 = [Vocab::item, "icon", Zii::ITEM, true]
setting = {"R"=>40, "S"=>52, "G"=>"Spin40", "L"=>-12}
super(0, 64, [s1, s2, s3, s4], setting)
self.active = false
set_spin
end
#--------------------------------------------------------------------------
# ? ??????
# actor : ????
#--------------------------------------------------------------------------
def setup(actor)
@commands[0][2] = Zii::ATTACK
@commands[1][0] = Vocab::skill
if actor.weapons[0] != nil
n = actor.weapons[0].icon_index
@commands[0][2] = n if n > 0
end
@commands[1][0] = actor.class.skill_name if actor.class.skill_name_valid
self.index = 0
set_spin
end
end
Side view huh, that changes things a bit. Hmm. Is that one less heavy than the battle engine melody? I love that one but... I'm really look for a very simple system, as battles are not a major part of my game.
Well this might not be for you, you could try Yanfly's battle engine zealous.
Hey I got your first script to work. Except, it lets me select 4 of them still. Could you change it or tell me how to change it to only 3 please?
So it showed accessory? I'll fix that when I'm back on my computer.
Sorry to double post, replace Window_Equip with this. Make sure you keep the other script to, there will still be a space but you can't move down there and it will not display "Accessory".
#==============================================================================
# ** Window_Equip
#------------------------------------------------------------------------------
# This window displays items the actor is currently equipped with on the
# equipment screen.
#==============================================================================
class Window_Equip < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y corrdinate
# actor : actor
#--------------------------------------------------------------------------
def initialize(x, y, actor)
super(x, y, 336, WLH * 5 + 32)
@actor = actor
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# * Get Item
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@data = []
for item in @actor.equips do @data.push(item) end
@item_max = @data.size
self.contents.font.color = system_color
if @actor.two_swords_style
self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon1)
self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::weapon2)
else
self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon)
self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::armor1)
end
self.contents.draw_text(4, WLH * 2, 92, WLH, Vocab::armor2)
self.contents.draw_text(4, WLH * 3, 92, WLH, Vocab::armor3)
draw_item_name(@data[0], 92, WLH * 0)
draw_item_name(@data[1], 92, WLH * 1)
draw_item_name(@data[2], 92, WLH * 2)
draw_item_name(@data[3], 92, WLH * 3)
end
#--------------------------------------------------------------------------
# * Update Help Text
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(item == nil ? "" : item.description)
end
end
Sorry, I meant it still shows chest. I wanted accessory and chest gone as well. for a total of only 3 equip spaces: the weapon, the shield and the head slots.
Alright give me a minute
Alright just replace again
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
# This class handles actors. It's used within the Game_Actors class
# ($game_actors) and referenced by the Game_Party class ($game_party).
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :name # name
attr_reader :character_name # character graphic filename
attr_reader :character_index # character graphic index
attr_reader :face_name # face graphic filename
attr_reader :face_index # face graphic index
attr_reader :class_id # class ID
attr_reader :weapon_id # weapon ID
attr_reader :armor1_id # shield ID
attr_reader :armor2_id # helmet ID
attr_reader :level # level
attr_reader :exp # experience
attr_accessor :last_skill_id # for cursor memory: Skill
#--------------------------------------------------------------------------
# * Object Initialization
# actor_id : actor ID
#--------------------------------------------------------------------------
def initialize(actor_id)
super()
setup(actor_id)
@last_skill_id = 0
end
#--------------------------------------------------------------------------
# * Setup
# actor_id : actor ID
#--------------------------------------------------------------------------
def setup(actor_id)
actor = $data_actors[actor_id]
@actor_id = actor_id
@name = actor.name
@character_name = actor.character_name
@character_index = actor.character_index
@face_name = actor.face_name
@face_index = actor.face_index
@class_id = actor.class_id
@weapon_id = actor.weapon_id
@armor1_id = actor.armor1_id
@armor2_id = actor.armor2_id
@level = actor.initial_level
@exp_list = Array.new(101)
make_exp_list
@exp = @exp_list[@level]
@skills = []
for i in self.class.learnings
learn_skill(i.skill_id) if i.level <= @level
end
clear_extra_values
recover_all
end
#--------------------------------------------------------------------------
# * Determine if Actor or Not
#--------------------------------------------------------------------------
def actor?
return true
end
#--------------------------------------------------------------------------
# * Get Actor ID
#--------------------------------------------------------------------------
def id
return @actor_id
end
#--------------------------------------------------------------------------
# * Get Index
#--------------------------------------------------------------------------
def index
return $game_party.members.index(self)
end
#--------------------------------------------------------------------------
# * Get Actor Object
#--------------------------------------------------------------------------
def actor
return $data_actors[@actor_id]
end
#--------------------------------------------------------------------------
# * Get Class Object
#--------------------------------------------------------------------------
def class
return $data_classes[@class_id]
end
#--------------------------------------------------------------------------
# * Get Skill Object Array
#--------------------------------------------------------------------------
def skills
result = []
for i in @skills
result.push($data_skills[i])
end
return result
end
#--------------------------------------------------------------------------
# * Get Weapon Object Array
#--------------------------------------------------------------------------
def weapons
result = []
result.push($data_weapons[@weapon_id])
if two_swords_style
result.push($data_weapons[@armor1_id])
end
return result
end
#--------------------------------------------------------------------------
# * Get Armor Object Array
#--------------------------------------------------------------------------
def armors
result = []
unless two_swords_style
result.push($data_armors[@armor1_id])
end
result.push($data_armors[@armor2_id])
return result
end
#--------------------------------------------------------------------------
# * Get Equipped Item Object Array
#--------------------------------------------------------------------------
def equips
return weapons + armors
end
#--------------------------------------------------------------------------
# * Calculate Experience
#--------------------------------------------------------------------------
def make_exp_list
@exp_list[1] = @exp_list[100] = 0
m = actor.exp_basis
n = 0.75 + actor.exp_inflation / 200.0;
for i in 2..99
@exp_list[i] = @exp_list[i-1] + Integer(m)
m *= 1 + n;
n *= 0.9;
end
end
#--------------------------------------------------------------------------
# * Get Element Change Value
# element_id : element ID
#--------------------------------------------------------------------------
def element_rate(element_id)
rank = self.class.element_ranks[element_id]
result = [0,200,150,100,50,0,-100][rank]
for armor in armors.compact
result /= 2 if armor.element_set.include?(element_id)
end
for state in states
result /= 2 if state.element_set.include?(element_id)
end
return result
end
#--------------------------------------------------------------------------
# * Get Added State Success Rate
# state_id : state ID
#--------------------------------------------------------------------------
def state_probability(state_id)
if $data_states[state_id].nonresistance
return 100
else
rank = self.class.state_ranks[state_id]
return [0,100,80,60,40,20,0][rank]
end
end
#--------------------------------------------------------------------------
# * Determine if State is Resisted
# state_id : state ID
#--------------------------------------------------------------------------
def state_resist?(state_id)
for armor in armors.compact
return true if armor.state_set.include?(state_id)
end
return false
end
#--------------------------------------------------------------------------
# * Get Normal Attack Element
#--------------------------------------------------------------------------
def element_set
result = []
if weapons.compact == []
return [1] # Unarmed: melee attribute
end
for weapon in weapons.compact
result |= weapon == nil ? [] : weapon.element_set
end
return result
end
#--------------------------------------------------------------------------
# * Get Additional Effect of Normal Attack (state change)
#--------------------------------------------------------------------------
def plus_state_set
result = []
for weapon in weapons.compact
result |= weapon == nil ? [] : weapon.state_set
end
return result
end
#--------------------------------------------------------------------------
# * Get Maximum HP Limit
#--------------------------------------------------------------------------
def maxhp_limit
return 9999
end
#--------------------------------------------------------------------------
# * Get Basic Maximum HP
#--------------------------------------------------------------------------
def base_maxhp
return actor.parameters[0, @level]
end
#--------------------------------------------------------------------------
# * Get basic Maximum MP
#--------------------------------------------------------------------------
def base_maxmp
return actor.parameters[1, @level]
end
#--------------------------------------------------------------------------
# * Get Basic Attack
#--------------------------------------------------------------------------
def base_atk
n = actor.parameters[2, @level]
for item in equips.compact do n += item.atk end
return n
end
#--------------------------------------------------------------------------
# * Get Basic Defense
#--------------------------------------------------------------------------
def base_def
n = actor.parameters[3, @level]
for item in equips.compact do n += item.def end
return n
end
#--------------------------------------------------------------------------
# * Get Basic Spirit
#--------------------------------------------------------------------------
def base_spi
n = actor.parameters[4, @level]
for item in equips.compact do n += item.spi end
return n
end
#--------------------------------------------------------------------------
# * Get Basic Agility
#--------------------------------------------------------------------------
def base_agi
n = actor.parameters[5, @level]
for item in equips.compact do n += item.agi end
return n
end
#--------------------------------------------------------------------------
# * Get Hit Rate
#--------------------------------------------------------------------------
def hit
if two_swords_style
n1 = weapons[0] == nil ? 95 : weapons[0].hit
n2 = weapons[1] == nil ? 95 : weapons[1].hit
n = [n1, n2].min
else
n = weapons[0] == nil ? 95 : weapons[0].hit
end
return n
end
#--------------------------------------------------------------------------
# * Get Evasion Rate
#--------------------------------------------------------------------------
def eva
n = 5
for item in armors.compact do n += item.eva end
return n
end
#--------------------------------------------------------------------------
# * Get Critical Ratio
#--------------------------------------------------------------------------
def cri
n = 4
n += 4 if actor.critical_bonus
for weapon in weapons.compact
n += 4 if weapon.critical_bonus
end
return n
end
#--------------------------------------------------------------------------
# * Get Ease of Hitting
#--------------------------------------------------------------------------
def odds
return 4 - self.class.position
end
#--------------------------------------------------------------------------
# * Get [Dual Wield] Option
#--------------------------------------------------------------------------
def two_swords_style
return actor.two_swords_style
end
#--------------------------------------------------------------------------
# * Get [Fixed Equipment] Option
#--------------------------------------------------------------------------
def fix_equipment
return actor.fix_equipment
end
#--------------------------------------------------------------------------
# * Get [Automatic Battle] Option
#--------------------------------------------------------------------------
def auto_battle
return actor.auto_battle
end
#--------------------------------------------------------------------------
# * Get [Super Guard] Option
#--------------------------------------------------------------------------
def super_guard
return actor.super_guard
end
#--------------------------------------------------------------------------
# * Get [Pharmocology] Option
#--------------------------------------------------------------------------
def pharmacology
return actor.pharmacology
end
#--------------------------------------------------------------------------
# * Get [First attack within turn] weapon option
#--------------------------------------------------------------------------
def fast_attack
for weapon in weapons.compact
return true if weapon.fast_attack
end
return false
end
#--------------------------------------------------------------------------
# * Get [Chain attack] weapon option
#--------------------------------------------------------------------------
def dual_attack
for weapon in weapons.compact
return true if weapon.dual_attack
end
return false
end
#--------------------------------------------------------------------------
# * Get [Prevent critical] armor option
#--------------------------------------------------------------------------
def prevent_critical
for armor in armors.compact
return true if armor.prevent_critical
end
return false
end
#--------------------------------------------------------------------------
# * Get [half MP cost] armor option
#--------------------------------------------------------------------------
def half_mp_cost
for armor in armors.compact
return true if armor.half_mp_cost
end
return false
end
#--------------------------------------------------------------------------
# * Get [Double Experience] Armor Option
#--------------------------------------------------------------------------
def double_exp_gain
for armor in armors.compact
return true if armor.double_exp_gain
end
return false
end
#--------------------------------------------------------------------------
# * Get [Auto HP Recovery] Armor Option
#--------------------------------------------------------------------------
def auto_hp_recover
for armor in armors.compact
return true if armor.auto_hp_recover
end
return false
end
#--------------------------------------------------------------------------
# * Get Normal Attack Animation ID
#--------------------------------------------------------------------------
def atk_animation_id
if two_swords_style
return weapons[0].animation_id if weapons[0] != nil
return weapons[1] == nil ? 1 : 0
else
return weapons[0] == nil ? 1 : weapons[0].animation_id
end
end
#--------------------------------------------------------------------------
# * Get Normal Attack Animation ID (Dual Wield: Weapon 2)
#--------------------------------------------------------------------------
def atk_animation_id2
if two_swords_style
return weapons[1] == nil ? 0 : weapons[1].animation_id
else
return 0
end
end
#--------------------------------------------------------------------------
# * Get Experience String
#--------------------------------------------------------------------------
def exp_s
return @exp_list[@level+1] > 0 ? @exp : "-------"
end
#--------------------------------------------------------------------------
# * Get String for Next Level Experience
#--------------------------------------------------------------------------
def next_exp_s
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] : "-------"
end
#--------------------------------------------------------------------------
# * Get String for Experience to Next Level
#--------------------------------------------------------------------------
def next_rest_exp_s
return @exp_list[@level+1] > 0 ?
(@exp_list[@level+1] - @exp) : "-------"
end
#--------------------------------------------------------------------------
# * Change Equipment (designate ID)
# equip_type : Equip region (0..4)
# item_id : Weapon ID or armor ID
# test : Test flag (for battle test or temporary equipment)
# Used by event commands or battle test preparation.
#--------------------------------------------------------------------------
def change_equip_by_id(equip_type, item_id, test = false)
if equip_type == 0 or (equip_type == 1 and two_swords_style)
change_equip(equip_type, $data_weapons[item_id], test)
else
change_equip(equip_type, $data_armors[item_id], test)
end
end
#--------------------------------------------------------------------------
# * Change Equipment (designate object)
# equip_type : Equip region (0..4)
# item : Weapon or armor (nil is used to unequip)
# test : Test flag (for battle test or temporary equipment)
#--------------------------------------------------------------------------
def change_equip(equip_type, item, test = false)
last_item = equips[equip_type]
unless test
return if $game_party.item_number(item) == 0 if item != nil
$game_party.gain_item(last_item, 1)
$game_party.lose_item(item, 1)
end
item_id = item == nil ? 0 : item.id
case equip_type
when 0 # Weapon
@weapon_id = item_id
unless two_hands_legal? # If two hands is not allowed
change_equip(1, nil, test) # Unequip from other hand
end
when 1 # Shield
@armor1_id = item_id
unless two_hands_legal? # If two hands is not allowed
change_equip(0, nil, test) # Unequip from other hand
end
when 2 # Head
@armor2_id = item_id
end
end
#--------------------------------------------------------------------------
# * Discard Equipment
# item : Weapon or armor to be discarded.
# Used when the "Include Equipment" option is enabled.
#--------------------------------------------------------------------------
def discard_equip(item)
if item.is_a?(RPG::Weapon)
if @weapon_id == item.id
@weapon_id = 0
elsif two_swords_style and @armor1_id == item.id
@armor1_id = 0
end
elsif item.is_a?(RPG::Armor)
if not two_swords_style and @armor1_id == item.id
@armor1_id = 0
elsif @armor2_id == item.id
@armor2_id = 0
elsif @armor3_id == item.id
@armor3_id = 0
end
end
end
#--------------------------------------------------------------------------
# * Determine if Two handed Equipment
#--------------------------------------------------------------------------
def two_hands_legal?
if weapons[0] != nil and weapons[0].two_handed
return false if @armor1_id != 0
end
if weapons[1] != nil and weapons[1].two_handed
return false if @weapon_id != 0
end
return true
end
#--------------------------------------------------------------------------
# * Determine if Equippable
# item : item
#--------------------------------------------------------------------------
def equippable?(item)
if item.is_a?(RPG::Weapon)
return self.class.weapon_set.include?(item.id)
elsif item.is_a?(RPG::Armor)
return false if two_swords_style and item.kind == 0
return self.class.armor_set.include?(item.id)
end
return false
end
#--------------------------------------------------------------------------
# * Change Experience
# exp : New experience
# show : Level up display flag
#--------------------------------------------------------------------------
def change_exp(exp, show)
last_level = @level
last_skills = skills
@exp = [[exp, 9999999].min, 0].max
while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
level_up
end
while @exp < @exp_list[@level]
level_down
end
@hp = [@hp, maxhp].min
@mp = [@mp, maxmp].min
if show and @level > last_level
display_level_up(skills - last_skills)
end
end
#--------------------------------------------------------------------------
# * Level Up
#--------------------------------------------------------------------------
def level_up
@level += 1
for learning in self.class.learnings
learn_skill(learning.skill_id) if learning.level == @level
end
end
#--------------------------------------------------------------------------
# * Level Down
#--------------------------------------------------------------------------
def level_down
@level -= 1
end
#--------------------------------------------------------------------------
# * Show Level Up Message
# new_skills : Array of newly learned skills
#--------------------------------------------------------------------------
def display_level_up(new_skills)
$game_message.new_page
text = sprintf(Vocab::LevelUp, @name, Vocab::level, @level)
$game_message.texts.push(text)
for skill in new_skills
text = sprintf(Vocab::ObtainSkill, skill.name)
$game_message.texts.push(text)
end
end
#--------------------------------------------------------------------------
# * Get Experience (for the double experience point option)
# exp : Amount to increase experience.
# show : Level up display flag
#--------------------------------------------------------------------------
def gain_exp(exp, show)
if double_exp_gain
change_exp(@exp + exp * 2, show)
else
change_exp(@exp + exp, show)
end
end
#--------------------------------------------------------------------------
# * Change Level
# level : new level
# show : Level up display flag
#--------------------------------------------------------------------------
def change_level(level, show)
level = [[level, 99].min, 1].max
change_exp(@exp_list[level], show)
end
#--------------------------------------------------------------------------
# * Learn Skill
# skill_id : skill ID
#--------------------------------------------------------------------------
def learn_skill(skill_id)
unless skill_learn?($data_skills[skill_id])
@skills.push(skill_id)
@skills.sort!
end
end
#--------------------------------------------------------------------------
# * Forget Skill
# skill_id : skill ID
#--------------------------------------------------------------------------
def forget_skill(skill_id)
@skills.delete(skill_id)
end
#--------------------------------------------------------------------------
# * Determine if Finished Learning Skill
# skill : skill
#--------------------------------------------------------------------------
def skill_learn?(skill)
return @skills.include?(skill.id)
end
#--------------------------------------------------------------------------
# * Determine Usable Skills
# skill : skill
#--------------------------------------------------------------------------
def skill_can_use?(skill)
return false unless skill_learn?(skill)
return super
end
#--------------------------------------------------------------------------
# * Change Name
# name : new name
#--------------------------------------------------------------------------
def name=(name)
@name = name
end
#--------------------------------------------------------------------------
# * Change Class ID
# class_id : New class ID
#--------------------------------------------------------------------------
def class_id=(class_id)
@class_id = class_id
for i in 0..4 # Remove unequippable items
change_equip(i, nil) unless equippable?(equips[i])
end
end
#--------------------------------------------------------------------------
# * Change Graphics
# character_name : new character graphic filename
# character_index : new character graphic index
# face_name : new face graphic filename
# face_index : new face graphic index
#--------------------------------------------------------------------------
def set_graphic(character_name, character_index, face_name, face_index)
@character_name = character_name
@character_index = character_index
@face_name = face_name
@face_index = face_index
end
#--------------------------------------------------------------------------
# * Use Sprites?
#--------------------------------------------------------------------------
def use_sprite?
return false
end
#--------------------------------------------------------------------------
# * Perform Collapse
#--------------------------------------------------------------------------
def perform_collapse
if $game_temp.in_battle and dead?
@collapse = true
Sound.play_actor_collapse
end
end
#--------------------------------------------------------------------------
# * Perform Automatic Recovery (called at end of turn)
#--------------------------------------------------------------------------
def do_auto_recovery
if auto_hp_recover and not dead?
self.hp += maxhp / 20
end
end
#--------------------------------------------------------------------------
# * Create Battle Action (for automatic battle)
#--------------------------------------------------------------------------
def make_action
@action.clear
return unless movable?
action_list = []
action = Game_BattleAction.new(self)
action.set_attack
action.evaluate
action_list.push(action)
for skill in skills
action = Game_BattleAction.new(self)
action.set_skill(skill.id)
action.evaluate
action_list.push(action)
end
max_value = 0
for action in action_list
if action.value > max_value
@action = action
max_value = action.value
end
end
end
end
#==============================================================================
# ** Window_Equip
#------------------------------------------------------------------------------
# This window displays items the actor is currently equipped with on the
# equipment screen.
#==============================================================================
class Window_Equip < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y corrdinate
# actor : actor
#--------------------------------------------------------------------------
def initialize(x, y, actor)
super(x, y, 336, WLH * 5 + 32)
@actor = actor
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# * Get Item
#--------------------------------------------------------------------------
def item
return @data[self.index]
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@data = []
for item in @actor.equips do @data.push(item) end
@item_max = @data.size
self.contents.font.color = system_color
if @actor.two_swords_style
self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon1)
self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::weapon2)
else
self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon)
self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::armor1)
end
self.contents.draw_text(4, WLH * 2, 92, WLH, Vocab::armor2)
draw_item_name(@data[0], 92, WLH * 0)
draw_item_name(@data[1], 92, WLH * 1)
draw_item_name(@data[2], 92, WLH * 2)
end
#--------------------------------------------------------------------------
# * Update Help Text
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(item == nil ? "" : item.description)
end
end
Yeah this worked, I appreciate it!
You wouldnt happen to know to edit that RIBS battle system a little bit would you?
By edit you mean? This should work fine with it, or do you mean the spin command?