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

Project1

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

[已经解决] 【已解决】如何实现 攻击被闪避时,也能解除x号状态

[复制链接]

Lv4.逐梦者

梦石
10
星屑
9464
在线时间
1288 小时
注册时间
2014-11-2
帖子
37

开拓者

跳转到指定楼层
1
发表于 2017-5-23 23:51:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 迷你及其人 于 2017-5-24 16:41 编辑

大家好,我在制作一个技能时,遇到了一个问题。

我想制作一个闪避技能,效果是:100%闪避本回合内受到的第一次攻击。
我的思路是,设计一个x号状态,提升100%物理闪避,持续一回合,受到攻击时解除。
但是因为闪避了敌人的攻击,”受攻击后解除“的效果就无法实现了,变成了:闪避本回合受到的所有攻击。。。

请问应该怎么做,才能实现我想要的效果呢?

1.jpg (162.61 KB, 下载次数: 15)

1.jpg

2.jpg (206.08 KB, 下载次数: 14)

2.jpg
迷你型机器人,bibibibibi~~

Lv4.逐梦者

梦石
0
星屑
5795
在线时间
1408 小时
注册时间
2015-7-25
帖子
591

极短25参与开拓者

2
发表于 2017-5-24 12:49:31 | 只看该作者
在状态的备注里写<EVASION>便会在闪避攻击时候触发,解除状态

RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2.   def item_apply(user, item)
  3.     @result.clear
  4.     @result.used = item_test(user, item)
  5.     @result.missed = (@result.used && rand >= item_hit(user, item))
  6.     @result.evaded = (!@result.missed && rand < item_eva(user, item))
  7.     if !@result.hit?
  8.       states.each do |state|
  9.       if state.note.include?("<EVASION>")
  10.         remove_state(state.id)
  11.       end
  12.       end
  13.     end
  14.     if @result.hit?
  15.       unless item.damage.none?
  16.         @result.critical = (rand < item_cri(user, item))
  17.         make_damage_value(user, item)
  18.         execute_damage(user)
  19.       end
  20.       item.effects.each {|effect| item_effect_apply(user, item, effect) }
  21.       item_user_effect(user, item)
  22.     end
  23.   end
  24. end

点评

感谢,问题解决了 ^_^  发表于 2017-5-24 16:40

评分

参与人数 1梦石 +1 收起 理由
RaidenInfinity + 1 认可答案

查看全部评分

目前的坑 幽灵契约外传:歌莉娅
持续更新中~ 当前进度 v0.29
下一大版本为v0.30,进行大更新哦0.0
这是属于笨肉包一个人的旅行~(再见了...蚊子湯,七重酱,笨肉包永远想你们!TwT
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-2-16 22:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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