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.

[RMVX] Multi-Act for PCs

Multi-Act for PCs
Hello all! (In advance, I am sorry if I failed the template!)

Mithran released a script called Enemy Multiact. For the curious, it looks like this:

Code:
# Enemy Multiact

# v 1.0

# By Mithran

# Requested by Flood_Master / Netmonmatt

# Allows an enemy to act more than once per round

# Rules: 

# Actors do not get extra turns

# Turn-based auto removal of states occurs only after the FINAL action

# Extra turns do not decrement state counter (only the final turn)

# For default battle system only.

 

# Add the following to the note section:

# <enemy extra actions n>

# Where n is the number of extra actions you want an enemy to have.

# The note tag can be given to an enemy note or a states note.

# Extra actions through notes and state notes stack.

 

# Install: Place in materials section above main.

# Please do not redistribute without asking!

 

class Scene_Battle

  

  alias process_action_orig_mith_multiact process_action

  def process_action

    @extra_action_number_mith_multiact = 0

    @extra_actions_mith_multiact = false

    process_action_orig_mith_multiact

    return if @active_battler.nil?

    return unless @active_battler.extra_actions_mith_multiact > 0

    @extra_actions_mith_multiact = true

    @extra_action_number_mith_multiact = @active_battler.extra_actions_mith_multiact

    for i in 1..@active_battler.extra_actions_mith_multiact

      process_battle_event

      @active_battler.make_action

      @last_battler_mith_multiact = @active_battler

      process_action_orig_mith_multiact

      @active_battler = @last_battler_mith_multiact

      process_battle_event

      @extra_action_number_mith_multiact -= 1

    end

    @extra_actions_mith_multiact = false

  end

 

  alias set_next_active_battler_orig_mith_multiact set_next_active_battler

  def set_next_active_battler

    if @extra_actions_mith_multiact

      if $game_troop.forcing_battler != nil

        @last_battler_mith_multiact = @active_battler

        @active_battler = $game_troop.forcing_battler

        $game_troop.forcing_battler = nil

      end

    else

      set_next_active_battler_orig_mith_multiact

    end

  end

 

  alias remove_states_auto_orig_mith_multiact remove_states_auto

  def remove_states_auto

    if @active_battler.extra_actions_mith_multiact <= 0

      remove_states_auto_orig_mith_multiact

      # Remove states auto on original turn if no multiactions

    elsif @extra_actions_mith_multiact && @extra_action_number_mith_multiact <= 1

      remove_states_auto_orig_mith_multiact

      # Otherwise, remove states auto if on last multiaction

    end

  end

 

end

 

class Game_Battler

  

  def extra_actions_mith_multiact

    return 0 if actor?

    n = 0

    n += $1.to_i if enemy.note =~ /<enemy extra actions (\d+)>/i

    for state in states

      n += $1.to_i if state.note =~ /<enemy extra actions (\d+)>/i

    end

    return n

  end

  

end

Basically, I need the same thing only for PCs.

Script Title:
PC Multi-Act
Detailed Description:
To be more specific, the following functionality is requested:

*Include multiple actions for player characters, specifically making a game with one PC more interesting by letting that PC take multiple actions.
*The number of PC actions should start out at one and be tracked on an individual character basis.
*Actions can be increased by passive skills, equipment, and states. For example:
a) A passive skill called "Celerity" that grants you a bonus action.
b) A futuristic accessory called "Reflex Amp" that gives a bonus action when equipped.
c) A spell called "Haste" that causes a status effect which provides a bonus action
etc.
*In other words, there should be a tag for use with the notebox that grants bonus actions.
*Compatibility with most KGC scripts and other scripts that effect DBS functionality would be a plus. I am using the DBS, however, not any of those newfangled sideview battle systems.
*Optional functionality: enemy skills that can temporarily decrease (to a minimum of 1) or reset extra PC actions.
*If it helps, the inspiration is tabletop RPGs like Shadowrun where an important character stat (Initiative) involves not only WHEN you go in battle, but how many TIMES you go in battle.

I think that's basically everything but if you have any questions I will do my best to answer them. Thank you!

Other Scripts I Am Using (in order):
IN THIS PROJECT, SO FAR (it changes like every other day):
KGC_DrawFormatText
KGC_CustomMenuCommand
Notes Field
Restraint
StateParams+
KGC_SlipDamageExtension
KGC_MPCostAlter
SkillFunctions
KGC_AddEquipmentOptions
KGC_HelpExtension
KGC_ExtendedEquipScene
KGC_ReproduceFunctions
KGC_PassiveSkill
KGC_ForceStopVictoryME
Yanfly's Core Fixes and Upgrades
Firearms Script
KGC_TitleDirection
KGC_MiniMap
KGC_DistributeParameter
+SAVE SLOTS

That's it for now, although I am probably adding in some more Yanfly stuff soonish which might mean taking out other stuff if it conflicts.
 

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