特定属性でトドメを刺した場合ドロップアイテム変化

p-sight: Annex - Change Drop Item

Tag: 戦闘関連

説明

特定の属性でとどめを刺した場合、ドロップアイテムが変化するようになります。

設定可能な項目

module Drop_Item_System

設定範囲が広いために、スクリプトで直接ドロップアイテムを指定することになります。
書き方は以下のテンプレートに則って書いてください。

when ID
  return {"属性" => ["種別", ID, ドロップ率],... }

IDは「敵のエネミーID」を、「属性」はトドメの属性。
種別は「w」「a」「i」の三つのうちのどれかで、wが武器、aが防具、iが道具をそれぞれ表します。

when 1
  return {"炎" => ["w", 1, 100], "氷" => ["i", 2, 100]}
when 4
  return {"炎" => ["a", 2, 10], "雷" => ["i", 3, 10], "対 不死" => ["w", 2, 40]}

上記の様に設定した場合、以下と同じ意味になります。

エネミーIDが1の敵の場合
・炎属性でトドメを刺したら → 武器 ID1 を 100% で落とす
・氷属性でトドメを刺したら → 道具 ID2 を 100% で落とす
エネミーIDが4の敵の場合
・炎属性でトドメを刺したら → 防具 ID2 を 10% で落とす
・雷属性でトドメを刺したら → 道具 ID3 を 10% で落とす
・対 不死属性でトドメを刺したら → 武器 ID2 を 40% で落とす

この時、同時に複数の属性を持つ攻撃でトドメを刺した場合は、左側を優先します。
つまり、「エネミーID4の敵を対 不死と炎の二つの属性を持つ技で倒した場合」は 炎属性でトドメを刺したものとし、防具ID2のものを10%で落とすようになります。

また、「特に設定しないのならばwhen 2、when 3は省略しても良く、
特にこれらの設定の順序も関係はありません。
よって、下記のように順番をバラバラにして書いてもかまいません。

when 1 # エネミーID1の場合
  return {"炎" => ["w", 1, 100], "氷" => ["i", 2, 100]}
when 4 # エネミーID4の場合
  return {"炎" => ["a", 2, 10], "雷" => ["i", 3, 10], "対 不死" => ["w", 2, 40]}
when 3 # エネミーID3の場合
  return {"風" => ["w", 10, 30]}

使い方

スクリプトで上記のように直接設定すれば動作します。

他のスクリプトとの競合について

再定義しているメソッド

正常に動作しない場合は、以下のメソッドが他のRGSS素材で再定義されていないかなどを確認してください。

class Game_Enemy < Game_Battler
 def initialize(troop_id, member_index)

aliasを使って再定義しているメソッド

正常に動作しない場合は、以下のメソッドが他のRGSS素材で再定義されていないかなどを確認してください。

class Game_Battler
 def attack_effect(attacker)
 def skill_effect(user, skill)

class Game_Enemy < Game_Battler
 def treasure_prob
 def item_id
 def weapon_id
 def armor_id

ソースと導入方法

導入方法

スクリプトの「Game_Enemy」より下、「Main」よりも上に以下のソースを丸々挿入してください。

ソースと更新履歴

Change Drop Item: ソース

更新履歴

2007 12/10 公開。


This page is written in Japanese(Shift_JIS)
(c) T-Akf, in p-sight