Project1

标题: RPGACE如何做到物理反弹 [打印本页]

作者: 卡奥尼特    时间: 2013-11-19 16:09
标题: RPGACE如何做到物理反弹
本帖最后由 卡奥尼特 于 2013-12-6 17:03 编辑

我知道ACE里面有物理反击还有魔法反弹
魔法反弹ACE已经自带了,但是物理反击与反弹无关

我现在的问题就是,如何做到物理反弹。。。站内搜索都没有找到

简单来说:物理版本的‘魔法反射’
作者: 200928326    时间: 2013-11-19 16:32
本帖最后由 200928326 于 2013-11-19 19:28 编辑

我对“反弹”的理解是:敌人攻击自己时,自己在没有受到任何伤害的情况下反击敌人。

状态:物理反弹
效果:物理反击+100%,物理伤害加成*0%

其实这个真的有反弹效果,否则物理伤害加成又为何增加上去=_=|||(LZ在测试下?)
如果还有什么要求,请说明吧=A=
@卡奥尼特  
作者: 卡奥尼特    时间: 2013-11-19 19:58
本帖最后由 卡奥尼特 于 2013-11-20 01:29 编辑

看来你还没有理解我的意思,就像你说的物理反击,能做到反弹的效果,但是。。。
如果我说主角的攻击力为0呢?就算是在物理反击面前也无力(你自己试试),这样你就无话可说了吧? (魔法反弹面前就不同)
作者: 卡奥尼特    时间: 2013-11-20 01:31
本帖最后由 卡奥尼特 于 2013-11-22 01:28 编辑
卡奥尼特 发表于 2013-11-19 19:58
看来你还没有理解我的意思,就像你说的物理反击,能做到反弹的效果,但是。。。
如果我说主角的攻击力为0呢 ...


我想实现的是物理反弹,不是物理反击
物理反击的效果是由敌人承担主角的物理攻击
物理反弹的效果是敌人的物理攻击的伤害由敌人承担
作者: dukesward    时间: 2013-11-20 11:27
可以用技能备注轻松实现,看你对scene_battle了解多少了,如果懂脚本我可以详细告诉你
作者: 喵呜喵5    时间: 2013-11-22 15:44
本帖最后由 喵呜喵5 于 2013-11-23 14:06 编辑
  1. =begin
  2. ===============================================================================
  3.   物理伤害反弹 By喵呜喵5
  4. ===============================================================================

  5. 【说明】
  6.   
  7.   当满足条件时,角色原本应该发动的物理反击效果会变成物理反弹
  8.   物理反弹效果是指敌人无法攻击自己同时自己会用相同的技能进行反击
  9.   与物理反击不同,攻击方和防御方的各项能力仍然沿用原来的数据
  10.   即
  11.   用敌人的攻击力和自己的防御力计算敌人所受到的伤害

  12. =end
  13. $m5script = {} if $m5script.nil?
  14. $m5script["M5Reflect"] = true
  15. module M5Reflect
  16. #==============================================================================
  17. #  设定部分
  18. #==============================================================================
  19.   
  20.   HINT = "%s反弹了物理伤害!"
  21.   
  22.   #这里设置物理反弹时的提示文字
  23.   # %s 表示对象的名字
  24.   
  25.   STATE = [10,11,12,13]
  26.   
  27.   #当角色处于上面数字对应ID的状态时,物理反击的效果变成物理反弹的效果
  28.   
  29.   WEAPON = [6,12,18,24]
  30.   
  31.   #当角色装备上面数字对应ID的武器时,物理反击的效果变成物理反弹的效果
  32.   
  33.   ARMOR = [15,50]
  34.   
  35.   #当角色装备上面数字对应ID的防具时,物理反击的效果变成物理反弹的效果

  36. #==============================================================================
  37. #  设定结束
  38. #==============================================================================
  39. end
  40. class Window_BattleLog < Window_Selectable
  41.   def display_m5_reflection(target, item)
  42.     Sound.play_evasion
  43.     add_text(sprintf(M5Reflect::HINT , target.name))
  44.     wait
  45.     back_one
  46.   end
  47. end
  48. class Scene_Battle < Scene_Base
  49.   alias m5_20131123_invoke_counter_attack invoke_counter_attack
  50.   def invoke_counter_attack(target, item)   
  51.     if (m5_state_include(target.states)) or (m5_equip_include(target))
  52.       @log_window.display_m5_reflection(target, item)
  53.       apply_item_effects(@subject, item)
  54.     else
  55.       m5_20131123_invoke_counter_attack(target, item)
  56.     end
  57.   end  
  58.   def m5_state_include(state)
  59.     state = state.collect {|state| state.id }
  60.     (state | M5Reflect::STATE).size != state.size + M5Reflect::STATE.size
  61.   end
  62.   def m5_equip_include(actor)
  63.     weapon = actor.weapons.collect {|weapons| weapons.id }
  64.     armor = actor.armors.collect {|armors| armors.id }
  65.     (weapon | M5Reflect::WEAPON).size != weapon.size + M5Reflect::WEAPON.size or\
  66.     (armor | M5Reflect::ARMOR).size != armor.size + M5Reflect::ARMOR.size
  67.   end
  68. end
复制代码

作者: 卡奥尼特    时间: 2013-11-26 15:58
谢谢,这才是我想要的物理版本的‘魔法反射’
作者: 1091160905    时间: 2013-11-26 18:46
脚本不错,以后拿去用了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1