Project1

标题: 问个技能 [打印本页]

作者: eel    时间: 2014-2-9 10:12
标题: 问个技能
本帖最后由 eel 于 2014-2-9 10:13 编辑

我想做一个点燃效果技能,流程如下:
对【目标】施放了【酒精灯】
【目标】受到xxx点攻击并附加【易燃】效果
            【易燃】效果持续3到4回合
在【易燃】状态存在时,对【目标】使用了【火球】(或者其他火系伤害)
【目标】受到{火球的伤害数值}+{易燃产生的爆炸伤害}
         【其他所有目标】受到{易燃产生的爆炸伤害}
【目标】失去【易燃效果】
【所有目标】获得【点燃】效果(每回合受到xxx点火系伤害,持续3回合)


这个该怎么达成?



@余烬之中  
作者: 国产吃货    时间: 2014-2-9 10:15
好复杂的一个技能哦。
我去做做看。骚等
作者: eel    时间: 2014-2-9 11:16
国产吃货 发表于 2014-2-9 10:15
好复杂的一个技能哦。
我去做做看。骚等


先谢谢了

你顺便看看能不能做出传导效果:
对有【雷点】的【目标】使用雷系技能
目标受到{雷系技能伤害}+{一个额外的雷击伤害},目标失去状态【雷电】
随机2个【目标】获得状态【雷点】
作者: 国产吃货    时间: 2014-2-9 11:22
哦,我这是这么想的。
当然需要改动一下脚本。
当某状态存在时,比如[易燃]存在的时候。
使用以下方法
1.指定属性攻击
2.指定技能攻击
3.指定物品攻击
触发以下
1.另外一个技能

一开始打算的是触发另一个状态,不过又考虑了目标,成功率等问题,使用技能比较好操作。
这样一来,一些扩展技能就可以实现了。
作者: 国产吃货    时间: 2014-2-9 14:22
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Game_Battler
  4. #------------------------------------------------------------------------------
  5. #  处理战斗者的类。Game_Actor 和 Game_Enemy 类的父类。
  6. #==============================================================================
  7.  
  8. class Game_Battler < Game_BattlerBase
  9.   #--------------------------------------------------------------------------
  10.   # ● 应用技能/物品的效果
  11.   #--------------------------------------------------------------------------
  12.   alias old_item_apply item_apply
  13.   def item_apply(user, item)
  14.     old_item_apply(user, item)
  15.     chufa(user,item)
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 触发
  19.   #--------------------------------------------------------------------------
  20.   def chufa(user,item)
  21.       #遍历本身所有状态
  22.     self.states.each do |i|
  23.       next if i.nil?           #状态错误
  24.       next if i.note.nil?      #状态无备注
  25.       #触发属性。
  26.       if i.note =~ /<触发属性 = (\d+)>/
  27.         if $1.to_i == item.damage.element_id
  28.           if i.note =~ /<触发目标 = (\d+)>/
  29.             action = Game_Action.new(user, true)
  30.             action.set_skill($1.to_i)
  31.             @actions.insert(0,action)
  32.           end
  33.         end
  34.       end
  35.       #触发技能
  36.       if i.note =~ /<触发技能 = (\d+)>/
  37.         if $1.to_i == item.id and item.is_a?(RPG::Skill)
  38.           if i.note =~ /<触发目标 = (\d+)>/
  39.             action = Game_Action.new(user, true)
  40.             action.set_skill($1.to_i)
  41.             @actions.insert(0,action)
  42.           end
  43.         end
  44.       end
  45.       #触发物品
  46.       if i.note =~ /<触发物品 = (\d+)>/
  47.         if $1.to_i == item.id and item.is_a?(RPG::Item)
  48.           if i.note =~ /<触发目标 = (\d+)>/
  49.             action = Game_Action.new(user, true)
  50.             action.set_item($1.to_i)
  51.             @actions.insert(0,action)
  52.           end
  53.         end
  54.       end
  55.     end
  56.   end
  57.  
  58. end


范例: 玄幻小说.zip (1.43 MB, 下载次数: 78)
范例中以,汽油桶+火系魔法 会燃烧为例子。
首先,战斗中向敌人投掷汽油桶,会让敌人进入易燃状态,这个状态持续3-4回合
期间,如果对敌人释放火属性攻击,敌人就会进入燃烧状态,且会点燃敌队友,持续3-5回合。点燃生效时,易燃失效。
燃烧期间,如果再向敌人投掷汽油桶,会让敌人进入烧得更旺,让燃烧状态150%附加到敌人身上。

使用方法:
在状态备注中设置。
<触发属性 = n>   如果受到附带第n号属性的攻击,触发生效。
<触发技能 = n>   如果受到第n号技能的攻击,触发生效
<触发物品 = n>   如果受到第n号物品的攻击,触发生效

<触发目标 = n>   触发生效时,释放攻击的战斗者再对本身释放第n号技能。


作者: eel    时间: 2014-2-9 15:04
本帖最后由 eel 于 2014-2-9 15:12 编辑
国产吃货 发表于 2014-2-9 14:22
#encoding:utf-8
#==============================================================================
# ■ ...


把火焰气息换成火球就不行了
不是火属性都可以吗?

另外130添柴貌似可以不再次附加点燃效果
作者: 国产吃货    时间: 2014-2-9 17:04
eel 发表于 2014-2-9 15:04
把火焰气息换成火球就不行了
不是火属性都可以吗?

针对属性的。只要是火属性的就行。

130添柴只是重置点燃效果
作者: eel    时间: 2014-2-9 17:14
国产吃货 发表于 2014-2-9 17:04
针对属性的。只要是火属性的就行。

130添柴只是重置点燃效果

没啊
改成火球完全没有想效果啊
作者: eel    时间: 2014-2-9 19:52
本帖最后由 eel 于 2014-2-9 19:56 编辑

刚刚能点燃了
奇怪
之前为啥燃不了?


点燃后给予随机目标状态又怎么设置呢
作者: eel    时间: 2014-3-4 15:37
这个是已解决吧




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