RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
Battle result(scripters tool)

0 Members and 1 Guest are viewing this topic.

**
Rep: +0/-0Level 68
RMRK Junior

I created this class so anyone can easily create a custom or more advanced
battle result window. This object gives you all the information need in a simplier
way and without a lot of trouble. It creates a array of party actors with:

-Array of learned skills ids of each actor
-Gained levels
-Actor referen ce
-Origin and ending exp and levels
-All the default info(gold,etc)

Code: [Select]
#==============================================================================
# Battle Result
# By gerkrt/gerrtunk
# Version: 1.0
# License: GPL, credits
# Date: 22/08/2011
# IMPORTANT NOTE: to acces the more actualitzed or corrected version of this
# script check here: http://usuarios.multimania.es/kisap/english_list.html
#==============================================================================

=begin

--------Introduction-----------

I created this class so anyone can easily create a custom or more advanced
battle result window. This object gives you all the information need in a simplier
way and without a lot of trouble. It creates a array of party actors with:

-Array of learned skills ids of each actor
-Gained levels
-Actor referen ce
-Origin and ending exp and levels
-All the default info(gold,etc)

------Instructions-------------

You just need to give to it the initial levels of the party. For that, i put
here the sample code i use in scene battle start_phase5

    initial_levels = []
    for ac in $game_party.actors
      initial_levels.push (ac.level)
    end
   
    You only have to pass that array.
   
   
=end



ResultActor = Struct.new( :actor, :origin_level,  :gained_skills,
  :gained_levels)

class Battle_Result
 
  attr_reader :actors_data
  attr_reader :exp
  attr_reader :gold
  attr_reader :treasures
 
  #--------------------------------------------------------------------------
  # * Initialize
  #--------------------------------------------------------------------------
  def initialize(initial_levels, exp, gold, treasures)
    @actors_initals_levels = initial_levels
    @exp = exp
    @gold = gold
    @treasures = treasures
    @actors_data = []
    generate_data(initial_levels)

    #p @messages
  end
 
 
  #--------------------------------------------------------------------------
  # * Generate data
  # This method generates the object data.
  #--------------------------------------------------------------------------
  def generate_data(initial_levels)
    i = 0
    # Actors gain level
    for actor in $game_party.actors
      @actors_data.push (ResultActor.new(actor, initial_levels[i], 
      [], 0))
      count = 0
      # Valid actor?
      if actor.cant_get_exp? == false
        difference = actor.level - @actors_initals_levels[i]
        # Check diff so can gain levels or exp
        if difference > 0
         
          # LEVEL UP.
          @actors_data.last.gained_levels = difference
         
          # SKILL GAIN UP.
          for lv in 0...difference
            # If it have skills learning
            for lea in $data_classes[actor.class_id].learnings
              if lea.level ==  @actors_initals_levels[i] + lv
                @actors_data.last.gained_skills.push (lea.skill_id)
              end
            end
          end
        end
      end
      i += 1
    end
  end
 
end



module Wep
  Scripts_list = [] unless defined? Scripts_list
  Scripts_list.push ('Battle Result')
end