=begin #============================================================================== ** Feature: Gender Requirement Author: Hime Date: Oct 17, 2012 ------------------------------------------------------------------------------ ** Change log Oct 17, 2012 - initial release ------------------------------------------------------------------------------ ** Terms of Use * Free to use in non-commercial projects * Contact me for commercial use * No real support. The script is provided as-is * Will do bug fixes, but no compatibility patches * Features may be requested but no guarantees, especially if it is non-trivial * Preserve this header ------------------------------------------------------------------------------ ** Required -Feature Manager (http://himeworks.com/2012/10/13/feature-manager) ------------------------------------------------------------------------------ Set gender requirements for weapons or armors. Tag database objects with Tag actors with #============================================================================== =end $imported = {} if $imported.nil? $imported["Feature_GenderRequirement"] = true module Features module Class_Requirement FeatureManager.register(:gender_req, 1.21) Gender_Regex = //i end end module RPG class BaseItem def add_feature_gender_req(code, data_id, args) data_id = 0 value = args[0] add_feature(code, data_id, value) end end class Actor def gender return @gender unless @gender.nil? res = Features::Class_Requirement::Gender_Regex.match(self.note) return @gender = res ? res[1] : "" end end class Enemy def gender return @gender unless @gender.nil? res = Features::Class_Requirement::Gender_Regex.match(self.note) return @gender = res ? res[1] : "" end end end class Game_BattlerBase def gender end alias :ft_gender_req_weapon_ok? :feature_equip_weapon_ok? def feature_equip_weapon_ok?(item) set = item_features_set(item, :gender_req, 0) return false if !(set.empty? || set.include?(gender)) ft_gender_req_weapon_ok?(item) end alias :ft_gender_req_armor_ok? :feature_equip_armor_ok? def feature_equip_armor_ok?(item) set = item_features_set(item, :gender_req, 0) return false if !(set.empty? || set.include?(gender)) ft_gender_req_armor_ok?(item) end end class Game_Actor < Game_Battler def gender actor.gender end end class Game_Enemy < Game_Battler def gender enemy.gender end end