Project1
标题:
被动技能关联技能加状态的效果该怎样制作
[打印本页]
作者:
春风莉露
时间:
2018-4-13 18:40
标题:
被动技能关联技能加状态的效果该怎样制作
比方说,学得1号被动技能时,火系技能会追加附加50%的中毒状态。
这种怎么做?
作者:
灯笼菜刀王
时间:
2018-4-14 10:58
本帖最后由 灯笼菜刀王 于 2018-4-14 11:03 编辑
不会脚本的做法: 给技能都附带一个没卵用,不能抵抗的状态. 然后公共事件里, 判断角色有没有学会被动技能, 有的话, 就rand(2)一下, 0的话, 有没卵用状态的敌人清除没卵用, 附加毒. 1的话,清除没卵用. 搞定
会脚本的话, 找到伤害计算公式, 判断命中后面,用 skill.element_set.include? (火) 和 user.skill_learn?(技能ID) 判断,符合的话,
add_state(毒ID,true) if rand(2) == 0
不好意思,又没看地点,这里是VA区... 咱给的脚本写法是XP的,可能不适用...
作者:
百里_飞柳
时间:
2018-4-14 12:59
本帖最后由 百里_飞柳 于 2018-4-14 13:02 编辑
整合难度有点大,因为默认的脚本都是直接写在一起的,处理物品技能使用的效果
1、利用技能公式:被动技能自身只是相当于一个开关,利用 a.skill_learn?($data_skills[id]) 来判定 a是否学会id号技能,然后再用 b.add_state(id) 给b附加id号状态,利用 rand < 0.5 来判定概率
就在火系技能的技能公式栏里添加
a.skill_learn?($data_skills[id]) && rand < 0.5 ? b.add_state(id) : 0; formula
复制代码
formula替换为原伤害公式
2、更扩展的脚本:由于默认的item.effects存储了物品技能的使用效果数组,其中存储的为RPG::UsableItem::Effect实例,这样在Game_Battler类中的item_apply(user, item)方法里的item.effects.each {|effect| item_effect_apply(user, item, effect) }扩展成item.effects_ex(self, user).each {|effect| item_effect_apply(user, item, effect) }
然后再打开RPG::UsableItem类,添加
def effects_ex(target, user)
array = []
# 此处添加对self.note的信息获取
# 自己通过正则匹配创建出新的RPG::UsableItem::Effect实例
# 还可以通过添加eval方法来加入判定
self.effects + array
end
复制代码
有点懒,具体可以看我之前
https://rpg.blue/thread-400902-1-1.html
中的 敌人掉落物追加 中的正则实现,
再对照F1中的RPG::UsableItem::Effect类的内容,就能自己造了。
实现难度不大,但是无法整合,只能直接覆盖默认的,所以我就懒得写了……
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1