Project1

标题: 怎么做每回合固定加血的状态? [打印本页]

作者: 1742    时间: 2012-4-8 10:07
标题: 怎么做每回合固定加血的状态?
例如:每回合恢复200HPdsu_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:
  1.   #--------------------------------------------------------------------------
  2.   # ● 应用连续伤害效果
  3.   #--------------------------------------------------------------------------
  4.   def slip_damage_effect
  5. #=============
  6.      if self.state?(1) #状态为1号时
  7.     self.damage -= 200 #恢复量为200
  8.      else
  9.     # 设置伤害
  10.     self.damage = self.maxhp / 10
  11.      end
  12. #=============
  13.     # 分散
  14.     if self.damage.abs > 0
  15.       amp = [self.damage.abs * 15 / 100, 1].max
  16.       self.damage += rand(amp+1) + rand(amp+1) - amp
  17.     end
  18.     # HP 的伤害减法运算
  19.     self.hp -= self.damage
  20.     # 过程结束
  21.     return true
  22.   end
复制代码
3. 修改Game_Party:
  1.   #--------------------------------------------------------------------------
  2.   # ● 检查连续伤害 (地图用)
  3.   #--------------------------------------------------------------------------
  4.   def check_map_slip_damage
  5.     for actor in @actors
  6.       if actor.hp > 0 and actor.slip_damage?
  7. #=======================
  8.        if actor.state?(1) #状态为1号时
  9.      actor.hp += [200, 1].max #回复量为200
  10.        else
  11.         actor.hp -= [actor.maxhp / 100, 1].max#伤害量为1%
  12.         if actor.hp == 0
  13.           $game_system.se_play($data_system.actor_collapse_se)
  14.         end
  15.         $game_screen.start_flash(Color.new(255,0,0,128), 4)#画面红光闪烁
  16.         $game_temp.gameover = $game_party.all_dead?
  17.        end  
  18.       end
  19.     end
  20.   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