ホーム
>
RPGツクール
>
テクニック集
>
VX一覧
>
テクニック
不死身ステート(VX専用)
Immortal (For VX)
目次
Outline
概要
更新履歴
スクリプト
使用法
概要
Summary
不死身状態になるステートを作成します。
↑目次
更新履歴
History
2009/09/26
新規作成。
↑目次
スクリプト
Script
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ◆ 不死身ステート - KGC_Immortal ◆ VX ◆ #_/ ◇ Last update : 2009/09/26 ◇ #_/---------------------------------------------------------------------------- #_/ 不死身状態になるステートを作成します。 #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ $imported = {} if $imported == nil $imported["Immortal"] = true module KGC module Immortal module Regexp module State # 不死身 IMMORTAL = /<(?:IMMORTAL|不死身)>/i end end end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ RPG::State #============================================================================== class RPG::State #-------------------------------------------------------------------------- # ○ 不死身ステートのキャッシュを生成 #-------------------------------------------------------------------------- def create_immortal_state_cache @__immortal = false self.note.each_line { |line| if line =~ KGC::Immortal::Regexp::State::IMMORTAL @__immortal = true end } end #-------------------------------------------------------------------------- # ○ 不死身ステート判定 #-------------------------------------------------------------------------- def immortal create_immortal_state_cache if @__immortal == nil return @__immortal end alias immortal? immortal end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Game_Battler #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ● 現在のステートをオブジェクトの配列で取得 #-------------------------------------------------------------------------- alias states_KGC_Immortal states def states result = states_KGC_Immortal update_immortal_state(result) return result end #-------------------------------------------------------------------------- # ○ 不死身状態更新 #-------------------------------------------------------------------------- def update_immortal_state(list) return if @__last_states == list @__last_states = list @immortal = false list.each { |state| if state.immortal? @immortal = true break end } end end #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ #============================================================================== # ■ Game_Enemy #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ○ 敵グループでのオブジェクト取得 #-------------------------------------------------------------------------- def troop_enemy index = $game_troop.members.index(self) return (index != nil ? $game_troop.troop.members[index] : nil) end #-------------------------------------------------------------------------- # ○ 不死身状態更新 #-------------------------------------------------------------------------- def update_immortal_state(list) super(list) if troop_enemy != nil @immortal |= troop_enemy.immortal end end end
↑目次
使用法
Usage
不死身
不死身
ステートのメモ欄に <不死身> を追加します。
このステートが付与されている間は、HP が
0
でも戦闘不能にならなくなります。
↑目次
トップ
はじめに
サイトマップ
プロフィール
ソフトウェア
RPGツクール
> テクニック集
謎日記
> 開発記
連絡フォーム
よくある質問
リンク集