lunariafantasia/Scripts/_.17.rb
2024-01-12 03:12:38 -06:00

86 lines
No EOL
3.5 KiB
Ruby

#==============================================================================
# ■ 無愛想イベント Ver1.01 by 星潟
#------------------------------------------------------------------------------
# 本来プレイヤーが調べる事で、イベントはプレイヤーの方を向きますが
# この設定を行ったイベントは、プレイヤーが調べても
# プレイヤーの方を向かなくなります。
#
# 「向きの固定」で再現できなくはないのですが
# 場合によっては、迂闊に向き固定を設定したくない場合もあります。
# あくまでそういうイベントを楽に作成する為のスクリプトです。
#
# 設定方法
# イベントの名前に<SURLY>を含ませる事で
# 調べてもプレイヤーの方を向かなくなります。
#==============================================================================
# Ver1.01 イベントのキャラクターチップの名前で
# 無愛想イベント化させる機能を追加しました。
#==============================================================================
module SURLY
#無愛想イベント設定用キーワードを指定します。
WORD = "<SURLY>"
#自動的に無愛想イベントとして扱うキャラチップの名前を指定します。
NAME = ["!Door1","!Door2","!Door3","Behavior4"]
OMIT = "<無愛想除外>" # 追加
end
class Game_Character < Game_CharacterBase
#--------------------------------------------------------------------------
# プレイヤーの方を向く処理
#--------------------------------------------------------------------------
alias turn_toward_player_turn_seal turn_toward_player
def turn_toward_player
#イベントでなおかつ無愛想イベントの設定が有効な場合は処理を中断する。
return if self.is_a?(Game_Event) && self.lock_turn_seal2
#通常の処理を行う。
turn_toward_player_turn_seal
end
end
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# イベント名に設定したキーワードが含まれているか否かを返す。
#--------------------------------------------------------------------------
def c_s_direction_seal
#@event.name.include?(SURLY::WORD) or SURLY::NAME.include?(@character_name)
@event.name.include?(SURLY::WORD) or (SURLY::NAME.include?(@character_name) && !@event.name.include?(SURLY::OMIT)) #変更
end
#--------------------------------------------------------------------------
# ロック(実行中のイベントが立ち止まる処理)
#--------------------------------------------------------------------------
alias lock_turn_seal1 lock
def lock
#無愛想イベントの設定を取得する。
@lock_turn_seal = c_s_direction_seal
#本来の処理を実行する。
lock_turn_seal1
#無愛想イベントの設定を初期化する。
#ここで初期化しておかなければ、移動ルートの設定での
#プレイヤーの方を向く処理まで無効化されてしまう為。
@lock_turn_seal = nil
end
#--------------------------------------------------------------------------
# 無愛想イベントの設定状態を返す。
#--------------------------------------------------------------------------
def lock_turn_seal2
!@lock_turn_seal ? false : true
end
end