=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