RPG Maker Forums

Always Gain Exact TP on Skill Use


by lilyWhite


VX Ace gives you the option for skills to give the user TP when used, setting a specific value in the Database. There are two particular quirks to this, however, which may not fit everyone's needs. TP is only granted if the skill hits the target—if either the user misses due to their Hit Rate or the skill's Success %, or the target dodges the skill due to Evasion or Magic Evasion, the user will not gain any TP. If a skill hits multiple targets, the user will receive the TP Gain value with each successful hit, and thus a skill gains much more TP on many targets than fewer targets, whether or not its effectiveness or cost is affected by the number of targets.


This script alters how VX Ace gives TP to characters through skill use. The user will receive the TP Gain value (modified by their TP Charge Rate) once upon use of the skill, whether or not it hits or is evaded. The script also allows you to set whether or not actors will gain TP for use of skills outside of battle. By default, it is set to false. (And remember, VX Ace resets actors' TP at the start of battle unless they have the "Preserve TP" trait.)


Free for use in any commercial or non-commercial project! Credit to "lilyWhite"; I reserve the right to be slightly miffed if you get the capitalization wrong. :3


The script is within the spoiler below. Copy into the Script Editor and configure if desired.

=begin


  = Always Gain Exact TP on Skill Use, by lilyWhite =
  (well, that's a mouthful)
  
  VX Ace allows an actor to gain TP when using an skill. However, by default,
  they will only gain TP if the attack hits and isn't evaded, and every
  successful hit will add the TP Gain value, resulting in significantly more TP
  when there are more enemies.
    
  This simple little scripts alters the way TP is added to an actor. TP will
  only be added once upon activation of the skill, regardless of whether or not
  the skill successfully hits or is evaded by the target. The user's TP Charge
  Rate (TCR) still applies to received TP.
  
  There is an option to allow actors to gain TP when using a skill out of
  battle. By default, it is set to false. Remember that, by default, VX Ace
  resets actors' TP at the beginning of battle if they do not have the
  "Preserve TP" trait.
  
  Usage: Free to use in any commercial or non-commercial project! Credit to
  "lilyWhite"; I reserve the right to be slightly miffed if you get the
  capitalization wrong. :3
    
=end


module DumbTpScript
  
  # Will the actor gain TP when a skill is used out of battle? False by default.
  GAIN_TP_OUT_OF_BATTLE = false
  
end


  #--------------------------------------------------------------------------
  # Don't edit below here, unless you know what you're doing.
  # (Then again, even I don't.)
  #--------------------------------------------------------------------------


class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # * Use Skill/Item
  #    Called for the acting side and applies the effect to other than the user.
  #--------------------------------------------------------------------------
  alias use_item_get_tp use_item
  def use_item(item)
    use_item_get_tp(item)
    get_tp = DumbTpScript::GAIN_TP_OUT_OF_BATTLE
    if item.is_a?(RPG::Skill)
      if get_tp == true
        user_gain_tp(item)
      else
        user_gain_tp(item) if $game_party.in_battle == true
      end
    end
  end
  
  #--------------------------------------------------------------------------
  # * Overwrite item_user_effect...to do NOTHING! To ensure compatibility.
  #   Hopefully!
  #--------------------------------------------------------------------------
  def item_user_effect(user, item)
  end
  
  #--------------------------------------------------------------------------
  # * New method to add TP.
  #--------------------------------------------------------------------------
  def user_gain_tp(item)
    self.tp += item.tp_gain * self.tcr
  end
end

Latest Threads

Latest Profile Posts

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.

Forum statistics

Threads
106,035
Messages
1,018,450
Members
137,820
Latest member
georg09byron
Top