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

Project1

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

[已经过期] 一次性免傷擴展

[复制链接]

Lv5.捕梦者

梦石
0
星屑
33284
在线时间
10511 小时
注册时间
2009-3-15
帖子
4758
1
发表于 2018-5-16 19:27:21 | 显示全部楼层
本帖最后由 soulsaga 于 2018-5-17 11:22 编辑

RUBY 代码复制
  1. module NODMG
  2. GUARD_ONCE_STATE = [
  3. 447, # 状态ID
  4. 448,
  5. 449,
  6. ]
  7.  
  8. GUARD_TIME = [
  9. 1,#免伤次数
  10. 2,
  11. 3,
  12. ]
  13. end
  14. class Game_Battler
  15.  
  16.  
  17.   alias init0622 initialize
  18.   def initialize
  19.     init0622
  20.     @guard_times = 0
  21.   end
  22.  
  23.   alias add_state_0622 add_state
  24.   def add_state(state_id)
  25. for i in 0..NODMG::GUARD_ONCE_STATE.size-1
  26.     @guard_times += NODMG::GUARD_TIME[i] if state_id == NODMG::GUARD_ONCE_STATE[i]
  27. @state_id = state_id if state_id == NODMG::GUARD_ONCE_STATE[i]
  28. end
  29.     add_state_0622(state_id)
  30.   end
  31.  
  32.   alias remove_state_0622 remove_state
  33.   def remove_state(state_id)
  34. for i in 0..NODMG::GUARD_ONCE_STATE.size-1
  35.     @guard_times = 0 if state_id == NODMG::GUARD_ONCE_STATE[i]
  36. end
  37.     remove_state_0622(state_id)
  38.   end
  39.  
  40. def item_apply(user, item)
  41.     @result.clear
  42.     @result.used = item_test(user, item)
  43.     @result.missed = (@result.used && rand >= item_hit(user, item))
  44.     @result.evaded = (!@result.missed && rand < item_eva(user, item))
  45.     return unless @result.hit?
  46.     if @guard_times > 0
  47. if (@guard_times -= 1) <= 0
  48.      remove_state(@state_id)
  49. return
  50. end
  51. return if @guard_times > 0
  52. end
  53. end
  54.  
  55.     end
  56.     unless item.damage.none?
  57.       @result.critical = (rand < item_cri(user, item))
  58.       make_damage_value(user, item)
  59.       execute_damage(user)
  60.     end
  61.     item.effects.each {|effect| item_effect_apply(user, item, effect) }
  62.     item_user_effect(user, item)
  63.   end
  64. end


未测试..不保证可行..

回合数应该可以在数据库设置..

点评

我升級可以點評了!(開心) 測試免傷有效果了,不過選擇防禦也會扣到免傷次數... 還有次數被打完之後設定的回合內狀態不會自動解除QQ  发表于 2018-5-17 00:38
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33284
在线时间
10511 小时
注册时间
2009-3-15
帖子
4758
2
发表于 2018-5-16 21:24:50 | 显示全部楼层
elemmy72 发表于 2018-5-16 21:10
感謝幫忙!

但是報錯了…

26行更新了..

一合回消失可能和初始化有关..?
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33284
在线时间
10511 小时
注册时间
2009-3-15
帖子
4758
3
发表于 2018-5-16 22:03:23 | 显示全部楼层
本帖最后由 soulsaga 于 2018-5-16 22:18 编辑
elemmy72 发表于 2018-5-16 21:46
感謝!

狀態不會一回合就消失了,


看看这次行不行..

点评

看看这次行不行..  发表于 2018-5-16 22:18
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-16 00:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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