Advertisement
Dekita

pspds2.2

Jan 15th, 2013
4,590
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 112.67 KB | None | 0 0
  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 DekitaRPG@gmail.com
  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(-@actor.cost_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(-@actor.cost_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(-@actor.cost_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(-@actor.cost_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. #===============================================================================#
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement