じ☆ve冰风 发表于 2026-8-2 12:25:55

Regen/Degen Battle Log

Regen Battle Log 2019/03/09

Creator name: Ru/むっくRu (Rutan)​

Introduction
Possible to see Regeneration/Degeneration message in the battlelog.

Note: This script is based on futokoro's DisplayRegenerateMessage.js to VX Ace

Features
Displays amount of HP / MP / TP in the battle log at the end of the turn

Screen

https://i.imgur.com/kfNCmMi.png


Also works for poison status.

How to Use
Paste this script above Main.

Script link
https://raw.githubusercontent.com/ovate/torigoya-rgss3/main/torigoya_RegenLog.rb

                Code:       
# encoding: utf-8
#===============================================================================
# ■ Regeneration in battle log
#-------------------------------------------------------------------------------
# 2019/03/09 Ruたん
# License - Public Domain, allows commercial use and credit is not necessary
#-------------------------------------------------------------------------------
# Conversion of futokoro's FTKR_DisplayRegenerateMessage.js to VX Ace
# https://github.com/futokoro/RPGMaker/blob/master/FTKR_DisplayRegenerateMessage.ja.md
#-------------------------------------------------------------------------------
# Displays amount of HP / MP / TP in the battle log at the end of the turn
#-------------------------------------------------------------------------------
# 【Changelog】
# 2019/03/09 Released
#-------------------------------------------------------------------------------

#===============================================================================
# ● Setting
#===============================================================================
module Torigoya
module DisplayRegenerateMessage
    module Template
      HP_MESSAGE = {
      # ● Message when HP recovers
      #    %1 … Target's name
      #    %2 … Status name
      #    %3 … Increased amount
      gain: '%1 recovered %3 %2!',

      # ● Message when HP decreases
      #    %1 … Target's name
      #    %2 … Status name
      #    %3 … Increased amount
      lose: '%1 lost %3 %2!',
      }

      MP_MESSAGE = {
      # ● Message when MP recovers
      #    %1 … Target's name
      #    %2 … Status name
      #    %3 … Increased amount
      gain: '%1 recovered %3 %2!',

      # ● Message when MP decreases
      #    %1 … Target's name
      #    %2 … Status name
      #    %3 … Increased amount
      lose: '%1 lost %3 %2!',
      }

      TP_MESSAGE = {
      # ● Message when TP recovers
      #    %1 … Target's name
      #    %2 … Status name
      #    %3 … Increased amount
      gain: '%1 recovered %3 %2!',

      # ● Message when TP decreases
      #    %1 … Target's name
      #    %2 … Status name
      #    %3 … Increased amount
      lose: '%1 lost %3 %2!',
      }
    end
end
end

#===============================================================================
# ↑   Setting   ↑
# ↓ Script part ↓
#===============================================================================

module Torigoya
module DisplayRegenerateMessage
    class << self
      def in_turn_end_process?
      !!@in_turn_end_process
      end

      def turn_end_process(&block)
      @in_turn_end_process = true
      block.call
      @in_turn_end_process = false
      end

      def generate_message(type, name, value)
      template, status =
          case type
          when :hp
            
          when :mp
            
          when :tp
            
          else
            raise 'must not happen'
          end
      template.gsub('%1', name).gsub('%2', status).gsub('%3', value.abs.to_s)
      end
    end
end
end

class Window_BattleLog < Window_Selectable
#--------------------------------------------------------------------------
# ● Automatic status display (alias)
#--------------------------------------------------------------------------
alias torigoya_display_regenerate_message_display_auto_affected_status display_auto_affected_status
def display_auto_affected_status(target)
    display_regenerate_message(target) if Torigoya::DisplayRegenerateMessage.in_turn_end_process?
    torigoya_display_regenerate_message_display_auto_affected_status(target)
end
#--------------------------------------------------------------------------
# ● Display recovery message
#--------------------------------------------------------------------------
def display_regenerate_message(target)
    [:hp_damage, :mp_damage, :tp_damage].each do |name|
      next if target.result.public_send(name) == 0
      add_text(Torigoya::DisplayRegenerateMessage.generate_message(:hp, target.name, target.result.public_send(name)))
      wait
    end
end
end

class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● End of turn (alias)
#--------------------------------------------------------------------------
alias torigoya_display_regenerate_message_turn_end turn_end
def turn_end
    Torigoya::DisplayRegenerateMessage.turn_end_process do
      torigoya_display_regenerate_message_turn_end
    end
end
end


Credit and Thanks
- Original Author: futokoro
- Conversion: Rutan

License - Public Domain | MIT License: http://opensource.org/licenses/mit-license.php

Source
https://github.com/rutan/torigoya_rpg_maker_vxace_rgss3


本贴来自国际rpgmaker官方论坛作者:ovate处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/regen-degen-battle-log.115350/
页: [1]
查看完整版本: Regen/Degen Battle Log