class Game_Battler < Game_BattlerBase def execute_damage(user) on_damage(@result.hp_damage) if @result.hp_damage > 0 if self.state?(41) && rand > 0.75 @result.hp_damage = 0 self.add_state(12) #12是一个空状态 end #41状态有25%概率无敌,这个是八云紫的境界抵抗 #新状态加这里 @result.hp_damage *= 0.5 if self.state?(96) #↑这个是灵梦的减伤50% @result.hp_damage -= 25000 if self.state?(220) #↑这个是敌人的澄澈 @result.hp_damage -= 300 if self.state?(221) #↑这个是我方的澄澈 @result.hp_damage *= 0.25 if self.state?(48) && rand > 0.75 #48状态(多萝茜)有25%概率受到25%伤害 #伤害公式连击(没有112状态【自机固有】收到增伤连击) @result.hp_damage *= (1+$game_temp.combo_hit[0]*0.003) if self.state?(112) ==false @result.hp_damage=@result.hp_damage.to_i#清除小数 @result.hp_damage *= 0.5 if self.state?(175) #↑这个是简单难度的减伤 @result.hp_damage *= 1.5 if self.state?(267) #↑这个是暗之主的易伤 self.hp -= @result.hp_damage self.mp -= @result.mp_damage user.hp += @result.hp_drain user.mp += @result.mp_drain end #时停计算 alias item_apply_sakuya item_apply def item_apply(user, item) item_apply_sakuya(user, item) if (user.state?(100) && $game_switches[100] && ($game_variables[100] == 1)) $game_temp.reserve_common_event(980) else $game_variables[100] += 1 end end end
class Game_Battler < Game_BattlerBase
def execute_damage(user)
on_damage(@result.hp_damage) if @result.hp_damage > 0
if self.state?(41) && rand > 0.75
@result.hp_damage = 0
self.add_state(12) #12是一个空状态
end
#41状态有25%概率无敌,这个是八云紫的境界抵抗
#新状态加这里
@result.hp_damage *= 0.5 if self.state?(96)
#↑这个是灵梦的减伤50%
@result.hp_damage -= 25000 if self.state?(220)
#↑这个是敌人的澄澈
@result.hp_damage -= 300 if self.state?(221)
#↑这个是我方的澄澈
@result.hp_damage *= 0.25 if self.state?(48) && rand > 0.75 #48状态(多萝茜)有25%概率受到25%伤害
#伤害公式连击(没有112状态【自机固有】收到增伤连击)
@result.hp_damage *= (1+$game_temp.combo_hit[0]*0.003) if self.state?(112) ==false
@result.hp_damage=@result.hp_damage.to_i#清除小数
@result.hp_damage *= 0.5 if self.state?(175)
#↑这个是简单难度的减伤
@result.hp_damage *= 1.5 if self.state?(267)
#↑这个是暗之主的易伤
self.hp -= @result.hp_damage
self.mp -= @result.mp_damage
user.hp += @result.hp_drain
user.mp += @result.mp_drain
end
#时停计算
alias item_apply_sakuya item_apply
def item_apply(user, item)
item_apply_sakuya(user, item)
if (user.state?(100) && $game_switches[100] && ($game_variables[100] == 1))
$game_temp.reserve_common_event(980)
else
$game_variables[100] += 1
end
end
end
如上部分代码(这是我自己各种调的,主要就是根据@result.hp_damage的变化获取最终减伤。)
现在我想达成的是(所有我方角色我都固定了状态112,也就是有112状态的是玩家,其余是ai)
持有状态112的角色,每有100点物理防御力,收到的物理伤害(不含魔法类和必中攻击的)-5%
持有状态112的角色,每有100点魔法防御力,收到的魔法伤害(不含物理类和必中攻击的)-5%
因为@result.hp_damage是最终减伤,我一时搜不到对应的名字,
所以来请教一下大佬们,上边的代码我应该怎么加才能实现效果呢?
|