#---------------------------------------------------------------------------
#戦闘背景暗転化スクリプトver.1.11(RTAB用)
#by bant http://homepage2.nifty.com/bant/
#---------------------------------------------------------------------------
# 特性の属性を設定した武器、スキル、アイテムを使った時に
# 戦闘背景の色調を変更するスクリプトです。
#
# 特に戦闘背景が白い場合(008-Snowfield01など)戦闘アニメが見えなくなってしまう
# ので有効です。
#
# 数値の設定によっては暗くせずに明るくすることも可能です。
# このスクリプトへの質問等は必ずhttp://homepage2.nifty.com/bant/内の掲示板にして下さい
# 1.1へのバージョンアップ情報
#
# 軽量化:80~104行目を変更
# 戦闘終了後に暗転フラグをオフにする:121~137行目を追加
#
# 1.11へのバージョンアップ情報
#
# アイテムへの対応:107行目、周辺のコメントアウトを消す
# 戦闘前に暗転フラグをオフにする:138、139行目を追加
#=begin
class Game_Battler
BLACK_ELEMENT = "暗转" # 戦闘背景を暗転化する時にこの名前の属性を設定して下さい
end
class Spriteset_Battle
# 色調がどれぐらいまで変化するかの数値です。具体的にはイベントの色調変化で
# 赤色が-TONE_MARGINALになるまで色調が変化します。
TONE_MARGINAL = 100
# 1フレームで変化する赤、緑、青のカラーバランス調整値です。
# 例えば赤なら1フレームで-BLACK_Rだけ変化します。
BLACK_R = 5
BLACK_G = 5
BLACK_B = 5
# *注意:TONE_MARGINALはそれぞれのカラーバランス調整値で割り切れるように設定して下さい。
end
#==============================================================================
# ■ Game_Temp
#------------------------------------------------------------------------------
# セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン
# スタンスは $game_temp で参照されます。
#==============================================================================
class Game_Temp
attr_accessor :black_flug # ☆暗転用
alias initialize_black_bant initialize
def initialize
initialize_black_bant
@black_flug = false
end
end
#==============================================================================
# ■ Spriteset_Battle
#------------------------------------------------------------------------------
# バトル画面のスプライトをまとめたクラスです。このクラスは Scene_Battle クラ
# スの内部で使用されます。
#==============================================================================
class Spriteset_Battle
alias update_black_bant update
def update
update_black_bant
#if @battleback_sprite.tone.red != -TONE_MARGINAL
if $game_temp.black_flug && @battleback_sprite.tone.red != -TONE_MARGINAL
@battleback_sprite.tone.red -= BLACK_R
@battleback_sprite.tone.green -= BLACK_G
@battleback_sprite.tone.blue -= BLACK_B
#elsif @battleback_sprite.tone.red != 0
elsif !$game_temp.black_flug && @battleback_sprite.tone.red != 0
@battleback_sprite.tone.red += BLACK_R
@battleback_sprite.tone.green += BLACK_G
@battleback_sprite.tone.blue += BLACK_B
end
end
end
#==============================================================================
# ■ Game_Battler (分割定義 3)
#------------------------------------------------------------------------------
# バトラーを扱うクラスです。このクラスは Game_Actor クラスと Game_Enemy クラ
# スのスーパークラスとして使用されます。
#==============================================================================
#=begin
class Game_Battler
alias attack_effect_black_bant attack_effect
def attack_effect(attacker)
if attacker.element_set.include?($data_system.elements.index(BLACK_ELEMENT))
$game_temp.black_flug = true
end
attack_effect_black_bant(attacker)
end
alias skill_effect_black_bant skill_effect
def skill_effect(user, skill)
if skill.element_set.include?($data_system.elements.index(BLACK_ELEMENT))
$game_temp.black_flug = true
end
skill_effect_black_bant(user, skill)
end
alias item_effect_black_bant item_effect
def item_effect(item, user = $game_party.actors[0])
if item.element_set.include?($data_system.elements.index(BLACK_ELEMENT))
$game_temp.black_flug = true
end
item_effect_black_bant(item, user)
end
end
#==============================================================================
# ■ Scene_Battle (分割定義 4)
#------------------------------------------------------------------------------
# バトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Battle
alias update_phase4_step6_black_bant update_phase4_step6
def update_phase4_step6(battler)
if $game_temp.black_flug
$game_temp.black_flug = false
end
update_phase4_step6_black_bant(battler)
end
end
#==============================================================================
# ■ Scene_Battle (分割定義 1)
#------------------------------------------------------------------------------
# バトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
alias main_black_bant main
def main
# 戦闘前に暗転フラグをオフにしておく
$game_temp.black_flug = false
main_black_bant
# 戦闘終了時に暗転フラグをオフにしておく
$game_temp.black_flug = false
end
end
#=end
#=begin class Game_Battler alias attack_effect_black_bant attack_effect def attack_effect(attacker) if attacker.element_set.include?($data_system.elements.index(BLACK_ELEMENT)) or $game_switches[10086] $game_temp.black_flug = true end attack_effect_black_bant(attacker) end alias skill_effect_black_bant skill_effect def skill_effect(user, skill) if skill.element_set.include?($data_system.elements.index(BLACK_ELEMENT)) or $game_switches[10086] $game_temp.black_flug = true end skill_effect_black_bant(user, skill) end alias item_effect_black_bant item_effect def item_effect(item, user = $game_party.actors[0]) if item.element_set.include?($data_system.elements.index(BLACK_ELEMENT)) or $game_switches[10086] $game_temp.black_flug = true end item_effect_black_bant(item, user) end end
soulsaga 发表于 2020-1-8 23:31
#=begin
class Game_Battler
alias attack_effect_black_bant attack_effect
soulsaga 发表于 2020-1-8 23:31
#=begin
class Game_Battler
alias attack_effect_black_bant attack_effect
爆焰 发表于 2020-1-13 14:58
这个是范例,就是开关开了之后一直是暗的,而不是使用技能时才变暗,最好是连同敌人的变暗。
...
QQ截图20200217180433.png (15.22 KB, 下载次数: 19)
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |