Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
Sign in to follow this  
themrmystery

[Question/Request] Skill dependent Armor/Weapons

Recommended Posts

RESOLVED

 

#===============================================================================
#  Multi-Weapon Sets, by TheMrMystery
#  v. 1.0
#----------------------------------------------------------------------
#  Instructions:  Put below all other scripts and above Main.
#				 Look for the Configuration section, near the top.
#  
#  Features:  Allows actors that know specific skills, to use the weapons of
#			 another class.
#	
#			 Creates the ability to make weapon proficiencies as such;
#			 - allowing a Wizard to become a Spell Sword, by letting him
#			   take the skill "Use Swords" and unlocking all weapons listed
#			   in the "Use Sword" class.
#
#  Why was this script made?
#		For creation of a Dungeons & Dragons style weapon proficiency.
#
#  Compatability:
#	There are no known clashes with other scripts.
#
#  Notes:
#	This script aliases the equippable? in Game_Actor, and rewrites the refresh 
#	method in Window_EquipItem.
#
#  Special Thanks:
#	Modern Algebra: rmrk.net (My "mentor" in writing my first script: this one)
#
#  Legal:
#	This script is not to be used for commercial use without express permission
#	by myself (TheMrMystery, copywrite@themrmystery.com)
#
#	This script may be edited to suit your needs, however, please first suggest
#	any additions to me via, forum @ rmrk.net
#
#	If you use this script, please provide some credit to myself (TheMrMystery)
#	somewhere in your game.
#===============================================================================

#===============================================================================
#  Start Code
#===============================================================================

class Game_Actor

 alias mystery_multi_item_sets equippable?

 def equippable?(item)

#---- Start Configuration ----
# Enter the skill_id of the skill required to unlock the weapon list
# Enter the class_id of the class that has the weapons wanted
# Example: skill_id = 28 is Weapon Mastery: Whip
#		  class_id = 13 is Whip Master (class); which contains all whips
#												in his class weapon list
skill_id_array = [50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35]
class_id_array = [39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 43, 42, 41, 40] 
#---- End Configuration ------

 eqp_check = mystery_multi_item_sets (item)
 return true if eqp_check
 if item.is_a?(RPG::Weapon)
  real_class = @class_id
  # If weapon proficiency learned
  for i in 0...skill_id_array.size
	if skill_learn? (skill_id_array[i])
	  @class_id = class_id_array[i]
	  eqp_check |= mystery_multi_item_sets (item)
	  @class_id = real_class
	end
  end
end
return eqp_check
 end
end


class Window_EquipItem

 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
if self.contents != nil
  self.contents.dispose
  self.contents = nil
end
@data = []
# Add equippable weapons
if @equip_type == 0
  for i in 1...$data_weapons.size
	if $game_party.weapon_number(i) > 0 && @actor.equippable? ($data_weapons[i])
	  @data.push($data_weapons[i])
	end
  end
end
# Add equippable armor
if @equip_type != 0
  armor_set = $data_classes[@actor.class_id].armor_set
  for i in 1...$data_armors.size
	if $game_party.armor_number(i) > 0 and armor_set.include?(i)
	  if $data_armors[i].kind == @equip_type-1
		@data.push($data_armors[i])
	  end
	end
  end
end
# Add blank page
@data.push(nil)
# Make a bit map and draw all items
@item_max = @data.size
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max-1
  draw_item(i)
end
 end
end
#===============================================================================
#  End Code
#===============================================================================

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...