出来に自信が無いのでアドバイスをお願いします。
*ツクールGBAの特技計算式
「魔法」
基本ダメージ-(対象の魔法防御-使用者の魔法防御)
「必殺技」
基本ダメージ-(対象の魔法防御-使用者の攻撃力)
*使用者の値が対象の魔防を上回った場合は基本ダメージが上限となる
*基本ダメージが0以下なら0~3ダメージ
*必須の分岐
- 回復魔法かどうか *デフォルトのまま
- 魔法か必殺技か *精神関係度が1以上かで判定
- 対象の魔防(精神力)より上か
コード: 全て選択
def make_obj_damage(user, obj)
flag = false # ②
damage = obj.base_damage
if damage > 0
if obj.spi_f == 0 && user.atk <= self.spi # ①
damage -= self.spi - user.atk
flag = true if damage < 0 # ②
elsif obj.spi_f > 0 && user.spi <= self.spi # ①
damage -= self.spi - user.spi
flag = true if damage < 0 # ②
end
end
damage = elements_max_rate(obj.element_set)
(中略)
damage = apply_guard(damage)
damage = rand(4) if flag # ②
if obj.damage_to_mp
(中略)
end
end
コード: 全て選択
● スキルの効果適用
(中略)
make_obj_damage_value(user, skill) # ダメージ計算 (デフォルトの881行)
コード: 全て選択
def make_obj_damage_value(user, obj)
flag = false
damage = obj.base_damage
if obj.is_a?(RPG::Skill) && damage > 0 # ここ変更
if obj.spi_f == 0 && user.atk <= self.spi
damage -= self.spi - user.atk
flag = true if damage < 0
elsif obj.spi_f > 0 && user.spi <= self.spi
damage -= self.spi - user.spi
flag = true if damage < 0
end
end
(略)
end