#==============================================================================
# 점프 Z 키 지형태그 1이면 사다리 0이면 사다리아님
#==============================================================================
class XRXS50
#
# Action-Maps를 사용여부 (true=진실한 : 사용。
# false=틀린 : 사용하지 않음。)
#
ENABLE_FULL_ACTY_MAPS = true
#
# 「기울기 강하」
#
ENABLE_SLIDE_DESCENT = true
#
# 방향 점프(true=진실한 : 향하고 있을 방향에 점프。
# false=틀린 : 키가 밀리고 있을 방향에 점프。)
#
JUMP_AS_KEY = false
end
#==============================================================================
# ■ Game_Player
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ○ 공개 인스턴스 변수
#--------------------------------------------------------------------------
# 기존
attr_writer :direction_fix
attr_accessor :walk_anime
# 신규
attr_accessor :now_jumps
attr_writer :xrxs50_direction_sidefix
#--------------------------------------------------------------------------
# ○최대 점프 회수
#--------------------------------------------------------------------------
def max_jumps
return 1
end
#--------------------------------------------------------------------------
# ● 왼쪽을 향한다
#--------------------------------------------------------------------------
alias xrxs50_turn_left turn_left
def turn_left
if @xrxs50_direction_sidefix
@direction = 4
else
xrxs50_turn_left
end
end
#--------------------------------------------------------------------------
# ● 오른쪽을 향한다
#--------------------------------------------------------------------------
alias xrxs50_turn_right turn_right
def turn_right
if @xrxs50_direction_sidefix
@direction = 6
else
xrxs50_turn_right
end
end
end
#==============================================================================
# ■ Scene_Map
#==============================================================================
class Scene_Map
#--------------------------------------------------------------------------
# ● 메인 처리
#--------------------------------------------------------------------------
alias xrxs50_main main
def main
# 체크
xrxs50_enable_check
# 귀환시킨다
xrxs50_main
end
#--------------------------------------------------------------------------
# ● 프레임 갱신
#--------------------------------------------------------------------------
alias xrxs50_update update
def update
xrxs50_enable_check
$tag = $game_player.terrain_tag # 지형태그어디냐
xrxs50_update
# 프레임 갱신 (좌표계 갱신)
if @xrxs50_enable
update_coordinates
end
end
#--------------------------------------------------------------------------
# ○ 프레임 갱신 (좌표계 갱신)
#--------------------------------------------------------------------------
def update_coordinates
if $game_player.passable?($game_player.x,$game_player.y,2)
unless $game_player.moving?
if XRXS50::ENABLE_SLIDE_DESCENT and
Input.press?(Input::RIGHT) and
$game_player.passable?($game_player.x,$game_player.y+1,6)
$game_player.move_lower_right
elsif XRXS50::ENABLE_SLIDE_DESCENT and
Input.press?(Input::LEFT) and
$game_player.passable?($game_player.x,$game_player.y+1,4)
$game_player.move_lower_left
else
$game_player.move_down
end
end
else
$game_player.move_down
$game_player.walk_anime = true unless $game_player.walk_anime
$game_player.now_jumps = 0
$game_variables[18] = 0
if Key.trigger?(49) and
$game_player.now_jumps < $game_player.max_jumps
if XRXS50::JUMP_AS_KEY
direction = $game_player.direction == 4 ? -3 : 3
else
if Input.press?(Input::RIGHT)
direction = 3
elsif Input.press?(Input::LEFT)
direction = -3
else
direction = 0
end
end
$game_player.jump(direction, -2)
$game_variables[18] = 1 # 18번을 1로
$game_player.now_jumps += 1
$game_player.walk_anime = true
end
end
end
#--------------------------------------------------------------------------
# ● 플레이어의 장소 이동
#--------------------------------------------------------------------------
alias xrxs50_transfer_player transfer_player
def transfer_player
# 귀환시킨다
xrxs50_transfer_player
# 체크
xrxs50_enable_check
end
#--------------------------------------------------------------------------
# ○ XRXS50 하지만 가동할까 판정
#--------------------------------------------------------------------------
def xrxs50_enable_check
if $tag == 0 and XRXS50::ENABLE_FULL_ACTY_MAPS # 지형태그 0이면 땅
$game_player.now_jumps = 0 if $game_player.now_jumps.nil?
@xrxs50_enable = true
$game_player.direction_fix = true
$game_player.xrxs50_direction_sidefix = true # 지형태그 1이면 사다리
elsif $tag == 1 and XRXS50::ENABLE_FULL_ACTY_MAPS
@xrxs50_enable = false
$game_player.direction_fix = false
$game_player.xrxs50_direction_sidefix = false
end
end
end