设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1906|回复: 1
打印 上一主题 下一主题

[已经解决] 魔法盾效果求解

[复制链接]

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
跳转到指定楼层
1
发表于 2012-4-3 13:54:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 iisnow 于 2012-4-6 16:20 编辑

之前写了个魔法盾的效果,是这样的
在Gme  Battler里加入了两段
  1. def make_attack_damage_value(attacker)
  2.    damage = attacker.atk * 4 - self.def * 2        # 基本计算
  3.     damage = 0 if damage < 0
  4.         if self.state?(51)   #寒冰禁锢状态时
  5.     damage = 0
  6.         end
  7.       if self.state?(24)   #大地之盾时,伤害为1
  8.       damage = 1
  9.     end
  10.      if self.state?(54)   #魔法盾状态时
  11.       damage = ((attacker.atk * 4 - self.def * 2)*0.8).round
  12.         end
复制代码

  1. #--------------------------------------------------------------------------
  2.   # ● 反映伤害
  3.   #     user : 特技以及物品的使用者
  4.   #    调用前先设置 @hp_damage、@mp_damage、@absorbed。
  5.   #--------------------------------------------------------------------------
  6.   def execute_damage(user)
  7.     if @hp_damage > 0           # 伤害为正数
  8.       remove_states_shock       # 受到攻击解除的状态
  9.     end
  10.     self.hp -= @hp_damage
  11.    
  12.    
  13.    
  14.     self.mp -= @mp_damage
  15.     if @absorbed                # 吸收的情况
  16.       user.hp += @hp_damage
  17.       user.mp += @mp_damage
  18.     end
  19.      if self.state?(54)  #魔法盾状态时
  20.       self.mp -=(@hp_damage*0.25).round
  21.     end
  22.     if self.mp < (@hp_damage*0.25).round #魔法值不足时消除状态
  23.       self.remove_state(54)
  24.       end
  25.   end
复制代码
这时的确在受到攻击时可以用魔法值抵消一定的伤害,不过在使用加血的药时,魔法值也会跟着回复,这个应该怎么解决呢?
这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4709
在线时间
5241 小时
注册时间
2009-4-29
帖子
14318

贵宾

2
发表于 2012-4-6 19:20:19 | 只看该作者
用以下脚本分别代替3个对应的地方试看看。
  1. if self.state?(54)   #魔法盾状态时
  2.   damage = ((attacker.atk * 4 - self.def * 2)*0.8).round if damage > 0
  3. end
复制代码
  1. if self.state?(54)  #魔法盾状态时
  2.   self.mp -=(@hp_damage*0.25).round if @hp_damage > 0
  3. end
复制代码
  1. if self.mp < (@hp_damage*0.25).round #魔法值不足时消除状态
  2.   self.remove_state(54)  if @hp_damage > 0
  3. end
复制代码

点评

貌似可行,我先试试看  发表于 2012-4-7 11:57

评分

参与人数 1星屑 +40 收起 理由
iisnow + 40 脚本修改的奖励

查看全部评分

《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-26 12:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表