56 lines
No EOL
1.8 KiB
Ruby
56 lines
No EOL
1.8 KiB
Ruby
#==============================================================================
|
||
# ■ RGSS3 多方向シェイク Ver1.00 by 星潟
|
||
#------------------------------------------------------------------------------
|
||
# 通常の画面のシェイクを、特定のイベントコマンドを記入する事で
|
||
# 多方向シェイクへと変化させます。
|
||
#
|
||
# イベントコマンドでshake_type(n)と記入して下さい。
|
||
# nを0とすると通常のシェイクになります。
|
||
# nを1とすると多方向シェイクになります。
|
||
#==============================================================================
|
||
module SHAKE_Y
|
||
|
||
#多方向シェイクをマップ画面で有効にするか?(true 有効/false 無効)
|
||
|
||
MAP = true
|
||
|
||
#多方向シェイクを戦闘画面で有効にするか?(true 有効/false 無効)
|
||
#trueの場合、パーティー内キャラクターがダメージを受けた際のシェイクも多方向化されます。
|
||
|
||
BATTLE = true
|
||
|
||
end
|
||
class Spriteset_Map
|
||
alias update_viewports_y_shake update_viewports
|
||
def update_viewports
|
||
shake_y if SHAKE_Y::MAP && $game_party.shake_y != 0
|
||
update_viewports_y_shake
|
||
end
|
||
def shake_y
|
||
@viewport1.oy = rand(2) > 0 ? - $game_map.screen.shake : $game_map.screen.shake if rand(3) > 0
|
||
end
|
||
end
|
||
class Spriteset_Battle
|
||
alias update_viewports_y_shake update_viewports
|
||
def update_viewports
|
||
shake_y if SHAKE_Y::BATTLE && $game_party.shake_y != 0
|
||
update_viewports_y_shake
|
||
end
|
||
def shake_y
|
||
@viewport1.oy = rand(2) > 0 ? - $game_troop.screen.shake : $game_troop.screen.shake if rand(3) > 0
|
||
end
|
||
end
|
||
class Game_Interpreter
|
||
def shake_type(n)
|
||
$game_party.shake_y = n
|
||
end
|
||
end
|
||
class Game_Party < Game_Unit
|
||
attr_accessor :shake_y
|
||
def shake_y
|
||
if @shake_y == nil
|
||
@shake_y = 0
|
||
end
|
||
return @shake_y
|
||
end
|
||
end |