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

Project1

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

[已经解决] 技能伤害公式妙用的判定问题

[复制链接]

Lv2.观梦者

梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
帖子
840
跳转到指定楼层
1
发表于 2015-5-25 23:26:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我的伤害公式判定存在漏洞,初衷是(被史莱姆打到后,注意是史莱姆打拥有ID300技能的人后,100%几率队伍各成员+5000的血,能P出来,说明进入判断了)
问题来了,如果是unless作为关键字,0号位正常加血,如果战斗中不存在1,2,3号位的角色,那么就会报错(报找不到"hp"的方法,这个我能理解);但如果用if作为关键字,则0号位不加血,应该怎么做判断,达到目的且不报错?求帮忙看看哪里出问题了,摸了一个小时{:2_254:}
RUBY 代码复制
  1. def make_damage_value(user, item)
  2.     value = item.damage.eval(user, self, $game_variables)
  3.     value *= item_element_rate(user, item)
  4.     value *= pdr if item.physical?
  5.     value *= mdr if item.magical?
  6.     value *= rec if item.damage.recover?
  7.     value = apply_critical(value) if @result.critical
  8.     value = apply_variance(value, item.damage.variance)
  9.     value = apply_guard(value)
  10.     @result.make_damage(value.to_i, item)
  11. #-------------------------
  12. # ● 祈祷
  13. #-------------------------       
  14. if self.skills.include?($data_skills[300])&&self.is_a?(Game_Actor)
  15.    if rand(100)<100
  16.         $game_party.members[0].hp+=5000 unless $game_party.battle_members.include?(0)
  17.         $game_party.members[1].hp+=5000 unless $game_party.battle_members.include?(1)
  18.         $game_party.members[2].hp+=5000 unless $game_party.battle_members.include?(2)
  19.         $game_party.members[3].hp+=5000 unless $game_party.battle_members.include?(3)
  20.         p $game_party.members[0].hp
  21.         p $game_party.members[1].hp
  22. #        4.times {|i|$game_party.members[i].hp+=self.def*5000 if $game_party.battle_members.include?(i) }
  23.         p"├祈祷发动,生命值增加5000"
  24.    else
  25.         p"├×祈祷不触发"
  26.         end
  27.    end
  28. end

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
2
发表于 2015-5-26 00:40:49 | 只看该作者
  1. $game_party.members.each {|actor| actor.hp += 5000}
复制代码

点评

队伍里没角色还进入战斗啊···  发表于 2015-5-27 04:36
认可盖楼。  发表于 2015-5-26 18:44
我回去试试,这样就不会陷入“没有角色导致报错”的问题中吗?  发表于 2015-5-26 09:30

评分

参与人数 1星屑 +150 收起 理由
VIPArcher + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 02:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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