Project1

标题: 加点脚本问题 [打印本页]

作者: 胡杜钊    时间: 2014-2-6 17:30
标题: 加点脚本问题
1.=begin =========================================================================
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.#===============================================================================#
作者: 胡杜钊    时间: 2014-2-6 17:31
这个脚本怎么有问题
作者: 江户川洛奇    时间: 2014-2-6 17:32
如果你先说脚本报错的话就把每行的数字去掉!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1