=begin
#==============================================================================
# â—â— Multi-Equip + Multi-Attack
#------------------------------------------------------------------------------
# Trickster (tricksterguy@hotmail.com)
# Version 3.1.2
# Date 7/17/07
# Goto rmxp.org for updates/support/bug reports
#==============================================================================
=end
#--------------------------------------------------------------------------
# â— Begin SDK Log
#--------------------------------------------------------------------------
SDK.log('Multi-Equip', 'Trickster', 3.12, '7/17/07')
#--------------------------------------------------------------------------
# Begin SDK Requirement Check
#--------------------------------------------------------------------------
SDK.check_requirements(2.2, [1, 2, 3])
#--------------------------------------------------------------------------
# â— Begin SDK Enabled Check
#--------------------------------------------------------------------------
if SDK.enabled?('Multi-Equip')
module Multi_Equip
#--------------------------------------------------------------------------
# * Equip Names For Slots for Actors
# syntax - actor_id => [names] or %w( names )
#--------------------------------------------------------------------------
Actor_Names = {
1 => %w( Sword Sword Shield Helm Armor/Plate Ring Amulet Head Leg ),
2 => %w( Spear Shield Helm Armor/Plate Ring ),
7 => ['Mace','Hat','Robe','Ring'],
8 => ['Rod','Hat','Robe','Ring'],
9 => %w( w2 w2 w2 w2 w2 a8)
}
#--------------------------------------------------------------------------
# * Equip Names For Slots Classes
# syntax - class_id => [names] or %w( names )
#--------------------------------------------------------------------------
Class_Names = {
1 => %w( Sword Sword Shield Helm Armor/Plate Ring Amulet Head Leg ),
2 => %w( Spear Shield Helm Armor/Plate Ring ),
7 => ['Mace','Hat','Robe','Ring'],
8 => ['Rod','Hat','Robe','Ring'],
9 => ['HardPort', 'HardPort', 'HardPort', 'HardPort', 'HardPort', 'Armor']
}
#--------------------------------------------------------------------------
# * Equip Types For Slots
# syntax - actor_id = [types]
# note - w = weapon an = armor kind n
#--------------------------------------------------------------------------
Actor_Types = {
}
#--------------------------------------------------------------------------
# * Equip Types For Slots
# syntax - class_id = [types] or %( types )
# note - w = weapon an = armor kind n
#--------------------------------------------------------------------------
Class_Types = {
1 => %w( w w a1 a2 a3 a4 a5 a6 a7 ),
2 => %w( w a1 a2 a3 a4 ),
7 => ['w', 'a2', 'a3', 'a4'],
8 => ['w', 'a2', 'a3', 'a4'],
9 => %w( w2 w2 w2 w2 w2 a8)
}
#--------------------------------------------------------------------------
# * Initial Equipment
# syntax - actor_id => {slot id => equip id}
#--------------------------------------------------------------------------
Init_Equip = {
1 => {0=>1, 2=>1, 3=>5, 4=>13},
2 => {0=>5, 1=>1, 2=>5, 3=>17},
7 => {0=>25, 1=>9, 2=>21},
8 => {0=>29, 1=>9, 2=>21}
}
#--------------------------------------------------------------------------
# * Battle Test Equipment
# syntax - actor_id => {slot id => equip id}
#--------------------------------------------------------------------------
BT_Equip = {
1 => {0=>4, 1=>2, 2=>1, 3=>5, 4=>13},
2 => {0=>5, 1=>1, 2=>5, 3=>17},
7 => {0=>25, 1=>9, 2=>21},
8 => {0=>29, 1=>9, 2=>21}
}
#--------------------------------------------------------------------------
# * Fixed Equipment
# syntax - actor_id => {slot_id => bool}
#--------------------------------------------------------------------------
Equip_Fix = {
}
#--------------------------------------------------------------------------
# * Setup All Default Values (Don't Touch)
#--------------------------------------------------------------------------
words = SDK::Scene_Commands::DataSystem.words
#--------------------------------------------------------------------------
# * Set Class Types Default to Corresponding words for each slot
#--------------------------------------------------------------------------
Class_Names.default = words.weapon, words.armor1, words.armor2, words.armor3,
words.armor4
#--------------------------------------------------------------------------
# * Set Class Names Default to The Normal Five Slots
#--------------------------------------------------------------------------
Class_Types.default = %( w a1 a2 a3 a4 )
end
#--------------------------------------------------------------------------
# End SDK Enabled Check
#--------------------------------------------------------------------------
end
=begin
#==============================================================================
# â—â— Equipment Types Addon
#------------------------------------------------------------------------------
# Trickster (tricksterguy@hotmail.com)
# Version 1.0
# Date 7/14/07
# Goto rmxp.org for updates/support/bug reports
#------------------------------------------------------------------------------
# This addon adds more Armor kinds and now Adds Weapon kinds so some equipment
# can only be equipped in a certain slot
#------------------------------------------------------------------------------
# Note: For Customization go back to the main Multi-Equip Script and configure
# Actor_Types and Class_Types. You may now use as the values for this
# wn = weapon kind n, an = armor kind n, w = all weapons, a = all armors.
#==============================================================================
=end
#--------------------------------------------------------------------------
# â— Begin SDK Log
#--------------------------------------------------------------------------
SDK.log('Equipment Types Addon', 'Trickster', 1.0, '7/14/07')
#--------------------------------------------------------------------------
# Begin SDK Requirement Check
#--------------------------------------------------------------------------
SDK.check_requirements(2.2, [1, 3], ['Multi-Equip'])
#--------------------------------------------------------------------------
# â— Begin SDK Enabled Check
#--------------------------------------------------------------------------
if SDK.enabled?('Equipment Types Addon')
module Multi_Equip
#--------------------------------------------------------------------------
# * Weapon_Types
# syntax - weapon_id = kind
#--------------------------------------------------------------------------
Weapon_Types = {34 => 1,
36 => 2,
37 => 2,
38 => 2,
}
#--------------------------------------------------------------------------
# * Armor_Types
# syntax - armor_id = (kind - 1)
#--------------------------------------------------------------------------
Armor_Types = {33 => 4,
35 => 5,
36 => 6,
37 => 7,
}
end
class RPG::Weapon
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :kind
end
class Scene_Title
#--------------------------------------------------------------------------
# * Main Database
#--------------------------------------------------------------------------
alias_method :trick_multiequip_main_database, :main_database
def main_database
# The Usual
trick_multiequip_main_database
# Set Default Kind
$data_weapons.each {|weapon| weapon.kind = 0 if weapon != nil}
# Run Through Defined Armor Types
Multi_Equip::Armor_Types.each do |armor_id, kind|
# Set Kind for armor
$data_armors[armor_id].kind = kind
end
# Run Through Defined Weapon Types
Multi_Equip::Weapon_Types.each do |weapon_id, kind|
# Set Kind for weapon
$data_weapons[weapon_id].kind = kind
end
end
end
class Scene_Equip
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
# Get currently equipped item
item1 = @right_window.item
# Get Slot
slot = @actor.slot_types[@right_window.index]
# Get Type and Kind of Equipment
type = slot[0..0]
kind = slot.size > 1 ? slot[1...slot.size].to_i : -1
# Set Equip
@item_window.set_equip(type, kind)
# If right window is active erase parameters for after equipment change
@left_window.clear_parameters if @right_window.active
# Get currently equipped item
item1 = @right_window.item
# Return if item window isn't active
return if not @item_window.active
# Get currently selected item
item2 = @item_window.item
# Change Equipment
last_hp = @actor.hp
last_sp = @actor.sp
@actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
# Get parameters for after equipment change
new_str = @actor.str
new_dex = @actor.dex
new_agi = @actor.agi
new_int = @actor.int
new_atk = @actor.atk
new_pdef = @actor.pdef
new_mdef = @actor.mdef
new_eva = @actor.eva
# Return equipment
@actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
@actor.hp = last_hp
@actor.sp = last_sp
# Draw in left window
@left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str,
new_dex, new_agi, new_int, new_eva)
end
end
class Window_EquipItem
#--------------------------------------------------------------------------
# * Set Equip Type
#--------------------------------------------------------------------------
def equip_kind=(equip_kind)
# Return if same
return if @equip_kind == equip_kind
# Set new equip kind
@equip_type = equip_kind
# Refresh
refresh
end
#--------------------------------------------------------------------------
# * Set Equip
#--------------------------------------------------------------------------
def set_equip(type, kind)
# Return if same
return if @equip_kind == kind and @equip_type == type
# Set New Types
@equip_type, @equip_kind = type, kind
# Refresh
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
# Clear Data
@data.clear
# Add equippable weapons
if @equip_type == 'w'
weapon_set = $data_classes[@actor.class_id].weapon_set
(1...$data_weapons.size).each do |id|
if $game_party.weapon_number(id) > 0 and weapon_set.include?(id)
if $data_weapons[id].kind == @equip_kind or @equip_kind == -1
@data << $data_weapons[id]
end
end
end
end
# Add equippable armor
if @equip_type == 'a'
armor_set = $data_classes[@actor.class_id].armor_set
(1...$data_armors.size).each do |id|
if $game_party.armor_number(id) > 0 and armor_set.include?(id)
if $data_armors[id].kind == @equip_kind - 1 or @equip_kind == -1
@data << $data_armors[id]
end
end
end
end
# Add Blank Item
@data << nil
# Make a bit map and draw all items
@item_max = @data.size
# If Item count is not 0
if @item_max > 0
# If Contents is defined and same height
if self.contents != nil and row_max * 32 == self.contents.height
# Clear Contents
self.contents.clear
else
# If Contents is Defined Dispose Contents
self.contents.dispose unless self.contents.nil?
# Create Bitmap
self.contents = Bitmap.new(width - 32, row_max * 32)
# Set Font Size of Window
self.contents.font.size = 18
end
# Draw Items
(@item_max-1).times {|i| draw_item(i)}
else
# If Contents is Defined Dispose Contents
self.contents.dispose unless self.contents.nil?
# Create Bitmap
self.contents = Bitmap.new(width - 32, height - 32)
end
end
end
#--------------------------------------------------------------------------
# â— End SDK Enabled Check
#--------------------------------------------------------------------------
end
- Can add 'Cursed' (unremovable) armors and weapons
- Can make two-handed weapons
- Can make weapons that deliver multiple strikes
- Can set up off-hand weapon values #(what this?)
- Can make fake Equipment (it change if you equip)
- use Ammo for some Weapons
Tdata;247490":65tp0k84 said:While i can now equip to my heart's content, I found a new bug. All the attacks either miss or do 0 damge. Every once and a while the last attack will deal damage but it is after maybe 5 attempts...
I'm still having my bug. ^
hanmac;252477":65tp0k84 said:can you add this or is this added or must i build a patch?
yes or no?Trickster;146903 said:Compatibility
...
Incompatible with my equipment weights script NOW A PATCH IS INCLUDED
...
Incompatible with my Equipment Weights system (you can ask for a merge)
BrunoTR;252913":tmjnikdc said:Yes.
I can't seem to get the weapon types addon to work. When I set Aluxes' second weapon to w1, the equipment messes up, and all the default equipement goes up one notch. By that I mean, the shield (which is in slot 3) will go up to slot 2. And at the end of it, I still can't equip weapon 34 (or whatever weapon you put in there)
sondance;254467":tmjnikdc said:the script has an error with the armors elemental set
fix please