Project1
标题: 关于Sideview战斗系统的问题 [打印本页]
作者: 负零 时间: 2015-9-8 09:33
标题: 关于Sideview战斗系统的问题
本帖最后由 负零 于 2015-9-8 09:34 编辑
技能派生设置好了
#--------------------------------------------------------------------------
# ● 技能派生 中断动作,派生引发新的技能 #####################################
#--------------------------------------------------------------------------
# 习得...没有学会派生的技能时是否执行。
# 代价条件...不足以支付派生技能的代价时是否执行。
# 技能ID...派生技能的ID
# 动作名 判别 习得 代价条件 技能ID
"多段攻撃に派生" => ["der", true, true, 130],
"黑·魔·导_伤害" => ["der", true, true, 506],
"魔法爆破_伤害" => ["der", true, true, 47],
#--------------------------------------------------------------------------
# ● 技能派生 中断动作,派生引发新的技能 #####################################
#--------------------------------------------------------------------------
# 习得...没有学会派生的技能时是否执行。
# 代价条件...不足以支付派生技能的代价时是否执行。
# 技能ID...派生技能的ID
# 动作名 判别 习得 代价条件 技能ID
"多段攻撃に派生" => ["der", true, true, 130],
"黑·魔·导_伤害" => ["der", true, true, 506],
"魔法爆破_伤害" => ["der", true, true, 47],
条件分歧也设置好了
#--------------------------------------------------------------------------
# ● 条件分歧 (技能)
#--------------------------------------------------------------------------
# 对象...检查条件的对象 [0=自身] [1=目标] [2=敌方全体] [3=己方全体] [4=双方全体] [5=第二目标]
# 技能ID...使用几号技能作为条件。
# 条件...[0=可以使用] [1=不能使用]
# 人数...满足以上条件所需人数。条件的对象为多人时,0 表示所有人。
# 分歧...满足条件时的分歧处理。不满足的情况则按照相反方式处理。
# [0=执行下一动作] [1=取消下一动作] [2=全动作结束]
#
# 动作名 判别 对象 技能ID 条件 人数 分歧
"強撃使用可限定" => ["n_4", 0, 80, 0, 1, 0],
"黑·魔·导?" => ["n_4", 0, 506, 0, 1, 0],
"魔法爆破?" =>["n_4", 0, 47, 0, 1, 0],
#--------------------------------------------------------------------------
# ● 条件分歧 (技能)
#--------------------------------------------------------------------------
# 对象...检查条件的对象 [0=自身] [1=目标] [2=敌方全体] [3=己方全体] [4=双方全体] [5=第二目标]
# 技能ID...使用几号技能作为条件。
# 条件...[0=可以使用] [1=不能使用]
# 人数...满足以上条件所需人数。条件的对象为多人时,0 表示所有人。
# 分歧...满足条件时的分歧处理。不满足的情况则按照相反方式处理。
# [0=执行下一动作] [1=取消下一动作] [2=全动作结束]
#
# 动作名 判别 对象 技能ID 条件 人数 分歧
"強撃使用可限定" => ["n_4", 0, 80, 0, 1, 0],
"黑·魔·导?" => ["n_4", 0, 506, 0, 1, 0],
"魔法爆破?" =>["n_4", 0, 47, 0, 1, 0],
全动作处这么执行
"黑·魔·导_判定" => ["黑·魔·导?","100%几率","黑·魔·导_伤害"],#"黑·魔·导_展示"
"魔法爆破_判定" => ["魔法爆破?","100%几率","魔法爆破_伤害"],
"测试" => ["魔法爆破_判定","黑·魔·导_判定"],
"黑·魔·导_判定" => ["黑·魔·导?","100%几率","黑·魔·导_伤害"],#"黑·魔·导_展示"
"魔法爆破_判定" => ["魔法爆破?","100%几率","魔法爆破_伤害"],
"测试" => ["魔法爆破_判定","黑·魔·导_判定"],
问题来了,他只执行黑·魔·导_判定或魔法爆破_判定,哪个在前就执行哪个。我希望他遍历一遍散列表里的内容,应该怎么做?
相关脚本
#--------------------------------------------------------------------------
# ● スキル派生
#--------------------------------------------------------------------------
def self.derived_skill(battler)
battler.force_action(battler.sv.derivation_skill_id, -2)
BattleManager.unshift_action_battlers(battler)
end
#--------------------------------------------------------------------------
# ● スキル派生
#--------------------------------------------------------------------------
def self.derived_skill(battler)
battler.force_action(battler.sv.derivation_skill_id, -2)
BattleManager.unshift_action_battlers(battler)
end
#--------------------------------------------------------------------------
# ● スキル派生
#--------------------------------------------------------------------------
def derivating_skill
# 未修得スキルは派生不可なら
return if !@action_data[1] && !@battler.skills.include?($data_skills[@action_data[3]])
# コスト不足は派生不可なら
return if !@action_data[2] && !@battler.skill_cost_payable?($data_skills[@action_data[3]])
# 派生
@derivation_skill_id = @action_data[3]
# 以降のアクションをキャンセル(此处已屏蔽,但没效果)
#@full_action = []
end
#--------------------------------------------------------------------------
# ● スキル派生
#--------------------------------------------------------------------------
def derivating_skill
# 未修得スキルは派生不可なら
return if !@action_data[1] && !@battler.skills.include?($data_skills[@action_data[3]])
# コスト不足は派生不可なら
return if !@action_data[2] && !@battler.skill_cost_payable?($data_skills[@action_data[3]])
# 派生
@derivation_skill_id = @action_data[3]
# 以降のアクションをキャンセル(此处已屏蔽,但没效果)
#@full_action = []
end
作者: cjlzbb 时间: 2015-9-10 01:42
直接用事件。你在SIDEVIEW里设这些设多了很烦的。
作者: neverstop 时间: 2015-9-11 19:44
建议把两个条件用脚本写在一起。
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |