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

Project1

 找回密码
 注册会员
搜索
查看: 2711|回复: 5

[已经解决] 一个咒印BUFF的问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1646
在线时间
112 小时
注册时间
2020-6-12
帖子
31
发表于 2020-11-16 20:29:54 | 显示全部楼层 |阅读模式

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

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

x
在对敌人施加咒印后,三回合后会咒印会发动造成敌人损失血量10%的伤害,然后BUFF消失。怎么做可以在BUFF消失时候对敌人造成伤害

Lv5.捕梦者

梦石
0
星屑
24057
在线时间
4983 小时
注册时间
2016-3-8
帖子
1613
发表于 2020-11-16 21:38:06 | 显示全部楼层
其实我很好奇你在上一个帖子中有没有吸收到什么。。。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1646
在线时间
112 小时
注册时间
2020-6-12
帖子
31
 楼主| 发表于 2020-11-17 23:04:52 | 显示全部楼层
alexncf125 发表于 2020-11-16 21:38
其实我很好奇你在上一个帖子中有没有吸收到什么。。。

不知怎么判定,BUFF剩余回合数。
def update_state_turns
     states.each do |state|
       if @state_turns[40] = 1
         self.hp -= 100
       end
     end
这样写的话,好像BUFF就变成一直在了

点评

if @state_turns[40] == 发表于 2020-11-17 23:15
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
24057
在线时间
4983 小时
注册时间
2016-3-8
帖子
1613
发表于 2020-11-18 00:06:24 | 显示全部楼层
写到def remove_state(state_id)里去比较好...
RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2. alias remove_state_dmg remove_state
  3.   def remove_state(state_id)
  4.     return unless state?(state_id)
  5.     remove_state_dmg(state_id)
  6.     if state_id == 40
  7.       name = self.name   
  8.       dmg = self.hp / 10
  9.       self.hp -= dmg
  10.       SceneManager.scene.instance_variable_get(:@log_window).instance_eval{add_text('%s受到了%s点的伤害!' % [name,dmg]);wait}
  11.     end
  12.     refresh
  13.   end
  14. end
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1646
在线时间
112 小时
注册时间
2020-6-12
帖子
31
 楼主| 发表于 2020-11-18 21:35:09 | 显示全部楼层
alexncf125 发表于 2020-11-18 00:06
写到def remove_state(state_id)里去比较好...

class Game_Battler < Game_BattlerBase

原来在解除状态下判定BUFF序号下写,谢谢大佬
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 10:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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