Project1
标题:
怎么做每回合固定加血的状态?
[打印本页]
作者:
1742
时间:
2012-4-8 10:07
标题:
怎么做每回合固定加血的状态?
例如:每回合恢复200HP dsu_plus_rewardpost_czw
作者:
幻耶
时间:
2012-4-8 14:08
Scene_Battle 4 的def update_phase4_step1下面# 连续伤害之下、# 自然解除状态 之上添加下面一段
if @active_battler.state?(51) and @active_battler.hp >0 #51号状态是恢复生命
@active_battler.damage=-200 #恢复生命200
@active_battler.damage=@active_battler.damage.to_i
@active_battler.hp-=@active_battler.damage
@active_battler.animation_id = 21 #自动补血动画编号
@active_battler.damage_pop = true
end
作者:
kangxi0109
时间:
2012-4-8 18:23
1.设置状态1号,标记为连续伤害;
2.修改Game_Battler 3:
#--------------------------------------------------------------------------
# ● 应用连续伤害效果
#--------------------------------------------------------------------------
def slip_damage_effect
#=============
if self.state?(1) #状态为1号时
self.damage -= 200 #恢复量为200
else
# 设置伤害
self.damage = self.maxhp / 10
end
#=============
# 分散
if self.damage.abs > 0
amp = [self.damage.abs * 15 / 100, 1].max
self.damage += rand(amp+1) + rand(amp+1) - amp
end
# HP 的伤害减法运算
self.hp -= self.damage
# 过程结束
return true
end
复制代码
3. 修改Game_Party:
#--------------------------------------------------------------------------
# ● 检查连续伤害 (地图用)
#--------------------------------------------------------------------------
def check_map_slip_damage
for actor in @actors
if actor.hp > 0 and actor.slip_damage?
#=======================
if actor.state?(1) #状态为1号时
actor.hp += [200, 1].max #回复量为200
else
actor.hp -= [actor.maxhp / 100, 1].max#伤害量为1%
if actor.hp == 0
$game_system.se_play($data_system.actor_collapse_se)
end
$game_screen.start_flash(Color.new(255,0,0,128), 4)#画面红光闪烁
$game_temp.gameover = $game_party.all_dead?
end
end
end
end
复制代码
作者:
黑色的笔
时间:
2012-4-8 19:58
用事件的话与每回合减血是一样的,看你那一个贴子,没必要开多一个啊。。
作者:
though110112113
时间:
2012-4-21 04:30
点灯,和梦幻一样,不是按比例,回个与技能等级有关,封系命中也与技能等级有关,
作者:
though110112113
时间:
2012-4-21 04:34
套装—自动状态,如果是持续加血,记得在地图上取消持续效果,战斗中第一回个自动附加,几个回个后取消
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1