=begin
dest21c 남성/여성전용장비 스크립트 (ver 1.1)
사용법
1. 자동전투용 액터가 존재하는 게임에는 사용할 수 없습니다.
: DB상의 액터 옵션 중 자동전투 옵션을 남녀구분으로 돌려 사용합니다.
: 그렇기 때문에 오토배틀을 위한 자동전투 옵션은 무효가 됩니다.
: 타 스크립트를 도입해도 거의 100% 자동전투 관련 옵션은 남녀구분옵션으로 사용됩니다.
: 약의 지식 등 다른 옵션을 사용할 경우에는 따로 리퀘스트를 부탁드립니다.
2. 자동전투 옵션이 체크가 되어 있다면 남성, 미체크시에는 여성으로 판정하게 됩니다.
3. 남성전용 및 여성전용을 설정할 장비의 메모창에
남성전용
여성전용
둘 중의 하나를 기입해 주십시오. 둘 다 기입시엔 비정상적으로 작동합니다.
수정
ver 1.1 : 클래스별 장비에 상관없이 남성이거나 여성이면 무조건 장착가능해지는 현상을 수정.
단 def equippable?을 재정의했기 때문에 다른 해당계열스크립트와 경합 가능성 존재.
=end
module RPG
#==============================================================================
# ● RPG::Weapon
#==============================================================================
class Weapon
#--------------------------------------------------------------------------
# ● 남성전용장비인가? ex)남성전용
#--------------------------------------------------------------------------
def male?
text = @note[/남성전용/]
return false if text == nil
return true if text == "남성전용"
end
#--------------------------------------------------------------------------
# ● 여성전용장비인가? ex)여성전용
#--------------------------------------------------------------------------
def female?
text = @note[/여성전용/]
return false if text == nil
return true if text == "여성전용"
end
end
#==============================================================================
# ● RPG::Armor
#==============================================================================
class Armor
#--------------------------------------------------------------------------
# ● 남성전용장비인가? ex)남성전용
#--------------------------------------------------------------------------
def male?
text = @note[/남성전용/]
return false if text == nil
return true if text == "남성전용"
end
#--------------------------------------------------------------------------
# ● 여성전용장비인가? ex)여성전용
#--------------------------------------------------------------------------
def female?
text = @note[/여성전용/]
return false if text == nil
return true if text == "여성전용"
end
end
end
#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
# 액터를 취급하는 클래스입니다.이 클래스는 Game_Actors 클래스 ($game_actors)
# 의 내부에서 사용되어 Game_Party 클래스 ($game_party)로부터도 참조됩니다.
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 옵션 [자동 전투] 의 취득
#--------------------------------------------------------------------------
def auto_battle
return false
end
#--------------------------------------------------------------------------
# ☆ 액터가 남자인가?
#--------------------------------------------------------------------------
def male?
return actor.auto_battle
end
#--------------------------------------------------------------------------
# ☆ 장비 가능 판정
# item : 아이템
#--------------------------------------------------------------------------
def equippable?(item)
if item.is_a?(RPG::Weapon)
return true if actor.auto_battle and item.male? and self.class.weapon_set.include?(item.id)
return true if item.female? and not actor.auto_battle and self.class.weapon_set.include?(item.id)
return true if self.class.weapon_set.include?(item.id) and not item.male? and not item.female?
elsif item.is_a?(RPG::Armor)
return false if two_swords_style and item.kind == 0
return true if actor.auto_battle and item.male? and self.class.armor_set.include?(item.id)
return true if item.female? and not actor.auto_battle and self.class.armor_set.include?(item.id)
return true if self.class.armor_set.include?(item.id) and not item.male? and not item.female?
end
return false
end
간단한 스크립트이며 가급적 섹션의 최하단에 도입하는 것을 권장합니다.