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

Project1

 找回密码
 注册会员
搜索

[已解决]如何设置怪物普通攻击造成异常状态?

查看数: 2033 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-5-11 15:14

正文摘要:

本帖最后由 miantouchi 于 2019-5-12 10:12 编辑 比如我想让怪物攻击后,一定几率让我方人员中毒、睡眠等属性,只能通过我截图,通过行为当中设置这个技能几率这样吗? 能不能让怪物普通攻击就具有中毒或者睡眠 ...

回复

guoxiaomi 发表于 2019-5-11 17:24:56
继续推销我签名里的《战斗调用公共事件》,在行动后的事件里指定状态附加即可。

点评

膜拜了,正在研究,不过我现在基础太差了,看不太懂现在。  发表于 2019-5-12 08:26

评分

参与人数 1星屑 +20 收起 理由
RyanBern + 20 推销失败

查看全部评分

灯笼菜刀王 发表于 2019-5-11 16:33:27
从战斗公式中可以看出, 普通攻击附加状态是 用 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

点评

职业设置右边的状态有效度, 默认C, 换D 和E就降低几率了, F是免疫  发表于 2019-5-12 09:59
另外,如何调节现在敌人攻击后我方中状态几率太高了,怎么设置下中状态的几率  发表于 2019-5-12 07:55
对了。name.include?("毒"),这里面的include?是数组中include?(val) 的吗? 我搜索F1里面inducle?使用有好几种情况,有数组、hash、module  发表于 2019-5-12 07:53
测试了前两种已经达成需要的了,剩下的3种情况继续研究使用。就喜欢你这种回答,哈哈有例子  发表于 2019-5-12 07:50

评分

参与人数 1星屑 +70 +1 收起 理由
RyanBern + 70 + 1 认可答案

查看全部评分

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

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

GMT+8, 2024-5-6 23:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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