赞 | 3 |
VIP | 0 |
好人卡 | 0 |
积分 | 14 |
经验 | 11810 |
最后登录 | 2024-4-8 |
在线时间 | 328 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1438
- 在线时间
- 328 小时
- 注册时间
- 2016-4-4
- 帖子
- 168
|
本帖最后由 porlutia 于 2018-8-5 08:19 编辑
1. 这个的原理 就是先获取基础攻击力,然后把它赋值给n
- if self.state?(32)
- n += 20
- end
复制代码 这里是判断 如果在第32号状态下 n的数值增加20 这一部分就是你需要修改的 这里的32是状态的id 就是数据库中这个状态的序号
最后这里是返回n
2.我方game actor 和敌人game enemy 都有element_rate 这个函数,它就是用来判断属性有效度的
然后这个方法下面可以看到这句
# 获取对应属性有效度的数值
table = [0,200,150,100,50,0,-100]
具体数值就是这个数组了,代表了各个等级的伤害比例。从数字上可以判断出,它是按 (第一个0没用到,属于占坑用,因为数组是按0号开始算,无视它就行)ABCDEF这样排列
所以,你想要改不同的属性比例,那就改变里面的数字就可以了
然后,想要不同的状态下有不同的比例,那只要复制一份,然后套个分歧,满足这个条件的时候用新的数组就好了
if @states.include?(1) #当中了1号状态的时候
table = [0,1000,1000,1000,1000,1000,1000] #所有属性全部十倍伤害
elsif $game_variables[1] #1号开关打开的时候
table = [0,0,0,0,0,0,0] #所有属性全部0伤害
else
table = [0,200,150,100,50,0,-100]
end 这里是某个帖子中 灯笼菜刀王大大关于状态改变属性有效度的说明
|
|