#==============================================================================
# ■ 獲得倍率変動 in VX Ace By 貪藻矢射妥←
#------------------------------------------------------------------------------
# ゴールド獲得、アイテム入手確率を細かに変動します。
#
# 特徴のパーティー能力[獲得金額二倍]、[アイテム入手率二倍]設定時、
# ノートにて
# アイテム入手率[n]
# ゴールド入手率[n]
# を記載することで2倍以外の倍率に変更できます。
#
# ※通常の2倍の場合でもしっかりと設定を行ってください。
# そうしないと1倍のままになります。
#
# ※戦闘メンバーの装備品の中から最も高い確率をパーティーの入手確率として返却し
# それをもとにアイテム、ゴールドの入手を行いますが、0を設定した場合、0が優先
# されます。
# (パーティーの中で誰か一人でもアイテム入手確率[0]、ゴールド入手確率[0]の
# 装備をしているアクターがいれば、アイテム、ゴールドの入手はできなくなります)
#
#==============================================================================
# 更新っぽいもの
# まだなし
#==============================================================================
# ■ Game_Enemy
#------------------------------------------------------------------------------
# 敵キャラを扱うクラスです。このクラスは Game_Troop クラス($game_troop)の
# 内部で使用されます。
#==============================================================================
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ● ドロップアイテム取得率の倍率を取得
#--------------------------------------------------------------------------
def drop_item_rate
$game_party.drop_item_rate
end
end
#==============================================================================
# ■ Game_Troop
#------------------------------------------------------------------------------
# 敵グループおよび戦闘に関するデータを扱うクラスです。バトルイベントの処理も
# 行います。このクラスのインスタンスは $game_troop で参照されます。
#==============================================================================
class Game_Troop < Game_Unit
#--------------------------------------------------------------------------
# ● お金の倍率を取得
#--------------------------------------------------------------------------
def gold_rate
$game_party.gold_rate
end
#--------------------------------------------------------------------------
# ● お金の合計計算
#--------------------------------------------------------------------------
def gold_total
(dead_members.inject(0) {|r, enemy| r += enemy.gold } * gold_rate).to_i
end
end
#==============================================================================
# ■ Game_Party
#------------------------------------------------------------------------------
# パーティを扱うクラスです。所持金やアイテムなどの情報が含まれます。このクラ
# スのインスタンスは $game_party で参照されます。
#==============================================================================
class Game_Party < Game_Unit
#--------------------------------------------------------------------------
# ● パーティ能力判定 part2
#--------------------------------------------------------------------------
def party_ability2(ability_id)
rate = []
for actor in battle_members
for equip in actor.equips
next if equip == nil
case ability_id
when ABILITY_DROP_ITEM_DOUBLE
text = equip.note.clone
rate.push(text =~ /アイテム入手率\[(\S+)\]/ ? $1.to_f : 1)
when ABILITY_GOLD_DOUBLE
text = equip.note.clone
rate.push(text =~ /ゴールド入手率\[(\S+)\]/ ? $1.to_f : 1)
else
msgbox("不明なコード" + ability_id.to_s)
end
end
end
if rate.min == 0
return 0
else
return rate.max
end
end
#--------------------------------------------------------------------------
# ● 獲得金額
#--------------------------------------------------------------------------
def gold_rate
party_ability(ABILITY_GOLD_DOUBLE) ? party_ability2(ABILITY_GOLD_DOUBLE) : 1
end
#--------------------------------------------------------------------------
# ● アイテム入手率
#--------------------------------------------------------------------------
def drop_item_rate
party_ability(ABILITY_DROP_ITEM_DOUBLE) ? party_ability2(ABILITY_DROP_ITEM_DOUBLE) : 1
end
end
|