| 赞 | 0 |
| VIP | |
| 好人卡 | |
| 积分 | 2 |
| 经验 | |
| 最后登录 | 2025-10-19 |
| 在线时间 | 454 小时 |
- 梦石
- 0
- 星屑
- 166
- 在线时间
- 454 小时
- 注册时间
- 2015-2-25
- 回帖
- 358
|
发表于 2015-11-9 11:34:47
|
显示全部楼层
[pre lang="ruby"]class Game_Battler
alias make_damage_value_09112015_drain make_damage_value
def make_damage_value(user, item)
if item.damage.type == 1 && user.actor?
case item.damage.element_id
when -1, 1
@result.drain = user.adr - 1
else
@result.drain = user.apr - 1
end
end
make_damage_value_09112015_drain(user, item)
end
end
class Game_ActionResult
attr_accessor :drain
alias clear_hit_flags_09112015_drain clear_hit_flags
def clear_hit_flags
@drain = 0
clear_hit_flags_09112015_drain
end
alias make_damage_09112015_drain make_damage
def make_damage(value, item)
make_damage_09112015_drain(value, item)
@hp_drain = (@hp_damage * @drain).round
@hp_drain = [@battler.hp, @hp_drain].min
end
def hp_damage_text
if @hp_drain > 0 && @drain == 0
fmt = @battler.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
sprintf(fmt, @battler.name, Vocab::hp, @hp_drain)
elsif @hp_damage > 0
fmt = @battler.actor? ? Vocab::ActorDamage : Vocab::EnemyDamage
fmt2 = @battler.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
return sprintf(fmt, @battler.name, @hp_damage) if @drain == 0
sprintf(fmt, @battler.name, @hp_damage)+"\n"+ sprintf(fmt2, @battler.name, Vocab::hp, @hp_drain)
elsif @hp_damage < 0
fmt = @battler.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
sprintf(fmt, @battler.name, Vocab::hp, -hp_damage)
else
fmt = @battler.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
sprintf(fmt, @battler.name)
end
end
end[/pre]
只有傷害類型為hp傷害的技能會生效 |
评分
-
查看全部评分
|