本帖最后由 无忧谷主幻 于 2026-6-11 22:42 编辑
拙劣演技
血量还剩30%,则人物会变大,然后伤害会固定为N,对敌人伤害也会固定为N,6回合后解除,人物也会变正常
首先是血量30%变大,由于不知道你用的是什么战斗脚本,所以位置只能你自己找了,大约是描绘战斗图坐标的附近
# ★ 状态87:HP低于30%时 立刻2倍放大 if @battler && !@battler.dead? && !@battler.hidden if @battler.state?(87) && @battler.hp <= @battler.maxhp * 0.3 self.opacity = 255 self.color = Color.new(0,0,0,0) @final_zoom = @battler.real_zoom * 2.0 else self.color = Color.new(0,0,0,0) @final_zoom = @battler.real_zoom end end # スプライトの座標を設定 self.x = @battler.screen_x + @effect_ox self.y = @battler.screen_y + @effect_oy self.z = @battler.screen_z # 最终缩放 self.zoom_x = @final_zoom self.zoom_y = @final_zoom
# ★ 状态87:HP低于30%时 立刻2倍放大
if @battler && !@battler.dead? && !@battler.hidden
if @battler.state?(87) && @battler.hp <= @battler.maxhp * 0.3
self.opacity = 255
self.color = Color.new(0,0,0,0)
@final_zoom = @battler.real_zoom * 2.0
else
self.color = Color.new(0,0,0,0)
@final_zoom = @battler.real_zoom
end
end
# スプライトの座標を設定
self.x = @battler.screen_x + @effect_ox
self.y = @battler.screen_y + @effect_oy
self.z = @battler.screen_z
# 最终缩放
self.zoom_x = @final_zoom
self.zoom_y = @final_zoom
伤害会固定为N,对敌人伤害也会固定为N
Game_Battler 3 没错,还是这个
# 分散 if skill.variance > 0 and self.damage.abs > 0 amp = [self.damage.abs * skill.variance / 100, 1].max self.damage += rand(amp+1) + rand(amp+1) - amp
# 分散
if skill.variance > 0 and self.damage.abs > 0
amp = [self.damage.abs * skill.variance / 100, 1].max
self.damage += rand(amp+1) + rand(amp+1) - amp
下面
# 1. 攻击时造成的伤害固定500 if user.state?(87) && user.hp <= user.maxhp * 0.3 self.damage = 500 # 2. 被攻击者时受到的伤害固定500 elsif self.state?(87) && self.hp <= self.maxhp * 0.3 self.damage = 500
# 1. 攻击时造成的伤害固定500
if user.state?(87) && user.hp <= user.maxhp * 0.3
self.damage = 500
# 2. 被攻击者时受到的伤害固定500
elsif self.state?(87) && self.hp <= self.maxhp * 0.3
self.damage = 500
不是防御修正,而是分散之后,这是为了不被分散度影响
可能会出现的问题:在播放技能动画的开始,人物可能就会变大,这是因为战斗系统执行顺序的原因,默认的战斗系统是先扣血,再播放技能动画,如果在意的话你可以自己改一改 |