假如有一个“治愈术”技能(编号为81号)
治愈术技能只“对 不死”属性(编号为9号)有效度为A的敌人。
其中:
属性修正:有攻击属性时,在 B 的属性有效度中选择最弱的进行修正,修正值如下。
A:200%,B:150%,C:100%,D:50%,E:0%,F:-100%
下面的脚本,参照33~41行
class Scene_Battle #-------------------------------------------------------------------------- # ● 生成特技行动结果 #-------------------------------------------------------------------------- def make_skill_action_result # 获取特技 [url=home.php?mod=space&uid=260100]@skill[/url] = $data_skills[@active_battler.current_action.skill_id] # 如果不是强制行动 unless @active_battler.current_action.forcing # 因为 SP 耗尽而无法使用的情况下 unless @active_battler.skill_can_use?(@skill.id) # 清除强制行动对像的战斗者 $game_temp.forcing_battler = nil # 移至步骤 1 @phase4_step = 1 return end end # 消耗 SP @active_battler.sp -= @skill.sp_cost # 刷新状态窗口 @status_window.refresh # 在帮助窗口显示特技名 @help_window.set_text(@skill.name, 1) # 设置动画 ID @animation1_id = @skill.animation1_id @animation2_id = @skill.animation2_id # 设置公共事件 ID @common_event_id = @skill.common_event_id # 设置对像侧战斗者 set_target_battlers(@skill.scope) # 对治愈术的特别判定 if @skill.id == 81 #治愈术编号是81号 for target in [email]0...@target_battlers.length[/email] if @target_battlers[target].element_rate(9) != 200 #属性编号是9号,有效度为A才能攻击,有效度A用200表示。 @target_battlers[target] = nil end end @target_battlers.compact! end # 应用特技效果 for target in @target_battlers target.skill_effect(@active_battler, @skill) end end end
class Scene_Battle
#--------------------------------------------------------------------------
# ● 生成特技行动结果
#--------------------------------------------------------------------------
def make_skill_action_result
# 获取特技
[url=home.php?mod=space&uid=260100]@skill[/url] = $data_skills[@active_battler.current_action.skill_id]
# 如果不是强制行动
unless @active_battler.current_action.forcing
# 因为 SP 耗尽而无法使用的情况下
unless @active_battler.skill_can_use?(@skill.id)
# 清除强制行动对像的战斗者
$game_temp.forcing_battler = nil
# 移至步骤 1
@phase4_step = 1
return
end
end
# 消耗 SP
@active_battler.sp -= @skill.sp_cost
# 刷新状态窗口
@status_window.refresh
# 在帮助窗口显示特技名
@help_window.set_text(@skill.name, 1)
# 设置动画 ID
@animation1_id = @skill.animation1_id
@animation2_id = @skill.animation2_id
# 设置公共事件 ID
@common_event_id = @skill.common_event_id
# 设置对像侧战斗者
set_target_battlers(@skill.scope)
# 对治愈术的特别判定
if @skill.id == 81 #治愈术编号是81号
for target in [email]0...@target_battlers.length[/email]
if @target_battlers[target].element_rate(9) != 200 #属性编号是9号,有效度为A才能攻击,有效度A用200表示。
@target_battlers[target] = nil
end
end
@target_battlers.compact!
end
# 应用特技效果
for target in @target_battlers
target.skill_effect(@active_battler, @skill)
end
end
end
|