#__END__
#==============================================================================
# ★ メモリンク ver1.0 by USK
#------------------------------------------------------------------------------
# ・データベースのメモ欄をリンクし、一つのメモ欄を共有化したり、分割して見やすく
# します。
#==============================================================================
=begin
メモ欄にのようにと記述すると、ゲーム内でリンク先IDの
メモ欄がそのオブジェクトのメモ欄のように認識されます。
リンク先IDは、オブジェクトがアイテムならアイテム、のように同種のものとなります。
=end
#==============================================================================
# ■ RPG::BaseItem
#==============================================================================
class RPG::BaseItem
#--------------------------------------------------------------------------
# ●
#--------------------------------------------------------------------------
def note_link(data)
loop do
break unless @note.gsub!(//){data[$1.to_i].note}
end rescue p $!
end
end
#==============================================================================
# ■ RPG::Tileset
#==============================================================================
class RPG::Tileset
#--------------------------------------------------------------------------
# ●
#--------------------------------------------------------------------------
def note_link(data)
loop do
break unless @note.gsub!(//){data[$1.to_i].note}
end rescue p $!
end
end
#==============================================================================
# ■ DataManager
#==============================================================================
module DataManager
class << self; alias :usk_ml_load_database :load_database; end
#--------------------------------------------------------------------------
# ● データベースのロード
#--------------------------------------------------------------------------
def self.load_database
usk_ml_load_database
$data_actors.each {|obj| obj.note_link($data_actors ) if obj}
$data_classes.each {|obj| obj.note_link($data_classes ) if obj}
$data_skills.each {|obj| obj.note_link($data_skills ) if obj}
$data_items.each {|obj| obj.note_link($data_items ) if obj}
$data_weapons.each {|obj| obj.note_link($data_weapons ) if obj}
$data_armors.each {|obj| obj.note_link($data_armors ) if obj}
$data_enemies.each {|obj| obj.note_link($data_enemies ) if obj}
$data_states.each {|obj| obj.note_link($data_states ) if obj}
$data_tilesets.each{|obj| obj.note_link($data_tilesets) if obj}
end
end
#==============================================================================
# ■ Game_Map
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ●
#--------------------------------------------------------------------------
def note_link
loop do
break unless @map.note.gsub!(//) do
load_data(sprintf("Data/Map%03d.rvdata2", $1.to_i)).note
end
end rescue p $!
end
#--------------------------------------------------------------------------
# ● セットアップ
#--------------------------------------------------------------------------
alias :usk_ml_setup :setup
def setup(map_id)
usk_ml_setup(map_id)
note_link
end
end