赞 | 287 |
VIP | 11 |
好人卡 | 74 |
积分 | 226 |
经验 | 281171 |
最后登录 | 2024-11-7 |
在线时间 | 9409 小时 |
Lv5.捕梦者 (暗夜天使) 只有笨蛋才会看到
- 梦石
- 1
- 星屑
- 21594
- 在线时间
- 9409 小时
- 注册时间
- 2012-6-19
- 帖子
- 7117
|
本帖最后由 喵呜喵5 于 2013-11-23 14:06 编辑
- =begin
- ===============================================================================
- 物理伤害反弹 By喵呜喵5
- ===============================================================================
- 【说明】
-
- 当满足条件时,角色原本应该发动的物理反击效果会变成物理反弹
- 物理反弹效果是指敌人无法攻击自己同时自己会用相同的技能进行反击
- 与物理反击不同,攻击方和防御方的各项能力仍然沿用原来的数据
- 即
- 用敌人的攻击力和自己的防御力计算敌人所受到的伤害
- =end
- $m5script = {} if $m5script.nil?
- $m5script["M5Reflect"] = true
- module M5Reflect
- #==============================================================================
- # 设定部分
- #==============================================================================
-
- HINT = "%s反弹了物理伤害!"
-
- #这里设置物理反弹时的提示文字
- # %s 表示对象的名字
-
- STATE = [10,11,12,13]
-
- #当角色处于上面数字对应ID的状态时,物理反击的效果变成物理反弹的效果
-
- WEAPON = [6,12,18,24]
-
- #当角色装备上面数字对应ID的武器时,物理反击的效果变成物理反弹的效果
-
- ARMOR = [15,50]
-
- #当角色装备上面数字对应ID的防具时,物理反击的效果变成物理反弹的效果
- #==============================================================================
- # 设定结束
- #==============================================================================
- end
- class Window_BattleLog < Window_Selectable
- def display_m5_reflection(target, item)
- Sound.play_evasion
- add_text(sprintf(M5Reflect::HINT , target.name))
- wait
- back_one
- end
- end
- class Scene_Battle < Scene_Base
- alias m5_20131123_invoke_counter_attack invoke_counter_attack
- def invoke_counter_attack(target, item)
- if (m5_state_include(target.states)) or (m5_equip_include(target))
- @log_window.display_m5_reflection(target, item)
- apply_item_effects(@subject, item)
- else
- m5_20131123_invoke_counter_attack(target, item)
- end
- end
- def m5_state_include(state)
- state = state.collect {|state| state.id }
- (state | M5Reflect::STATE).size != state.size + M5Reflect::STATE.size
- end
- def m5_equip_include(actor)
- weapon = actor.weapons.collect {|weapons| weapons.id }
- armor = actor.armors.collect {|armors| armors.id }
- (weapon | M5Reflect::WEAPON).size != weapon.size + M5Reflect::WEAPON.size or\
- (armor | M5Reflect::ARMOR).size != armor.size + M5Reflect::ARMOR.size
- end
- end
复制代码 |
评分
-
查看全部评分
|