#=====================
# 貓熊的細節設置
#=====================
# Credits: Panda King(76213585)
#=====================
# 此腳本可以幫助設置各種默認腳本的小細節
# 像是GameOver的淡出淡入速度及字體
#=====================
# 用法:
# 放入main以上 設置好 即可
#=====================
# 覆寫
# #class Scene_Gameover#
# def fadeout_speed
# def fadein_speed
# #module DataManager#
# def self.savefile_max
# #class Scene_MenuBase#
# def create_background
# #class Window_Message#
# def visible_line_number
# #class Scene_Title#
# def start
# def terminate
# #class Window_MenuStatus#
# def draw_item
# #class Window_Base
# def reset_font_settings
# def draw_currency_value
# def draw_actor_simple_status
#=====================
# =====版本=====
# 1.38 | 加強兼容
# 1.36 | 加強兼容
# 1.35 | 修復錯誤
# 1.30 | 新增金錢圖標及菜單顯示行走圖
# 1.20 | 新增菜單繪制TP及遊戲速度
# 1.10 | 新增當測試時跳過標題及文章最大行數
# 1.00 | 發布
#=======================
module Panda_D
#Game over頁面淡出淡入速度, [淡出速度, 淡入速度]
Game_Over_Speed = [120, 60]
#字體設置.[字體, 大小, 粗體?, 斜體?, 陰影?, 描邊?]
Font = ["Gothic", 20, true, false, true, true]
#分辨率. [寬, 高]
Resolution = [544, 416]
#存檔數上限.
Save_Max = 4
#菜單背景.(放入system內) 留空如果不需要
Back_Ground_Name = ""
#菜單背景不透明度.
Back_Ground_Opc = 255
#文章顯示最大行數
Line = 4
#當測試時跳過標題? ###主程序 by:JV
Skip_Title = true
#繪制金錢圖標?
# [是否, 圖標號碼]
Currency_Icon = [true, 360]
#單顯示行走圖?
Menu_Characher = true
#菜單繪制TP?
TP_Show = true
#遊戲速度倍率.(如果正常是1)
# 1 = 正常 1.5 = 正常的1.5倍 2 = 正常的2倍 以此類推
Rate = 1
end
#=========================================
# Do not edit pass this line.
#=========================================
class Scene_Gameover < Scene_Base
include Panda_D
def fadeout_speed
return Game_Over_Speed[0]
end
def fadein_speed
return Game_Over_Speed[1]
end
end
Font.default_name = Panda_D::Font[0]
Font.default_size = Panda_D::Font[1]
Font.default_bold = Panda_D::Font[2]
Font.default_italic = Panda_D::Font[3]
Font.default_shadow = Panda_D::Font[4]
Font.default_outline = Panda_D::Font[5]
Graphics.resize_screen(Panda_D::Resolution[0], Panda_D::Resolution[1])
Graphics.frame_rate *= Panda_D::Rate if Panda_D::Rate != 0
module DataManager
include Panda_D
def self.savefile_max
return Save_Max
end
end
class Scene_MenuBase < Scene_Base
include Panda_D
def create_background
@background_sprite = Sprite.new
@background_sprite.bitmap = SceneManager.background_bitmap
@background_sprite.color.set(16, 16, 16, 128)
if !Back_Ground_Name.nil?
@panda_background_sprite = Sprite.new
@panda_background_sprite.bitmap = Cache.system(Back_Ground_Name)
@panda_background_sprite.opacity = Back_Ground_Opc
end
end
end
class Window_Message < Window_Base
include Panda_D
def visible_line_number
return Line
end
end
class Scene_Title < Scene_Base
include Panda_D
if Skip_Title
if $TEST
def start
SceneManager.clear
Graphics.freeze
DataManager.setup_new_game
$game_map.autoplay
SceneManager.goto(Scene_Map)
end
def terminate
SceneManager.snapshot_for_background
Graphics.fadeout(Graphics.frame_rate)
end
end
end
end
class Window_Base < Window
include Panda_D
def reset_font_settings
change_color(normal_color)
contents.font.size = Font[1] if !Font[1].nil?
contents.font.bold = Font[2] if !Font[2].nil?
contents.font.italic = Font[3] if !Font[3].nil?
end
if Currency_Icon[0] == true
def draw_currency_value(value, unit, x, y, width)
cx = text_size(unit).width
change_color(normal_color)
draw_text(x, y, width - cx - 2, line_height, value, 2)
change_color(system_color)
draw_text(x, y, width, line_height, unit, 2)
draw_icon(Currency_Icon[1], x, y)
end
end
if TP_Show
def draw_actor_simple_status(actor, x, y)
draw_actor_name(actor, x, y)
draw_actor_level(actor, x, y + line_height * 1)
draw_actor_icons(actor, x, y + line_height * 2)
draw_actor_hp(actor, x + 120, y + line_height * 0.5)
draw_actor_mp(actor, x + 120, y + line_height * 1.5)
draw_actor_tp(actor, x + 120, y + line_height * 2.5)
end
end
end
class Window_MenuStatus < Window_Selectable
include Panda_D
if Menu_Characher
def draw_item(index)
actor = $game_party.members[index]
enabled = $game_party.battle_members.include?(actor)
rect = item_rect(index)
draw_item_background(index)
draw_actor_face(actor, rect.x + 1, rect.y + 1, enabled)
draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
draw_actor_graphic(actor, rect.x + 190, rect.y + 90)
end
end
end