Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Brewmeister's Battle a Party Member Script

This was originally a script that I requested for my game and Brewmeister was generous enough to give me such an amazing script.  I have demos if you want to try it with an unencrypted archive so you can copy the script from there, or you can copy it from below.

Demos:

Battle a Party Member (XP)
Battle a Party Member (VX)

Code:
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Battle a Party Member Script
#-----------------------------
# Made by Brewmeister
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Uses:
#------
#  *Transfer the stats of an actor in the party to an enemy.
#  *Battle a party member.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Things that are not possible with this script:
#-----------------------------------------------
#  *Name input for the character that will become an enemy.  The script must
#   read the graphic from the resource manager that corresponds to the 
#   character's name.
#  *Skill transfer because characters have skills and enemies have actions.
#   The AI needs the priority setting for actions.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Instructions:
#--------------
#  *Copy this script and paste it in a new section below (Insert here) under Materials.
#  *Create an enemy for the party member.  The name, graphic, and stats will
#   be transferred, but any actions, experience, and gold you want the
#   character to have will have to be set here.
#  *Create a troop that contains the character.
#  *Change the numbers in the script for enemy_num to the enemy's position in
#   the database and actor_num to the character's position in the party.
#   The first member in the party would be 0, so the second member would be
#   1, the third member would be 2, etc.
#  *Import a battler of the character the player will fight with the name
#   of the character.
#  *Make an event that will contain the fight.  Before removing the character,
#   insert the command, Script: Actor2Enemy.transfer_stats.  Then remove the
#   character and begin battle processing with the troop that contains the
#   party member.
#  *Please make sure that you give Brewmeister credit for making this wonderful
#   script.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Script Editing:
#----------------
# If you have any additions or changes to the script, please contact 
# Brewmeister before releasing the script change.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

module Actor2Enemy
  def self.transfer_stats(enemy_num = 31, actor_num = 1)
    $data_enemies[enemy_num].name = $game_party.members[actor_num].name
    $data_enemies[enemy_num].maxhp = $game_party.members[actor_num].maxhp
    $data_enemies[enemy_num].maxmp = $game_party.members[actor_num].maxmp
    $data_enemies[enemy_num].atk = $game_party.members[actor_num].base_atk
    $data_enemies[enemy_num].def = $game_party.members[actor_num].base_def
    $data_enemies[enemy_num].agi = $game_party.members[actor_num].base_agi
    $data_enemies[enemy_num].spi = $game_party.members[actor_num].base_spi
    $data_enemies[enemy_num].atk = $game_party.members[actor_num].base_atk
    $data_enemies[enemy_num].hit = $game_party.members[actor_num].hit
    $data_enemies[enemy_num].has_critical = $game_party.members[actor_num].cri
    $data_enemies[enemy_num].eva = $game_party.members[actor_num].eva
    $data_enemies[enemy_num].battler_name = $game_party.members[actor_num].name
  end
end

Code:
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Battle a Party Member Script
#-----------------------------
# Made by Brewmeister
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Uses:
#------
#  *Transfer the stats of an actor in the party to an enemy.
#  *Battle a party member.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Things that are not possible with this script:
#-----------------------------------------------
#  *Name input for the character that will become an enemy.  The script must
#   read the graphic from the resource manager that corresponds to the 
#   character's name.
#  *Skill transfer because characters have skills and enemies have actions.
#   The AI needs the priority setting for actions.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Instructions:
#--------------
#  *Copy this script and paste it in a new section above Main.
#  *Create an enemy for the party member.  The name, graphic, and stats will
#   be transferred, but any actions, experience, and gold you want the
#   character to have will have to be set here.
#  *Create a troop that contains the character.
#  *Change the numbers in the script for enemy_num to the enemy's position in
#   the database and actor_num to the character's position in the party.
#   The first member in the party would be 0, so the second member would be
#   1, the third member would be 2, etc.
#  *Import a battler of the character the player will fight with the name
#   of the character.
#  *Make an event that will contain the fight.  Before removing the character,
#   insert the command, Script: Actor2Enemy.transfer_stats.  Then remove the
#   character and begin battle processing with the troop that contains the
#   party member.
#  *Please make sure that you give Brewmeister credit for making this wonderful
#   script.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Script Editing:
#----------------
# If you have any additions or changes to the script, please contact 
# Brewmeister before releasing the script change.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

module Actor2Enemy
  def self.transfer_stats(enemy_num = 33, actor_num = 1)
    $data_enemies[enemy_num].name = $game_party.actors[actor_num].name
    $data_enemies[enemy_num].maxhp = $game_party.actors[actor_num].maxhp
    $data_enemies[enemy_num].maxsp = $game_party.actors[actor_num].maxsp
    $data_enemies[enemy_num].str = $game_party.actors[actor_num].base_str
    $data_enemies[enemy_num].dex = $game_party.actors[actor_num].base_dex
    $data_enemies[enemy_num].agi = $game_party.actors[actor_num].base_agi
    $data_enemies[enemy_num].int = $game_party.actors[actor_num].base_int
    $data_enemies[enemy_num].atk = $game_party.actors[actor_num].base_atk
    $data_enemies[enemy_num].pdef = $game_party.actors[actor_num].base_pdef
    $data_enemies[enemy_num].mdef = $game_party.actors[actor_num].base_mdef
    $data_enemies[enemy_num].eva = $game_party.actors[actor_num].base_eva
    $data_enemies[enemy_num].battler_name = $game_party.actors[actor_num].battler_name
    weapon = $game_party.actors[actor_num].weapon_id
    $data_enemies[enemy_num].animation1_id = $data_weapons[weapon].animation1_id
    $data_enemies[enemy_num].animation2_id = $data_weapons[weapon].animation2_id
  end
end

I haven't tested the XP version yet and I just copy and pasted the directions from the VX version, so let me know if they need to be edited.  If you want to view the original script request thread, click here.  Be sure to give all credit to Brewmeister!

~Guardian1239
 
Very interesting script! The demo was cool too~

My thanks to Brewmeister for its creation, and of course you Guardian1239 for sharing!
I will probably be inserting this into my own little VX game, e.g. Friendly Sparring event between party members. ^_^
 
I enjoy making random short demos and such.  It allows me to use graphics I don't usually use.  Metora and his mage are actually a huge part of the game I wanted this script for.  I tend to use characters from one idea in others to give them my own style.

~Guardian1239
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top