#============================================================================== # ■ RGSS3 スキルダメージ計算強化 Ver1.00 by 星潟 #------------------------------------------------------------------------------ # ダメージ計算に使える値を大幅に増加させます。 #============================================================================== # まず、対象は既存のa(使用者) b(対象) v(変数)に加え # 以下の4つが追加されます。 # # p(パーティー) # # t(トループ) # # f(使用者がアクターの場合、pに自動変換。エネミーの場合、tに自動変換) # # o(使用者がアクターの場合、tに自動変換。エネミーの場合、pに自動変換) # #============================================================================== #============================================================================== # 計算に使用できる値として、以下の物が追加されます。 #============================================================================== # p t(fとoで変換した場合も含む)共通変数 #------------------------------------------------------------------------------ # bms # # 戦闘参加者数 # # lms # # 生存者数 # # dms # # 戦闘不能者数 # # btmhp # # 戦闘参加メンバー最大HP合計値 # # btmmp # # 戦闘参加メンバー最大MP合計値 # # btmtp # # 戦闘参加メンバー最大TP合計値 # # bthp # # 戦闘参加メンバー現在HP合計値 # # btmp # # 戦闘参加メンバー現在MP合計値 # # bttp # # 戦闘参加メンバー現在TP合計値 # # btatk # # 戦闘参加メンバー攻撃力合計値 # # btdef # # 戦闘参加メンバー防御力合計値 # # btmat # # 戦闘参加メンバー魔法力合計値 # # btmdf # # 戦闘参加メンバー魔法防御合計値 # # btagi # # 戦闘参加メンバー敏捷性合計値 # # btluk # # 戦闘参加メンバー運合計値 # # almhp # # 生存メンバー最大HP合計値 # # almmp # # 生存メンバー最大MP合計値 # # almtp # # 生存メンバー最大TP合計値 # # alhp # # 生存メンバー現在HP合計値 # # almp # # 生存メンバー現在MP合計値 # # altp # # 生存メンバー現在TP合計値 # # alatk # # 生存メンバー攻撃力合計値 # # aldef # # 生存メンバー防御力合計値 # # almat # # 生存メンバー魔法力合計値 # # almdf # # 生存メンバー魔法防御合計値 # # alagi # # 生存メンバー敏捷性合計値 # # alluk # # 生存メンバー運合計値 # # demhp # # 戦闘不能者最大HP合計値 # # demmp # # 戦闘不能者最大MP合計値 # # demtp # # 戦闘不能者最大TP合計値 # # dehp # # 戦闘不能者現在HP合計値 # # demp # # 戦闘不能者現在MP合計値 # # detp # # 戦闘不能者現在TP合計値 # # deatk # # 戦闘不能者攻撃力合計値 # # dedef # # 戦闘不能者防御力合計値 # # demat # # 戦闘不能者魔法力合計値 # # demdf # # 戦闘不能者魔法防御合計値 # # deagi # # 戦闘不能者敏捷性合計値 # # deluk # # 戦闘不能者運合計値 # #============================================================================== # p専用 #------------------------------------------------------------------------------ # gld # # ゴールド # # stp # # 歩数 # # itm(n) # # アイテム所持数(nの部分にアイテムIDを入れる) # # wpn(n) # # 武器所持数(nの部分に武器IDを入れる) # # amr(n) # # 防具所持数(nの部分に防具IDを入れる) # #============================================================================== # t専用 #------------------------------------------------------------------------------ # tns # # ターン数(デフォルトの場合、最初の行動ターン数は0扱いされるので注意) # #============================================================================== #============================================================================== # 以下、使用例 #============================================================================== # スキル使用者がアクターの場合 #------------------------------------------------------------------------------ # p.bms # # パーティーの戦闘参加者の数を返します。 # # t.dms # # トループの戦闘不能者の数を返します。 # # f.btmmp # # パーティーの戦闘参加者の最大MP合計値を返します。 # # o.demat # # トループの戦闘不能者の数を返します。 # #------------------------------------------------------------------------------ # スキル使用者がエネミーの場合 #------------------------------------------------------------------------------ # p.alhp # # パーティーの生存者のHP合計値を返します。 # # t.tns # # トループのターン数を返します。 # # f.btmhp # # トループの戦闘参加者の最大HP合計値を返します。 # # o.dms # # パーティーの戦闘不能者の数を返します。 # #============================================================================== class RPG::UsableItem::Damage def eval(a, b, v) p = $game_party t = $game_troop f = a.unit_data o = b.unit_data eval2(a, b, v, p, t, f, o) end def eval2(a, b, v, p, t, f, o) [Kernel.eval(@formula), 0].max * sign rescue 0 end end class Game_Battler < Game_BattlerBase def unit_data if self.actor? return $game_party else return $game_troop end end end class Game_Unit def bms return members.size end def lms return alive_members.size end def dms return dead_members.size end def btmhp data = 0 for i in battle_members data += i.param(0) end return data end def btmmp data = 0 for i in battle_members data += i.param(1) end return data end def btmtp data = 0 for i in battle_members data += i.max_tp end return data end def bthp data = 0 for i in battle_members data += i.hp end return data end def btmp data = 0 for i in battle_members data += i.mp end return data end def bttp data = 0 for i in battle_members data += i.tp end return data end def btatk data = 0 for i in battle_members data += i.param(2) end return data end def btdef data = 0 for i in battle_members data += i.param(3) end return data end def btmat data = 0 for i in battle_members data += i.param(4) end return data end def btmdf data = 0 for i in battle_members data += i.param(5) end return data end def btagi data = 0 for i in battle_members data += i.param(6) end return data end def btluk data = 0 for i in battle_members data += i.param(7) end return data end def almhp data = 0 for i in alive_members data += i.param(0) end return data end def almmp data = 0 for i in alive_members data += i.param(1) end return data end def almtp data = 0 for i in alive_members data += i.max_tp end return data end def alhp data = 0 for i in alive_members data += i.hp end return data end def almp data = 0 for i in alive_members data += i.mp end return data end def altp data = 0 for i in alive_members data += i.tp end return data end def alatk data = 0 for i in alive_members data += i.param(2) end return data end def aldef data = 0 for i in alive_members data += i.param(3) end return data end def almat data = 0 for i in alive_members data += i.param(4) end return data end def almdf data = 0 for i in alive_members data += i.param(5) end return data end def alagi data = 0 for i in alive_members data += i.param(6) end return data end def alluk data = 0 for i in alive_members data += i.param(7) end return data end def demhp data = 0 for i in dead_members data += i.param(0) end return data end def demmp data = 0 for i in dead_members data += i.param(1) end return data end def demtp data = 0 for i in dead_members data += i.max_tp end return data end def demp data = 0 for i in dead_members data += i.mp end return data end def detp data = 0 for i in dead_members data += i.tp end return data end def deatk data = 0 for i in dead_members data += i.param(2) end return data end def dedef data = 0 for i in dead_members data += i.param(3) end return data end def demat data = 0 for i in dead_members data += i.param(4) end return data end def demdf data = 0 for i in dead_members data += i.param(5) end return data end def deagi data = 0 for i in dead_members data += i.param(6) end return data end def deluk data = 0 for i in dead_members data += i.param(7) end return data end end class Game_Party < Game_Unit def gld return $game_party.gold end def stp return $game_party.stp end def itm(number) return $game_party.item_number($data_items[number]) end def wpn(number) return $game_party.item_number($data_weapons[number]) end def amr(number) return $game_party.item_number($data_armors[number]) end end class Game_Troop < Game_Unit def tns return $game_troop.turn_count end end