看错了..自我屏蔽..
#--------------------------------------------------------------------------
# ● スキルアクション 準備
#--------------------------------------------------------------------------
def make_skill_action_preparation(battler)
# スキルを取得
@skill = $data_skills[battler.current_action.skill_id]
# 連携スキルであるかどうか確認
speller = synthe?(battler)
# 強制アクションでなければ
unless battler.current_action.forcing
# SP 切れなどで使用できなくなった場合
if speller == nil
# unless battler.skill_can_use?(@skill.id)
# ステップ 6 に移行
# battler.phase = 6
# return false
# end
# end
# end
##########################################
unless battler.skill_can_use?(@skill.id)
if battler.class == Game_Enemy
# 设置行动为攻击
battler.current_action.kind = 0
battler.current_action.basic = 0
make_basic_action_result(battler)
else
# ステップ 6 に移行
battler.phase = 1
end
# 清除强制行动对像的战斗者
$game_temp.forcing_battler = nil
return
end
end
end
##########################################
#--------------------------------------------------------------------------
# ● アクション作成
#--------------------------------------------------------------------------
def make_action
# カレントアクションをクリア
self.current_action.clear
# 動けない場合
unless self.inputable?
# メソッド終了
return
end
# 現在有効なアクションを抽出
available_actions = []
rating_max = 0
for action in self.actions
# ターン 条件確認
n = $game_temp.battle_turn
a = action.condition_turn_a
b = action.condition_turn_b
if (b == 0 and n != a) or
(b > 0 and (n < 1 or n < a or n % b != a % b))
next
end
# HP 条件確認
if self.hp * 100.0 / self.maxhp > action.condition_hp
next
end
# レベル 条件確認
if $game_party.max_level < action.condition_level
next
end
# スイッチ 条件確認
switch_id = action.condition_switch_id
if switch_id > 0 and $game_switches[switch_id] == false
next
end
# スキル使用可能 条件確認
if action.kind == 1
unless self.skill_can_use?(action.skill_id)
available_actions.push(RPG::Enemy::Action.new)
next
end
end
# 条件に該当 : このアクションを追加
available_actions.push(action)
if action.rating > rating_max
rating_max = action.rating
end
end
# 最大のレーティング値を 3 として合計を計算 (0 以下は除外)
ratings_total = 0
for action in available_actions
if action.rating > rating_max - 3
ratings_total += action.rating - (rating_max - 3)
end
end
# レーティングの合計が 0 ではない場合
if ratings_total > 0
# 乱数を作成
value = rand(ratings_total)
# 作成した乱数に対応するものをカレントアクションに設定
for action in available_actions
if action.rating > rating_max - 3
if value < action.rating - (rating_max - 3)
self.current_action.kind = action.kind
self.current_action.basic = action.basic
self.current_action.skill_id = action.skill_id
self.current_action.decide_random_target_for_enemy
return
else
value -= action.rating - (rating_max - 3)
end
end
end
end
end
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |