Thats strange... I cant figure why thats happening. Must be due to the refresh method being called at initiailize or something..
Anyway, use this instead.
#===============================================================================# Snippet to give battler unlimited TP while state TP_Gain_State is applied.#===============================================================================class Game_Battler#=============================================================================== #----------------------------------------------------------------------------- # #----------------------------------------------------------------------------- TP_Gain_State = 12 #----------------------------------------------------------------------------- # #----------------------------------------------------------------------------- def refresh super refresh_tpgain end #----------------------------------------------------------------------------- # #----------------------------------------------------------------------------- def refresh_tpgain return unless state?(TP_Gain_State) @tp = max_tp endendI actually tested that one. It works fine, but you may encounter issues with other scripters code. Probably only if it modifies the Refresh method within Game_Battler - which isnt really common, but if it was, it would be overwritten and therefore, wouldnt work.