静止行走图
# @taroxd metadata 1.0
# @id static_character
# @display 静止行走图
# @require taroxd_core
# @help 
#    图片文件名以 $$ 开头时,该图片将被视为一个唯一朝向的人物。

# 文件名满足的条件
Taroxd::StaticCharacter = -> name { name.start_with?('$$') }

class Sprite_Character < Sprite_Base

  def static?
    Taroxd::StaticCharacter.call(@character_name)
  end

  def_chain :set_character_bitmap do |old|
    return old.call unless static?
    self.bitmap = Cache.character(@character_name)
    self.ox = bitmap.width / 2
    self.oy = bitmap.height
  end

  def_unless :update_src_rect, :static?
end
跳过标题画面
# @taroxd metadata 1.0
# @display 跳过标题画面
# @help 测试游戏时跳过标题画面
# @id skip_title
module Taroxd
  SkipTitle = $TEST && !$BTEST
end

def SceneManager.first_scene_class
  DataManager.setup_new_game
  $game_map.autoplay
  Scene_Map
end if Taroxd::SkipTitle
跳过撤退指令
# @taroxd metadata 1.0
# @id skip_party_command
# @display 跳过撤退指令
# @help 不可撤退时,跳过“战斗/撤退”指令的选择
module Taroxd
  module SkipPartyCommand
    # 满足此条件时,不跳过指令选择
    def self.disabled?
      BattleManager.can_escape?
    end
  end
end

# 是否存在上一个指令。无副作用。
def BattleManager.prior_command?
  actors = $game_party.battle_members.first(@actor_index + 1)
  actor = actors.pop
  actor && (actor.prior_command? || actors.any?(&:inputable?))
end

class Game_Actor < Game_Battler
  # 是否已经输入过指令
  def prior_command?
    @action_input_index > 0
  end
end

class Scene_Battle < Scene_Base

  def start_party_command_selection
    return if scene_changing?
    refresh_status
    @status_window.unselect
    @status_window.open
    if BattleManager.input_start
      if Taroxd::SkipPartyCommand.disabled?
        @actor_command_window.close
        @party_command_window.setup
      else
        command_fight
      end
    else
      @party_command_window.deactivate
      turn_start
    end
  end

end

class Window_ActorCommand < Window_Command
  def cancel_enabled?
    Taroxd::SkipPartyCommand.disabled? || BattleManager.prior_command?
  end
end