赞 | 0 |
VIP | 4 |
好人卡 | 11 |
积分 | 1 |
经验 | 29368 |
最后登录 | 2021-11-17 |
在线时间 | 568 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 60
- 在线时间
- 568 小时
- 注册时间
- 2012-9-7
- 帖子
- 611
|
本帖最后由 wingzeroplus 于 2012-11-24 13:44 编辑
- #=============================================================================
- # ◇ 「魔法反射」ステート by 桜雅 在土
- #=============================================================================
- class Scene_Battle
- #--------------------------------------------------------------------------
- # ● スキルまたはアイテムの対象側バトラー設定
- #--------------------------------------------------------------------------
- alias xrxs_magic_refrex_set_target_battlers set_target_battlers
- def set_target_battlers(scope,battler)
- xrxs_magic_refrex_set_target_battlers(scope,battler)
- # スキル使用時
- if battler.current_action.kind == 1
- # 魔法である場合
- if skill_is_a_magic?(@skill)
- element_id = get_refrex_penetration_id
- # スキルに反射貫通が付加されているか。
- skill_state_penetration(@skill, element_id, battler)
- if battler.penetration != true
- # 検索
- for target in battler.target.dup
- # 魔法反射ステートにかかっているか?
- state_id = get_magical_refrex_id
- if state_id != nil and target.state?(state_id)
- # 反射---
- target.refrexed = true
- battler.target.delete(target)
- ################################
- if battler.is_a?(Game_Enemy)
- if @skill.scope==1
- for enemy in $game_troop.enemies
- if enemy.exist?
- battler.target = [$game_troop.random_target_enemy]
- battler.target -=[battler] if battler.current_action.self_exclusion
- battler.target = [battler.target[rand(battler.target.size)]]
- end
- end
- elsif @skill.scope==3 or @skill.scope==5
- for actor in $game_party.actors
- if actor.exist?
- battler.target.push(actor)
- battler.target -=[battler] if battler.current_action.self_exclusion
- battler.target = [battler.target[rand(battler.target.size)]]
- end
- end
- end
- end
-
- if battler.is_a?(Game_Actor)
- if @skill.scope==3 or @skill.scope==5
- for enemy in $game_troop.enemies
- if enemy.exist?
- battler.target = [$game_troop.random_target_enemy]
- battler.target -=[battler] if battler.current_action.self_exclusion
- battler.target = [battler.target[rand(battler.target.size)]]
- end
- end
- elsif @skill.scope==1
- for actor in $game_party.actors
- if actor.exist?
- battler.target.push(actor)
- battler.target -=[battler] if battler.current_action.self_exclusion
- battler.target = [battler.target[rand(battler.target.size)]]
- end
- end
- end
- end
- #####################################
- # ---反射の設定完了
- end
- end
- end
- end
- end
- end
复制代码 把中间##那段替换相应的位置就可以
不过我把反射的定义改了,单体才能反射,全体魔法不能反射,下面是我自己改的定义
def skill_is_a_magic?(skill)
return false unless skill.is_a?(RPG::Skill)
return (skill.atk_f ==0 and (skill.scope==1 or skill.scope==3 or skill.scope==5))
end
end
LZ对何种技能才能反射的定义需要如何改的话,自己看着办吧,我只提供随机反射的效果
|
评分
-
查看全部评分
|