Project1

标题: [已解决]如何设置怪物普通攻击造成异常状态? [打印本页]

作者: miantouchi    时间: 2019-5-11 15:14
标题: [已解决]如何设置怪物普通攻击造成异常状态?
本帖最后由 miantouchi 于 2019-5-12 10:12 编辑

比如我想让怪物攻击后,一定几率让我方人员中毒、睡眠等属性,只能通过我截图,通过行为当中设置这个技能几率这样吗?

能不能让怪物普通攻击就具有中毒或者睡眠的属性。

1.png (55.48 KB, 下载次数: 9)

1.png

作者: 灯笼菜刀王    时间: 2019-5-11 16:33
从战斗公式中可以看出, 普通攻击附加状态是 用 plus_state_set 这个函数决定的

全局搜索plus_state_set , 找到 game_enemy 里定义它的地方, 可以看到就只返回一个空数组, 那你只要让它返回的数组不是空的, 就可以实现敌人普通攻击附带状态了

直接换数组内容是全体敌人都有效, 所以这里要区分怪的来给于不同的数组

做法很多种, ID判断法啦, 常数关联法啦, 备注调用法啦,

栗子:

def plus_state_set
    if id == 1
      return [1]    #1号ID的敌人攻击附带1号状态(战斗不能), 也就是普通攻击附带即死
    end
    if name.include?("毒")
      return [2]  #名字带有毒的敌人, 攻击都附带2号状态
    end
    if index % 2 == 0
      return [3,4]  #双数位置的敌人,攻击都附带3号,4号状态
    end
    if @hp / @maxhp.to_f < 0.5 #血量少于一半的敌人,攻击附带1号武器所带有的状态
      return $data_weapons[1].plus_state_set
    end
    if self.state?(2) #自身附带2号状态的时候, 攻击附带自己当前所中的所有状态
      return @state
    end
    return []
end
作者: guoxiaomi    时间: 2019-5-11 17:24
继续推销我签名里的《战斗调用公共事件》,在行动后的事件里指定状态附加即可。




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