| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 1 |  
| 经验 | 1532 |  
| 最后登录 | 2016-10-23 |  
| 在线时间 | 23 小时 |  
 Lv1.梦旅人 
	梦石0 星屑50 在线时间23 小时注册时间2013-7-6帖子7 | 
| 
1.=begin =========================================================================
x
加入我们,或者,欢迎回来。您需要 登录 才可以下载或查看,没有帐号?注册会员  2.Dekita's                                                                   v2.2
 3.                  ★ Perfect Stat Point Distribution System™ ★
 4.
 5.================================================================================
 6. Script Information:
 7.====================
 8. This script is a highly dynamic & customisable stat point distribution system,
 9. it not only provides you with a way to distribute stats, it actually gives you
 10. new stats as well, vit/str/dex and mag are now the proud parents of all other
 11. stats. And they are far superior...
 12.
 13. Set which stats increase, how much it costs, does one stat make another stat go
 14. down? is the luck gain for your characters going to be completely random ?
 15.
 16. maybe you want to continue to gain params via the param curves in the database,
 17. but you wish you could give your characters just that little bit more flexablity?
 18.
 19. NOW YOU CAN DECIDE.
 20.
 21. Dont want that much control? thats fine set the system to be as random as
 22. you like.
 23.
 24. It is HIGHLY advised you take a moment to look through the cusomisation options
 25. to see if any apply to your current project. (they also change regularly)
 26.
 27. THIS SCRIPT NOW REQUIRES DEKITA - CORE SCRIPT !
 28.
 29.================================================================================
 30. FEATURES:
 31.==========
 32. - New Parent Stats that give you COMPLETE control over ALL other stats
 33.
 34. - Use your new stats in skill formula's and even conditional branches
 35.
 36. - OVER 170 customisation options, NOT including random gain feature(another 100+)
 37.
 38. - Plug and Play ?  YES !
 39.
 40.================================================================================
 41. ★☆★☆★☆★☆★☆★☆★☆★ TERMS AND CONDITIONS: ☆★☆★☆★☆★☆★☆★☆★☆★☆
 42.================================================================================
 43. 1. You must give credit to "Dekita"
 44. 2. You are NOT allowed to repost this script.(or modified versions)
 45. 3. You are NOT allowed to convert this script.(into other game engines e.g RGSS2)
 46. 4. You are NOT allowed to use this script for Commercial games.
 47. 5. ENJOY!
 48.
 49."FINE PRINT"
 50.By using this script you hereby agree to the above terms and conditions,
 51. if any violation of the above terms occurs "legal action" may be taken.
 52.Not understanding the above terms and conditions does NOT mean that
 53. they do not apply to you.
 54.If you wish to discuss the terms and conditions in further detail you can
 55.contact me at http://dekitarpg.wordpress.com/ or [email protected]
 56.
 57.================================================================================
 58. History:
 59.=========
 60. D /M /Y
 61. 14/o1/2o13 - Bug Fix, (distribution screen showing when actor has 0 points)
 62. 07/11/2o12 - Finished compatibility with CORE script.
 63.              REMOVED attribute points, will redo in its own script.
 64. 20/09/2o12 - Fixed a small bug, (v1.9)
 65. 19/09/2o12 - HUGE "tidy up", (v1.8)
 66.              Updated Terms and Conditions,
 67.              Updated information throughout script,
 68.              Added max stats for actors,
 69.              Added more script calls,
 70.              Added MORE customisation,
 71.              Added NoteTag customisation options,
 72.              Efficiency upgraded,
 73. 13/09/2o12 - Added More Notetags,
 74. 12/09/2o12 - Improved script layout and compatability with future features,
 75.              Added Notetags for enemy's to drop Distribution/Attribute points,
 76. 29/08/2o12 - Added extra random-ness to the stat gains for each option,
 77. 24/08/2o12 - Improved Script calls,
 78.              Changed vit/str/dex and mag from useless counters into unique params.
 79. 22/08/2o12 - Started "Re-Writing" script for compatibility with future add-on's,
 80. 21/08/2o12 - Finished.(v1.4),
 81.            - other stuff,
 82. 15/08/2o12 - Added options for "Dekita - Perfect Element/Status Control"
 83. 14/08/2o12 - Compatability update for "Dekita - Perfect Element/Status Control"
 84.            - Released Script.(v1.3)
 85. 13/08/2o12 - Added bonus level points.
 86.            - Released Script.(v1.2)
 87. 12/08/2o12 - Added ability to continue using parameter curves growth.
 88.            - Fixed bug where using "SceneManager.call(Scene_Level_Up)" gave an
 89.              error message(if no actor had leveled).
 90.            - Added main menu command, Added switch to show/enable menu command.
 91.            - Removed a useless script call.(lose_pts)
 92.            - General tidying of the script.
 93. 11/08/2o12 - Added script calls to increase vit,str,dex and mag counters.
 94.            - Removed "Perfect Stat Point Control Mode"
 95.            - Changed name of script to Perfect Stat Point Distribution System.
 96.            - Updated script to give ALOT more control over how
 97.              x-params/s-params increase/decrease via command options.
 98.            - Removed formula's method for increasing x/s-params.
 99. 08/08/2o12 - Released Script. (v1.1)
 100.            - Compatability update -> (Perfect Status Screen).
 101. 07/08/2o12 - Fixed PROPERTIES_BIGGER_NUMBERS < Customisation module.
 102.            - Added Gain/Lose points script calls as requested by "The Attendee"
 103.              @ http://www.rpgmakervxace.net
 104.            - Released Script. (v1.0)
 105. 06/08/2o12 - Added TP cost, HP Cost and GOLD Cost formula's.
 106.            - Improved layout again.
 107. 05/08/2O12 - Added visual Vit,Str,Mag,Dex counters.
 108. 02/08/2012 - Added Ability to convert from "PSPDS" into "PSPCS"
 109.            - Added more customisation.
 110. 01/08/2o12 - Added MASS Customisation.
 111.            - Finished Script Base.
 112. 31/07/2o12 - Improved layout.
 113.            - Added customisation options for when the SPD Screen triggers.
 114. 30/07/2o12 - Script now displays actors JP if Yanfly's JP manager is installed.
 115.            - Added minor customisation.
 116.            - Improved Layout.
 117. 21/07/2o12 - Started script.
 118.
 119.================================================================================
 120. Credit and Thanks to :
 121.=======================
 122. mobychan & Tsukihime - for helping me understand notetags a little better ^_^
 123. Adrian Meza - for showing me how to add bonus level points.
 124. Niclas - for showing me how to properly define add_xparam.
 125. De Mack - for showing me how to write a basic distribute parameters script.
 126.
 127.================================================================================
 128. Known Bugs:
 129.============
 130. Guardian/Summon Scripts usually override the SPD Screen process if
 131. "INBATTLE = true" < Customisation module
 132. If you encounter this problem simply set
 133. "ONMAP" to "true" and "INBATTLE" to "false" < Customisation module
 134.
 135.=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 136. If a new bug is found please contact me at
 137. http://dekitarpg.wordpress.com/
 138.
 139.================================================================================
 140. INSTRUCTIONS:
 141.==============
 142. Place this script UNDER "▼ Materials" and ABOVE "▼ Main" in your script editor.
 143.
 144.================================================================================
 145. Script Calls:
 146.==============
 147.
 148. Use the following script call in game (an event) to change the amount of
 149. points you gain each time you level up
 150.
 151.$pts = x
 152.
 153. e.g
 154. $pts = 7 <- this will change the points gained per level to 7
 155.
 156.$bonuspts = x  <- this changes the bonus points gained (each level you set)
 157.
 158.--------------------------------------------------------------------------------
 159. Use the following script call to give an actor x amount of points
 160.
 161.gain_pts(actor_id, value)
 162.
 163.gain_atti(actor_id, value) < requires add-ons to spend attribute points.
 164.
 165. e.g
 166. gain_pts(1, 10) < This will give actor 1, 10 points to distribute.
 167.
 168. NOTE:
 169. value can be negative e.g
 170. gain_pts(1, -10) < This will remove 10 points from actor 1.
 171.
 172. NOTE_2: if an actor does not have the points you try to remove it wont work!
 173.
 174.--------------------------------------------------------------------------------
 175. Use the following script calls to add vit, str, dex or mag to an actor.
 176.
 177.inc_vit(actor_id, value)
 178.
 179.inc_str(actor_id, value)
 180.
 181.inc_dex(actor_id, value)
 182.
 183.inc_mag(actor_id, value)
 184.
 185. NOTE: I have made these script calls work the same way as if you spend a point
 186. in a stat(vit,str,dex and mag) e.g if you increase vit it will increase
 187. all params/xparams and sparams that you define under option 1 customisation.
 188. The same goes for str, dex and mag also.
 189.
 190. NOTE_2: value can NOT be negative.
 191.
 192.$game_actors[ACTOR_ID].reduce_vit(VALUE)
 193.$game_actors[ACTOR_ID].reduce_str(VALUE)
 194.$game_actors[ACTOR_ID].reduce_dex(VALUE)
 195.$game_actors[ACTOR_ID].reduce_mag(VALUE)
 196.
 197. Use these script calls to reduce stats
 198.
 199.--------------------------------------------------------------------------------
 200. Use the following script calls to change the maximum value of an actors stats
 201. by default the maximum is 999 for all options
 202.
 203.change_MaxVIT(actor_id, value)
 204.change_MaxSTR(actor_id, value)
 205.change_MaxDEX(actor_id, value)
 206.change_MaxMAG(actor_id, value)
 207.
 208. NOTE: same as above (value can be negative).
 209.
 210.--------------------------------------------------------------------------------
 211. Use the following script call in game (an event) to trigger the SPD Screen
 212.
 213.SceneManager.call(Scene_Level_Up)
 214.
 215. NOTE: If no actor has leveled when you call this scene it will display the first
 216. actor in the party. If an actor has leveled it will show the SPDS for them.
 217.
 218.================================================================================
 219. NoteTags: (default, customisation options are below)
 220.==========
 221.
 222.<pts gain: X>    (Gains Distribution Points)
 223.<atti gain: X>   (Gains Attribute Points)
 224.
 225.Place these notetags into enemy noteboxes to gain X amount of points when the
 226.enemy is defeated. replace X with a value of your choosing, e.g <pts gain: 99>
 227.
 228.--------------------------------------------------------------------------------
 229.
 230.<vit: X>
 231.<str: X>
 232.<dex: X>
 233.<mag: X>
 234.
 235.Place these notetags into weapon or armor noteboxes to increase actors stats by
 236.X amount of points when the item is equipped,
 237.
 238.OR
 239.
 240.Place these notetags into enemy noteboxes to increase the enemys stats by
 241.X amount of points.
 242.
 243.NOTE: This will increase all params/x-params and s-params that you have set
 244.to increase for vit,str,dex and mag options within the stat point distribution
 245.script. e.g if option_1_MaxHP_GAIN = 9.5 for each one point of vit you will
 246.gain 1 vit and 9.5 MaxHP added to your current amount.
 247.
 248.================================================================================
 249.  !!!! OTHER VERY USEFULL INFORMATION THAT YOU SHOULD MOST DEFINETLY READ !!!!
 250.================================================================================
 251.Skill Formula's
 252.===============
 253. YES, you can use your nice, new, shiny, metalic stats in skill formula's
 254. simply put vit / str / dex / mag in the formula box, heres an example
 255.
 256. (a.vit + a.str + a.dex + a.mag) - (b.vit + b.str + b.dex + b.mag)
 257.
 258. try it out and see for yourself, it may even give your game that extra unique
 259. feel you've been looking for ...
 260.
 261.================================================================================
 262.Conditional Branches:
 263.=====================
 264. YES , you can use objects from this script in your conditional branches
 265. (the script option of course) heres a few examples,
 266.
 267.$game_actors[1].level_up_pts == 5
 268.# This checks if actor id [1] has spare level up points equal to 5
 269.
 270.$game_party.members[0].vit == 11
 271.# This checks if party memeber [0] has vit points equal to 11
 272.#(party member 0 is the leader)
 273.
 274.$game_actors[5].mag <= 5
 275.# This checks if actor id [5] has magic points lower than/equal to 5
 276.# ">=" would mean higher than/equal to
 277.
 278.You can use:
 279. vit / str / dex / mag / level_up_pts
 280.
 281.================================================================================
 282. Import:
 283.========
 284.=end
 285.$imported = {} if $imported.nil?
 286.$imported[:Dekita__PSPDS] = true
 287.
 288.module DPB ;  module PSPDS
 289.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 290.# ☆ Command's  DO NOT CHANGE OR REMOVE ANY OF THESE!
 291.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 292.COMMANDS =[
 293.:Vitality, # < DO NOT REMOVE OR
 294.:Strength, # < CHANGE ANY OF THESE
 295.:Dexterity,# < COMMANDS
 296.:Magic,    # < DO NOT REMOVE !
 297.] # Do not remove this.
 298.#===============================================================================
 299.#
 300.#                                   PSPDS
 301.#                   (Perfect Stat Point Distribution System)
 302.#                           - CUSTOMISATION BEGIN -
 303.#
 304.# I have added as much customisation as i thought was needed.
 305.# Probably a little too much, :o , if there is such a thing.\..\..
 306.#
 307.#===============================================================================
 308.
 309.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 310.# ☆ NOTETAG CUSTOMISATION !!
 311.#-------------------------------------------------------------------------------
 312.# You can change the string in the notetags to whatever you want.
 313.# remember to keep the same format e.g /<RENAME_HERE: (.*)>/i
 314.#
 315.# NOTE: Only change these if you have to for compatability reasons.
 316.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 317.
 318.# These are the notetags for enemies only (to make them drop points)
 319.GAIN_POINTS_NOTETAG = /<pts gain: (.*)>/i
 320.
 321.GAIN_ATTRIBUTE_NOTETAG = /<atti gain: (.*)>/i
 322.
 323.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 324.# ☆ VOCAB CUSTOMISATION !!
 325.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 326.
 327.# These are vocab settings for your points information.
 328.LVLUPPTSVOCAB = "Points" # Help info used for the name of your level up points
 329.
 330.Points_Icon = 123
 331.
 332.COST_VOCAB = "Points Cost:" # help info
 333.
 334.ADDSTATTEXT = "Stat Added !" # Help info for when points are added
 335.
 336.NOPOINTSTEXT = "No Points Left To Add !!" # Help info for when no points are remaining
 337.
 338.# This is how Yanfly's jp will appear in the infomation screen (if imported)
 339.YANFLY_JP_VOCAB = "Yanfly-JP" # <Only visable if using yanfly's Jp Manager
 340.
 341.# This adjusts the victory message shown for the default battle system.
 342.GAINED_POINTS_MESSAGE = "%s has earned %s %s!"
 343.
 344.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 345.# ☆ Display SPD (Stat Point Distribution) Screen
 346.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 347.# By default the SPD Screen will be displayed at the end of battle (if you
 348.# level up). Some scripts may interfere with this one e.g summoning scripts,
 349.# when you level after your summon kills a monster in battle, the De-Summon
 350.# process usually overrides this one :(
 351.#
 352.# NOTE: if your party has more than 1 member that levels at the same time
 353.# then i recommend having both these options = true
 354.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 355.
 356.INBATTLE = false # IF "true" screen triggers at end of battle (if an actor levels up)
 357.
 358.ONMAP = true # IF "true" screen triggers on map screen after an actor levels up.
 359.
 360.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 361.# ☆ Draw Actor Graphic ?
 362.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 363.
 364.DRAW_ACTOR_GRAPHIC = false
 365.DAG_X = 432 # x location for actor graphic
 366.DAG_Y = 90  # y location for actor graphic
 367.
 368.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 369.# ☆ Font Settings
 370.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 371.
 372.#PROPFONTSIZE = 14 # For Displayed Properties
 373.
 374.#PARAMFONTSIZE = 20 # For Parameters in point selection window and JP if
 375.                   # Yanfly JP Manager is installed
 376.
 377.#FONTSIZE = 16 # For Almost Everything Else and information in PSS*
 378.              # (PSS = Perfect Status Screen)  * = If imported.
 379.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 380.# ☆ Points gained after each level up
 381.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 382.# This is where you define the amount of distribution points each character
 383.# gains after each level up.
 384.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 385.
 386.LVUPPTS = 0  # Recommended to be under 10
 387.
 388.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 389.# ☆ Bonus Point Gains
 390.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 391.# Here you can grant bonus points on specific levels e.g reach level 10
 392.# gain 5 bonus spendable points as a reward .
 393.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 394.
 395.BONUS_POINTS_ON_LEVELS = true # If 'true' this will grant bonus points on
 396.                              # levels listed in LEVELS.
 397.
 398.LEVELS = [10, 20, 30, 40, 50, 75, 100] # If BONUS_POINTS_ON_LEVELS is 'true'
 399.                                       # these will be the levels that the
 400.                                       # actor(s) will gain bonus points on.
 401.
 402.#NOTE: BONUS_POINTS_ON_LEVELS "MUST!" be "true" for this option to work.
 403.ONLY_GAIN_POINTS_ON_LEVELS = false # Make this option "true" if you only want
 404.                                   # to gains points on the levels stated
 405.                                   # in LEVELS.
 406.
 407.BONUSPOINTS = 10 # Define here how many bonus points your actors
 408.                 # gain on their bonus point levels.
 409.
 410.
 411.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 412.# ☆ General Customisation
 413.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 414.
 415.# Depending on your screen resolution you may need to slightly resize the
 416.# command column.
 417.COMMAND_COLUMN_EXTRA_WIDTH = 0
 418.
 419.WAIT_TIME = 40 # the time you wait (for the command window to re-activate)
 420.               # after increasing a stat.(time is in frames. 60 frames = 1 second)
 421.
 422.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 423.# ☆ Parameter gain settings
 424.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 425.# These settings adjust the points gained for each point spent
 426.# in each command option as well as each command options name.
 427.# You can also put negative values for each parameter.
 428.#
 429.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 430.# ☆ Default parameter growth
 431.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 432.# This is where you define whether you still gain parameters via
 433.# the parameter curves in the database.
 434.# set this to true if you wish to use that method (as well as SPD method).
 435.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 436.
 437.USE_DEFAULT_PARAM_GAIN = false
 438.
 439.                          ########################
 440.                          # !! VERY IMPORTANT !! #
 441.                          ########################
 442.# Usually Actor Ex-Parameters and Sp-Parameters deal with percentage chance
 443.# values. This means that their gain/reduce values represent rates.
 444.# What this means is:
 445.#  0.001 = 0.1%
 446.#  0.01  = 1%
 447.#  0.1   = 10%
 448.#  1.0   = 100%
 449.#
 450.# These rules still apply e.g 0.001 = 0.1%
 451.# HOWEVER !
 452.# Normally the percentage of increase/decrease is of the current value, e.g
 453.# if you increase a Sp-Parameter by 1.5% it would increase the total value by 1.5%
 454.# e.g
 455.# 100% would turn into 101.5%,
 456.# 101% turns into 103.0225%,
 457.# 103.0225% turns into 104.5678375%.
 458.# This rule DOES NOT apply when gaining Ex/Sp-Params from increasing vit/str ect
 459.# e.g
 460.# 100% turns into 101.5%,
 461.# 101.5% turns into 103%,
 462.# 103% turns into 104.5%
 463.#
 464.#-------------------------------------------------------------------------------
 465.
 466.  # Draw Gauges ?
 467.  Draw_Vit_Str_Dex_Mag_Gauges = true
 468.
 469.  # Draw Icons ?
 470.  Draw_Vit_Str_Dex_Mag_Icons = true
 471.
 472.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 473.# Option 1 settings (command option 1)
 474.#-------------------------------------
 475.# Adjust these to your liking. you can set it to decrease by using "-" before
 476.# your value. e.g OPTION_1_MaxHP_GAIN =  -9.5  will reduce MHP by 9.5
 477.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 478.
 479.COMMAND_NAME_1 = "Vitality"  # Name of command option
 480.
 481.  Vit_Icon = 9169
 482.  Vit_Color_1 = Color.new(0, 90, 30, 50)
 483.  Vit_Color_2 = Color.new(0, 60, 120)
 484.
 485.DEFAULT_VIT_NOTETAG = /<vit: (.*)>/i # the default notetag <vit: X>
 486.
 487.VIT_GAIN_VOCAB = "Increases overall Survivability" # Help info for command option 1
 488.
 489.DEFAULT_MAX_VIT = 999 # default max vit stat.(change by script call)
 490.
 491.MAX_VIT_VOCAB = "You have reached your vitality limit!" # have i really...
 492.
 493.OPTION_1_COST = 1  # The amount of points it costs to increase this option
 494.                   # Default = 1
 495.
 496.#Regular-Parameters
 497.OPTION_1_MaxHP_GAIN = 9.5  # Maximum HP Stat.
 498.OP_1_MaxHP_RAND_MIN = 0    # Random gain minimum.
 499.OP_1_MaxHP_RAND_MAX = 0  # Random gain maximum.
 500.
 501.OPTION_1_MaxMP_GAIN = 0  # Maximum MP Stat.
 502.OP_1_MaxMP_RAND_MIN = 0  # Random gain minimum.
 503.OP_1_MaxMP_RAND_MAX = 0  # Random gain maximum.
 504.
 505.OPTION_1_ATK_GAIN = 0  # Attack Stat.
 506.OP_1_ATK_RAND_MIN = 0  # Random gain minimum.
 507.OP_1_ATK_RAND_MAX = 0  # Random gain maximum.
 508.
 509.OPTION_1_DEF_GAIN = 0.4  # Defence Stat.
 510.OP_1_DEF_RAND_MIN = 0  # Random gain minimum.
 511.OP_1_DEF_RAND_MAX = 0  # Random gain maximum.
 512.
 513.OPTION_1_MAT_GAIN = 0  # Magic Attack Stat.
 514.OP_1_MAT_RAND_MIN = 0  # Random gain minimum.
 515.OP_1_MAT_RAND_MAX = 0  # Random gain maximum.
 516.
 517.OPTION_1_MDF_GAIN = 0.4  # Magic Defence Stat.
 518.OP_1_MDF_RAND_MIN = 0  # Random gain minimum.
 519.OP_1_MDF_RAND_MAX = 0  # Random gain maximum.
 520.
 521.OPTION_1_AGI_GAIN = 0  # Agility Stat.
 522.OP_1_AGI_RAND_MIN = 0  # Random gain minimum.
 523.OP_1_AGI_RAND_MAX = 0  # Random gain maximum.
 524.
 525.OPTION_1_LUK_GAIN = 0  # Luck Stat.
 526.OP_1_LUK_RAND_MIN = 0  # Random gain minimum.
 527.OP_1_LUK_RAND_MAX = 0  # Random gain maximum.
 528.
 529.#The following are % gains, 0.01 = 1%
 530.#X-Parameters
 531.OPTION_1_HIT_GAIN = 0.00  # Hit Rate.
 532.OP_1_HIT_RAND_MIN = 0  # Random gain minimum.
 533.OP_1_HIT_RAND_MAX = 0  # Random gain maximum.
 534.
 535.OPTION_1_EVA_GAIN = 0.00  # Evasion Rate.
 536.OP_1_EVA_RAND_MIN = 0  # Random gain minimum.
 537.OP_1_EVA_RAND_MAX = 0  # Random gain maximum.
 538.
 539.OPTION_1_CRI_GAIN = 0.00  # Critical Hit Rate.
 540.OP_1_CRI_RAND_MIN = 0  # Random gain minimum.
 541.OP_1_CRI_RAND_MAX = 0  # Random gain maximum.
 542.
 543.OPTION_1_CEV_GAIN = 0.001  # Critical Evasion Rate.
 544.OP_1_CEV_RAND_MIN = 0  # Random gain minimum.
 545.OP_1_CEV_RAND_MAX = 0  # Random gain maximum.
 546.
 547.OPTION_1_MEV_GAIN = 0.00  # Magic Evasion Rate.
 548.OP_1_MEV_RAND_MIN = 0  # Random gain minimum.
 549.OP_1_MEV_RAND_MAX = 0  # Random gain maximum.
 550.
 551.OPTION_1_MRF_GAIN = 0.00  # Magic Reflect Rate.
 552.OP_1_MRF_RAND_MIN = 0  # Random gain minimum.
 553.OP_1_MRF_RAND_MAX = 0  # Random gain maximum.
 554.
 555.OPTION_1_CNT_GAIN = 0.00  # Counter Rate.
 556.OP_1_CNT_RAND_MIN = 0  # Random gain minimum.
 557.OP_1_CNT_RAND_MAX = 0  # Random gain maximum.
 558.
 559.OPTION_1_HRG_GAIN = 0.0005  # HP Regeneration Rate.
 560.OP_1_HRG_RAND_MIN = 0  # Random gain minimum.
 561.OP_1_HRG_RAND_MAX = 0  # Random gain maximum.
 562.
 563.OPTION_1_MRG_GAIN = 0.00  # MP Regeneration Rate.
 564.OP_1_MRG_RAND_MIN = 0  # Random gain minimum.
 565.OP_1_MRG_RAND_MAX = 0  # Random gain maximum.
 566.
 567.OPTION_1_TRG_GAIN = 0.00  # TP Regeneration Rate.
 568.OP_1_TRG_RAND_MIN = 0  # Random gain minimum.
 569.OP_1_TRG_RAND_MAX = 0  # Random gain maximum.
 570.
 571.#S-Parameters  0.013 = 1.30%
 572.OPTION_1_TGR_GAIN = 0.013  # Target Rate. (monsters targeting you)
 573.OP_1_TGR_RAND_MIN = 0.0  # Random gain minimum.
 574.OP_1_TGR_RAND_MAX = 0.0  # Random gain maximum.
 575.
 576.OPTION_1_GRD_GAIN = 0.013  # Guard Effect Rate
 577.OP_1_GRD_RAND_MIN = 0  # Random gain minimum.
 578.OP_1_GRD_RAND_MAX = 0  # Random gain maximum.
 579.
 580.OPTION_1_REC_GAIN = 0.00  # Recovery Effect Rate.
 581.OP_1_REC_RAND_MIN = 0  # Random gain minimum.
 582.OP_1_REC_RAND_MAX = 0  # Random gain maximum.
 583.
 584.OPTION_1_PHA_GAIN = 0.00  # Pharmacology Effect Rate.
 585.OP_1_PHA_RAND_MIN = 0  # Random gain minimum.
 586.OP_1_PHA_RAND_MAX = 0  # Random gain maximum.
 587.
 588.OPTION_1_MCR_GAIN = -0.00  # MP Cost Rate
 589.OP_1_MCR_RAND_MIN = 0  # Random gain minimum.
 590.OP_1_MCR_RAND_MAX = 0  # Random gain maximum.
 591.
 592.OPTION_1_TCR_GAIN = -0.00  # TP Charge Rate.
 593.OP_1_TCR_RAND_MIN = 0  # Random gain minimum.
 594.OP_1_TCR_RAND_MAX = 0  # Random gain maximum.
 595.
 596.OPTION_1_PDR_GAIN = -0.00025  # Physical Damage Rate.(incomming)
 597.OP_1_PDR_RAND_MIN = 0  # Random gain minimum.
 598.OP_1_PDR_RAND_MAX = 0  # Random gain maximum.
 599.
 600.OPTION_1_MDR_GAIN = -0.00025  # Magical Damage Rate.(incomming)
 601.OP_1_MDR_RAND_MIN = 0  # Random gain minimum.
 602.OP_1_MDR_RAND_MAX = 0  # Random gain maximum.
 603.
 604.OPTION_1_FDR_GAIN = -0.00  # Floor Damage Rate.
 605.OP_1_FDR_RAND_MIN = 0  # Random gain minimum.
 606.OP_1_FDR_RAND_MAX = 0  # Random gain maximum.
 607.
 608.OPTION_1_EXR_GAIN = 0  # EXP Gain Rate.
 609.OP_1_EXR_RAND_MIN = 0  # Random gain minimum.
 610.OP_1_EXR_RAND_MAX = 0  # Random gain maximum.
 611.
 612.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 613.# Option 2 settings (command option 2)
 614.#-------------------------------------
 615.# Adjust these to your liking. you can set it to decrease by using "-" before
 616.# your value. e.g OPTION_1_MaxHP_GAIN =  -9.5  will reduce MHP by 9.5
 617.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 618.
 619.COMMAND_NAME_2 = "Strength"
 620.
 621.  Str_Icon = 9933
 622.  Str_Color_1 = Color.new(135, 130, 0, 50)
 623.  Str_Color_2 = Color.new(120, 0, 0)
 624.
 625.DEFAULT_STR_NOTETAG = /<str: (.*)>/i # default notetag, <str: X>
 626.
 627.STR_GAIN_VOCAB = "Increases overall Strength" # Help info for command option 2
 628.
 629.DEFAULT_MAX_STR = 999 # default max str stat.(change by script call)
 630.
 631.MAX_STR_VOCAB = "You have reached your strength limit!" # i think not...
 632.
 633.OPTION_2_COST = 1  # The amount of points it costs to increase this option
 634.                   # Default = 1
 635.
 636.#Regular-Parameters
 637.OPTION_2_MaxHP_GAIN = 0  # Maximum HP Stat.
 638.OP_2_MaxHP_RAND_MIN = 0  # Random gain minimum.
 639.OP_2_MaxHP_RAND_MAX = 0  # Random gain maximum.
 640.
 641.OPTION_2_MaxMP_GAIN = 0  # Maximum MP Stat.
 642.OP_2_MaxMP_RAND_MIN = 0  # Random gain minimum.
 643.OP_2_MaxMP_RAND_MAX = 0  # Random gain maximum.
 644.
 645.OPTION_2_ATK_GAIN = 1.2  # Attack Stat.
 646.OP_2_ATK_RAND_MIN = 0  # Random gain minimum.
 647.OP_2_ATK_RAND_MAX = 0  # Random gain maximum.
 648.
 649.OPTION_2_DEF_GAIN = 0.6  # Defence Stat.
 650.OP_2_DEF_RAND_MIN = 0  # Random gain minimum.
 651.OP_2_DEF_RAND_MAX = 0  # Random gain maximum.
 652.
 653.OPTION_2_MAT_GAIN = -0.01  # Magic Attack Stat.
 654.OP_2_MAT_RAND_MIN = 0  # Random gain minimum.
 655.OP_2_MAT_RAND_MAX = 0  # Random gain maximum.
 656.
 657.OPTION_2_MDF_GAIN = -0.01  # Magic Defence Stat.
 658.OP_2_MDF_RAND_MIN = 0  # Random gain minimum.
 659.OP_2_MDF_RAND_MAX = 0  # Random gain maximum.
 660.
 661.OPTION_2_AGI_GAIN = 0  # Agility Stat.
 662.OP_2_AGI_RAND_MIN = 0  # Random gain minimum.
 663.OP_2_AGI_RAND_MAX = 0  # Random gain maximum.
 664.
 665.OPTION_2_LUK_GAIN = 0.1  # Luck Stat.
 666.OP_2_LUK_RAND_MIN = 0  # Random gain minimum.
 667.OP_2_LUK_RAND_MAX = 0  # Random gain maximum.
 668.
 669.#The following are % gains, 0.01 = 1%
 670.#X-Parameters
 671.OPTION_2_HIT_GAIN = 0.00  # Hit Rate.
 672.OP_2_HIT_RAND_MIN = 0  # Random gain minimum.
 673.OP_2_HIT_RAND_MAX = 0  # Random gain maximum.
 674.
 675.OPTION_2_EVA_GAIN = 0.00  # Evasion Rate.
 676.OP_2_EVA_RAND_MIN = 0  # Random gain minimum.
 677.OP_2_EVA_RAND_MAX = 0  # Random gain maximum.
 678.
 679.OPTION_2_CRI_GAIN = 0.00  # Critical Hit Rate.
 680.OP_2_CRI_RAND_MIN = 0  # Random gain minimum.
 681.OP_2_CRI_RAND_MAX = 0  # Random gain maximum.
 682.
 683.OPTION_2_CEV_GAIN = 0.00  # Critical Evasion Rate.
 684.OP_2_CEV_RAND_MIN = 0  # Random gain minimum.
 685.OP_2_CEV_RAND_MAX = 0  # Random gain maximum.
 686.
 687.OPTION_2_MEV_GAIN = 0.00  # Magic Evasion Rate.
 688.OP_2_MEV_RAND_MIN = 0  # Random gain minimum.
 689.OP_2_MEV_RAND_MAX = 0  # Random gain maximum.
 690.
 691.OPTION_2_MRF_GAIN = 0.00  # Magic Reflect Rate.
 692.OP_2_MRF_RAND_MIN = 0  # Random gain minimum.
 693.OP_2_MRF_RAND_MAX = 0  # Random gain maximum.
 694.
 695.OPTION_2_CNT_GAIN = 0.0005  # Counter Rate.
 696.OP_2_CNT_RAND_MIN = 0  # Random gain minimum.
 697.OP_2_CNT_RAND_MAX = 0  # Random gain maximum.
 698.
 699.OPTION_2_HRG_GAIN = 0.00  # HP Regeneration Rate.
 700.OP_2_HRG_RAND_MIN = 0  # Random gain minimum.
 701.OP_2_HRG_RAND_MAX = 0  # Random gain maximum.
 702.
 703.OPTION_2_MRG_GAIN = 0.00  # MP Regeneration Rate.
 704.OP_2_MRG_RAND_MIN = 0  # Random gain minimum.
 705.OP_2_MRG_RAND_MAX = 0  # Random gain maximum.
 706.
 707.OPTION_2_TRG_GAIN = 0.00  # TP Regeneration Rate.
 708.OP_2_TRG_RAND_MIN = 0  # Random gain minimum.
 709.OP_2_TRG_RAND_MAX = 0  # Random gain maximum.
 710.
 711.#S-Parameters
 712.OPTION_2_TGR_GAIN = 0.0009  # Target Rate. (monsters targeting you)
 713.OP_2_TGR_RAND_MIN = 0  # Random gain minimum.
 714.OP_2_TGR_RAND_MAX = 0  # Random gain maximum.
 715.
 716.OPTION_2_GRD_GAIN = 0.005  # Guard Effect Rate
 717.OP_2_GRD_RAND_MIN = 0  # Random gain minimum.
 718.OP_2_GRD_RAND_MAX = 0  # Random gain maximum.
 719.
 720.OPTION_2_REC_GAIN = 0.00  # Recovery Effect Rate.
 721.OP_2_REC_RAND_MIN = 0  # Random gain minimum.
 722.OP_2_REC_RAND_MAX = 0  # Random gain maximum.
 723.
 724.OPTION_2_PHA_GAIN = 0.00  # Pharmacology Effect Rate.
 725.OP_2_PHA_RAND_MIN = 0  # Random gain minimum.
 726.OP_2_PHA_RAND_MAX = 0  # Random gain maximum.
 727.
 728.OPTION_2_MCR_GAIN = -0.00  # MP Cost Rate
 729.OP_2_MCR_RAND_MIN = 0  # Random gain minimum.
 730.OP_2_MCR_RAND_MAX = 0  # Random gain maximum.
 731.
 732.OPTION_2_TCR_GAIN = -0.00  # TP Charge Rate.
 733.OP_2_TCR_RAND_MIN = 0  # Random gain minimum.
 734.OP_2_TCR_RAND_MAX = 0  # Random gain maximum.
 735.
 736.OPTION_2_PDR_GAIN = -0.0020  # Physical Damage Rate.(incomming)
 737.OP_2_PDR_RAND_MIN = 0  # Random gain minimum.
 738.OP_2_PDR_RAND_MAX = 0  # Random gain maximum.
 739.
 740.OPTION_2_MDR_GAIN = -0.00  # Magical Damage Rate.(incomming)
 741.OP_2_MDR_RAND_MIN = 0  # Random gain minimum.
 742.OP_2_MDR_RAND_MAX = 0  # Random gain maximum.
 743.
 744.OPTION_2_FDR_GAIN = -0.00  # Floor Damage Rate.
 745.OP_2_FDR_RAND_MIN = 0  # Random gain minimum.
 746.OP_2_FDR_RAND_MAX = 0  # Random gain maximum.
 747.
 748.OPTION_2_EXR_GAIN = 0  # EXP Gain Rate.
 749.OP_2_EXR_RAND_MIN = 0  # Random gain minimum.
 750.OP_2_EXR_RAND_MAX = 0  # Random gain maximum.
 751.
 752.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 753.# Option 3 settings (command option 3)
 754.#-------------------------------------
 755.# Adjust these to your liking. you can set it to decrease by using "-" before
 756.# your value. e.g OPTION_1_MaxHP_GAIN =  -9.5  will reduce MHP by 9.5
 757.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 758.
 759.COMMAND_NAME_3 = "Dexterity"
 760.
 761.  Dex_Icon = 8985
 762.  Dex_Color_1 = Color.new(70, 60, 0, 50)
 763.  Dex_Color_2 = Color.new(0, 90, 0)
 764.
 765.DEFAULT_DEX_NOTETAG = /<dex: (.*)>/i # default ntoetag <dex: X>
 766.
 767.DEX_GAIN_VOCAB = "Increases overall Dexterity" # Help info for command option 3
 768.
 769.DEFAULT_MAX_DEX = 999 # default max dex stat.(change by script call)
 770.
 771.MAX_DEX_VOCAB = "You have reached your dexterity limit!" # WTF, again ?
 772.
 773.OPTION_3_COST = 1  # The amount of points it costs to increase this option
 774.                   # Default = 1
 775.
 776.#Regular-Parameters
 777.OPTION_3_MaxHP_GAIN =  0  # Maximum HP Stat.
 778.OP_3_MaxHP_RAND_MIN = 0  # Random gain minimum.
 779.OP_3_MaxHP_RAND_MAX = 0  # Random gain maximum.
 780.
 781.OPTION_3_MaxMP_GAIN = 0  # Maximum MP Stat.
 782.OP_3_MaxMP_RAND_MIN = 0  # Random gain minimum.
 783.OP_3_MaxMP_RAND_MAX = 0  # Random gain maximum.
 784.
 785.OPTION_3_ATK_GAIN = 0  # Attack Stat.
 786.OP_3_ATK_RAND_MIN = 0  # Random gain minimum.
 787.OP_3_ATK_RAND_MAX = 0  # Random gain maximum.
 788.
 789.OPTION_3_DEF_GAIN = 0  # Defence Stat.
 790.OP_3_DEF_RAND_MIN = 0  # Random gain minimum.
 791.OP_3_DEF_RAND_MAX = 0  # Random gain maximum.
 792.
 793.OPTION_3_MAT_GAIN = 0  # Magic Attack Stat.
 794.OP_3_MAT_RAND_MIN = 0  # Random gain minimum.
 795.OP_3_MAT_RAND_MAX = 0  # Random gain maximum.
 796.
 797.OPTION_3_MDF_GAIN = 0  # Magic Defence Stat.
 798.OP_3_MDF_RAND_MIN = 0  # Random gain minimum.
 799.OP_3_MDF_RAND_MAX = 0  # Random gain maximum.
 800.
 801.OPTION_3_AGI_GAIN = 1.2  # Agility Stat.
 802.OP_3_AGI_RAND_MIN = 0  # Random gain minimum.
 803.OP_3_AGI_RAND_MAX = 0  # Random gain maximum.
 804.
 805.OPTION_3_LUK_GAIN = 0.6  # Luck Stat.
 806.OP_3_LUK_RAND_MIN = 0  # Random gain minimum.
 807.OP_3_LUK_RAND_MAX = 0  # Random gain maximum.
 808.
 809.#The following are % gains, 0.01 = 1%
 810.#X-Parameters
 811.OPTION_3_HIT_GAIN = 0.005  # Hit Rate.
 812.OP_3_HIT_RAND_MIN = 0  # Random gain minimum.
 813.OP_3_HIT_RAND_MAX = 0  # Random gain maximum.
 814.
 815.OPTION_3_EVA_GAIN = 0.0005  # Evasion Rate.
 816.OP_3_EVA_RAND_MIN = 0  # Random gain minimum.
 817.OP_3_EVA_RAND_MAX = 0  # Random gain maximum.
 818.
 819.OPTION_3_CRI_GAIN = 0.001  # Critical Hit Rate.
 820.OP_3_CRI_RAND_MIN = 0  # Random gain minimum.
 821.OP_3_CRI_RAND_MAX = 0  # Random gain maximum.
 822.
 823.OPTION_3_CEV_GAIN = 0.0005  # Critical Evasion Rate.
 824.OP_3_CEV_RAND_MIN = 0  # Random gain minimum.
 825.OP_3_CEV_RAND_MAX = 0  # Random gain maximum.
 826.
 827.OPTION_3_MEV_GAIN = 0.00025  # Magic Evasion Rate.
 828.OP_3_MEV_RAND_MIN = 0  # Random gain minimum.
 829.OP_3_MEV_RAND_MAX = 0  # Random gain maximum.
 830.
 831.OPTION_3_MRF_GAIN = 0.00  # Magic Reflect Rate.
 832.OP_3_MRF_RAND_MIN = 0  # Random gain minimum.
 833.OP_3_MRF_RAND_MAX = 0  # Random gain maximum.
 834.
 835.OPTION_3_CNT_GAIN = 0.0002  # Counter Rate.
 836.OP_3_CNT_RAND_MIN = 0  # Random gain minimum.
 837.OP_3_CNT_RAND_MAX = 0  # Random gain maximum.
 838.
 839.OPTION_3_HRG_GAIN = 0.00  # HP Regeneration Rate.
 840.OP_3_HRG_RAND_MIN = 0  # Random gain minimum.
 841.OP_3_HRG_RAND_MAX = 0  # Random gain maximum.
 842.
 843.OPTION_3_MRG_GAIN = 0.00  # MP Regeneration Rate.
 844.OP_3_MRG_RAND_MIN = 0  # Random gain minimum.
 845.OP_3_MRG_RAND_MAX = 0  # Random gain maximum.
 846.
 847.OPTION_3_TRG_GAIN = 0.0005  # TP Regeneration Rate.
 848.OP_3_TRG_RAND_MIN = 0  # Random gain minimum.
 849.OP_3_TRG_RAND_MAX = 0  # Random gain maximum.
 850.
 851.#S-Parameters
 852.OPTION_3_TGR_GAIN = 0.00  # Target Rate. (monsters targeting you)
 853.OP_3_TGR_RAND_MIN = 0  # Random gain minimum.
 854.OP_3_TGR_RAND_MAX = 0  # Random gain maximum.
 855.
 856.OPTION_3_GRD_GAIN = 0.00  # Guard Effect Rate
 857.OP_3_GRD_RAND_MIN = 0  # Random gain minimum.
 858.OP_3_GRD_RAND_MAX = 0  # Random gain maximum.
 859.
 860.OPTION_3_REC_GAIN = 0.00  # Recovery Effect Rate.
 861.OP_3_REC_RAND_MIN = 0  # Random gain minimum.
 862.OP_3_REC_RAND_MAX = 0  # Random gain maximum.
 863.
 864.OPTION_3_PHA_GAIN = 0.00  # Pharmacology Effect Rate.
 865.OP_3_PHA_RAND_MIN = 0  # Random gain minimum.
 866.OP_3_PHA_RAND_MAX = 0  # Random gain maximum.
 867.
 868.OPTION_3_MCR_GAIN = -0.00  # MP Cost Rate
 869.OP_3_MCR_RAND_MIN = 0  # Random gain minimum.
 870.OP_3_MCR_RAND_MAX = 0  # Random gain maximum.
 871.
 872.OPTION_3_TCR_GAIN = -0.0025  # TP Charge Rate.
 873.OP_3_TCR_RAND_MIN = 0  # Random gain minimum.
 874.OP_3_TCR_RAND_MAX = 0  # Random gain maximum.
 875.
 876.OPTION_3_PDR_GAIN = -0.00  # Physical Damage Rate.(incomming)
 877.OP_3_PDR_RAND_MIN = 0  # Random gain minimum.
 878.OP_3_PDR_RAND_MAX = 0  # Random gain maximum.
 879.
 880.OPTION_3_MDR_GAIN = -0.00  # Magical Damage Rate.(incomming)
 881.OP_3_MDR_RAND_MIN = 0  # Random gain minimum.
 882.OP_3_MDR_RAND_MAX = 0  # Random gain maximum.
 883.
 884.OPTION_3_FDR_GAIN = -0.00  # Floor Damage Rate.
 885.OP_3_FDR_RAND_MIN = 0  # Random gain minimum.
 886.OP_3_FDR_RAND_MAX = 0  # Random gain maximum.
 887.
 888.OPTION_3_EXR_GAIN = 0  # EXP Gain Rate.
 889.OP_3_EXR_RAND_MIN = 0  # Random gain minimum.
 890.OP_3_EXR_RAND_MAX = 0  # Random gain maximum.
 891.
 892.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 893.# Option 4 settings (command option 4)
 894.#-------------------------------------
 895.# Adjust these to your liking. you can set it to decrease by using "-" before
 896.# your value. e.g OPTION_1_MaxHP_GAIN =  -9.5  will reduce MHP by 9.5
 897.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 898.
 899.COMMAND_NAME_4 = "Magic"
 900.
 901.  Mag_Icon = 9306
 902.  Mag_Color_1 = Color.new(255, 0, 50, 50)
 903.  Mag_Color_2 = Color.new(70, 60, 120)
 904.
 905.DEFAULT_MAG_NOTETAG = /<mag: (.*)>/i # default notetag <mag: X>
 906.
 907.MAG_GAIN_VOCAB = "Increases overall Magic Power" # Help info for command option 4
 908.
 909.DEFAULT_MAX_MAG = 999 # default max mag stat.(change by script call)
 910.
 911.MAX_MAG_VOCAB = "You have reached your magic limit!" # i've had enough of this shitake mushroom...
 912.
 913.OPTION_4_COST = 1  # The amount of points it costs to increase this option
 914.                   # Default = 1
 915.
 916.#Regular-Parameters
 917.OPTION_4_MaxHP_GAIN =  0  # Maximum HP Stat.
 918.OP_4_MaxHP_RAND_MIN = 0  # Random gain minimum.
 919.OP_4_MaxHP_RAND_MAX = 0  # Random gain maximum.
 920.
 921.OPTION_4_MaxMP_GAIN = 9.5  # Maximum MP Stat.
 922.OP_4_MaxMP_RAND_MIN = 0  # Random gain minimum.
 923.OP_4_MaxMP_RAND_MAX = 0  # Random gain maximum.
 924.
 925.OPTION_4_ATK_GAIN = -0.01  # Attack Stat.
 926.OP_4_ATK_RAND_MIN = 0  # Random gain minimum.
 927.OP_4_ATK_RAND_MAX = 0  # Random gain maximum.
 928.
 929.OPTION_4_DEF_GAIN = -0.01  # Defence Stat.
 930.OP_4_DEF_RAND_MIN = 0  # Random gain minimum.
 931.OP_4_DEF_RAND_MAX = 0  # Random gain maximum.
 932.
 933.OPTION_4_MAT_GAIN = 1.2  # Magic Attack Stat.
 934.OP_4_MAT_RAND_MIN = 0  # Random gain minimum.
 935.OP_4_MAT_RAND_MAX = 0  # Random gain maximum.
 936.
 937.OPTION_4_MDF_GAIN = 0.6  # Magic Defence Stat.
 938.OP_4_MDF_RAND_MIN = 0  # Random gain minimum.
 939.OP_4_MDF_RAND_MAX = 0  # Random gain maximum.
 940.
 941.OPTION_4_AGI_GAIN = 0  # Agility Stat.
 942.OP_4_AGI_RAND_MIN = 0  # Random gain minimum.
 943.OP_4_AGI_RAND_MAX = 0  # Random gain maximum.
 944.
 945.OPTION_4_LUK_GAIN = 0.1  # Luck Stat.
 946.OP_4_LUK_RAND_MIN = 0  # Random gain minimum.
 947.OP_4_LUK_RAND_MAX = 0  # Random gain maximum.
 948.
 949.#The following are % gains, 0.01 = 1%
 950.#X-Parameters
 951.OPTION_4_HIT_GAIN = 0.00  # Hit Rate.
 952.OP_4_HIT_RAND_MIN = 0  # Random gain minimum.
 953.OP_4_HIT_RAND_MAX = 0  # Random gain maximum.
 954.
 955.OPTION_4_EVA_GAIN = 0.00  # Evasion Rate.
 956.OP_4_EVA_RAND_MIN = 0  # Random gain minimum.
 957.OP_4_EVA_RAND_MAX = 0  # Random gain maximum.
 958.
 959.OPTION_4_CRI_GAIN = 0.00  # Critical Hit Rate.
 960.OP_4_CRI_RAND_MIN = 0  # Random gain minimum.
 961.OP_4_CRI_RAND_MAX = 0  # Random gain maximum.
 962.
 963.OPTION_4_CEV_GAIN = 0.00  # Critical Evasion Rate.
 964.OP_4_CEV_RAND_MIN = 0  # Random gain minimum.
 965.OP_4_CEV_RAND_MAX = 0  # Random gain maximum.
 966.
 967.OPTION_4_MEV_GAIN = 0.001  # Magic Evasion Rate.
 968.OP_4_MEV_RAND_MIN = 0  # Random gain minimum.
 969.OP_4_MEV_RAND_MAX = 0  # Random gain maximum.
 970.
 971.OPTION_4_MRF_GAIN = 0.00  # Magic Reflect Rate.
 972.OP_4_MRF_RAND_MIN = 0  # Random gain minimum.
 973.OP_4_MRF_RAND_MAX = 0  # Random gain maximum.
 974.
 975.OPTION_4_CNT_GAIN = 0.00  # Counter Rate.
 976.OP_4_CNT_RAND_MIN = 0  # Random gain minimum.
 977.OP_4_CNT_RAND_MAX = 0  # Random gain maximum.
 978.
 979.OPTION_4_HRG_GAIN = 0.00  # HP Regeneration Rate.
 980.OP_4_HRG_RAND_MIN = 0  # Random gain minimum.
 981.OP_4_HRG_RAND_MAX = 0  # Random gain maximum.
 982.
 983.OPTION_4_MRG_GAIN = 0.0005  # MP Regeneration Rate.
 984.OP_4_MRG_RAND_MIN = 0  # Random gain minimum.
 985.OP_4_MRG_RAND_MAX = 0  # Random gain maximum.
 986.
 987.OPTION_4_TRG_GAIN = 0.00  # TP Regeneration Rate.
 988.OP_4_TRG_RAND_MIN = 0  # Random gain minimum.
 989.OP_4_TRG_RAND_MAX = 0  # Random gain maximum.
 990.
 991.#S-Parameters
 992.OPTION_4_TGR_GAIN = 0.00  # Target Rate. (monsters targeting you)
 993.OP_4_TGR_RAND_MIN = 0  # Random gain minimum.
 994.OP_4_TGR_RAND_MAX = 0  # Random gain maximum.
 995.
 996.OPTION_4_GRD_GAIN = 0.004  # Guard Effect Rate
 997.OP_4_GRD_RAND_MIN = 0  # Random gain minimum.
 998.OP_4_GRD_RAND_MAX = 0  # Random gain maximum.
 999.
 1000.OPTION_4_REC_GAIN = 0.00  # Recovery Effect Rate.
 1001.OP_4_REC_RAND_MIN = 0  # Random gain minimum.
 1002.OP_4_REC_RAND_MAX = 0  # Random gain maximum.
 1003.
 1004.OPTION_4_PHA_GAIN = 0.00  # Pharmacology Effect Rate.
 1005.OP_4_PHA_RAND_MIN = 0  # Random gain minimum.
 1006.OP_4_PHA_RAND_MAX = 0  # Random gain maximum.
 1007.
 1008.OPTION_4_MCR_GAIN = -0.0025  # MP Cost Rate
 1009.OP_4_MCR_RAND_MIN = 0  # Random gain minimum.
 1010.OP_4_MCR_RAND_MAX = 0  # Random gain maximum.
 1011.
 1012.OPTION_4_TCR_GAIN = -0.00  # TP Charge Rate.
 1013.OP_4_TCR_RAND_MIN = 0  # Random gain minimum.
 1014.OP_4_TCR_RAND_MAX = 0  # Random gain maximum.
 1015.
 1016.OPTION_4_PDR_GAIN = -0.00  # Physical Damage Rate.(incomming)
 1017.OP_4_PDR_RAND_MIN = 0  # Random gain minimum.
 1018.OP_4_PDR_RAND_MAX = 0  # Random gain maximum.
 1019.
 1020.OPTION_4_MDR_GAIN = -0.0020  # Magical Damage Rate.(incomming)
 1021.OP_4_MDR_RAND_MIN = 0  # Random gain minimum.
 1022.OP_4_MDR_RAND_MAX = 0  # Random gain maximum.
 1023.
 1024.OPTION_4_FDR_GAIN = -0.00  # Floor Damage Rate.
 1025.OP_4_FDR_RAND_MIN = 0  # Random gain minimum.
 1026.OP_4_FDR_RAND_MAX = 0  # Random gain maximum.
 1027.
 1028.OPTION_4_EXR_GAIN = 0  # EXP Gain Rate.
 1029.OP_4_EXR_RAND_MIN = 0  # Random gain minimum.
 1030.OP_4_EXR_RAND_MAX = 0  # Random gain maximum.
 1031.
 1032.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 1033.# ☆ Properties Window Settings
 1034.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 1035.# These settings adjust the way the properties window visually appears.
 1036.# The properties have abbreviations, but leaving them as such makes things
 1037.# confusing (as it's sometimes hard to figure out what the abbreviations
 1038.# mean). Change the way the appear, whether or not they appear, and what
 1039.# order they will appear in.
 1040.#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 1041.
 1042.# These are the parameters that appear in column 1.
 1043.# This column's settings are only relevant if DRAW_PARAM_GAUGES = false (above)
 1044.PROPERTIES_PARAMCOLUMN =[
 1045.[:mhp],
 1046.[:mmp],
 1047.[:mtp],# Requires Dekita TP Limits
 1048.[:atk],
 1049.[:def],
 1050.[:mat],
 1051.[:mdf],
 1052.[:agi],
 1053.[:luk],
 1054.] # Do not remove this.
 1055.
 1056.# THESE ARE COLUMN 2's PROPERTIES.
 1057.PROPERTIES_COLUMN1 =[
 1058.[:hit],
 1059.[:eva],
 1060.[:cri],
 1061.[:cev],
 1062.[:mev],
 1063.[:mrf],
 1064.[:cnt],
 1065.[:hrg],
 1066.[:mrg],
 1067.#[:trg],
 1068.] # Do not remove this.
 1069.
 1070.# THESE ARE COLUMN 3's PROPERTIES.
 1071.PROPERTIES_COLUMN2 =[
 1072.[:tgr],
 1073.[:grd],
 1074.[:rec],
 1075.[:mcr],
 1076.[:tcr],
 1077.[:pdr],
 1078.[:mdr],
 1079.#[:mrg],
 1080.[:exr],
 1081.[:fdr],
 1082.#[:atl],
 1083.#[:dfl],
 1084.] # Do not remove this.
 1085.
 1086.
 1087.
 1088.
 1089.
 1090.def self.PWIs_Gauge_Rate(target, stat)
 1091.    if target.is_a?(RPG::EquipItem)
 1092.      gauge_rate = self.Get_Equip_PWIs_Gauge_Rate(target, stat)
 1093.      return gauge_rate
 1094.    elsif target == false
 1095.      return 0
 1096.    else
 1097.      gauge_rate = self.Get_Actor_PWIs_Gauge_Rate(target, stat)
 1098.      return gauge_rate
 1099.    end
 1100.  end
 1101.
 1102.  def self.Get_Actor_PWIs_Gauge_Rate(target, stat)
 1103.    return (target.vit.to_f-1)/(target.MAX_VIT).to_f if stat == :vit
 1104.    return (target.str.to_f-1)/(target.MAX_STR).to_f if stat == :str
 1105.    return (target.dex.to_f-1)/(target.MAX_DEX).to_f if stat == :dex
 1106.    return (target.mag.to_f-1)/(target.MAX_MAG).to_f if stat == :mag
 1107.    return 0# nil
 1108.  end
 1109.
 1110.  def self.Get_Equip_PWIs_Gauge_Rate(target, stat)
 1111.    return ((target.dpbzparams[0].to_f-1)/99).to_f if stat == :vit
 1112.    return ((target.dpbzparams[1].to_f-1)/99).to_f if stat == :str
 1113.    return ((target.dpbzparams[2].to_f-1)/99).to_f if stat == :dex
 1114.    return ((target.dpbzparams[3].to_f-1)/99).to_f if stat == :mag
 1115.    return 0# nil
 1116.  end
 1117.
 1118.
 1119.  def self.PSPDS_Icons(stat)
 1120.      return Vit_Icon if stat == :vit
 1121.      return Str_Icon if stat == :str
 1122.      return Dex_Icon if stat == :dex
 1123.      return Mag_Icon if stat == :mag
 1124.      return 0#nil
 1125.  end
 1126.  def self.PSPDS_Gauge_Color_1(stat)
 1127.      return Vit_Color_1 if stat == :vit
 1128.      return Str_Color_1 if stat == :str
 1129.      return Dex_Color_1 if stat == :dex
 1130.      return Mag_Color_1 if stat == :mag
 1131.      return 0#nil
 1132.  end
 1133.  def self.PSPDS_Gauge_Color_2(stat)
 1134.      return Vit_Color_2 if stat == :vit
 1135.      return Str_Color_2 if stat == :str
 1136.      return Dex_Color_2 if stat == :dex
 1137.      return Mag_Color_2 if stat == :mag
 1138.      return 0#nil
 1139.  end
 1140.
 1141.  def self.PSPDS_Vocab(stat)
 1142.      return COMMAND_NAME_1 if stat == :vit
 1143.      return COMMAND_NAME_2 if stat == :str
 1144.      return COMMAND_NAME_3 if stat == :dex
 1145.      return COMMAND_NAME_4 if stat == :mag
 1146.      return "NuLL"#nil
 1147.  end
 1148.
 1149.  def self.PSPDS_Value(target, stat)
 1150.      return Dekita__CORE::N_A_Vocab if target == false
 1151.      return PSPDS_EquipzValue(target, stat) if target.is_a?(RPG::EquipItem)
 1152.      return "#{target.vit.to_i}" if stat == :vit
 1153.      return "#{target.str.to_i}" if stat == :str
 1154.      return "#{target.dex.to_i}" if stat == :dex
 1155.      return "#{target.mag.to_i}" if stat == :mag
 1156.      return Dekita__CORE::N_A_Vocab
 1157.  end
 1158.
 1159.  def self.PSPDS_EquipzValue(target, stat)
 1160.      return Dekita__CORE::N_A_Vocab if target == false
 1161.      return "#{target.dpbzparams[0].to_i}" if stat == :vit && target.is_a?(RPG::EquipItem)
 1162.      return "#{target.dpbzparams[1].to_i}" if stat == :str && target.is_a?(RPG::EquipItem)
 1163.      return "#{target.dpbzparams[2].to_i}" if stat == :dex && target.is_a?(RPG::EquipItem)
 1164.      return "#{target.dpbzparams[3].to_i}" if stat == :mag && target.is_a?(RPG::EquipItem)
 1165.      return Dekita__CORE::N_A_Vocab
 1166.  end
 1167.
 1168.#===============================================================================#
 1169.#                                                                               #
 1170.#                                   PSPDS                                       #
 1171.#                  (Perfect Stat Point Distribution System)                     #
 1172.#                            - CUSTOMISATION END -                              #
 1173.#                                                                               #
 1174.#===============================================================================#
 1175.# http://dekitarpg.wordpress.com/
 1176.#===============================================================================#
 1177.#☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#
 1178.#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆#
 1179.#                                                                               #
 1180.#                                   PSPDS                                       #
 1181.#                  (Perfect Stat Point Distribution System)                     #
 1182.#                              - SCRIPT BEGIN -                                 #
 1183.#                                                                               #
 1184.#                                                                               #
 1185.#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆#
 1186.#☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#
 1187.#===============================================================================#
 1188.# http://dekitarpg.wordpress.com/
 1189.#===============================================================================#
 1190.# ARE YOU MODIFYING BEYOND THIS POINT? \.\.                                     #
 1191.# YES?\.\.                                                                      #
 1192.# OMG, REALLY?                                                                  #
 1193.# WELL SLAP MY FACE AND CALL ME A DRAGON.\..\..                                 #
 1194.# I REALLY DIDN'T THINK YOU HAD IT IN YOU.\..\..                                #
 1195.#===============================================================================#
 1196.POINTS_COLUMN =[
 1197.      [:points,   DPB::PSPDS::LVLUPPTSVOCAB],
 1198.      [:yanflyjp, DPB::PSPDS::YANFLY_JP_VOCAB],
 1199.    ] # Do not remove this.
 1200.NEW_STATS_COLUMN =[
 1201.      [:vit, DPB::PSPDS::COMMAND_NAME_1],
 1202.      [:str, DPB::PSPDS::COMMAND_NAME_2],
 1203.      [:dex, DPB::PSPDS::COMMAND_NAME_3],
 1204.      [:mag, DPB::PSPDS::COMMAND_NAME_4],
 1205.    ] # Do not remove this.
 1206.
 1207.$pts = DPB::PSPDS::LVUPPTS
 1208.$bonuspts = DPB::PSPDS::BONUSPOINTS
 1209.
 1210.  end # PSPDS
 1211.end # DPB
 1212.
 1213.#===============================================================================#
 1214.# http://dekitarpg.wordpress.com/
 1215.#===============================================================================#
 1216.
 1217.module DPB
 1218.  module REGEXP
 1219.  module EQUIPITEM
 1220.    INC_VIT = DPB::PSPDS::DEFAULT_VIT_NOTETAG
 1221.    INC_STR = DPB::PSPDS::DEFAULT_STR_NOTETAG
 1222.    INC_DEX = DPB::PSPDS::DEFAULT_DEX_NOTETAG
 1223.    INC_MAG = DPB::PSPDS::DEFAULT_MAG_NOTETAG
 1224.  end # EQUIPITEM
 1225.  module ENEMY
 1226.    PTS_GAIN  = DPB::PSPDS::GAIN_POINTS_NOTETAG
 1227.    ATTI_GAIN = DPB::PSPDS::GAIN_ATTRIBUTE_NOTETAG
 1228.  end # ENEMY
 1229.  end # REGEXP
 1230.end # DPB
 1231.
 1232.#==============================================================================
 1233.class Game_Temp
 1234.#==============================================================================
 1235.attr_accessor :actor_level_up
 1236.
 1237.alias pspds_initialize initialize
 1238.def initialize
 1239.  pspds_initialize
 1240.  @actor_level_up = []
 1241.end
 1242.
 1243.end # class
 1244.
 1245.#==============================================================================
 1246.class Game_BattlerBase
 1247.#==============================================================================
 1248.
 1249.FEATURE_DPBzPARAM = 1989
 1250.
 1251.alias dpb_pspds_init initialize
 1252.def initialize(*args, &block)
 1253.  clear_xparam_plus
 1254.  clear_sparam_plus
 1255.  clear_dpbzparam_plus
 1256.  dpb_pspds_init(*args, &block)
 1257.end
 1258.
 1259.def vit;  dpbzparam(0);  end
 1260.def str;  dpbzparam(1);  end
 1261.def dex;  dpbzparam(2);  end
 1262.def mag;  dpbzparam(3);  end
 1263.
 1264.def xparam(xparam_id)
 1265.  (features_sum(FEATURE_XPARAM, xparam_id) + xparam_plus(xparam_id))
 1266.end
 1267.
 1268.def xparam_plus(xparam_id)
 1269.  @xparam_plus[xparam_id]
 1270.end
 1271.
 1272.def clear_xparam_plus
 1273.  @xparam_plus = [0] * 10
 1274.end
 1275.
 1276.def add_xparam(xparam_id, value)
 1277.  @xparam_plus[xparam_id] += value
 1278.  refresh
 1279.end
 1280.
 1281.def sparam(sparam_id)
 1282.  (features_pi(FEATURE_SPARAM, sparam_id) + sparam_plus(sparam_id))
 1283.end
 1284.
 1285.def sparam_plus(sparam_id)
 1286.  @sparam_plus[sparam_id]
 1287.end
 1288.
 1289.def clear_sparam_plus
 1290.  @sparam_plus = [0] * 10
 1291.end
 1292.
 1293.def add_sparam(sparam_id, value)
 1294.  @sparam_plus[sparam_id] += value
 1295.  refresh
 1296.end
 1297.
 1298.def dpbzparam(dpbzparam_id)
 1299.  (features_sum(FEATURE_DPBzPARAM, dpbzparam_id) + dpbzparam_plus(dpbzparam_id))
 1300.end
 1301.
 1302.def dpbzparam_plus(dpbzparam_id)
 1303.  @dpbzparam_plus[dpbzparam_id]
 1304.end
 1305.
 1306.def clear_dpbzparam_plus
 1307.  @dpbzparam_plus = [0] * 4
 1308.end
 1309.
 1310.def add_dpbzparam(dpbzparam_id, value)
 1311.  @dpbzparam_plus[dpbzparam_id] += value
 1312.  refresh
 1313.end
 1314.
 1315.end # Game_BattlerBase
 1316.
 1317.#==============================================================================
 1318.class Game_Actor < Game_Battler
 1319.#==============================================================================
 1320.
 1321.attr_reader :level_up_pts
 1322.attr_reader :MAX_VIT
 1323.attr_reader :MAX_STR
 1324.attr_reader :MAX_DEX
 1325.attr_reader :MAX_MAG
 1326.
 1327.alias old_initialize initialize
 1328.def initialize(actor_id)
 1329.  old_initialize(actor_id)
 1330.  @level_up_pts = 0
 1331.  @MAX_VIT = DPB::PSPDS::DEFAULT_MAX_VIT
 1332.  @MAX_STR = DPB::PSPDS::DEFAULT_MAX_STR
 1333.  @MAX_DEX = DPB::PSPDS::DEFAULT_MAX_DEX
 1334.  @MAX_MAG = DPB::PSPDS::DEFAULT_MAX_MAG
 1335.end
 1336.
 1337.def points_formula
 1338.  $pts
 1339.end
 1340.
 1341.def bonus_pts_formula
 1342.  $bonuspts
 1343.end
 1344.
 1345.alias dpbzGAsetup setup
 1346.def setup(actor_id)
 1347.  dpbzGAsetup(actor_id)
 1348.  clear_dpbzparam_plus
 1349.  clear_xparam_plus
 1350.  clear_sparam_plus
 1351.end
 1352.
 1353.def cost_caract(param)
 1354.  tbl = [DPB::PSPDS::OPTION_1_COST,
 1355.  DPB::PSPDS::OPTION_2_COST,
 1356.  DPB::PSPDS::OPTION_3_COST,
 1357.  DPB::PSPDS::OPTION_4_COST]
 1358.  return tbl[param]
 1359.end
 1360.
 1361.def gain_lvl_pts(value)
 1362.  @level_up_pts += value
 1363.  if @level_up_pts < 0
 1364.    @level_up_pts = 0
 1365.  end
 1366.end
 1367.
 1368.def change_max_vit(value)
 1369.  @MAX_VIT = value
 1370.end
 1371.
 1372.def change_max_str(value)
 1373.  @MAX_STR = value
 1374.end
 1375.
 1376.def change_max_dex(value)
 1377.  @MAX_DEX = value
 1378.end
 1379.
 1380.def change_max_mag(value)
 1381.  @MAX_MAG = value
 1382.end
 1383.
 1384.def param_base(param_id)
 1385.  if DPB::PSPDS::USE_DEFAULT_PARAM_GAIN
 1386.    return self.class.params[param_id, @level]
 1387.  else
 1388.    return self.class.params[param_id, actor.initial_level]
 1389.  end
 1390.end
 1391.
 1392.alias pspds_level_up level_up
 1393.def level_up
 1394.  pspds_level_up
 1395.  gain_lvl_pts(points_formula) if !DPB::PSPDS::ONLY_GAIN_POINTS_ON_LEVELS
 1396.  if DPB::PSPDS::BONUS_POINTS_ON_LEVELS
 1397.    return unless DPB::PSPDS::LEVELS.include?(@level)
 1398.    gain_lvl_pts(bonus_pts_formula)
 1399.  end
 1400.  if self.level_up_pts >= 0
 1401.  $game_temp.actor_level_up.push(self) unless $game_temp.actor_level_up.include?(self)
 1402.  end
 1403.end
 1404.
 1405.
 1406.def mod_vit_params
 1407.  add_param(0, DPB::PSPDS::OPTION_1_MaxHP_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MaxHP_RAND_MIN, DPB::PSPDS::OP_1_MaxHP_RAND_MAX))
 1408.  add_param(1, DPB::PSPDS::OPTION_1_MaxMP_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MaxMP_RAND_MIN, DPB::PSPDS::OP_1_MaxMP_RAND_MAX))
 1409.  add_param(2, DPB::PSPDS::OPTION_1_ATK_GAIN + dpbz_randy(DPB::PSPDS::OP_1_ATK_RAND_MIN, DPB::PSPDS::OP_1_ATK_RAND_MAX))
 1410.  add_param(3, DPB::PSPDS::OPTION_1_DEF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_DEF_RAND_MIN, DPB::PSPDS::OP_1_DEF_RAND_MAX))
 1411.  add_param(4, DPB::PSPDS::OPTION_1_MAT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MAT_RAND_MIN, DPB::PSPDS::OP_1_MAT_RAND_MAX))
 1412.  add_param(5, DPB::PSPDS::OPTION_1_MDF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MDF_RAND_MIN, DPB::PSPDS::OP_1_MDF_RAND_MAX))
 1413.  add_param(6, DPB::PSPDS::OPTION_1_AGI_GAIN + dpbz_randy(DPB::PSPDS::OP_1_AGI_RAND_MIN, DPB::PSPDS::OP_1_AGI_RAND_MAX))
 1414.  add_param(7, DPB::PSPDS::OPTION_1_LUK_GAIN + dpbz_randy(DPB::PSPDS::OP_1_LUK_RAND_MIN, DPB::PSPDS::OP_1_LUK_RAND_MAX))
 1415.  #x's
 1416.  add_xparam(0, DPB::PSPDS::OPTION_1_HIT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_HIT_RAND_MIN, DPB::PSPDS::OP_1_HIT_RAND_MAX))
 1417.  add_xparam(1, DPB::PSPDS::OPTION_1_EVA_GAIN + dpbz_randy(DPB::PSPDS::OP_1_EVA_RAND_MIN, DPB::PSPDS::OP_1_EVA_RAND_MAX))
 1418.  add_xparam(2, DPB::PSPDS::OPTION_1_CRI_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CRI_RAND_MIN, DPB::PSPDS::OP_1_CRI_RAND_MAX))
 1419.  add_xparam(3, DPB::PSPDS::OPTION_1_CEV_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CEV_RAND_MIN, DPB::PSPDS::OP_1_CEV_RAND_MAX))
 1420.  add_xparam(4, DPB::PSPDS::OPTION_1_MEV_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MEV_RAND_MIN, DPB::PSPDS::OP_1_MEV_RAND_MAX))
 1421.  add_xparam(5, DPB::PSPDS::OPTION_1_MRF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MRF_RAND_MIN, DPB::PSPDS::OP_1_MRF_RAND_MAX))
 1422.  add_xparam(6, DPB::PSPDS::OPTION_1_CNT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CNT_RAND_MIN, DPB::PSPDS::OP_1_CNT_RAND_MAX))
 1423.  add_xparam(7, DPB::PSPDS::OPTION_1_HRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_HRG_RAND_MIN, DPB::PSPDS::OP_1_HRG_RAND_MAX))
 1424.  add_xparam(8, DPB::PSPDS::OPTION_1_MRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MRG_RAND_MIN, DPB::PSPDS::OP_1_MRG_RAND_MAX))
 1425.  add_xparam(9, DPB::PSPDS::OPTION_1_TRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_TRG_RAND_MIN, DPB::PSPDS::OP_1_TRG_RAND_MAX))
 1426.  #s's
 1427.  add_sparam(0, DPB::PSPDS::OPTION_1_TGR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_TGR_RAND_MIN, DPB::PSPDS::OP_1_TGR_RAND_MAX))
 1428.  add_sparam(1, DPB::PSPDS::OPTION_1_GRD_GAIN + dpbz_randy(DPB::PSPDS::OP_1_GRD_RAND_MIN, DPB::PSPDS::OP_1_GRD_RAND_MAX))
 1429.  add_sparam(2, DPB::PSPDS::OPTION_1_REC_GAIN + dpbz_randy(DPB::PSPDS::OP_1_REC_RAND_MIN, DPB::PSPDS::OP_1_REC_RAND_MAX))
 1430.  add_sparam(3, DPB::PSPDS::OPTION_1_PHA_GAIN + dpbz_randy(DPB::PSPDS::OP_1_PHA_RAND_MIN, DPB::PSPDS::OP_1_PHA_RAND_MAX))
 1431.  add_sparam(4, DPB::PSPDS::OPTION_1_MCR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MCR_RAND_MIN, DPB::PSPDS::OP_1_MCR_RAND_MAX))
 1432.  add_sparam(5, DPB::PSPDS::OPTION_1_TCR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_TCR_RAND_MIN, DPB::PSPDS::OP_1_TCR_RAND_MAX))
 1433.  add_sparam(6, DPB::PSPDS::OPTION_1_PDR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_PDR_RAND_MIN, DPB::PSPDS::OP_1_PDR_RAND_MAX))
 1434.  add_sparam(7, DPB::PSPDS::OPTION_1_MDR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MDR_RAND_MIN, DPB::PSPDS::OP_1_MDR_RAND_MAX))
 1435.  add_sparam(8, DPB::PSPDS::OPTION_1_FDR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_FDR_RAND_MIN, DPB::PSPDS::OP_1_FDR_RAND_MAX))
 1436.  add_sparam(9, DPB::PSPDS::OPTION_1_EXR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_EXR_RAND_MIN, DPB::PSPDS::OP_1_EXR_RAND_MAX))
 1437.  #dpbz'
 1438.  add_dpbzparam(0, 1)
 1439.end
 1440.
 1441.def mod_str_params
 1442.  #reg's
 1443.  add_param(0, DPB::PSPDS::OPTION_2_MaxHP_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MaxHP_RAND_MIN, DPB::PSPDS::OP_1_MaxHP_RAND_MAX))
 1444.  add_param(1, DPB::PSPDS::OPTION_2_MaxMP_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MaxMP_RAND_MIN, DPB::PSPDS::OP_1_MaxMP_RAND_MAX))
 1445.  add_param(2, DPB::PSPDS::OPTION_2_ATK_GAIN + dpbz_randy(DPB::PSPDS::OP_1_ATK_RAND_MIN, DPB::PSPDS::OP_1_ATK_RAND_MAX))
 1446.  add_param(3, DPB::PSPDS::OPTION_2_DEF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_DEF_RAND_MIN, DPB::PSPDS::OP_1_DEF_RAND_MAX))
 1447.  add_param(4, DPB::PSPDS::OPTION_2_MAT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MAT_RAND_MIN, DPB::PSPDS::OP_1_MAT_RAND_MAX))
 1448.  add_param(5, DPB::PSPDS::OPTION_2_MDF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MDF_RAND_MIN, DPB::PSPDS::OP_1_MDF_RAND_MAX))
 1449.  add_param(6, DPB::PSPDS::OPTION_2_AGI_GAIN + dpbz_randy(DPB::PSPDS::OP_1_AGI_RAND_MIN, DPB::PSPDS::OP_1_AGI_RAND_MAX))
 1450.  add_param(7, DPB::PSPDS::OPTION_2_LUK_GAIN + dpbz_randy(DPB::PSPDS::OP_1_LUK_RAND_MIN, DPB::PSPDS::OP_1_LUK_RAND_MAX))
 1451.  #x's
 1452.  add_xparam(0, DPB::PSPDS::OPTION_2_HIT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_HIT_RAND_MIN, DPB::PSPDS::OP_1_HIT_RAND_MAX))
 1453.  add_xparam(1, DPB::PSPDS::OPTION_2_EVA_GAIN + dpbz_randy(DPB::PSPDS::OP_1_EVA_RAND_MIN, DPB::PSPDS::OP_1_EVA_RAND_MAX))
 1454.  add_xparam(2, DPB::PSPDS::OPTION_2_CRI_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CRI_RAND_MIN, DPB::PSPDS::OP_1_CRI_RAND_MAX))
 1455.  add_xparam(3, DPB::PSPDS::OPTION_2_CEV_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CEV_RAND_MIN, DPB::PSPDS::OP_1_CEV_RAND_MAX))
 1456.  add_xparam(4, DPB::PSPDS::OPTION_2_MEV_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MEV_RAND_MIN, DPB::PSPDS::OP_1_MEV_RAND_MAX))
 1457.  add_xparam(5, DPB::PSPDS::OPTION_2_MRF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MRF_RAND_MIN, DPB::PSPDS::OP_1_MRF_RAND_MAX))
 1458.  add_xparam(6, DPB::PSPDS::OPTION_2_CNT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CNT_RAND_MIN, DPB::PSPDS::OP_1_CNT_RAND_MAX))
 1459.  add_xparam(7, DPB::PSPDS::OPTION_2_HRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_HRG_RAND_MIN, DPB::PSPDS::OP_1_HRG_RAND_MAX))
 1460.  add_xparam(8, DPB::PSPDS::OPTION_2_MRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MRG_RAND_MIN, DPB::PSPDS::OP_1_MRG_RAND_MAX))
 1461.  add_xparam(9, DPB::PSPDS::OPTION_2_TRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_TRG_RAND_MIN, DPB::PSPDS::OP_1_TRG_RAND_MAX))
 1462.  #s's
 1463.  add_sparam(0, DPB::PSPDS::OPTION_2_TGR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_TGR_RAND_MIN, DPB::PSPDS::OP_2_TGR_RAND_MAX))
 1464.  add_sparam(1, DPB::PSPDS::OPTION_2_GRD_GAIN + dpbz_randy(DPB::PSPDS::OP_2_GRD_RAND_MIN, DPB::PSPDS::OP_2_GRD_RAND_MAX))
 1465.  add_sparam(2, DPB::PSPDS::OPTION_2_REC_GAIN + dpbz_randy(DPB::PSPDS::OP_2_REC_RAND_MIN, DPB::PSPDS::OP_2_REC_RAND_MAX))
 1466.  add_sparam(3, DPB::PSPDS::OPTION_2_PHA_GAIN + dpbz_randy(DPB::PSPDS::OP_2_PHA_RAND_MIN, DPB::PSPDS::OP_2_PHA_RAND_MAX))
 1467.  add_sparam(4, DPB::PSPDS::OPTION_2_MCR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_MCR_RAND_MIN, DPB::PSPDS::OP_2_MCR_RAND_MAX))
 1468.  add_sparam(5, DPB::PSPDS::OPTION_2_TCR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_TCR_RAND_MIN, DPB::PSPDS::OP_2_TCR_RAND_MAX))
 1469.  add_sparam(6, DPB::PSPDS::OPTION_2_PDR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_PDR_RAND_MIN, DPB::PSPDS::OP_2_PDR_RAND_MAX))
 1470.  add_sparam(7, DPB::PSPDS::OPTION_2_MDR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_MDR_RAND_MIN, DPB::PSPDS::OP_2_MDR_RAND_MAX))
 1471.  add_sparam(8, DPB::PSPDS::OPTION_2_FDR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_FDR_RAND_MIN, DPB::PSPDS::OP_2_FDR_RAND_MAX))
 1472.  add_sparam(9, DPB::PSPDS::OPTION_2_EXR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_EXR_RAND_MIN, DPB::PSPDS::OP_2_EXR_RAND_MAX))
 1473.  #dpbz'
 1474.  add_dpbzparam(1, 1)
 1475.end
 1476.
 1477.def mod_dex_params
 1478.  #reg's
 1479.  add_param(0, DPB::PSPDS::OPTION_3_MaxHP_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MaxHP_RAND_MIN, DPB::PSPDS::OP_1_MaxHP_RAND_MAX))
 1480.  add_param(1, DPB::PSPDS::OPTION_3_MaxMP_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MaxMP_RAND_MIN, DPB::PSPDS::OP_1_MaxMP_RAND_MAX))
 1481.  add_param(2, DPB::PSPDS::OPTION_3_ATK_GAIN + dpbz_randy(DPB::PSPDS::OP_3_ATK_RAND_MIN, DPB::PSPDS::OP_3_ATK_RAND_MAX))
 1482.  add_param(3, DPB::PSPDS::OPTION_3_DEF_GAIN + dpbz_randy(DPB::PSPDS::OP_3_DEF_RAND_MIN, DPB::PSPDS::OP_3_DEF_RAND_MAX))
 1483.  add_param(4, DPB::PSPDS::OPTION_3_MAT_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MAT_RAND_MIN, DPB::PSPDS::OP_3_MAT_RAND_MAX))
 1484.  add_param(5, DPB::PSPDS::OPTION_3_MDF_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MDF_RAND_MIN, DPB::PSPDS::OP_3_MDF_RAND_MAX))
 1485.  add_param(6, DPB::PSPDS::OPTION_3_AGI_GAIN + dpbz_randy(DPB::PSPDS::OP_3_AGI_RAND_MIN, DPB::PSPDS::OP_3_AGI_RAND_MAX))
 1486.  add_param(7, DPB::PSPDS::OPTION_3_LUK_GAIN + dpbz_randy(DPB::PSPDS::OP_3_LUK_RAND_MIN, DPB::PSPDS::OP_3_LUK_RAND_MAX))
 1487.  #x's
 1488.  add_xparam(0, DPB::PSPDS::OPTION_3_HIT_GAIN + dpbz_randy(DPB::PSPDS::OP_3_HIT_RAND_MIN, DPB::PSPDS::OP_3_HIT_RAND_MAX))
 1489.  add_xparam(1, DPB::PSPDS::OPTION_3_EVA_GAIN + dpbz_randy(DPB::PSPDS::OP_3_EVA_RAND_MIN, DPB::PSPDS::OP_3_EVA_RAND_MAX))
 1490.  add_xparam(2, DPB::PSPDS::OPTION_3_CRI_GAIN + dpbz_randy(DPB::PSPDS::OP_3_CRI_RAND_MIN, DPB::PSPDS::OP_3_CRI_RAND_MAX))
 1491.  add_xparam(3, DPB::PSPDS::OPTION_3_CEV_GAIN + dpbz_randy(DPB::PSPDS::OP_3_CEV_RAND_MIN, DPB::PSPDS::OP_3_CEV_RAND_MAX))
 1492.  add_xparam(4, DPB::PSPDS::OPTION_3_MEV_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MEV_RAND_MIN, DPB::PSPDS::OP_3_MEV_RAND_MAX))
 1493.  add_xparam(5, DPB::PSPDS::OPTION_3_MRF_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MRF_RAND_MIN, DPB::PSPDS::OP_3_MRF_RAND_MAX))
 1494.  add_xparam(6, DPB::PSPDS::OPTION_3_CNT_GAIN + dpbz_randy(DPB::PSPDS::OP_3_CNT_RAND_MIN, DPB::PSPDS::OP_3_CNT_RAND_MAX))
 1495.  add_xparam(7, DPB::PSPDS::OPTION_3_HRG_GAIN + dpbz_randy(DPB::PSPDS::OP_3_HRG_RAND_MIN, DPB::PSPDS::OP_3_HRG_RAND_MAX))
 1496.  add_xparam(8, DPB::PSPDS::OPTION_3_MRG_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MRG_RAND_MIN, DPB::PSPDS::OP_3_MRG_RAND_MAX))
 1497.  add_xparam(9, DPB::PSPDS::OPTION_3_TRG_GAIN + dpbz_randy(DPB::PSPDS::OP_3_TRG_RAND_MIN, DPB::PSPDS::OP_3_TRG_RAND_MAX))
 1498.  #s's
 1499.  add_sparam(0, DPB::PSPDS::OPTION_3_TGR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_TGR_RAND_MIN, DPB::PSPDS::OP_3_TGR_RAND_MAX))
 1500.  add_sparam(1, DPB::PSPDS::OPTION_3_GRD_GAIN + dpbz_randy(DPB::PSPDS::OP_3_GRD_RAND_MIN, DPB::PSPDS::OP_3_GRD_RAND_MAX))
 1501.  add_sparam(2, DPB::PSPDS::OPTION_3_REC_GAIN + dpbz_randy(DPB::PSPDS::OP_3_REC_RAND_MIN, DPB::PSPDS::OP_3_REC_RAND_MAX))
 1502.  add_sparam(3, DPB::PSPDS::OPTION_3_PHA_GAIN + dpbz_randy(DPB::PSPDS::OP_3_PHA_RAND_MIN, DPB::PSPDS::OP_3_PHA_RAND_MAX))
 1503.  add_sparam(4, DPB::PSPDS::OPTION_3_MCR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MCR_RAND_MIN, DPB::PSPDS::OP_3_MCR_RAND_MAX))
 1504.  add_sparam(5, DPB::PSPDS::OPTION_3_TCR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_TCR_RAND_MIN, DPB::PSPDS::OP_3_TCR_RAND_MAX))
 1505.  add_sparam(6, DPB::PSPDS::OPTION_3_PDR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_PDR_RAND_MIN, DPB::PSPDS::OP_3_PDR_RAND_MAX))
 1506.  add_sparam(7, DPB::PSPDS::OPTION_3_MDR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MDR_RAND_MIN, DPB::PSPDS::OP_3_MDR_RAND_MAX))
 1507.  add_sparam(8, DPB::PSPDS::OPTION_3_FDR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_FDR_RAND_MIN, DPB::PSPDS::OP_3_FDR_RAND_MAX))
 1508.  add_sparam(9, DPB::PSPDS::OPTION_3_EXR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_EXR_RAND_MIN, DPB::PSPDS::OP_3_EXR_RAND_MAX))
 1509.  #dpbz'
 1510.  add_dpbzparam(2, 1)
 1511.end
 1512.
 1513.def mod_mag_params
 1514.  #reg's
 1515.  add_param(0, DPB::PSPDS::OPTION_4_MaxHP_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MaxHP_RAND_MIN, DPB::PSPDS::OP_4_MaxHP_RAND_MAX))
 1516.  add_param(1, DPB::PSPDS::OPTION_4_MaxMP_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MaxMP_RAND_MIN, DPB::PSPDS::OP_4_MaxMP_RAND_MAX))
 1517.  add_param(2, DPB::PSPDS::OPTION_4_ATK_GAIN + dpbz_randy(DPB::PSPDS::OP_4_ATK_RAND_MIN, DPB::PSPDS::OP_4_ATK_RAND_MAX))
 1518.  add_param(3, DPB::PSPDS::OPTION_4_DEF_GAIN + dpbz_randy(DPB::PSPDS::OP_4_DEF_RAND_MIN, DPB::PSPDS::OP_4_DEF_RAND_MAX))
 1519.  add_param(4, DPB::PSPDS::OPTION_4_MAT_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MAT_RAND_MIN, DPB::PSPDS::OP_4_MAT_RAND_MAX))
 1520.  add_param(5, DPB::PSPDS::OPTION_4_MDF_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MDF_RAND_MIN, DPB::PSPDS::OP_4_MDF_RAND_MAX))
 1521.  add_param(6, DPB::PSPDS::OPTION_4_AGI_GAIN + dpbz_randy(DPB::PSPDS::OP_4_AGI_RAND_MIN, DPB::PSPDS::OP_4_AGI_RAND_MAX))
 1522.  add_param(7, DPB::PSPDS::OPTION_4_LUK_GAIN + dpbz_randy(DPB::PSPDS::OP_4_LUK_RAND_MIN, DPB::PSPDS::OP_4_LUK_RAND_MAX))
 1523.  #x's
 1524.  add_xparam(0, DPB::PSPDS::OPTION_4_HIT_GAIN + dpbz_randy(DPB::PSPDS::OP_4_HIT_RAND_MIN, DPB::PSPDS::OP_4_HIT_RAND_MAX))
 1525.  add_xparam(1, DPB::PSPDS::OPTION_4_EVA_GAIN + dpbz_randy(DPB::PSPDS::OP_4_EVA_RAND_MIN, DPB::PSPDS::OP_4_EVA_RAND_MAX))
 1526.  add_xparam(2, DPB::PSPDS::OPTION_4_CRI_GAIN + dpbz_randy(DPB::PSPDS::OP_4_CRI_RAND_MIN, DPB::PSPDS::OP_4_CRI_RAND_MAX))
 1527.  add_xparam(3, DPB::PSPDS::OPTION_4_CEV_GAIN + dpbz_randy(DPB::PSPDS::OP_4_CEV_RAND_MIN, DPB::PSPDS::OP_4_CEV_RAND_MAX))
 1528.  add_xparam(4, DPB::PSPDS::OPTION_4_MEV_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MEV_RAND_MIN, DPB::PSPDS::OP_4_MEV_RAND_MAX))
 1529.  add_xparam(5, DPB::PSPDS::OPTION_4_MRF_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MRF_RAND_MIN, DPB::PSPDS::OP_4_MRF_RAND_MAX))
 1530.  add_xparam(6, DPB::PSPDS::OPTION_4_CNT_GAIN + dpbz_randy(DPB::PSPDS::OP_4_CNT_RAND_MIN, DPB::PSPDS::OP_4_CNT_RAND_MAX))
 1531.  add_xparam(7, DPB::PSPDS::OPTION_4_HRG_GAIN + dpbz_randy(DPB::PSPDS::OP_4_HRG_RAND_MIN, DPB::PSPDS::OP_4_HRG_RAND_MAX))
 1532.  add_xparam(8, DPB::PSPDS::OPTION_4_MRG_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MRG_RAND_MIN, DPB::PSPDS::OP_4_MRG_RAND_MAX))
 1533.  add_xparam(9, DPB::PSPDS::OPTION_4_TRG_GAIN + dpbz_randy(DPB::PSPDS::OP_4_TRG_RAND_MIN, DPB::PSPDS::OP_4_TRG_RAND_MAX))
 1534.  #s's
 1535.  add_sparam(0, DPB::PSPDS::OPTION_4_TGR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_TGR_RAND_MIN, DPB::PSPDS::OP_4_TGR_RAND_MAX))
 1536.  add_sparam(1, DPB::PSPDS::OPTION_4_GRD_GAIN + dpbz_randy(DPB::PSPDS::OP_4_GRD_RAND_MIN, DPB::PSPDS::OP_4_GRD_RAND_MAX))
 1537.  add_sparam(2, DPB::PSPDS::OPTION_4_REC_GAIN + dpbz_randy(DPB::PSPDS::OP_4_REC_RAND_MIN, DPB::PSPDS::OP_4_REC_RAND_MAX))
 1538.  add_sparam(3, DPB::PSPDS::OPTION_4_PHA_GAIN + dpbz_randy(DPB::PSPDS::OP_4_PHA_RAND_MIN, DPB::PSPDS::OP_4_PHA_RAND_MAX))
 1539.  add_sparam(4, DPB::PSPDS::OPTION_4_MCR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MCR_RAND_MIN, DPB::PSPDS::OP_4_MCR_RAND_MAX))
 1540.  add_sparam(5, DPB::PSPDS::OPTION_4_TCR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_TCR_RAND_MIN, DPB::PSPDS::OP_4_TCR_RAND_MAX))
 1541.  add_sparam(6, DPB::PSPDS::OPTION_4_PDR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_PDR_RAND_MIN, DPB::PSPDS::OP_4_PDR_RAND_MAX))
 1542.  add_sparam(7, DPB::PSPDS::OPTION_4_MDR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MDR_RAND_MIN, DPB::PSPDS::OP_4_MDR_RAND_MAX))
 1543.  add_sparam(8, DPB::PSPDS::OPTION_4_FDR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_FDR_RAND_MIN, DPB::PSPDS::OP_4_FDR_RAND_MAX))
 1544.  add_sparam(9, DPB::PSPDS::OPTION_4_EXR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_EXR_RAND_MIN, DPB::PSPDS::OP_4_EXR_RAND_MAX))
 1545.  #dpbz'
 1546.  add_dpbzparam(3, 1)
 1547.end
 1548.
 1549.end # Game_Actor
 1550.
 1551.#==============================================================================
 1552.class Game_Interpreter
 1553.#==============================================================================
 1554.def change_MaxVIT(actor_id, value)
 1555.  actor = $game_actors[actor_id]
 1556.  return if actor == nil
 1557.  actor.change_max_vit(value)
 1558.end
 1559.
 1560.def change_MaxSTR(actor_id, value)
 1561.  actor = $game_actors[actor_id]
 1562.  return if actor == nil
 1563.  actor.change_max_str(value)
 1564.end
 1565.
 1566.def change_MaxDEX(actor_id, value)
 1567.  actor = $game_actors[actor_id]
 1568.  return if actor == nil
 1569.  actor.change_max_dex(value)
 1570.end
 1571.
 1572.def change_MaxMAG(actor_id, value)
 1573.  actor = $game_actors[actor_id]
 1574.  return if actor == nil
 1575.  actor.change_max_mag(value)
 1576.end
 1577.
 1578.def gain_pts(actor_id, value)
 1579.  actor = $game_actors[actor_id]
 1580.  return if actor == nil
 1581.  actor.gain_lvl_pts(value)
 1582.end
 1583.
 1584.def gain_atti(actor_id, value)
 1585.  actor = $game_actors[actor_id]
 1586.  return if actor == nil
 1587.  actor.gain_atti_ptz(value)
 1588.end
 1589.
 1590.def inc_vit(actor_id, value)
 1591.  actor = $game_actors[actor_id]
 1592.  return if actor == nil
 1593.  t = 1
 1594.  loop do
 1595.    actor.mod_vit_params
 1596.    if t == value
 1597.      break
 1598.    end
 1599.    t += 1
 1600.  end
 1601.end
 1602.
 1603.def inc_str(actor_id, value)
 1604.  actor = $game_actors[actor_id]
 1605.  return if actor == nil
 1606.  t = 1
 1607.  loop do
 1608.    actor.mod_str_params
 1609.    if t == value
 1610.      break
 1611.    end
 1612.    t += 1
 1613.  end
 1614.end
 1615.
 1616.def inc_dex(actor_id, value)
 1617.  actor = $game_actors[actor_id]
 1618.  return if actor == nil
 1619.  t = 1
 1620.  loop do
 1621.    actor.mod_dex_params
 1622.    if t == value
 1623.      break
 1624.    end
 1625.    t += 1
 1626.  end
 1627.end
 1628.
 1629.def inc_mag(actor_id, value)
 1630.  actor = $game_actors[actor_id]
 1631.  return if actor == nil
 1632.  t = 1
 1633.  loop do
 1634.    actor.mod_mag_params
 1635.    if t == value
 1636.      break
 1637.    end
 1638.    t += 1
 1639.  end
 1640.end
 1641.end# class
 1642.
 1643.#===============================================================================#
 1644.# ☆ WINDOWS
 1645.#===============================================================================#
 1646.# http://dekitarpg.wordpress.com/
 1647.#===============================================================================#
 1648.class Window_Level_upCommand < Window_Command
 1649.#===============================================================================#
 1650.def initialize
 1651.  super(0, 300)
 1652.  @actor = $game_temp.actor_level_up[0]
 1653.  @@last_command_symbol = nil
 1654.  select_last
 1655.  self.opacity = 0
 1656.end
 1657.
 1658.
 1659.def actor=(actor)
 1660.  return if @actor == actor
 1661.  @actor = actor
 1662.  refresh
 1663.end
 1664.
 1665.
 1666.def window_width
 1667.  return (Graphics.width - 24) / 4.15 + (DPB::PSPDS::COMMAND_COLUMN_EXTRA_WIDTH)
 1668.end
 1669.
 1670.
 1671.def window_height
 1672.  return 344
 1673.end
 1674.
 1675.def visible_line_number
 1676.  item_max
 1677.end
 1678.
 1679.def make_command_list
 1680.  for command in DPB::PSPDS::COMMANDS
 1681.    case command
 1682.    when :Vitality  ; add_command("",  :gain_vit)
 1683.    when :Strength  ; add_command("",  :gain_str)
 1684.    when :Dexterity ; add_command("",  :gain_dex)
 1685.    when :Magic     ; add_command("",  :gain_mag)
 1686.    end
 1687.  end
 1688.end
 1689.
 1690.def process_ok
 1691.  @@last_command_symbol = current_symbol
 1692.  super
 1693.end
 1694.
 1695.def select_last
 1696.  select_symbol(@@last_command_symbol)
 1697.end
 1698.
 1699.end# Window_Level_upCommand
 1700.
 1701.#==============================================================================
 1702.class Window_Status_Level_up < Window_Selectable
 1703.#==============================================================================
 1704.
 1705.#include Dekita__CORE__Module
 1706.
 1707.def initialize(actor)
 1708.  super(-50, -50, window_width, window_height)
 1709.  contents.font.size = Dekita__CORE::Info_Font_Size
 1710.  @actor = actor
 1711.  refresh
 1712.  activate
 1713.end
 1714.
 1715.def actor=(actor)
 1716.  return if @actor == actor
 1717.  @actor = actor
 1718.  refresh
 1719.end
 1720.
 1721.def window_width; return Graphics.width - 0; end
 1722.
 1723.def window_height; return Graphics.height - 0; end
 1724.
 1725.def refresh
 1726.  contents.clear
 1727.  draw_block1(line_height * 1)
 1728.  draw_block2(line_height * 1)
 1729.end
 1730.
 1731.def draw_block1(y)
 1732.  draw_actor_face(@actor, window_width / 2.5, 0)
 1733.  if DPB::PSPDS::DRAW_ACTOR_GRAPHIC
 1734.  draw_actor_graphic(@actor, DPB::PSPDS::DAG_X, DPB::PSPDS::DAG_Y)#, 50)
 1735.  end
 1736.end
 1737.
 1738.def draw_block2(y)
 1739.  draw_basic_info(32, y)
 1740.  draw_points_column
 1741.end
 1742.
 1743.def draw_horz_line(y)
 1744.  line_y = y + line_height / 2 - 1
 1745.  contents.fill_rect(0, line_y, contents_width, 2, line_color)
 1746.end
 1747.
 1748.def line_color
 1749.  color = normal_color
 1750.  color.alpha = 48
 1751.  color
 1752.end
 1753.
 1754.def draw_basic_info(x, y)
 1755.  draw_actor_icons(@actor, (window_width - 24) / 2.5, y + line_height * 3)
 1756.  draw_properties_paramcolumn
 1757.  contents.font.size = Dekita__CORE::Info_Font_Size
 1758.  draw_horz_line(line_height * 4)
 1759.  draw_horz_line(Graphics.height - line_height * 4)
 1760.  draw_new_stats_column
 1761.  draw_properties_column1
 1762.  draw_properties_column2
 1763.  reset_font_settings
 1764.end
 1765.
 1766.def draw_points_column
 1767.  dx = (window_width - 24) / 5 * 4
 1768.  dw = (window_width - 24) / 5
 1769.  dy = 0
 1770.  for property in DPB::PSPDS::POINTS_COLUMN
 1771.  dy = draw_points_info_DPBz(property, @actor, dx, dy, dw)
 1772.  end
 1773.end
 1774.
 1775.def draw_new_stats_column
 1776.  dx = 0
 1777.  dw = (window_width - 24) / 5
 1778.  dy = 0
 1779.  for property in DPB::PSPDS::NEW_STATS_COLUMN
 1780.    dy = draw_stat_info_DPBz(property, @actor, dx, dy, dw)
 1781.  end
 1782.end
 1783.
 1784.def draw_properties_column1
 1785.  dx = window_width / 3 * 1 - 6
 1786.  dw = window_width / 3 - 12
 1787.  dy = line_height * 4.7
 1788.  for property in DPB::PSPDS::PROPERTIES_COLUMN1
 1789.    dy = draw_stat_info_DPBz(property, @actor, dx, dy, dw)
 1790.  end
 1791.end
 1792.
 1793.def draw_properties_column2
 1794.  dx = window_width / 3 * 2 - 12
 1795.  dw = window_width / 3 - 12
 1796.  dy = line_height * 4.7
 1797.  for property in DPB::PSPDS::PROPERTIES_COLUMN2
 1798.    dy = draw_stat_info_DPBz(property, @actor, dx, dy, dw)
 1799.  end
 1800.end
 1801.
 1802.def draw_properties_paramcolumn
 1803.  dx = window_width / 3 * 0
 1804.  dw = ((window_width) / 3) - 12
 1805.  dy = line_height * 4.7
 1806.  for property in DPB::PSPDS::PROPERTIES_PARAMCOLUMN
 1807.    dy = draw_stat_info_DPBz(property, @actor, dx, dy, dw)
 1808.  end
 1809.end#
 1810.
 1811.end  # Window_Status_Level_up
 1812.
 1813.#===============================================================================#
 1814.# ☆ SCENES
 1815.#===============================================================================#
 1816.# http://dekitarpg.wordpress.com/
 1817.#===============================================================================#
 1818.if DPB::PSPDS::ONMAP
 1819.#==============================================================================
 1820.class Scene_Map < Scene_Base   # < Only used if "ONMAP" is true
 1821.#==============================================================================
 1822.alias old_update update
 1823.def update
 1824.  old_update
 1825.  if $game_temp.actor_level_up[0]
 1826.    SceneManager.call(Scene_Level_Up)
 1827.  end
 1828.end
 1829.end# class
 1830.end# if
 1831.
 1832.if DPB::PSPDS::INBATTLE
 1833.#==============================================================================
 1834.class Scene_Battle < Scene_Base # < Default setting. Only used when "INBATTLE" is true
 1835.#==============================================================================
 1836.alias old_update update
 1837.def update
 1838.  old_update
 1839.  if $game_temp.actor_level_up[0]
 1840.    SceneManager.call(Scene_Level_Up)
 1841.  end
 1842.end
 1843.end#class
 1844.end# if
 1845.
 1846.#==============================================================================
 1847.class Scene_Level_Up < Scene_MenuBase
 1848.#==============================================================================
 1849.def msg
 1850.  s = ["#{DPB::PSPDS::VIT_GAIN_VOCAB}
 1851.#{DPB::PSPDS::COST_VOCAB} #{@actor.cost_caract(0)}",
 1852."#{DPB::PSPDS::STR_GAIN_VOCAB}
 1853.#{DPB::PSPDS::COST_VOCAB} #{@actor.cost_caract(1)}",
 1854."#{DPB::PSPDS::DEX_GAIN_VOCAB}
 1855.#{DPB::PSPDS::COST_VOCAB} #{@actor.cost_caract(2)}",
 1856."#{DPB::PSPDS::MAG_GAIN_VOCAB}
 1857.#{DPB::PSPDS::COST_VOCAB} #{@actor.cost_caract(3)}"]
 1858.return s
 1859.end
 1860.
 1861.def start
 1862.  super
 1863.  if $game_temp.actor_level_up[0]
 1864.  @actor = $game_temp.actor_level_up[0]
 1865.  end
 1866.  create_status_window
 1867.  create_command_window
 1868.  create_help_window
 1869.  @help_window.set_text(msg[@command_window.index])
 1870.  @help_window.y = (Graphics.height - 80)
 1871.  @help_window.opacity = 0
 1872.  $game_temp.actor_level_up.delete_at(0)
 1873.end
 1874.
 1875.def create_command_window
 1876.  @command_window = Window_Level_upCommand.new
 1877.  @command_window.set_handler(:gain_vit, method(:command_gain_vit))
 1878.  @command_window.set_handler(:gain_str, method(:command_gain_str))
 1879.  @command_window.set_handler(:gain_dex, method(:command_gain_dex))
 1880.  @command_window.set_handler(:gain_mag, method(:command_gain_mag))
 1881.  @command_window.set_handler(:cancel,   method(:exit_pspds_screen))
 1882.  @command_window.set_handler(:pagedown, method(:next_actor))
 1883.  @command_window.set_handler(:pageup,   method(:prev_actor))
 1884.  @command_window.y = 0
 1885.end
 1886.
 1887.def create_status_window
 1888.  @status_window = Window_Status_Level_up.new(@actor)
 1889.  @status_window.x = 0
 1890.  @status_window.y = 0
 1891.end
 1892.
 1893.def exit_pspds_screen
 1894.  return_scene
 1895.end
 1896.
 1897.def command_gain_vit
 1898.  @command_window.refresh
 1899.  index = @command_window.index
 1900.  if @actor.level_up_pts >= @actor.cost_caract(index) && @actor.vit < @actor.MAX_VIT
 1901.    @actor.gain_lvl_pts([email protected]_caract(index))
 1902.    vit_option_stat_mods
 1903.    @help_window.set_text(DPB::PSPDS::ADDSTATTEXT)
 1904.  else
 1905.    if @actor.vit == @actor.MAX_VIT
 1906.      @help_window.set_text(DPB::PSPDS::MAX_VIT_VOCAB)
 1907.    else
 1908.      @help_window.set_text(DPB::PSPDS::NOPOINTSTEXT)
 1909.    end # if
 1910.  end # if
 1911.  @status_window.refresh
 1912.  @command_window.refresh
 1913.  wait(DPB::PSPDS::WAIT_TIME)
 1914.  @command_window.activate
 1915.end
 1916.
 1917.def command_gain_str
 1918.  @command_window.refresh
 1919.  index = @command_window.index
 1920.  if @actor.level_up_pts >= @actor.cost_caract(index) && @actor.str < @actor.MAX_STR
 1921.    @actor.gain_lvl_pts([email protected]_caract(index))
 1922.    str_option_stat_mods
 1923.    @help_window.set_text(DPB::PSPDS::ADDSTATTEXT)
 1924.  else
 1925.    if @actor.str == @actor.MAX_STR
 1926.      @help_window.set_text(DPB::PSPDS::MAX_STR_VOCAB)
 1927.    else
 1928.      @help_window.set_text(DPB::PSPDS::NOPOINTSTEXT)
 1929.    end # if
 1930.  end # if
 1931.  @status_window.refresh
 1932.  @command_window.refresh
 1933.  wait(DPB::PSPDS::WAIT_TIME)
 1934.  @command_window.activate
 1935.end
 1936.
 1937.def command_gain_dex
 1938.  @command_window.refresh
 1939.  index = @command_window.index
 1940.  if @actor.level_up_pts >= @actor.cost_caract(index) && @actor.dex < @actor.MAX_DEX
 1941.    @actor.gain_lvl_pts([email protected]_caract(index))
 1942.    dex_option_stat_mods
 1943.    @help_window.set_text(DPB::PSPDS::ADDSTATTEXT)
 1944.  else
 1945.    if @actor.dex == @actor.MAX_DEX
 1946.      @help_window.set_text(DPB::PSPDS::MAX_DEX_VOCAB)
 1947.    else
 1948.      @help_window.set_text(DPB::PSPDS::NOPOINTSTEXT)
 1949.    end # if
 1950.  end # if
 1951.  @status_window.refresh
 1952.  @command_window.refresh
 1953.  wait(DPB::PSPDS::WAIT_TIME)
 1954.  @command_window.activate
 1955.end
 1956.
 1957.def command_gain_mag
 1958.  @command_window.refresh
 1959.  index = @command_window.index
 1960.  if @actor.level_up_pts >= @actor.cost_caract(index) && @actor.mag < @actor.MAX_MAG
 1961.    @actor.gain_lvl_pts([email protected]_caract(index))
 1962.    mag_option_stat_mods
 1963.    @help_window.set_text(DPB::PSPDS::ADDSTATTEXT)
 1964.  else
 1965.    if @actor.mag == @actor.MAX_MAG
 1966.      @help_window.set_text(DPB::PSPDS::MAX_MAG_VOCAB)
 1967.    else
 1968.      @help_window.set_text(DPB::PSPDS::NOPOINTSTEXT)
 1969.    end # if
 1970.  end # if
 1971.  @status_window.refresh
 1972.  @command_window.refresh
 1973.  wait(DPB::PSPDS::WAIT_TIME)
 1974.  @command_window.activate
 1975.end
 1976.
 1977.def vit_option_stat_mods
 1978.  @actor.mod_vit_params
 1979.end
 1980.
 1981.def str_option_stat_mods
 1982.  @actor.mod_str_params
 1983.end
 1984.
 1985.def dex_option_stat_mods
 1986.  @actor.mod_dex_params
 1987.end
 1988.
 1989.def mag_option_stat_mods
 1990.  @actor.mod_mag_params
 1991.end
 1992.
 1993.def wait(time)
 1994.  t = 0
 1995.  loop do
 1996.    update_basic
 1997.#    Graphics.update
 1998.    if t == time
 1999.      break
 2000.    end
 2001.    t += 1
 2002.  end
 2003.end
 2004.
 2005.def update
 2006.  super
 2007.  @help_window.set_text(msg[@command_window.index])
 2008.end
 2009.
 2010.def on_actor_change
 2011.  @status_window.actor = @actor
 2012.  @command_window.actor = @actor
 2013.  @status_window.refresh
 2014.  @command_window.activate
 2015.end
 2016.
 2017.end # class
 2018.#===============================================================================#
 2019.#                      http://dekitarpg.wordpress.com/
 2020.#===============================================================================#
 2021.# Equipment Stats (vit, str, ect)
 2022.#==============================================================================
 2023.module DataManager
 2024.#==============================================================================
 2025.
 2026.class <<self; alias load_database_PSPDS load_database; end
 2027.def self.load_database
 2028.  load_database_PSPDS
 2029.  load_notetags_PSPDS
 2030.end
 2031.
 2032.def self.load_notetags_PSPDS
 2033.  groups = [$data_weapons, $data_armors]
 2034.  for group in groups
 2035.    for obj in group
 2036.      next if obj.nil?
 2037.      obj.load_notetags_PSPDS
 2038.    end
 2039.  end
 2040.end
 2041.
 2042.end # DataManager
 2043.
 2044.#==============================================================================
 2045.class RPG::EquipItem < RPG::BaseItem
 2046.#==============================================================================
 2047.
 2048.attr_accessor :dpbzparams
 2049.attr_accessor :xparams
 2050.attr_accessor :sparams
 2051.
 2052.def load_notetags_PSPDS
 2053.  @dpbzparams = [0] * 4
 2054.  @xparams = [0] * 10
 2055.  @sparams = [0] * 10
 2056.  self.note.split(/[\r\n]+/).each { |line|
 2057.  case line
 2058.  when DPB::REGEXP::EQUIPITEM::INC_VIT
 2059.    @dpbzparams[0] += $1.to_i
 2060.    @params[0] += (DPB::PSPDS::OPTION_1_MaxHP_GAIN * $1.to_i)
 2061.    @params[1] += (DPB::PSPDS::OPTION_1_MaxMP_GAIN * $1.to_i)
 2062.    @params[2] += (DPB::PSPDS::OPTION_1_ATK_GAIN * $1.to_i)
 2063.    @params[3] += (DPB::PSPDS::OPTION_1_DEF_GAIN * $1.to_i)
 2064.    @params[4] += (DPB::PSPDS::OPTION_1_MAT_GAIN * $1.to_i)
 2065.    @params[5] += (DPB::PSPDS::OPTION_1_MDF_GAIN * $1.to_i)
 2066.    @params[6] += (DPB::PSPDS::OPTION_1_AGI_GAIN * $1.to_i)
 2067.    @params[7] += (DPB::PSPDS::OPTION_1_LUK_GAIN * $1.to_i)
 2068.    #x's
 2069.    @xparams[0] += (DPB::PSPDS::OPTION_1_HIT_GAIN * $1.to_i)
 2070.    @xparams[1] += (DPB::PSPDS::OPTION_1_EVA_GAIN * $1.to_i)
 2071.    @xparams[2] += (DPB::PSPDS::OPTION_1_CRI_GAIN * $1.to_i)
 2072.    @xparams[3] += (DPB::PSPDS::OPTION_1_CEV_GAIN * $1.to_i)
 2073.    @xparams[4] += (DPB::PSPDS::OPTION_1_MEV_GAIN * $1.to_i)
 2074.    @xparams[5] += (DPB::PSPDS::OPTION_1_MRF_GAIN * $1.to_i)
 2075.    @xparams[6] += (DPB::PSPDS::OPTION_1_CNT_GAIN * $1.to_i)
 2076.    @xparams[7] += (DPB::PSPDS::OPTION_1_HRG_GAIN * $1.to_i)
 2077.    @xparams[8] += (DPB::PSPDS::OPTION_1_MRG_GAIN * $1.to_i)
 2078.    @xparams[9] += (DPB::PSPDS::OPTION_1_TRG_GAIN * $1.to_i)
 2079.    #s's
 2080.    @sparams[0] += (DPB::PSPDS::OPTION_1_TGR_GAIN * $1.to_i)
 2081.    @sparams[1] += (DPB::PSPDS::OPTION_1_GRD_GAIN * $1.to_i)
 2082.    @sparams[2] += (DPB::PSPDS::OPTION_1_REC_GAIN * $1.to_i)
 2083.    @sparams[3] += (DPB::PSPDS::OPTION_1_PHA_GAIN * $1.to_i)
 2084.    @sparams[4] += (DPB::PSPDS::OPTION_1_MCR_GAIN * $1.to_i)
 2085.    @sparams[5] += (DPB::PSPDS::OPTION_1_TCR_GAIN * $1.to_i)
 2086.    @sparams[6] += (DPB::PSPDS::OPTION_1_PDR_GAIN * $1.to_i)
 2087.    @sparams[7] += (DPB::PSPDS::OPTION_1_MDR_GAIN * $1.to_i)
 2088.    @sparams[8] += (DPB::PSPDS::OPTION_1_FDR_GAIN * $1.to_i)
 2089.    @sparams[9] += (DPB::PSPDS::OPTION_1_EXR_GAIN * $1.to_i)
 2090.  when DPB::REGEXP::EQUIPITEM::INC_STR
 2091.    @dpbzparams[1] += $1.to_i
 2092.    @params[0] += (DPB::PSPDS::OPTION_2_MaxHP_GAIN * $1.to_i)
 2093.    @params[1] += (DPB::PSPDS::OPTION_2_MaxMP_GAIN * $1.to_i)
 2094.    @params[2] += (DPB::PSPDS::OPTION_2_ATK_GAIN * $1.to_i)
 2095.    @params[3] += (DPB::PSPDS::OPTION_2_DEF_GAIN * $1.to_i)
 2096.    @params[4] += (DPB::PSPDS::OPTION_2_MAT_GAIN * $1.to_i)
 2097.    @params[5] += (DPB::PSPDS::OPTION_2_MDF_GAIN * $1.to_i)
 2098.    @params[6] += (DPB::PSPDS::OPTION_2_AGI_GAIN * $1.to_i)
 2099.    @params[7] += (DPB::PSPDS::OPTION_2_LUK_GAIN * $1.to_i)
 2100.    #x's
 2101.    @xparams[0] += (DPB::PSPDS::OPTION_2_HIT_GAIN * $1.to_i)
 2102.    @xparams[1] += (DPB::PSPDS::OPTION_2_EVA_GAIN * $1.to_i)
 2103.    @xparams[2] += (DPB::PSPDS::OPTION_2_CRI_GAIN * $1.to_i)
 2104.    @xparams[3] += (DPB::PSPDS::OPTION_2_CEV_GAIN * $1.to_i)
 2105.    @xparams[4] += (DPB::PSPDS::OPTION_2_MEV_GAIN * $1.to_i)
 2106.    @xparams[5] += (DPB::PSPDS::OPTION_2_MRF_GAIN * $1.to_i)
 2107.    @xparams[6] += (DPB::PSPDS::OPTION_2_CNT_GAIN * $1.to_i)
 2108.    @xparams[7] += (DPB::PSPDS::OPTION_2_HRG_GAIN * $1.to_i)
 2109.    @xparams[8] += (DPB::PSPDS::OPTION_2_MRG_GAIN * $1.to_i)
 2110.    @xparams[9] += (DPB::PSPDS::OPTION_2_TRG_GAIN * $1.to_i)
 2111.    #s's
 2112.    @sparams[0] += (DPB::PSPDS::OPTION_2_TGR_GAIN * $1.to_i)
 2113.    @sparams[1] += (DPB::PSPDS::OPTION_2_GRD_GAIN * $1.to_i)
 2114.    @sparams[2] += (DPB::PSPDS::OPTION_2_REC_GAIN * $1.to_i)
 2115.    @sparams[3] += (DPB::PSPDS::OPTION_2_PHA_GAIN * $1.to_i)
 2116.    @sparams[4] += (DPB::PSPDS::OPTION_2_MCR_GAIN * $1.to_i)
 2117.    @sparams[5] += (DPB::PSPDS::OPTION_2_TCR_GAIN * $1.to_i)
 2118.    @sparams[6] += (DPB::PSPDS::OPTION_2_PDR_GAIN * $1.to_i)
 2119.    @sparams[7] += (DPB::PSPDS::OPTION_2_MDR_GAIN * $1.to_i)
 2120.    @sparams[8] += (DPB::PSPDS::OPTION_2_FDR_GAIN * $1.to_i)
 2121.    @sparams[9] += (DPB::PSPDS::OPTION_2_EXR_GAIN * $1.to_i)
 2122.  when DPB::REGEXP::EQUIPITEM::INC_DEX
 2123.    @dpbzparams[2] += $1.to_i
 2124.    @params[0] += (DPB::PSPDS::OPTION_3_MaxHP_GAIN * $1.to_i)
 2125.    @params[1] += (DPB::PSPDS::OPTION_3_MaxMP_GAIN * $1.to_i)
 2126.    @params[2] += (DPB::PSPDS::OPTION_3_ATK_GAIN * $1.to_i)
 2127.    @params[3] += (DPB::PSPDS::OPTION_3_DEF_GAIN * $1.to_i)
 2128.    @params[4] += (DPB::PSPDS::OPTION_3_MAT_GAIN * $1.to_i)
 2129.    @params[5] += (DPB::PSPDS::OPTION_3_MDF_GAIN * $1.to_i)
 2130.    @params[6] += (DPB::PSPDS::OPTION_3_AGI_GAIN * $1.to_i)
 2131.    @params[7] += (DPB::PSPDS::OPTION_3_LUK_GAIN * $1.to_i)
 2132.    #x's
 2133.    @xparams[0] += (DPB::PSPDS::OPTION_3_HIT_GAIN * $1.to_i)
 2134.    @xparams[1] += (DPB::PSPDS::OPTION_3_EVA_GAIN * $1.to_i)
 2135.    @xparams[2] += (DPB::PSPDS::OPTION_3_CRI_GAIN * $1.to_i)
 2136.    @xparams[3] += (DPB::PSPDS::OPTION_3_CEV_GAIN * $1.to_i)
 2137.    @xparams[4] += (DPB::PSPDS::OPTION_3_MEV_GAIN * $1.to_i)
 2138.    @xparams[5] += (DPB::PSPDS::OPTION_3_MRF_GAIN * $1.to_i)
 2139.    @xparams[6] += (DPB::PSPDS::OPTION_3_CNT_GAIN * $1.to_i)
 2140.    @xparams[7] += (DPB::PSPDS::OPTION_3_HRG_GAIN * $1.to_i)
 2141.    @xparams[8] += (DPB::PSPDS::OPTION_3_MRG_GAIN * $1.to_i)
 2142.    @xparams[9] += (DPB::PSPDS::OPTION_3_TRG_GAIN * $1.to_i)
 2143.    #s's
 2144.    @sparams[0] += (DPB::PSPDS::OPTION_3_TGR_GAIN * $1.to_i)
 2145.    @sparams[1] += (DPB::PSPDS::OPTION_3_GRD_GAIN * $1.to_i)
 2146.    @sparams[2] += (DPB::PSPDS::OPTION_3_REC_GAIN * $1.to_i)
 2147.    @sparams[3] += (DPB::PSPDS::OPTION_3_PHA_GAIN * $1.to_i)
 2148.    @sparams[4] += (DPB::PSPDS::OPTION_3_MCR_GAIN * $1.to_i)
 2149.    @sparams[5] += (DPB::PSPDS::OPTION_3_TCR_GAIN * $1.to_i)
 2150.    @sparams[6] += (DPB::PSPDS::OPTION_3_PDR_GAIN * $1.to_i)
 2151.    @sparams[7] += (DPB::PSPDS::OPTION_3_MDR_GAIN * $1.to_i)
 2152.    @sparams[8] += (DPB::PSPDS::OPTION_3_FDR_GAIN * $1.to_i)
 2153.    @sparams[9] += (DPB::PSPDS::OPTION_3_EXR_GAIN * $1.to_i)
 2154.  when DPB::REGEXP::EQUIPITEM::INC_MAG
 2155.    @dpbzparams[3] += $1.to_i
 2156.    @params[0] += (DPB::PSPDS::OPTION_4_MaxHP_GAIN * $1.to_i)
 2157.    @params[1] += (DPB::PSPDS::OPTION_4_MaxMP_GAIN * $1.to_i)
 2158.    @params[2] += (DPB::PSPDS::OPTION_4_ATK_GAIN * $1.to_i)
 2159.    @params[3] += (DPB::PSPDS::OPTION_4_DEF_GAIN * $1.to_i)
 2160.    @params[4] += (DPB::PSPDS::OPTION_4_MAT_GAIN * $1.to_i)
 2161.    @params[5] += (DPB::PSPDS::OPTION_4_MDF_GAIN * $1.to_i)
 2162.    @params[6] += (DPB::PSPDS::OPTION_4_AGI_GAIN * $1.to_i)
 2163.    @params[7] += (DPB::PSPDS::OPTION_4_LUK_GAIN * $1.to_i)
 2164.    #x's
 2165.    @xparams[0] += (DPB::PSPDS::OPTION_4_HIT_GAIN * $1.to_i)
 2166.    @xparams[1] += (DPB::PSPDS::OPTION_4_EVA_GAIN * $1.to_i)
 2167.    @xparams[2] += (DPB::PSPDS::OPTION_4_CRI_GAIN * $1.to_i)
 2168.    @xparams[3] += (DPB::PSPDS::OPTION_4_CEV_GAIN * $1.to_i)
 2169.    @xparams[4] += (DPB::PSPDS::OPTION_4_MEV_GAIN * $1.to_i)
 2170.    @xparams[5] += (DPB::PSPDS::OPTION_4_MRF_GAIN * $1.to_i)
 2171.    @xparams[6] += (DPB::PSPDS::OPTION_4_CNT_GAIN * $1.to_i)
 2172.    @xparams[7] += (DPB::PSPDS::OPTION_4_HRG_GAIN * $1.to_i)
 2173.    @xparams[8] += (DPB::PSPDS::OPTION_4_MRG_GAIN * $1.to_i)
 2174.    @xparams[9] += (DPB::PSPDS::OPTION_4_TRG_GAIN * $1.to_i)
 2175.    #s's
 2176.    @sparams[0] += (DPB::PSPDS::OPTION_4_TGR_GAIN * $1.to_i)
 2177.    @sparams[1] += (DPB::PSPDS::OPTION_4_GRD_GAIN * $1.to_i)
 2178.    @sparams[2] += (DPB::PSPDS::OPTION_4_REC_GAIN * $1.to_i)
 2179.    @sparams[3] += (DPB::PSPDS::OPTION_4_PHA_GAIN * $1.to_i)
 2180.    @sparams[4] += (DPB::PSPDS::OPTION_4_MCR_GAIN * $1.to_i)
 2181.    @sparams[5] += (DPB::PSPDS::OPTION_4_TCR_GAIN * $1.to_i)
 2182.    @sparams[6] += (DPB::PSPDS::OPTION_4_PDR_GAIN * $1.to_i)
 2183.    @sparams[7] += (DPB::PSPDS::OPTION_4_MDR_GAIN * $1.to_i)
 2184.    @sparams[8] += (DPB::PSPDS::OPTION_4_FDR_GAIN * $1.to_i)
 2185.    @sparams[9] += (DPB::PSPDS::OPTION_4_EXR_GAIN * $1.to_i)
 2186.    #---
 2187.  end
 2188.  } # self.note.split
 2189.  #---
 2190.end
 2191.
 2192.end # RPG::EquipItem
 2193.
 2194.#==============================================================================
 2195.class Game_Actor < Game_Battler
 2196.#==============================================================================
 2197.
 2198.alias game_actor_param_plus_PSPDS dpbzparam_plus
 2199.def dpbzparam_plus(dpbzparam_id)
 2200.  n = game_actor_param_plus_PSPDS(dpbzparam_id)
 2201.  n += dpbz_parameter_rate(dpbzparam_id)
 2202.  return n
 2203.end
 2204.
 2205.alias game_actor_xparam_plus_PSPDS xparam_plus
 2206.def xparam_plus(xparam_id)
 2207.  n = game_actor_xparam_plus_PSPDS(xparam_id)
 2208.  n += x_parameter_rate(xparam_id)
 2209.  return n
 2210.end
 2211.
 2212.alias game_actor_sparam_plus_PSPDS sparam_plus
 2213.def sparam_plus(sparam_id)
 2214.  n = game_actor_sparam_plus_PSPDS(sparam_id)
 2215.  n += s_parameter_rate(sparam_id)
 2216.  return n
 2217.end
 2218.
 2219.def dpbz_parameter_rate(dpbzparam_id)
 2220.  rate = 0.0
 2221.  rate += equips.compact.inject(0) {|r, i|
 2222.  r += i.dpbzparams[dpbzparam_id] rescue 0 }
 2223.  return rate
 2224.end
 2225.
 2226.def x_parameter_rate(xparam_id)
 2227.  rate = 0.0
 2228.  rate += equips.compact.inject(0) {|r, i|
 2229.  r += i.xparams[xparam_id] rescue 0 }
 2230.  return rate
 2231.end
 2232.
 2233.def s_parameter_rate(sparam_id)
 2234.  rate = 0.0
 2235.  rate += equips.compact.inject(0) {|r, i|
 2236.  r += i.sparams[sparam_id] rescue 0 }
 2237.  return rate
 2238.end
 2239.
 2240.end # Game_Actor < Game_BattlerBase
 2241.
 2242.#
 2243.## Enemy Stats Add-on
 2244.#
 2245.#==============================================================================
 2246.module DataManager
 2247.#==============================================================================
 2248.
 2249.class <<self; alias load_database_PSPDS_Enemy_Stats load_database; end
 2250.def self.load_database
 2251.  load_database_PSPDS_Enemy_Stats
 2252.  load_notetags_PSPDS_Enemy_Stats
 2253.end
 2254.
 2255.def self.load_notetags_PSPDS_Enemy_Stats
 2256.  groups = [$data_enemies]
 2257.  for group in groups
 2258.    for obj in group
 2259.      next if obj.nil?
 2260.      obj.load_notetags_PSPDS_Enemy_Stats
 2261.    end
 2262.  end
 2263.end
 2264.
 2265.end # DataManager
 2266.
 2267.#==============================================================================
 2268.module BattleManager
 2269.#==============================================================================
 2270.class <<self; alias battlemanager_display_exp_ptsandatti display_exp; end
 2271.def self.display_exp
 2272.  battlemanager_display_exp_ptsandatti
 2273.  gain_pts
 2274.end
 2275.
 2276.def self.gain_pts
 2277.  amount = $game_troop.pts_total
 2278.  fmt = DPB::PSPDS::GAINED_POINTS_MESSAGE
 2279.  if $game_troop.pts_total >= 1
 2280.    for member in $game_party.members
 2281.      member.gain_lvl_pts(amount)
 2282.      value = $game_troop.pts_total
 2283.      $game_message.add('\.' + sprintf(fmt, member.name, value, DPB::PSPDS::LVLUPPTSVOCAB))
 2284.    end
 2285.    wait_for_message
 2286.  end
 2287.end
 2288.end # BattleManager
 2289.
 2290.
 2291.#==============================================================================
 2292.class RPG::Enemy < RPG::BaseItem
 2293.#==============================================================================
 2294.
 2295.attr_accessor :dpbzparams
 2296.attr_accessor :xparams
 2297.attr_accessor :sparams
 2298.attr_accessor :pts_gain
 2299.
 2300.def load_notetags_PSPDS_Enemy_Stats
 2301.  @dpbzparams = [0] * 4
 2302.  @xparams = [0] * 10
 2303.  @sparams = [0] * 10
 2304.  @pts_gain = 0
 2305.  self.note.split(/[\r\n]+/).each { |line|
 2306.  case line
 2307.  when DPB::REGEXP::EQUIPITEM::INC_VIT
 2308.    @dpbzparams[0] += $1.to_i
 2309.    @params[0] += (DPB::PSPDS::OPTION_1_MaxHP_GAIN * $1.to_i)
 2310.    @params[1] += (DPB::PSPDS::OPTION_1_MaxMP_GAIN * $1.to_i)
 2311.    @params[2] += (DPB::PSPDS::OPTION_1_ATK_GAIN * $1.to_i)
 2312.    @params[3] += (DPB::PSPDS::OPTION_1_DEF_GAIN * $1.to_i)
 2313.    @params[4] += (DPB::PSPDS::OPTION_1_MAT_GAIN * $1.to_i)
 2314.    @params[5] += (DPB::PSPDS::OPTION_1_MDF_GAIN * $1.to_i)
 2315.    @params[6] += (DPB::PSPDS::OPTION_1_AGI_GAIN * $1.to_i)
 2316.    @params[7] += (DPB::PSPDS::OPTION_1_LUK_GAIN * $1.to_i)
 2317.    #x's
 2318.    @xparams[0] += (DPB::PSPDS::OPTION_1_HIT_GAIN * $1.to_i)
 2319.    @xparams[1] += (DPB::PSPDS::OPTION_1_EVA_GAIN * $1.to_i)
 2320.    @xparams[2] += (DPB::PSPDS::OPTION_1_CRI_GAIN * $1.to_i)
 2321.    @xparams[3] += (DPB::PSPDS::OPTION_1_CEV_GAIN * $1.to_i)
 2322.    @xparams[4] += (DPB::PSPDS::OPTION_1_MEV_GAIN * $1.to_i)
 2323.    @xparams[5] += (DPB::PSPDS::OPTION_1_MRF_GAIN * $1.to_i)
 2324.    @xparams[6] += (DPB::PSPDS::OPTION_1_CNT_GAIN * $1.to_i)
 2325.    @xparams[7] += (DPB::PSPDS::OPTION_1_HRG_GAIN * $1.to_i)
 2326.    @xparams[8] += (DPB::PSPDS::OPTION_1_MRG_GAIN * $1.to_i)
 2327.    @xparams[9] += (DPB::PSPDS::OPTION_1_TRG_GAIN * $1.to_i)
 2328.    #s's
 2329.    @sparams[0] += (DPB::PSPDS::OPTION_1_TGR_GAIN * $1.to_i)
 2330.    @sparams[1] += (DPB::PSPDS::OPTION_1_GRD_GAIN * $1.to_i)
 2331.    @sparams[2] += (DPB::PSPDS::OPTION_1_REC_GAIN * $1.to_i)
 2332.    @sparams[3] += (DPB::PSPDS::OPTION_1_PHA_GAIN * $1.to_i)
 2333.    @sparams[4] += (DPB::PSPDS::OPTION_1_MCR_GAIN * $1.to_i)
 2334.    @sparams[5] += (DPB::PSPDS::OPTION_1_TCR_GAIN * $1.to_i)
 2335.    @sparams[6] += (DPB::PSPDS::OPTION_1_PDR_GAIN * $1.to_i)
 2336.    @sparams[7] += (DPB::PSPDS::OPTION_1_MDR_GAIN * $1.to_i)
 2337.    @sparams[8] += (DPB::PSPDS::OPTION_1_FDR_GAIN * $1.to_i)
 2338.    @sparams[9] += (DPB::PSPDS::OPTION_1_EXR_GAIN * $1.to_i)
 2339.  when DPB::REGEXP::EQUIPITEM::INC_STR
 2340.    @dpbzparams[1] += $1.to_i
 2341.    @params[0] += (DPB::PSPDS::OPTION_2_MaxHP_GAIN * $1.to_i)
 2342.    @params[1] += (DPB::PSPDS::OPTION_2_MaxMP_GAIN * $1.to_i)
 2343.    @params[2] += (DPB::PSPDS::OPTION_2_ATK_GAIN * $1.to_i)
 2344.    @params[3] += (DPB::PSPDS::OPTION_2_DEF_GAIN * $1.to_i)
 2345.    @params[4] += (DPB::PSPDS::OPTION_2_MAT_GAIN * $1.to_i)
 2346.    @params[5] += (DPB::PSPDS::OPTION_2_MDF_GAIN * $1.to_i)
 2347.    @params[6] += (DPB::PSPDS::OPTION_2_AGI_GAIN * $1.to_i)
 2348.    @params[7] += (DPB::PSPDS::OPTION_2_LUK_GAIN * $1.to_i)
 2349.    #x's
 2350.    @xparams[0] += (DPB::PSPDS::OPTION_2_HIT_GAIN * $1.to_i)
 2351.    @xparams[1] += (DPB::PSPDS::OPTION_2_EVA_GAIN * $1.to_i)
 2352.    @xparams[2] += (DPB::PSPDS::OPTION_2_CRI_GAIN * $1.to_i)
 2353.    @xparams[3] += (DPB::PSPDS::OPTION_2_CEV_GAIN * $1.to_i)
 2354.    @xparams[4] += (DPB::PSPDS::OPTION_2_MEV_GAIN * $1.to_i)
 2355.    @xparams[5] += (DPB::PSPDS::OPTION_2_MRF_GAIN * $1.to_i)
 2356.    @xparams[6] += (DPB::PSPDS::OPTION_2_CNT_GAIN * $1.to_i)
 2357.    @xparams[7] += (DPB::PSPDS::OPTION_2_HRG_GAIN * $1.to_i)
 2358.    @xparams[8] += (DPB::PSPDS::OPTION_2_MRG_GAIN * $1.to_i)
 2359.    @xparams[9] += (DPB::PSPDS::OPTION_2_TRG_GAIN * $1.to_i)
 2360.    #s's
 2361.    @sparams[0] += (DPB::PSPDS::OPTION_2_TGR_GAIN * $1.to_i)
 2362.    @sparams[1] += (DPB::PSPDS::OPTION_2_GRD_GAIN * $1.to_i)
 2363.    @sparams[2] += (DPB::PSPDS::OPTION_2_REC_GAIN * $1.to_i)
 2364.    @sparams[3] += (DPB::PSPDS::OPTION_2_PHA_GAIN * $1.to_i)
 2365.    @sparams[4] += (DPB::PSPDS::OPTION_2_MCR_GAIN * $1.to_i)
 2366.    @sparams[5] += (DPB::PSPDS::OPTION_2_TCR_GAIN * $1.to_i)
 2367.    @sparams[6] += (DPB::PSPDS::OPTION_2_PDR_GAIN * $1.to_i)
 2368.    @sparams[7] += (DPB::PSPDS::OPTION_2_MDR_GAIN * $1.to_i)
 2369.    @sparams[8] += (DPB::PSPDS::OPTION_2_FDR_GAIN * $1.to_i)
 2370.    @sparams[9] += (DPB::PSPDS::OPTION_2_EXR_GAIN * $1.to_i)
 2371.  when DPB::REGEXP::EQUIPITEM::INC_DEX
 2372.    @dpbzparams[2] += $1.to_i
 2373.    @params[0] += (DPB::PSPDS::OPTION_3_MaxHP_GAIN * $1.to_i)
 2374.    @params[1] += (DPB::PSPDS::OPTION_3_MaxMP_GAIN * $1.to_i)
 2375.    @params[2] += (DPB::PSPDS::OPTION_3_ATK_GAIN * $1.to_i)
 2376.    @params[3] += (DPB::PSPDS::OPTION_3_DEF_GAIN * $1.to_i)
 2377.    @params[4] += (DPB::PSPDS::OPTION_3_MAT_GAIN * $1.to_i)
 2378.    @params[5] += (DPB::PSPDS::OPTION_3_MDF_GAIN * $1.to_i)
 2379.    @params[6] += (DPB::PSPDS::OPTION_3_AGI_GAIN * $1.to_i)
 2380.    @params[7] += (DPB::PSPDS::OPTION_3_LUK_GAIN * $1.to_i)
 2381.    #x's
 2382.    @xparams[0] += (DPB::PSPDS::OPTION_3_HIT_GAIN * $1.to_i)
 2383.    @xparams[1] += (DPB::PSPDS::OPTION_3_EVA_GAIN * $1.to_i)
 2384.    @xparams[2] += (DPB::PSPDS::OPTION_3_CRI_GAIN * $1.to_i)
 2385.    @xparams[3] += (DPB::PSPDS::OPTION_3_CEV_GAIN * $1.to_i)
 2386.    @xparams[4] += (DPB::PSPDS::OPTION_3_MEV_GAIN * $1.to_i)
 2387.    @xparams[5] += (DPB::PSPDS::OPTION_3_MRF_GAIN * $1.to_i)
 2388.    @xparams[6] += (DPB::PSPDS::OPTION_3_CNT_GAIN * $1.to_i)
 2389.    @xparams[7] += (DPB::PSPDS::OPTION_3_HRG_GAIN * $1.to_i)
 2390.    @xparams[8] += (DPB::PSPDS::OPTION_3_MRG_GAIN * $1.to_i)
 2391.    @xparams[9] += (DPB::PSPDS::OPTION_3_TRG_GAIN * $1.to_i)
 2392.    #s's
 2393.    @sparams[0] += (DPB::PSPDS::OPTION_3_TGR_GAIN * $1.to_i)
 2394.    @sparams[1] += (DPB::PSPDS::OPTION_3_GRD_GAIN * $1.to_i)
 2395.    @sparams[2] += (DPB::PSPDS::OPTION_3_REC_GAIN * $1.to_i)
 2396.    @sparams[3] += (DPB::PSPDS::OPTION_3_PHA_GAIN * $1.to_i)
 2397.    @sparams[4] += (DPB::PSPDS::OPTION_3_MCR_GAIN * $1.to_i)
 2398.    @sparams[5] += (DPB::PSPDS::OPTION_3_TCR_GAIN * $1.to_i)
 2399.    @sparams[6] += (DPB::PSPDS::OPTION_3_PDR_GAIN * $1.to_i)
 2400.    @sparams[7] += (DPB::PSPDS::OPTION_3_MDR_GAIN * $1.to_i)
 2401.    @sparams[8] += (DPB::PSPDS::OPTION_3_FDR_GAIN * $1.to_i)
 2402.    @sparams[9] += (DPB::PSPDS::OPTION_3_EXR_GAIN * $1.to_i)
 2403.  when DPB::REGEXP::EQUIPITEM::INC_MAG
 2404.    @dpbzparams[3] += $1.to_i
 2405.    @params[0] += (DPB::PSPDS::OPTION_4_MaxHP_GAIN * $1.to_i)
 2406.    @params[1] += (DPB::PSPDS::OPTION_4_MaxMP_GAIN * $1.to_i)
 2407.    @params[2] += (DPB::PSPDS::OPTION_4_ATK_GAIN * $1.to_i)
 2408.    @params[3] += (DPB::PSPDS::OPTION_4_DEF_GAIN * $1.to_i)
 2409.    @params[4] += (DPB::PSPDS::OPTION_4_MAT_GAIN * $1.to_i)
 2410.    @params[5] += (DPB::PSPDS::OPTION_4_MDF_GAIN * $1.to_i)
 2411.    @params[6] += (DPB::PSPDS::OPTION_4_AGI_GAIN * $1.to_i)
 2412.    @params[7] += (DPB::PSPDS::OPTION_4_LUK_GAIN * $1.to_i)
 2413.    #x's
 2414.    @xparams[0] += (DPB::PSPDS::OPTION_4_HIT_GAIN * $1.to_i)
 2415.    @xparams[1] += (DPB::PSPDS::OPTION_4_EVA_GAIN * $1.to_i)
 2416.    @xparams[2] += (DPB::PSPDS::OPTION_4_CRI_GAIN * $1.to_i)
 2417.    @xparams[3] += (DPB::PSPDS::OPTION_4_CEV_GAIN * $1.to_i)
 2418.    @xparams[4] += (DPB::PSPDS::OPTION_4_MEV_GAIN * $1.to_i)
 2419.    @xparams[5] += (DPB::PSPDS::OPTION_4_MRF_GAIN * $1.to_i)
 2420.    @xparams[6] += (DPB::PSPDS::OPTION_4_CNT_GAIN * $1.to_i)
 2421.    @xparams[7] += (DPB::PSPDS::OPTION_4_HRG_GAIN * $1.to_i)
 2422.    @xparams[8] += (DPB::PSPDS::OPTION_4_MRG_GAIN * $1.to_i)
 2423.    @xparams[9] += (DPB::PSPDS::OPTION_4_TRG_GAIN * $1.to_i)
 2424.    #s's
 2425.    @sparams[0] += (DPB::PSPDS::OPTION_4_TGR_GAIN * $1.to_i)
 2426.    @sparams[1] += (DPB::PSPDS::OPTION_4_GRD_GAIN * $1.to_i)
 2427.    @sparams[2] += (DPB::PSPDS::OPTION_4_REC_GAIN * $1.to_i)
 2428.    @sparams[3] += (DPB::PSPDS::OPTION_4_PHA_GAIN * $1.to_i)
 2429.    @sparams[4] += (DPB::PSPDS::OPTION_4_MCR_GAIN * $1.to_i)
 2430.    @sparams[5] += (DPB::PSPDS::OPTION_4_TCR_GAIN * $1.to_i)
 2431.    @sparams[6] += (DPB::PSPDS::OPTION_4_PDR_GAIN * $1.to_i)
 2432.    @sparams[7] += (DPB::PSPDS::OPTION_4_MDR_GAIN * $1.to_i)
 2433.    @sparams[8] += (DPB::PSPDS::OPTION_4_FDR_GAIN * $1.to_i)
 2434.    @sparams[9] += (DPB::PSPDS::OPTION_4_EXR_GAIN * $1.to_i)
 2435.  when DPB::REGEXP::ENEMY::PTS_GAIN
 2436.    @pts_gain = $1.to_i
 2437.    #---
 2438.  end
 2439.  } # self.note.split
 2440.  #---
 2441.end
 2442.
 2443.end # RPG::Enemy
 2444.
 2445.#==============================================================================
 2446.class Game_Enemy < Game_Battler
 2447.#==============================================================================
 2448.
 2449.alias game_enemy_param_plus_PSPDS dpbzparam_plus
 2450.def dpbzparam_plus(dpbzparam_id)
 2451.  n = game_enemy_param_plus_PSPDS(dpbzparam_id)
 2452.  n += enemy.dpbzparams[dpbzparam_id]
 2453.  return n
 2454.end
 2455.
 2456.alias game_enemy_xparam_plus_PSPDS xparam_plus
 2457.def xparam_plus(xparam_id)
 2458.  n = game_enemy_xparam_plus_PSPDS(xparam_id)
 2459.  n += enemy.xparams[xparam_id]
 2460.  return n
 2461.end
 2462.
 2463.alias game_enemy_sparam_plus_PSPDS sparam_plus
 2464.def sparam_plus(sparam_id)
 2465.  n = game_enemy_sparam_plus_PSPDS(sparam_id)
 2466.  n += enemy.sparams[sparam_id]
 2467.  return n
 2468.end
 2469.
 2470.def pts
 2471.  return enemy.pts_gain
 2472.end
 2473.
 2474.end # Game_Enemy
 2475.
 2476.#==============================================================================
 2477.class Game_Troop < Game_Unit
 2478.#==============================================================================
 2479.
 2480.def pts_total
 2481.  dead_members.inject(0) {|r, enemy| r += enemy.pts }
 2482.end
 2483.
 2484.end # Game_Troop
 2485.
 2486.
 2487.# $game_actors[ACTOR_ID].reduce_vit(VALUE)
 2488.# $game_actors[ACTOR_ID].reduce_str(VALUE)
 2489.# $game_actors[ACTOR_ID].reduce_dex(VALUE)
 2490.# $game_actors[ACTOR_ID].reduce_mag(VALUE)
 2491.#==============================================================================
 2492.class Game_Actor < Game_Battler
 2493.#==============================================================================
 2494.
 2495.def reduce_vit(value)
 2496.  value.times {||
 2497.  add_param(0, -(DPB::PSPDS::OPTION_1_MaxHP_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MaxHP_RAND_MIN, DPB::PSPDS::OP_1_MaxHP_RAND_MAX)))
 2498.  add_param(1, -(DPB::PSPDS::OPTION_1_MaxMP_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MaxMP_RAND_MIN, DPB::PSPDS::OP_1_MaxMP_RAND_MAX)))
 2499.  add_param(2, -(DPB::PSPDS::OPTION_1_ATK_GAIN + dpbz_randy(DPB::PSPDS::OP_1_ATK_RAND_MIN, DPB::PSPDS::OP_1_ATK_RAND_MAX)))
 2500.  add_param(3, -(DPB::PSPDS::OPTION_1_DEF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_DEF_RAND_MIN, DPB::PSPDS::OP_1_DEF_RAND_MAX)))
 2501.  add_param(4, -(DPB::PSPDS::OPTION_1_MAT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MAT_RAND_MIN, DPB::PSPDS::OP_1_MAT_RAND_MAX)))
 2502.  add_param(5, -(DPB::PSPDS::OPTION_1_MDF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MDF_RAND_MIN, DPB::PSPDS::OP_1_MDF_RAND_MAX)))
 2503.  add_param(6, -(DPB::PSPDS::OPTION_1_AGI_GAIN + dpbz_randy(DPB::PSPDS::OP_1_AGI_RAND_MIN, DPB::PSPDS::OP_1_AGI_RAND_MAX)))
 2504.  add_param(7, -(DPB::PSPDS::OPTION_1_LUK_GAIN + dpbz_randy(DPB::PSPDS::OP_1_LUK_RAND_MIN, DPB::PSPDS::OP_1_LUK_RAND_MAX)))
 2505.  #x's
 2506.  add_xparam(0, -(DPB::PSPDS::OPTION_1_HIT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_HIT_RAND_MIN, DPB::PSPDS::OP_1_HIT_RAND_MAX)))
 2507.  add_xparam(1, -(DPB::PSPDS::OPTION_1_EVA_GAIN + dpbz_randy(DPB::PSPDS::OP_1_EVA_RAND_MIN, DPB::PSPDS::OP_1_EVA_RAND_MAX)))
 2508.  add_xparam(2, -(DPB::PSPDS::OPTION_1_CRI_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CRI_RAND_MIN, DPB::PSPDS::OP_1_CRI_RAND_MAX)))
 2509.  add_xparam(3, -(DPB::PSPDS::OPTION_1_CEV_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CEV_RAND_MIN, DPB::PSPDS::OP_1_CEV_RAND_MAX)))
 2510.  add_xparam(4, -(DPB::PSPDS::OPTION_1_MEV_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MEV_RAND_MIN, DPB::PSPDS::OP_1_MEV_RAND_MAX)))
 2511.  add_xparam(5, -(DPB::PSPDS::OPTION_1_MRF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MRF_RAND_MIN, DPB::PSPDS::OP_1_MRF_RAND_MAX)))
 2512.  add_xparam(6, -(DPB::PSPDS::OPTION_1_CNT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CNT_RAND_MIN, DPB::PSPDS::OP_1_CNT_RAND_MAX)))
 2513.  add_xparam(7, -(DPB::PSPDS::OPTION_1_HRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_HRG_RAND_MIN, DPB::PSPDS::OP_1_HRG_RAND_MAX)))
 2514.  add_xparam(8, -(DPB::PSPDS::OPTION_1_MRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MRG_RAND_MIN, DPB::PSPDS::OP_1_MRG_RAND_MAX)))
 2515.  add_xparam(9, -(DPB::PSPDS::OPTION_1_TRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_TRG_RAND_MIN, DPB::PSPDS::OP_1_TRG_RAND_MAX)))
 2516.  #s's
 2517.  add_sparam(0, -(DPB::PSPDS::OPTION_1_TGR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_TGR_RAND_MIN, DPB::PSPDS::OP_1_TGR_RAND_MAX)))
 2518.  add_sparam(1, -(DPB::PSPDS::OPTION_1_GRD_GAIN + dpbz_randy(DPB::PSPDS::OP_1_GRD_RAND_MIN, DPB::PSPDS::OP_1_GRD_RAND_MAX)))
 2519.  add_sparam(2, -(DPB::PSPDS::OPTION_1_REC_GAIN + dpbz_randy(DPB::PSPDS::OP_1_REC_RAND_MIN, DPB::PSPDS::OP_1_REC_RAND_MAX)))
 2520.  add_sparam(3, -(DPB::PSPDS::OPTION_1_PHA_GAIN + dpbz_randy(DPB::PSPDS::OP_1_PHA_RAND_MIN, DPB::PSPDS::OP_1_PHA_RAND_MAX)))
 2521.  add_sparam(4, -(DPB::PSPDS::OPTION_1_MCR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MCR_RAND_MIN, DPB::PSPDS::OP_1_MCR_RAND_MAX)))
 2522.  add_sparam(5, -(DPB::PSPDS::OPTION_1_TCR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_TCR_RAND_MIN, DPB::PSPDS::OP_1_TCR_RAND_MAX)))
 2523.  add_sparam(6, -(DPB::PSPDS::OPTION_1_PDR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_PDR_RAND_MIN, DPB::PSPDS::OP_1_PDR_RAND_MAX)))
 2524.  add_sparam(7, -(DPB::PSPDS::OPTION_1_MDR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MDR_RAND_MIN, DPB::PSPDS::OP_1_MDR_RAND_MAX)))
 2525.  add_sparam(8, -(DPB::PSPDS::OPTION_1_FDR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_FDR_RAND_MIN, DPB::PSPDS::OP_1_FDR_RAND_MAX)))
 2526.  add_sparam(9, -(DPB::PSPDS::OPTION_1_EXR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_EXR_RAND_MIN, DPB::PSPDS::OP_1_EXR_RAND_MAX)))
 2527.  #dpbz'
 2528.  add_dpbzparam(0, -(1))
 2529.  }
 2530.end
 2531.
 2532.def reduce_str(value)
 2533.  value.times{||
 2534.  #reg's
 2535.  add_param(0, -(DPB::PSPDS::OPTION_2_MaxHP_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MaxHP_RAND_MIN, DPB::PSPDS::OP_1_MaxHP_RAND_MAX)))
 2536.  add_param(1, -(DPB::PSPDS::OPTION_2_MaxMP_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MaxMP_RAND_MIN, DPB::PSPDS::OP_1_MaxMP_RAND_MAX)))
 2537.  add_param(2, -(DPB::PSPDS::OPTION_2_ATK_GAIN + dpbz_randy(DPB::PSPDS::OP_1_ATK_RAND_MIN, DPB::PSPDS::OP_1_ATK_RAND_MAX)))
 2538.  add_param(3, -(DPB::PSPDS::OPTION_2_DEF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_DEF_RAND_MIN, DPB::PSPDS::OP_1_DEF_RAND_MAX)))
 2539.  add_param(4, -(DPB::PSPDS::OPTION_2_MAT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MAT_RAND_MIN, DPB::PSPDS::OP_1_MAT_RAND_MAX)))
 2540.  add_param(5, -(DPB::PSPDS::OPTION_2_MDF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MDF_RAND_MIN, DPB::PSPDS::OP_1_MDF_RAND_MAX)))
 2541.  add_param(6, -(DPB::PSPDS::OPTION_2_AGI_GAIN + dpbz_randy(DPB::PSPDS::OP_1_AGI_RAND_MIN, DPB::PSPDS::OP_1_AGI_RAND_MAX)))
 2542.  add_param(7, -(DPB::PSPDS::OPTION_2_LUK_GAIN + dpbz_randy(DPB::PSPDS::OP_1_LUK_RAND_MIN, DPB::PSPDS::OP_1_LUK_RAND_MAX)))
 2543.  #x's
 2544.  add_xparam(0, -(DPB::PSPDS::OPTION_2_HIT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_HIT_RAND_MIN, DPB::PSPDS::OP_1_HIT_RAND_MAX)))
 2545.  add_xparam(1, -(DPB::PSPDS::OPTION_2_EVA_GAIN + dpbz_randy(DPB::PSPDS::OP_1_EVA_RAND_MIN, DPB::PSPDS::OP_1_EVA_RAND_MAX)))
 2546.  add_xparam(2, -(DPB::PSPDS::OPTION_2_CRI_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CRI_RAND_MIN, DPB::PSPDS::OP_1_CRI_RAND_MAX)))
 2547.  add_xparam(3, -(DPB::PSPDS::OPTION_2_CEV_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CEV_RAND_MIN, DPB::PSPDS::OP_1_CEV_RAND_MAX)))
 2548.  add_xparam(4, -(DPB::PSPDS::OPTION_2_MEV_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MEV_RAND_MIN, DPB::PSPDS::OP_1_MEV_RAND_MAX)))
 2549.  add_xparam(5, -(DPB::PSPDS::OPTION_2_MRF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MRF_RAND_MIN, DPB::PSPDS::OP_1_MRF_RAND_MAX)))
 2550.  add_xparam(6, -(DPB::PSPDS::OPTION_2_CNT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CNT_RAND_MIN, DPB::PSPDS::OP_1_CNT_RAND_MAX)))
 2551.  add_xparam(7, -(DPB::PSPDS::OPTION_2_HRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_HRG_RAND_MIN, DPB::PSPDS::OP_1_HRG_RAND_MAX)))
 2552.  add_xparam(8, -(DPB::PSPDS::OPTION_2_MRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MRG_RAND_MIN, DPB::PSPDS::OP_1_MRG_RAND_MAX)))
 2553.  add_xparam(9, -(DPB::PSPDS::OPTION_2_TRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_TRG_RAND_MIN, DPB::PSPDS::OP_1_TRG_RAND_MAX)))
 2554.  #s's
 2555.  add_sparam(0, -(DPB::PSPDS::OPTION_2_TGR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_TGR_RAND_MIN, DPB::PSPDS::OP_2_TGR_RAND_MAX)))
 2556.  add_sparam(1, -(DPB::PSPDS::OPTION_2_GRD_GAIN + dpbz_randy(DPB::PSPDS::OP_2_GRD_RAND_MIN, DPB::PSPDS::OP_2_GRD_RAND_MAX)))
 2557.  add_sparam(2, -(DPB::PSPDS::OPTION_2_REC_GAIN + dpbz_randy(DPB::PSPDS::OP_2_REC_RAND_MIN, DPB::PSPDS::OP_2_REC_RAND_MAX)))
 2558.  add_sparam(3, -(DPB::PSPDS::OPTION_2_PHA_GAIN + dpbz_randy(DPB::PSPDS::OP_2_PHA_RAND_MIN, DPB::PSPDS::OP_2_PHA_RAND_MAX)))
 2559.  add_sparam(4, -(DPB::PSPDS::OPTION_2_MCR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_MCR_RAND_MIN, DPB::PSPDS::OP_2_MCR_RAND_MAX)))
 2560.  add_sparam(5, -(DPB::PSPDS::OPTION_2_TCR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_TCR_RAND_MIN, DPB::PSPDS::OP_2_TCR_RAND_MAX)))
 2561.  add_sparam(6, -(DPB::PSPDS::OPTION_2_PDR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_PDR_RAND_MIN, DPB::PSPDS::OP_2_PDR_RAND_MAX)))
 2562.  add_sparam(7, -(DPB::PSPDS::OPTION_2_MDR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_MDR_RAND_MIN, DPB::PSPDS::OP_2_MDR_RAND_MAX)))
 2563.  add_sparam(8, -(DPB::PSPDS::OPTION_2_FDR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_FDR_RAND_MIN, DPB::PSPDS::OP_2_FDR_RAND_MAX)))
 2564.  add_sparam(9, -(DPB::PSPDS::OPTION_2_EXR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_EXR_RAND_MIN, DPB::PSPDS::OP_2_EXR_RAND_MAX)))
 2565.  #dpbz'
 2566.  add_dpbzparam(1, -(1))
 2567.  }
 2568.end
 2569.
 2570.def reduce_dex(value)
 2571.  value.times{||
 2572.  #reg's
 2573.  add_param(0, -(DPB::PSPDS::OPTION_3_MaxHP_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MaxHP_RAND_MIN, DPB::PSPDS::OP_1_MaxHP_RAND_MAX)))
 2574.  add_param(1, -(DPB::PSPDS::OPTION_3_MaxMP_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MaxMP_RAND_MIN, DPB::PSPDS::OP_1_MaxMP_RAND_MAX)))
 2575.  add_param(2, -(DPB::PSPDS::OPTION_3_ATK_GAIN + dpbz_randy(DPB::PSPDS::OP_3_ATK_RAND_MIN, DPB::PSPDS::OP_3_ATK_RAND_MAX)))
 2576.  add_param(3, -(DPB::PSPDS::OPTION_3_DEF_GAIN + dpbz_randy(DPB::PSPDS::OP_3_DEF_RAND_MIN, DPB::PSPDS::OP_3_DEF_RAND_MAX)))
 2577.  add_param(4, -(DPB::PSPDS::OPTION_3_MAT_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MAT_RAND_MIN, DPB::PSPDS::OP_3_MAT_RAND_MAX)))
 2578.  add_param(5, -(DPB::PSPDS::OPTION_3_MDF_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MDF_RAND_MIN, DPB::PSPDS::OP_3_MDF_RAND_MAX)))
 2579.  add_param(6, -(DPB::PSPDS::OPTION_3_AGI_GAIN + dpbz_randy(DPB::PSPDS::OP_3_AGI_RAND_MIN, DPB::PSPDS::OP_3_AGI_RAND_MAX)))
 2580.  add_param(7, -(DPB::PSPDS::OPTION_3_LUK_GAIN + dpbz_randy(DPB::PSPDS::OP_3_LUK_RAND_MIN, DPB::PSPDS::OP_3_LUK_RAND_MAX)))
 2581.  #x's
 2582.  add_xparam(0, -(DPB::PSPDS::OPTION_3_HIT_GAIN + dpbz_randy(DPB::PSPDS::OP_3_HIT_RAND_MIN, DPB::PSPDS::OP_3_HIT_RAND_MAX)))
 2583.  add_xparam(1, -(DPB::PSPDS::OPTION_3_EVA_GAIN + dpbz_randy(DPB::PSPDS::OP_3_EVA_RAND_MIN, DPB::PSPDS::OP_3_EVA_RAND_MAX)))
 2584.  add_xparam(2, -(DPB::PSPDS::OPTION_3_CRI_GAIN + dpbz_randy(DPB::PSPDS::OP_3_CRI_RAND_MIN, DPB::PSPDS::OP_3_CRI_RAND_MAX)))
 2585.  add_xparam(3, -(DPB::PSPDS::OPTION_3_CEV_GAIN + dpbz_randy(DPB::PSPDS::OP_3_CEV_RAND_MIN, DPB::PSPDS::OP_3_CEV_RAND_MAX)))
 2586.  add_xparam(4, -(DPB::PSPDS::OPTION_3_MEV_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MEV_RAND_MIN, DPB::PSPDS::OP_3_MEV_RAND_MAX)))
 2587.  add_xparam(5, -(DPB::PSPDS::OPTION_3_MRF_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MRF_RAND_MIN, DPB::PSPDS::OP_3_MRF_RAND_MAX)))
 2588.  add_xparam(6, -(DPB::PSPDS::OPTION_3_CNT_GAIN + dpbz_randy(DPB::PSPDS::OP_3_CNT_RAND_MIN, DPB::PSPDS::OP_3_CNT_RAND_MAX)))
 2589.  add_xparam(7, -(DPB::PSPDS::OPTION_3_HRG_GAIN + dpbz_randy(DPB::PSPDS::OP_3_HRG_RAND_MIN, DPB::PSPDS::OP_3_HRG_RAND_MAX)))
 2590.  add_xparam(8, -(DPB::PSPDS::OPTION_3_MRG_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MRG_RAND_MIN, DPB::PSPDS::OP_3_MRG_RAND_MAX)))
 2591.  add_xparam(9, -(DPB::PSPDS::OPTION_3_TRG_GAIN + dpbz_randy(DPB::PSPDS::OP_3_TRG_RAND_MIN, DPB::PSPDS::OP_3_TRG_RAND_MAX)))
 2592.  #s's
 2593.  add_sparam(0, -(DPB::PSPDS::OPTION_3_TGR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_TGR_RAND_MIN, DPB::PSPDS::OP_3_TGR_RAND_MAX)))
 2594.  add_sparam(1, -(DPB::PSPDS::OPTION_3_GRD_GAIN + dpbz_randy(DPB::PSPDS::OP_3_GRD_RAND_MIN, DPB::PSPDS::OP_3_GRD_RAND_MAX)))
 2595.  add_sparam(2, -(DPB::PSPDS::OPTION_3_REC_GAIN + dpbz_randy(DPB::PSPDS::OP_3_REC_RAND_MIN, DPB::PSPDS::OP_3_REC_RAND_MAX)))
 2596.  add_sparam(3, -(DPB::PSPDS::OPTION_3_PHA_GAIN + dpbz_randy(DPB::PSPDS::OP_3_PHA_RAND_MIN, DPB::PSPDS::OP_3_PHA_RAND_MAX)))
 2597.  add_sparam(4, -(DPB::PSPDS::OPTION_3_MCR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MCR_RAND_MIN, DPB::PSPDS::OP_3_MCR_RAND_MAX)))
 2598.  add_sparam(5, -(DPB::PSPDS::OPTION_3_TCR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_TCR_RAND_MIN, DPB::PSPDS::OP_3_TCR_RAND_MAX)))
 2599.  add_sparam(6, -(DPB::PSPDS::OPTION_3_PDR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_PDR_RAND_MIN, DPB::PSPDS::OP_3_PDR_RAND_MAX)))
 2600.  add_sparam(7, -(DPB::PSPDS::OPTION_3_MDR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MDR_RAND_MIN, DPB::PSPDS::OP_3_MDR_RAND_MAX)))
 2601.  add_sparam(8, -(DPB::PSPDS::OPTION_3_FDR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_FDR_RAND_MIN, DPB::PSPDS::OP_3_FDR_RAND_MAX)))
 2602.  add_sparam(9, -(DPB::PSPDS::OPTION_3_EXR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_EXR_RAND_MIN, DPB::PSPDS::OP_3_EXR_RAND_MAX)))
 2603.  #dpbz'
 2604.  add_dpbzparam(2, -(1))
 2605.  }
 2606.end
 2607.
 2608.def reduce_mag(value)
 2609.  value.times{||
 2610.  #reg's
 2611.  add_param(0, -(DPB::PSPDS::OPTION_4_MaxHP_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MaxHP_RAND_MIN, DPB::PSPDS::OP_4_MaxHP_RAND_MAX)))
 2612.  add_param(1, -(DPB::PSPDS::OPTION_4_MaxMP_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MaxMP_RAND_MIN, DPB::PSPDS::OP_4_MaxMP_RAND_MAX)))
 2613.  add_param(2, -(DPB::PSPDS::OPTION_4_ATK_GAIN + dpbz_randy(DPB::PSPDS::OP_4_ATK_RAND_MIN, DPB::PSPDS::OP_4_ATK_RAND_MAX)))
 2614.  add_param(3, -(DPB::PSPDS::OPTION_4_DEF_GAIN + dpbz_randy(DPB::PSPDS::OP_4_DEF_RAND_MIN, DPB::PSPDS::OP_4_DEF_RAND_MAX)))
 2615.  add_param(4, -(DPB::PSPDS::OPTION_4_MAT_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MAT_RAND_MIN, DPB::PSPDS::OP_4_MAT_RAND_MAX)))
 2616.  add_param(5, -(DPB::PSPDS::OPTION_4_MDF_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MDF_RAND_MIN, DPB::PSPDS::OP_4_MDF_RAND_MAX)))
 2617.  add_param(6, -(DPB::PSPDS::OPTION_4_AGI_GAIN + dpbz_randy(DPB::PSPDS::OP_4_AGI_RAND_MIN, DPB::PSPDS::OP_4_AGI_RAND_MAX)))
 2618.  add_param(7, -(DPB::PSPDS::OPTION_4_LUK_GAIN + dpbz_randy(DPB::PSPDS::OP_4_LUK_RAND_MIN, DPB::PSPDS::OP_4_LUK_RAND_MAX)))
 2619.  #x's
 2620.  add_xparam(0, -(DPB::PSPDS::OPTION_4_HIT_GAIN + dpbz_randy(DPB::PSPDS::OP_4_HIT_RAND_MIN, DPB::PSPDS::OP_4_HIT_RAND_MAX)))
 2621.  add_xparam(1, -(DPB::PSPDS::OPTION_4_EVA_GAIN + dpbz_randy(DPB::PSPDS::OP_4_EVA_RAND_MIN, DPB::PSPDS::OP_4_EVA_RAND_MAX)))
 2622.  add_xparam(2, -(DPB::PSPDS::OPTION_4_CRI_GAIN + dpbz_randy(DPB::PSPDS::OP_4_CRI_RAND_MIN, DPB::PSPDS::OP_4_CRI_RAND_MAX)))
 2623.  add_xparam(3, -(DPB::PSPDS::OPTION_4_CEV_GAIN + dpbz_randy(DPB::PSPDS::OP_4_CEV_RAND_MIN, DPB::PSPDS::OP_4_CEV_RAND_MAX)))
 2624.  add_xparam(4, -(DPB::PSPDS::OPTION_4_MEV_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MEV_RAND_MIN, DPB::PSPDS::OP_4_MEV_RAND_MAX)))
 2625.  add_xparam(5, -(DPB::PSPDS::OPTION_4_MRF_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MRF_RAND_MIN, DPB::PSPDS::OP_4_MRF_RAND_MAX)))
 2626.  add_xparam(6, -(DPB::PSPDS::OPTION_4_CNT_GAIN + dpbz_randy(DPB::PSPDS::OP_4_CNT_RAND_MIN, DPB::PSPDS::OP_4_CNT_RAND_MAX)))
 2627.  add_xparam(7, -(DPB::PSPDS::OPTION_4_HRG_GAIN + dpbz_randy(DPB::PSPDS::OP_4_HRG_RAND_MIN, DPB::PSPDS::OP_4_HRG_RAND_MAX)))
 2628.  add_xparam(8, -(DPB::PSPDS::OPTION_4_MRG_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MRG_RAND_MIN, DPB::PSPDS::OP_4_MRG_RAND_MAX)))
 2629.  add_xparam(9, -(DPB::PSPDS::OPTION_4_TRG_GAIN + dpbz_randy(DPB::PSPDS::OP_4_TRG_RAND_MIN, DPB::PSPDS::OP_4_TRG_RAND_MAX)))
 2630.  #s's
 2631.  add_sparam(0, -(DPB::PSPDS::OPTION_4_TGR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_TGR_RAND_MIN, DPB::PSPDS::OP_4_TGR_RAND_MAX)))
 2632.  add_sparam(1, -(DPB::PSPDS::OPTION_4_GRD_GAIN + dpbz_randy(DPB::PSPDS::OP_4_GRD_RAND_MIN, DPB::PSPDS::OP_4_GRD_RAND_MAX)))
 2633.  add_sparam(2, -(DPB::PSPDS::OPTION_4_REC_GAIN + dpbz_randy(DPB::PSPDS::OP_4_REC_RAND_MIN, DPB::PSPDS::OP_4_REC_RAND_MAX)))
 2634.  add_sparam(3, -(DPB::PSPDS::OPTION_4_PHA_GAIN + dpbz_randy(DPB::PSPDS::OP_4_PHA_RAND_MIN, DPB::PSPDS::OP_4_PHA_RAND_MAX)))
 2635.  add_sparam(4, -(DPB::PSPDS::OPTION_4_MCR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MCR_RAND_MIN, DPB::PSPDS::OP_4_MCR_RAND_MAX)))
 2636.  add_sparam(5, -(DPB::PSPDS::OPTION_4_TCR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_TCR_RAND_MIN, DPB::PSPDS::OP_4_TCR_RAND_MAX)))
 2637.  add_sparam(6, -(DPB::PSPDS::OPTION_4_PDR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_PDR_RAND_MIN, DPB::PSPDS::OP_4_PDR_RAND_MAX)))
 2638.  add_sparam(7, -(DPB::PSPDS::OPTION_4_MDR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MDR_RAND_MIN, DPB::PSPDS::OP_4_MDR_RAND_MAX)))
 2639.  add_sparam(8, -(DPB::PSPDS::OPTION_4_FDR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_FDR_RAND_MIN, DPB::PSPDS::OP_4_FDR_RAND_MAX)))
 2640.  add_sparam(9, -(DPB::PSPDS::OPTION_4_EXR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_EXR_RAND_MIN, DPB::PSPDS::OP_4_EXR_RAND_MAX)))
 2641.  #dpbz'
 2642.  add_dpbzparam(3, -(1))
 2643.  }
 2644.end
 2645.
 2646.end # Game_Actor
 2647.
 2648.#===============================================================================#
 2649.#                                                                               #
 2650.#                                   PSPDS                                       #
 2651.#                   (Perfect Stat Point Distribution System)                    #
 2652.#                               - SCRIPT END -                                  #
 2653.#                                                                               #
 2654.#===============================================================================#
 2655.#                      http://dekitarpg.wordpress.com/
 2656.#===============================================================================#
 | 
 |