Advertisement
Dekita

pspds 2.0

Nov 9th, 2012
361
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 113.16 KB | None | 0 0
  1. =begin =========================================================================
  2. Dekita's v2.0
  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. ================================================================================
  42. ★☆★☆★☆★☆★☆★☆★☆★ TERMS AND CONDITIONS: ☆★☆★☆★☆★☆★☆★☆★☆★☆
  43. ================================================================================
  44. 1. You must give credit to "Dekita"
  45. 2. You are NOT allowed to repost this script.(or modified versions)
  46. 3. You are NOT allowed to convert this script.(into other game engines e.g RGSS2)
  47. 4. You are NOT allowed to use this script for Commercial games.
  48. 5. ENJOY!
  49.  
  50. "FINE PRINT"
  51. By using this script you hereby agree to the above terms and conditions,
  52. if any violation of the above terms occurs "legal action" may be taken.
  53. Not understanding the above terms and conditions does NOT mean that
  54. they do not apply to you.
  55. If you wish to discuss the terms and conditions in further detail you can
  56. contact me at http://dekitarpg.wordpress.com/ or DekitaRPG@gmail.com
  57.  
  58. ================================================================================
  59. History:
  60. =========
  61. D /M /Y
  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 = 5 # 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. alias dpbzGAsetup setup
  1338. def setup(actor_id)
  1339. dpbzGAsetup(actor_id)
  1340. clear_dpbzparam_plus
  1341. clear_xparam_plus
  1342. clear_sparam_plus
  1343. end
  1344.  
  1345. def cost_caract(param)
  1346. tbl = [DPB::PSPDS::OPTION_1_COST,
  1347. DPB::PSPDS::OPTION_2_COST,
  1348. DPB::PSPDS::OPTION_3_COST,
  1349. DPB::PSPDS::OPTION_4_COST]
  1350. return tbl[param]
  1351. end
  1352.  
  1353. def gain_lvl_pts(value)
  1354. @level_up_pts += value
  1355. if @level_up_pts < 0
  1356. @level_up_pts = 0
  1357. end
  1358. end
  1359.  
  1360. def change_max_vit(value)
  1361. @MAX_VIT = value
  1362. end
  1363.  
  1364. def change_max_str(value)
  1365. @MAX_STR = value
  1366. end
  1367.  
  1368. def change_max_dex(value)
  1369. @MAX_DEX = value
  1370. end
  1371.  
  1372. def change_max_mag(value)
  1373. @MAX_MAG = value
  1374. end
  1375.  
  1376. def param_base(param_id)
  1377. if DPB::PSPDS::USE_DEFAULT_PARAM_GAIN
  1378. return self.class.params[param_id, @level]
  1379. else
  1380. return self.class.params[param_id, actor.initial_level]
  1381. end
  1382. end
  1383.  
  1384. alias pspds_level_up level_up
  1385. def level_up
  1386. pspds_level_up
  1387. $game_temp.actor_level_up.push(self) unless $game_temp.actor_level_up.include?(self)
  1388. gain_lvl_pts($pts) if !DPB::PSPDS::ONLY_GAIN_POINTS_ON_LEVELS
  1389. if DPB::PSPDS::BONUS_POINTS_ON_LEVELS
  1390. return unless DPB::PSPDS::LEVELS.include?(@level)
  1391. gain_lvl_pts($bonuspts)
  1392. end
  1393. end
  1394.  
  1395. def mod_vit_params
  1396. 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))
  1397. 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))
  1398. 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))
  1399. 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))
  1400. 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))
  1401. 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))
  1402. 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))
  1403. 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))
  1404. #x's
  1405. 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))
  1406. 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))
  1407. 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))
  1408. 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))
  1409. 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))
  1410. 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))
  1411. 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))
  1412. 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))
  1413. 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))
  1414. 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))
  1415. #s's
  1416. 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))
  1417. 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))
  1418. 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))
  1419. 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))
  1420. 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))
  1421. 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))
  1422. 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))
  1423. 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))
  1424. 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))
  1425. 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))
  1426. #dpbz'
  1427. add_dpbzparam(0, 1)
  1428. end
  1429.  
  1430. def mod_str_params
  1431. #reg's
  1432. 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))
  1433. 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))
  1434. 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))
  1435. 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))
  1436. 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))
  1437. 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))
  1438. 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))
  1439. 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))
  1440. #x's
  1441. 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))
  1442. 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))
  1443. 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))
  1444. 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))
  1445. 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))
  1446. 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))
  1447. 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))
  1448. 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))
  1449. 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))
  1450. 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))
  1451. #s's
  1452. 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))
  1453. 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))
  1454. 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))
  1455. 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))
  1456. 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))
  1457. 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))
  1458. 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))
  1459. 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))
  1460. 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))
  1461. 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))
  1462. #dpbz'
  1463. add_dpbzparam(1, 1)
  1464. end
  1465.  
  1466. def mod_dex_params
  1467. #reg's
  1468. 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))
  1469. 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))
  1470. 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))
  1471. 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))
  1472. 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))
  1473. 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))
  1474. 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))
  1475. 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))
  1476. #x's
  1477. 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))
  1478. 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))
  1479. 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))
  1480. 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))
  1481. 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))
  1482. 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))
  1483. 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))
  1484. 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))
  1485. 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))
  1486. 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))
  1487. #s's
  1488. 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))
  1489. 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))
  1490. 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))
  1491. 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))
  1492. 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))
  1493. 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))
  1494. 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))
  1495. 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))
  1496. 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))
  1497. 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))
  1498. #dpbz'
  1499. add_dpbzparam(2, 1)
  1500. end
  1501.  
  1502. def mod_mag_params
  1503. #reg's
  1504. 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))
  1505. 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))
  1506. 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))
  1507. 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))
  1508. 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))
  1509. 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))
  1510. 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))
  1511. 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))
  1512. #x's
  1513. 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))
  1514. 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))
  1515. 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))
  1516. 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))
  1517. 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))
  1518. 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))
  1519. 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))
  1520. 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))
  1521. 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))
  1522. 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))
  1523. #s's
  1524. 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))
  1525. 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))
  1526. 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))
  1527. 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))
  1528. 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))
  1529. 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))
  1530. 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))
  1531. 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))
  1532. 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))
  1533. 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))
  1534. #dpbz'
  1535. add_dpbzparam(3, 1)
  1536. end
  1537.  
  1538. end # Game_Actor
  1539.  
  1540. #==============================================================================
  1541. class Game_Interpreter
  1542. #==============================================================================
  1543. def change_MaxVIT(actor_id, value)
  1544. actor = $game_actors[actor_id]
  1545. return if actor == nil
  1546. actor.change_max_vit(value)
  1547. end
  1548.  
  1549. def change_MaxSTR(actor_id, value)
  1550. actor = $game_actors[actor_id]
  1551. return if actor == nil
  1552. actor.change_max_str(value)
  1553. end
  1554.  
  1555. def change_MaxDEX(actor_id, value)
  1556. actor = $game_actors[actor_id]
  1557. return if actor == nil
  1558. actor.change_max_dex(value)
  1559. end
  1560.  
  1561. def change_MaxMAG(actor_id, value)
  1562. actor = $game_actors[actor_id]
  1563. return if actor == nil
  1564. actor.change_max_mag(value)
  1565. end
  1566.  
  1567. def gain_pts(actor_id, value)
  1568. actor = $game_actors[actor_id]
  1569. return if actor == nil
  1570. actor.gain_lvl_pts(value)
  1571. end
  1572.  
  1573. def gain_atti(actor_id, value)
  1574. actor = $game_actors[actor_id]
  1575. return if actor == nil
  1576. actor.gain_atti_ptz(value)
  1577. end
  1578.  
  1579. def inc_vit(actor_id, value)
  1580. actor = $game_actors[actor_id]
  1581. return if actor == nil
  1582. t = 1
  1583. loop do
  1584. actor.mod_vit_params
  1585. if t == value
  1586. break
  1587. end
  1588. t += 1
  1589. end
  1590. end
  1591.  
  1592. def inc_str(actor_id, value)
  1593. actor = $game_actors[actor_id]
  1594. return if actor == nil
  1595. t = 1
  1596. loop do
  1597. actor.mod_str_params
  1598. if t == value
  1599. break
  1600. end
  1601. t += 1
  1602. end
  1603. end
  1604.  
  1605. def inc_dex(actor_id, value)
  1606. actor = $game_actors[actor_id]
  1607. return if actor == nil
  1608. t = 1
  1609. loop do
  1610. actor.mod_dex_params
  1611. if t == value
  1612. break
  1613. end
  1614. t += 1
  1615. end
  1616. end
  1617.  
  1618. def inc_mag(actor_id, value)
  1619. actor = $game_actors[actor_id]
  1620. return if actor == nil
  1621. t = 1
  1622. loop do
  1623. actor.mod_mag_params
  1624. if t == value
  1625. break
  1626. end
  1627. t += 1
  1628. end
  1629. end
  1630. end# class
  1631.  
  1632. #===============================================================================#
  1633. # ☆ WINDOWS
  1634. #===============================================================================#
  1635. # http://dekitarpg.wordpress.com/
  1636. #===============================================================================#
  1637. class Window_Level_upCommand < Window_Command
  1638. #===============================================================================#
  1639. def initialize
  1640. super(0, 300)
  1641. @actor = $game_temp.actor_level_up[0]
  1642. @@last_command_symbol = nil
  1643. select_last
  1644. self.opacity = 0
  1645. end
  1646.  
  1647.  
  1648. def actor=(actor)
  1649. return if @actor == actor
  1650. @actor = actor
  1651. refresh
  1652. end
  1653.  
  1654.  
  1655. def window_width
  1656. return (Graphics.width - 24) / 4.15 + (DPB::PSPDS::COMMAND_COLUMN_EXTRA_WIDTH)
  1657. end
  1658.  
  1659.  
  1660. def window_height
  1661. return 344
  1662. end
  1663.  
  1664. def visible_line_number
  1665. item_max
  1666. end
  1667.  
  1668. def make_command_list
  1669. for command in DPB::PSPDS::COMMANDS
  1670. case command
  1671. when :Vitality ; add_command("", :gain_vit)
  1672. when :Strength ; add_command("", :gain_str)
  1673. when :Dexterity ; add_command("", :gain_dex)
  1674. when :Magic ; add_command("", :gain_mag)
  1675. end
  1676. end
  1677. end
  1678.  
  1679. def process_ok
  1680. @@last_command_symbol = current_symbol
  1681. super
  1682. end
  1683.  
  1684. def select_last
  1685. select_symbol(@@last_command_symbol)
  1686. end
  1687.  
  1688. end# Window_Level_upCommand
  1689.  
  1690. #==============================================================================
  1691. class Window_Status_Level_up < Window_Selectable
  1692. #==============================================================================
  1693.  
  1694. #include Dekita__CORE__Module
  1695.  
  1696. def initialize(actor)
  1697. super(-50, -50, window_width, window_height)
  1698. contents.font.size = Dekita__CORE::Info_Font_Size
  1699. @actor = actor
  1700. refresh
  1701. activate
  1702. end
  1703.  
  1704. def actor=(actor)
  1705. return if @actor == actor
  1706. @actor = actor
  1707. refresh
  1708. end
  1709.  
  1710. def window_width; return Graphics.width - 0; end
  1711.  
  1712. def window_height; return Graphics.height - 0; end
  1713.  
  1714. def refresh
  1715. contents.clear
  1716. draw_block1(line_height * 1)
  1717. draw_block2(line_height * 1)
  1718. end
  1719.  
  1720. def draw_block1(y)
  1721. draw_actor_face(@actor, window_width / 2.5, 0)
  1722. if DPB::PSPDS::DRAW_ACTOR_GRAPHIC
  1723. draw_actor_graphic(@actor, DPB::PSPDS::DAG_X, DPB::PSPDS::DAG_Y)#, 50)
  1724. end
  1725. end
  1726.  
  1727. def draw_block2(y)
  1728. draw_basic_info(32, y)
  1729. draw_points_column
  1730. end
  1731.  
  1732. def draw_horz_line(y)
  1733. line_y = y + line_height / 2 - 1
  1734. contents.fill_rect(0, line_y, contents_width, 2, line_color)
  1735. end
  1736.  
  1737. def line_color
  1738. color = normal_color
  1739. color.alpha = 48
  1740. color
  1741. end
  1742.  
  1743. def draw_basic_info(x, y)
  1744. draw_actor_icons(@actor, (window_width - 24) / 2.5, y + line_height * 3)
  1745. draw_properties_paramcolumn
  1746. contents.font.size = Dekita__CORE::Info_Font_Size
  1747. draw_horz_line(line_height * 4)
  1748. draw_horz_line(Graphics.height - line_height * 4)
  1749. draw_new_stats_column
  1750. draw_properties_column1
  1751. draw_properties_column2
  1752. reset_font_settings
  1753. end
  1754.  
  1755. def draw_points_column
  1756. dx = (window_width - 24) / 5 * 4
  1757. dw = (window_width - 24) / 5
  1758. dy = 0
  1759. for property in DPB::PSPDS::POINTS_COLUMN
  1760. dy = draw_points_info_DPBz(property, @actor, dx, dy, dw)
  1761. end
  1762. end
  1763.  
  1764. def draw_new_stats_column
  1765. dx = 0
  1766. dw = (window_width - 24) / 5
  1767. dy = 0
  1768. for property in DPB::PSPDS::NEW_STATS_COLUMN
  1769. dy = draw_stat_info_DPBz(property, @actor, dx, dy, dw)
  1770. end
  1771. end
  1772.  
  1773. def draw_properties_column1
  1774. dx = window_width / 3 * 1 - 6
  1775. dw = window_width / 3 - 12
  1776. dy = line_height * 4.7
  1777. for property in DPB::PSPDS::PROPERTIES_COLUMN1
  1778. dy = draw_stat_info_DPBz(property, @actor, dx, dy, dw)
  1779. end
  1780. end
  1781.  
  1782. def draw_properties_column2
  1783. dx = window_width / 3 * 2 - 12
  1784. dw = window_width / 3 - 12
  1785. dy = line_height * 4.7
  1786. for property in DPB::PSPDS::PROPERTIES_COLUMN2
  1787. dy = draw_stat_info_DPBz(property, @actor, dx, dy, dw)
  1788. end
  1789. end
  1790.  
  1791. def draw_properties_paramcolumn
  1792. dx = window_width / 3 * 0
  1793. dw = ((window_width) / 3) - 12
  1794. dy = line_height * 4.7
  1795. for property in DPB::PSPDS::PROPERTIES_PARAMCOLUMN
  1796. dy = draw_stat_info_DPBz(property, @actor, dx, dy, dw)
  1797. end
  1798. end#
  1799.  
  1800. end # Window_Status_Level_up
  1801.  
  1802. #===============================================================================#
  1803. # ☆ SCENES
  1804. #===============================================================================#
  1805. # http://dekitarpg.wordpress.com/
  1806. #===============================================================================#
  1807. if DPB::PSPDS::ONMAP
  1808. #==============================================================================
  1809. class Scene_Map < Scene_Base # < Only used if "ONMAP" is true
  1810. #==============================================================================
  1811. alias old_update update
  1812. def update
  1813. old_update
  1814. if $game_temp.actor_level_up[0]
  1815. SceneManager.call(Scene_Level_Up)
  1816. end
  1817. end
  1818. end# class
  1819. end# if
  1820.  
  1821. if DPB::PSPDS::INBATTLE
  1822. #==============================================================================
  1823. class Scene_Battle < Scene_Base # < Default setting. Only used when "INBATTLE" is true
  1824. #==============================================================================
  1825. alias old_update update
  1826. def update
  1827. old_update
  1828. if $game_temp.actor_level_up[0]
  1829. SceneManager.call(Scene_Level_Up)
  1830. end
  1831. end
  1832. end#class
  1833. end# if
  1834.  
  1835. #==============================================================================
  1836. class Scene_Level_Up < Scene_MenuBase
  1837. #==============================================================================
  1838. def msg
  1839. s = ["#{DPB::PSPDS::VIT_GAIN_VOCAB}
  1840. #{DPB::PSPDS::COST_VOCAB} #{@actor.cost_caract(0)}",
  1841. "#{DPB::PSPDS::STR_GAIN_VOCAB}
  1842. #{DPB::PSPDS::COST_VOCAB} #{@actor.cost_caract(1)}",
  1843. "#{DPB::PSPDS::DEX_GAIN_VOCAB}
  1844. #{DPB::PSPDS::COST_VOCAB} #{@actor.cost_caract(2)}",
  1845. "#{DPB::PSPDS::MAG_GAIN_VOCAB}
  1846. #{DPB::PSPDS::COST_VOCAB} #{@actor.cost_caract(3)}"]
  1847. return s
  1848. end
  1849.  
  1850. def start
  1851. super
  1852. if $game_temp.actor_level_up[0]
  1853. @actor = $game_temp.actor_level_up[0]
  1854. end
  1855. create_status_window
  1856. create_command_window
  1857. create_help_window
  1858. @help_window.set_text(msg[@command_window.index])
  1859. @help_window.y = (Graphics.height - 80)
  1860. @help_window.opacity = 0
  1861. $game_temp.actor_level_up.delete_at(0)
  1862. end
  1863.  
  1864. def create_command_window
  1865. @command_window = Window_Level_upCommand.new
  1866. @command_window.set_handler(:gain_vit, method(:command_gain_vit))
  1867. @command_window.set_handler(:gain_str, method(:command_gain_str))
  1868. @command_window.set_handler(:gain_dex, method(:command_gain_dex))
  1869. @command_window.set_handler(:gain_mag, method(:command_gain_mag))
  1870. @command_window.set_handler(:cancel, method(:exit_pspds_screen))
  1871. @command_window.set_handler(:pagedown, method(:next_actor))
  1872. @command_window.set_handler(:pageup, method(:prev_actor))
  1873. @command_window.y = 0
  1874. end
  1875.  
  1876. def create_status_window
  1877. @status_window = Window_Status_Level_up.new(@actor)
  1878. @status_window.x = 0
  1879. @status_window.y = 0
  1880. end
  1881.  
  1882. def exit_pspds_screen
  1883. return_scene
  1884. end
  1885.  
  1886. def command_gain_vit
  1887. @command_window.refresh
  1888. index = @command_window.index
  1889. if @actor.level_up_pts >= @actor.cost_caract(index) && @actor.vit < @actor.MAX_VIT
  1890. @actor.gain_lvl_pts(-@actor.cost_caract(index))
  1891. vit_option_stat_mods
  1892. @help_window.set_text(DPB::PSPDS::ADDSTATTEXT)
  1893. else
  1894. if @actor.vit == @actor.MAX_VIT
  1895. @help_window.set_text(DPB::PSPDS::MAX_VIT_VOCAB)
  1896. else
  1897. @help_window.set_text(DPB::PSPDS::NOPOINTSTEXT)
  1898. end # if
  1899. end # if
  1900. @status_window.refresh
  1901. @command_window.refresh
  1902. wait(DPB::PSPDS::WAIT_TIME)
  1903. @command_window.activate
  1904. end
  1905.  
  1906. def command_gain_str
  1907. @command_window.refresh
  1908. index = @command_window.index
  1909. if @actor.level_up_pts >= @actor.cost_caract(index) && @actor.str < @actor.MAX_STR
  1910. @actor.gain_lvl_pts(-@actor.cost_caract(index))
  1911. str_option_stat_mods
  1912. @help_window.set_text(DPB::PSPDS::ADDSTATTEXT)
  1913. else
  1914. if @actor.str == @actor.MAX_STR
  1915. @help_window.set_text(DPB::PSPDS::MAX_STR_VOCAB)
  1916. else
  1917. @help_window.set_text(DPB::PSPDS::NOPOINTSTEXT)
  1918. end # if
  1919. end # if
  1920. @status_window.refresh
  1921. @command_window.refresh
  1922. wait(DPB::PSPDS::WAIT_TIME)
  1923. @command_window.activate
  1924. end
  1925.  
  1926. def command_gain_dex
  1927. @command_window.refresh
  1928. index = @command_window.index
  1929. if @actor.level_up_pts >= @actor.cost_caract(index) && @actor.dex < @actor.MAX_DEX
  1930. @actor.gain_lvl_pts(-@actor.cost_caract(index))
  1931. dex_option_stat_mods
  1932. @help_window.set_text(DPB::PSPDS::ADDSTATTEXT)
  1933. else
  1934. if @actor.dex == @actor.MAX_DEX
  1935. @help_window.set_text(DPB::PSPDS::MAX_DEX_VOCAB)
  1936. else
  1937. @help_window.set_text(DPB::PSPDS::NOPOINTSTEXT)
  1938. end # if
  1939. end # if
  1940. @status_window.refresh
  1941. @command_window.refresh
  1942. wait(DPB::PSPDS::WAIT_TIME)
  1943. @command_window.activate
  1944. end
  1945.  
  1946. def command_gain_mag
  1947. @command_window.refresh
  1948. index = @command_window.index
  1949. if @actor.level_up_pts >= @actor.cost_caract(index) && @actor.mag < @actor.MAX_MAG
  1950. @actor.gain_lvl_pts(-@actor.cost_caract(index))
  1951. mag_option_stat_mods
  1952. @help_window.set_text(DPB::PSPDS::ADDSTATTEXT)
  1953. else
  1954. if @actor.mag == @actor.MAX_MAG
  1955. @help_window.set_text(DPB::PSPDS::MAX_MAG_VOCAB)
  1956. else
  1957. @help_window.set_text(DPB::PSPDS::NOPOINTSTEXT)
  1958. end # if
  1959. end # if
  1960. @status_window.refresh
  1961. @command_window.refresh
  1962. wait(DPB::PSPDS::WAIT_TIME)
  1963. @command_window.activate
  1964. end
  1965.  
  1966. def vit_option_stat_mods
  1967. @actor.mod_vit_params
  1968. end
  1969.  
  1970. def str_option_stat_mods
  1971. @actor.mod_str_params
  1972. end
  1973.  
  1974. def dex_option_stat_mods
  1975. @actor.mod_dex_params
  1976. end
  1977.  
  1978. def mag_option_stat_mods
  1979. @actor.mod_mag_params
  1980. end
  1981.  
  1982. def wait(time)
  1983. t = 0
  1984. loop do
  1985. update_basic
  1986. # Graphics.update
  1987. if t == time
  1988. break
  1989. end
  1990. t += 1
  1991. end
  1992. end
  1993.  
  1994. def update
  1995. super
  1996. @help_window.set_text(msg[@command_window.index])
  1997. end
  1998.  
  1999. def on_actor_change
  2000. @status_window.actor = @actor
  2001. @command_window.actor = @actor
  2002. @status_window.refresh
  2003. @command_window.activate
  2004. end
  2005.  
  2006. end # class
  2007. #===============================================================================#
  2008. # http://dekitarpg.wordpress.com/
  2009. #===============================================================================#
  2010. # Equipment Stats (vit, str, ect)
  2011. #==============================================================================
  2012. module DataManager
  2013. #==============================================================================
  2014.  
  2015. class <<self; alias load_database_PSPDS load_database; end
  2016. def self.load_database
  2017. load_database_PSPDS
  2018. load_notetags_PSPDS
  2019. end
  2020.  
  2021. def self.load_notetags_PSPDS
  2022. groups = [$data_weapons, $data_armors]
  2023. for group in groups
  2024. for obj in group
  2025. next if obj.nil?
  2026. obj.load_notetags_PSPDS
  2027. end
  2028. end
  2029. end
  2030.  
  2031. end # DataManager
  2032.  
  2033. #==============================================================================
  2034. class RPG::EquipItem < RPG::BaseItem
  2035. #==============================================================================
  2036.  
  2037. attr_accessor :dpbzparams
  2038. attr_accessor :xparams
  2039. attr_accessor :sparams
  2040.  
  2041. def load_notetags_PSPDS
  2042. @dpbzparams = [0] * 4
  2043. @xparams = [0] * 10
  2044. @sparams = [0] * 10
  2045. self.note.split(/[\r\n]+/).each { |line|
  2046. case line
  2047. when DPB::REGEXP::EQUIPITEM::INC_VIT
  2048. @dpbzparams[0] += $1.to_i
  2049. @params[0] += (DPB::PSPDS::OPTION_1_MaxHP_GAIN * $1.to_i)
  2050. @params[1] += (DPB::PSPDS::OPTION_1_MaxMP_GAIN * $1.to_i)
  2051. @params[2] += (DPB::PSPDS::OPTION_1_ATK_GAIN * $1.to_i)
  2052. @params[3] += (DPB::PSPDS::OPTION_1_DEF_GAIN * $1.to_i)
  2053. @params[4] += (DPB::PSPDS::OPTION_1_MAT_GAIN * $1.to_i)
  2054. @params[5] += (DPB::PSPDS::OPTION_1_MDF_GAIN * $1.to_i)
  2055. @params[6] += (DPB::PSPDS::OPTION_1_AGI_GAIN * $1.to_i)
  2056. @params[7] += (DPB::PSPDS::OPTION_1_LUK_GAIN * $1.to_i)
  2057. #x's
  2058. @xparams[0] += (DPB::PSPDS::OPTION_1_HIT_GAIN * $1.to_i)
  2059. @xparams[1] += (DPB::PSPDS::OPTION_1_EVA_GAIN * $1.to_i)
  2060. @xparams[2] += (DPB::PSPDS::OPTION_1_CRI_GAIN * $1.to_i)
  2061. @xparams[3] += (DPB::PSPDS::OPTION_1_CEV_GAIN * $1.to_i)
  2062. @xparams[4] += (DPB::PSPDS::OPTION_1_MEV_GAIN * $1.to_i)
  2063. @xparams[5] += (DPB::PSPDS::OPTION_1_MRF_GAIN * $1.to_i)
  2064. @xparams[6] += (DPB::PSPDS::OPTION_1_CNT_GAIN * $1.to_i)
  2065. @xparams[7] += (DPB::PSPDS::OPTION_1_HRG_GAIN * $1.to_i)
  2066. @xparams[8] += (DPB::PSPDS::OPTION_1_MRG_GAIN * $1.to_i)
  2067. @xparams[9] += (DPB::PSPDS::OPTION_1_TRG_GAIN * $1.to_i)
  2068. #s's
  2069. @sparams[0] += (DPB::PSPDS::OPTION_1_TGR_GAIN * $1.to_i)
  2070. @sparams[1] += (DPB::PSPDS::OPTION_1_GRD_GAIN * $1.to_i)
  2071. @sparams[2] += (DPB::PSPDS::OPTION_1_REC_GAIN * $1.to_i)
  2072. @sparams[3] += (DPB::PSPDS::OPTION_1_PHA_GAIN * $1.to_i)
  2073. @sparams[4] += (DPB::PSPDS::OPTION_1_MCR_GAIN * $1.to_i)
  2074. @sparams[5] += (DPB::PSPDS::OPTION_1_TCR_GAIN * $1.to_i)
  2075. @sparams[6] += (DPB::PSPDS::OPTION_1_PDR_GAIN * $1.to_i)
  2076. @sparams[7] += (DPB::PSPDS::OPTION_1_MDR_GAIN * $1.to_i)
  2077. @sparams[8] += (DPB::PSPDS::OPTION_1_FDR_GAIN * $1.to_i)
  2078. @sparams[9] += (DPB::PSPDS::OPTION_1_EXR_GAIN * $1.to_i)
  2079. when DPB::REGEXP::EQUIPITEM::INC_STR
  2080. @dpbzparams[1] += $1.to_i
  2081. @params[0] += (DPB::PSPDS::OPTION_2_MaxHP_GAIN * $1.to_i)
  2082. @params[1] += (DPB::PSPDS::OPTION_2_MaxMP_GAIN * $1.to_i)
  2083. @params[2] += (DPB::PSPDS::OPTION_2_ATK_GAIN * $1.to_i)
  2084. @params[3] += (DPB::PSPDS::OPTION_2_DEF_GAIN * $1.to_i)
  2085. @params[4] += (DPB::PSPDS::OPTION_2_MAT_GAIN * $1.to_i)
  2086. @params[5] += (DPB::PSPDS::OPTION_2_MDF_GAIN * $1.to_i)
  2087. @params[6] += (DPB::PSPDS::OPTION_2_AGI_GAIN * $1.to_i)
  2088. @params[7] += (DPB::PSPDS::OPTION_2_LUK_GAIN * $1.to_i)
  2089. #x's
  2090. @xparams[0] += (DPB::PSPDS::OPTION_2_HIT_GAIN * $1.to_i)
  2091. @xparams[1] += (DPB::PSPDS::OPTION_2_EVA_GAIN * $1.to_i)
  2092. @xparams[2] += (DPB::PSPDS::OPTION_2_CRI_GAIN * $1.to_i)
  2093. @xparams[3] += (DPB::PSPDS::OPTION_2_CEV_GAIN * $1.to_i)
  2094. @xparams[4] += (DPB::PSPDS::OPTION_2_MEV_GAIN * $1.to_i)
  2095. @xparams[5] += (DPB::PSPDS::OPTION_2_MRF_GAIN * $1.to_i)
  2096. @xparams[6] += (DPB::PSPDS::OPTION_2_CNT_GAIN * $1.to_i)
  2097. @xparams[7] += (DPB::PSPDS::OPTION_2_HRG_GAIN * $1.to_i)
  2098. @xparams[8] += (DPB::PSPDS::OPTION_2_MRG_GAIN * $1.to_i)
  2099. @xparams[9] += (DPB::PSPDS::OPTION_2_TRG_GAIN * $1.to_i)
  2100. #s's
  2101. @sparams[0] += (DPB::PSPDS::OPTION_2_TGR_GAIN * $1.to_i)
  2102. @sparams[1] += (DPB::PSPDS::OPTION_2_GRD_GAIN * $1.to_i)
  2103. @sparams[2] += (DPB::PSPDS::OPTION_2_REC_GAIN * $1.to_i)
  2104. @sparams[3] += (DPB::PSPDS::OPTION_2_PHA_GAIN * $1.to_i)
  2105. @sparams[4] += (DPB::PSPDS::OPTION_2_MCR_GAIN * $1.to_i)
  2106. @sparams[5] += (DPB::PSPDS::OPTION_2_TCR_GAIN * $1.to_i)
  2107. @sparams[6] += (DPB::PSPDS::OPTION_2_PDR_GAIN * $1.to_i)
  2108. @sparams[7] += (DPB::PSPDS::OPTION_2_MDR_GAIN * $1.to_i)
  2109. @sparams[8] += (DPB::PSPDS::OPTION_2_FDR_GAIN * $1.to_i)
  2110. @sparams[9] += (DPB::PSPDS::OPTION_2_EXR_GAIN * $1.to_i)
  2111. when DPB::REGEXP::EQUIPITEM::INC_DEX
  2112. @dpbzparams[2] += $1.to_i
  2113. @params[0] += (DPB::PSPDS::OPTION_3_MaxHP_GAIN * $1.to_i)
  2114. @params[1] += (DPB::PSPDS::OPTION_3_MaxMP_GAIN * $1.to_i)
  2115. @params[2] += (DPB::PSPDS::OPTION_3_ATK_GAIN * $1.to_i)
  2116. @params[3] += (DPB::PSPDS::OPTION_3_DEF_GAIN * $1.to_i)
  2117. @params[4] += (DPB::PSPDS::OPTION_3_MAT_GAIN * $1.to_i)
  2118. @params[5] += (DPB::PSPDS::OPTION_3_MDF_GAIN * $1.to_i)
  2119. @params[6] += (DPB::PSPDS::OPTION_3_AGI_GAIN * $1.to_i)
  2120. @params[7] += (DPB::PSPDS::OPTION_3_LUK_GAIN * $1.to_i)
  2121. #x's
  2122. @xparams[0] += (DPB::PSPDS::OPTION_3_HIT_GAIN * $1.to_i)
  2123. @xparams[1] += (DPB::PSPDS::OPTION_3_EVA_GAIN * $1.to_i)
  2124. @xparams[2] += (DPB::PSPDS::OPTION_3_CRI_GAIN * $1.to_i)
  2125. @xparams[3] += (DPB::PSPDS::OPTION_3_CEV_GAIN * $1.to_i)
  2126. @xparams[4] += (DPB::PSPDS::OPTION_3_MEV_GAIN * $1.to_i)
  2127. @xparams[5] += (DPB::PSPDS::OPTION_3_MRF_GAIN * $1.to_i)
  2128. @xparams[6] += (DPB::PSPDS::OPTION_3_CNT_GAIN * $1.to_i)
  2129. @xparams[7] += (DPB::PSPDS::OPTION_3_HRG_GAIN * $1.to_i)
  2130. @xparams[8] += (DPB::PSPDS::OPTION_3_MRG_GAIN * $1.to_i)
  2131. @xparams[9] += (DPB::PSPDS::OPTION_3_TRG_GAIN * $1.to_i)
  2132. #s's
  2133. @sparams[0] += (DPB::PSPDS::OPTION_3_TGR_GAIN * $1.to_i)
  2134. @sparams[1] += (DPB::PSPDS::OPTION_3_GRD_GAIN * $1.to_i)
  2135. @sparams[2] += (DPB::PSPDS::OPTION_3_REC_GAIN * $1.to_i)
  2136. @sparams[3] += (DPB::PSPDS::OPTION_3_PHA_GAIN * $1.to_i)
  2137. @sparams[4] += (DPB::PSPDS::OPTION_3_MCR_GAIN * $1.to_i)
  2138. @sparams[5] += (DPB::PSPDS::OPTION_3_TCR_GAIN * $1.to_i)
  2139. @sparams[6] += (DPB::PSPDS::OPTION_3_PDR_GAIN * $1.to_i)
  2140. @sparams[7] += (DPB::PSPDS::OPTION_3_MDR_GAIN * $1.to_i)
  2141. @sparams[8] += (DPB::PSPDS::OPTION_3_FDR_GAIN * $1.to_i)
  2142. @sparams[9] += (DPB::PSPDS::OPTION_3_EXR_GAIN * $1.to_i)
  2143. when DPB::REGEXP::EQUIPITEM::INC_MAG
  2144. @dpbzparams[3] += $1.to_i
  2145. @params[0] += (DPB::PSPDS::OPTION_4_MaxHP_GAIN * $1.to_i)
  2146. @params[1] += (DPB::PSPDS::OPTION_4_MaxMP_GAIN * $1.to_i)
  2147. @params[2] += (DPB::PSPDS::OPTION_4_ATK_GAIN * $1.to_i)
  2148. @params[3] += (DPB::PSPDS::OPTION_4_DEF_GAIN * $1.to_i)
  2149. @params[4] += (DPB::PSPDS::OPTION_4_MAT_GAIN * $1.to_i)
  2150. @params[5] += (DPB::PSPDS::OPTION_4_MDF_GAIN * $1.to_i)
  2151. @params[6] += (DPB::PSPDS::OPTION_4_AGI_GAIN * $1.to_i)
  2152. @params[7] += (DPB::PSPDS::OPTION_4_LUK_GAIN * $1.to_i)
  2153. #x's
  2154. @xparams[0] += (DPB::PSPDS::OPTION_4_HIT_GAIN * $1.to_i)
  2155. @xparams[1] += (DPB::PSPDS::OPTION_4_EVA_GAIN * $1.to_i)
  2156. @xparams[2] += (DPB::PSPDS::OPTION_4_CRI_GAIN * $1.to_i)
  2157. @xparams[3] += (DPB::PSPDS::OPTION_4_CEV_GAIN * $1.to_i)
  2158. @xparams[4] += (DPB::PSPDS::OPTION_4_MEV_GAIN * $1.to_i)
  2159. @xparams[5] += (DPB::PSPDS::OPTION_4_MRF_GAIN * $1.to_i)
  2160. @xparams[6] += (DPB::PSPDS::OPTION_4_CNT_GAIN * $1.to_i)
  2161. @xparams[7] += (DPB::PSPDS::OPTION_4_HRG_GAIN * $1.to_i)
  2162. @xparams[8] += (DPB::PSPDS::OPTION_4_MRG_GAIN * $1.to_i)
  2163. @xparams[9] += (DPB::PSPDS::OPTION_4_TRG_GAIN * $1.to_i)
  2164. #s's
  2165. @sparams[0] += (DPB::PSPDS::OPTION_4_TGR_GAIN * $1.to_i)
  2166. @sparams[1] += (DPB::PSPDS::OPTION_4_GRD_GAIN * $1.to_i)
  2167. @sparams[2] += (DPB::PSPDS::OPTION_4_REC_GAIN * $1.to_i)
  2168. @sparams[3] += (DPB::PSPDS::OPTION_4_PHA_GAIN * $1.to_i)
  2169. @sparams[4] += (DPB::PSPDS::OPTION_4_MCR_GAIN * $1.to_i)
  2170. @sparams[5] += (DPB::PSPDS::OPTION_4_TCR_GAIN * $1.to_i)
  2171. @sparams[6] += (DPB::PSPDS::OPTION_4_PDR_GAIN * $1.to_i)
  2172. @sparams[7] += (DPB::PSPDS::OPTION_4_MDR_GAIN * $1.to_i)
  2173. @sparams[8] += (DPB::PSPDS::OPTION_4_FDR_GAIN * $1.to_i)
  2174. @sparams[9] += (DPB::PSPDS::OPTION_4_EXR_GAIN * $1.to_i)
  2175. #---
  2176. end
  2177. } # self.note.split
  2178. #---
  2179. end
  2180.  
  2181. end # RPG::EquipItem
  2182.  
  2183. #==============================================================================
  2184. class Game_Actor < Game_Battler
  2185. #==============================================================================
  2186.  
  2187. alias game_actor_param_plus_PSPDS dpbzparam_plus
  2188. def dpbzparam_plus(dpbzparam_id)
  2189. n = game_actor_param_plus_PSPDS(dpbzparam_id)
  2190. n += dpbz_parameter_rate(dpbzparam_id)
  2191. return n
  2192. end
  2193.  
  2194. alias game_actor_xparam_plus_PSPDS xparam_plus
  2195. def xparam_plus(xparam_id)
  2196. n = game_actor_xparam_plus_PSPDS(xparam_id)
  2197. n += x_parameter_rate(xparam_id)
  2198. return n
  2199. end
  2200.  
  2201. alias game_actor_sparam_plus_PSPDS sparam_plus
  2202. def sparam_plus(sparam_id)
  2203. n = game_actor_sparam_plus_PSPDS(sparam_id)
  2204. n += s_parameter_rate(sparam_id)
  2205. return n
  2206. end
  2207.  
  2208. def dpbz_parameter_rate(dpbzparam_id)
  2209. rate = 0.0
  2210. rate += equips.compact.inject(0) {|r, i|
  2211. r += i.dpbzparams[dpbzparam_id] rescue 0 }
  2212. return rate
  2213. end
  2214.  
  2215. def x_parameter_rate(xparam_id)
  2216. rate = 0.0
  2217. rate += equips.compact.inject(0) {|r, i|
  2218. r += i.xparams[xparam_id] rescue 0 }
  2219. return rate
  2220. end
  2221.  
  2222. def s_parameter_rate(sparam_id)
  2223. rate = 0.0
  2224. rate += equips.compact.inject(0) {|r, i|
  2225. r += i.sparams[sparam_id] rescue 0 }
  2226. return rate
  2227. end
  2228.  
  2229. end # Game_Actor < Game_BattlerBase
  2230.  
  2231.  
  2232. #
  2233. ## Enemy Stats Add-on
  2234. #
  2235. #==============================================================================
  2236. module DataManager
  2237. #==============================================================================
  2238.  
  2239. class <<self; alias load_database_PSPDS_Enemy_Stats load_database; end
  2240. def self.load_database
  2241. load_database_PSPDS_Enemy_Stats
  2242. load_notetags_PSPDS_Enemy_Stats
  2243. end
  2244.  
  2245. def self.load_notetags_PSPDS_Enemy_Stats
  2246. groups = [$data_enemies]
  2247. for group in groups
  2248. for obj in group
  2249. next if obj.nil?
  2250. obj.load_notetags_PSPDS_Enemy_Stats
  2251. end
  2252. end
  2253. end
  2254.  
  2255. end # DataManager
  2256.  
  2257. #==============================================================================
  2258. module BattleManager
  2259. #==============================================================================
  2260. class <<self; alias battlemanager_display_exp_ptsandatti display_exp; end
  2261. def self.display_exp
  2262. battlemanager_display_exp_ptsandatti
  2263. gain_pts
  2264. gain_atti
  2265. end
  2266.  
  2267. def self.gain_pts
  2268. amount = $game_troop.pts_total
  2269. fmt = DPB::PSPDS::GAINED_POINTS_MESSAGE
  2270. if $game_troop.pts_total >= 1
  2271. for member in $game_party.members
  2272. member.gain_lvl_pts(amount)
  2273. value = $game_troop.pts_total
  2274. $game_message.add('\.' + sprintf(fmt, member.name, value, DPB::PSPDS::LVLUPPTSVOCAB))
  2275. end
  2276. wait_for_message
  2277. end
  2278. end
  2279.  
  2280. def self.gain_atti
  2281. amount = $game_troop.atti_total
  2282. fmt = DPB::PSPDS::GAINED_ATTRIBUTE_MESSAGE
  2283. if $game_troop.atti_total >= 1
  2284. for member in $game_party.members
  2285. member.gain_atti_ptz(amount)
  2286. value = $game_troop.atti_total
  2287. $game_message.add('\.' + sprintf(fmt, member.name, value, DPB::PSPDS::ATTIPTZVOCAB))
  2288. end
  2289. wait_for_message
  2290. end
  2291. end
  2292.  
  2293. end # BattleManager
  2294.  
  2295.  
  2296. #==============================================================================
  2297. class RPG::Enemy < RPG::BaseItem
  2298. #==============================================================================
  2299.  
  2300. attr_accessor :dpbzparams
  2301. attr_accessor :xparams
  2302. attr_accessor :sparams
  2303. attr_accessor :pts_gain
  2304. attr_accessor :atti_gain
  2305.  
  2306. def load_notetags_PSPDS_Enemy_Stats
  2307. @dpbzparams = [0] * 4
  2308. @xparams = [0] * 10
  2309. @sparams = [0] * 10
  2310. @pts_gain = 0
  2311. @atti_gain = 0
  2312. self.note.split(/[\r\n]+/).each { |line|
  2313. case line
  2314. when DPB::REGEXP::EQUIPITEM::INC_VIT
  2315. @dpbzparams[0] += $1.to_i
  2316. @params[0] += (DPB::PSPDS::OPTION_1_MaxHP_GAIN * $1.to_i)
  2317. @params[1] += (DPB::PSPDS::OPTION_1_MaxMP_GAIN * $1.to_i)
  2318. @params[2] += (DPB::PSPDS::OPTION_1_ATK_GAIN * $1.to_i)
  2319. @params[3] += (DPB::PSPDS::OPTION_1_DEF_GAIN * $1.to_i)
  2320. @params[4] += (DPB::PSPDS::OPTION_1_MAT_GAIN * $1.to_i)
  2321. @params[5] += (DPB::PSPDS::OPTION_1_MDF_GAIN * $1.to_i)
  2322. @params[6] += (DPB::PSPDS::OPTION_1_AGI_GAIN * $1.to_i)
  2323. @params[7] += (DPB::PSPDS::OPTION_1_LUK_GAIN * $1.to_i)
  2324. #x's
  2325. @xparams[0] += (DPB::PSPDS::OPTION_1_HIT_GAIN * $1.to_i)
  2326. @xparams[1] += (DPB::PSPDS::OPTION_1_EVA_GAIN * $1.to_i)
  2327. @xparams[2] += (DPB::PSPDS::OPTION_1_CRI_GAIN * $1.to_i)
  2328. @xparams[3] += (DPB::PSPDS::OPTION_1_CEV_GAIN * $1.to_i)
  2329. @xparams[4] += (DPB::PSPDS::OPTION_1_MEV_GAIN * $1.to_i)
  2330. @xparams[5] += (DPB::PSPDS::OPTION_1_MRF_GAIN * $1.to_i)
  2331. @xparams[6] += (DPB::PSPDS::OPTION_1_CNT_GAIN * $1.to_i)
  2332. @xparams[7] += (DPB::PSPDS::OPTION_1_HRG_GAIN * $1.to_i)
  2333. @xparams[8] += (DPB::PSPDS::OPTION_1_MRG_GAIN * $1.to_i)
  2334. @xparams[9] += (DPB::PSPDS::OPTION_1_TRG_GAIN * $1.to_i)
  2335. #s's
  2336. @sparams[0] += (DPB::PSPDS::OPTION_1_TGR_GAIN * $1.to_i)
  2337. @sparams[1] += (DPB::PSPDS::OPTION_1_GRD_GAIN * $1.to_i)
  2338. @sparams[2] += (DPB::PSPDS::OPTION_1_REC_GAIN * $1.to_i)
  2339. @sparams[3] += (DPB::PSPDS::OPTION_1_PHA_GAIN * $1.to_i)
  2340. @sparams[4] += (DPB::PSPDS::OPTION_1_MCR_GAIN * $1.to_i)
  2341. @sparams[5] += (DPB::PSPDS::OPTION_1_TCR_GAIN * $1.to_i)
  2342. @sparams[6] += (DPB::PSPDS::OPTION_1_PDR_GAIN * $1.to_i)
  2343. @sparams[7] += (DPB::PSPDS::OPTION_1_MDR_GAIN * $1.to_i)
  2344. @sparams[8] += (DPB::PSPDS::OPTION_1_FDR_GAIN * $1.to_i)
  2345. @sparams[9] += (DPB::PSPDS::OPTION_1_EXR_GAIN * $1.to_i)
  2346. when DPB::REGEXP::EQUIPITEM::INC_STR
  2347. @dpbzparams[1] += $1.to_i
  2348. @params[0] += (DPB::PSPDS::OPTION_2_MaxHP_GAIN * $1.to_i)
  2349. @params[1] += (DPB::PSPDS::OPTION_2_MaxMP_GAIN * $1.to_i)
  2350. @params[2] += (DPB::PSPDS::OPTION_2_ATK_GAIN * $1.to_i)
  2351. @params[3] += (DPB::PSPDS::OPTION_2_DEF_GAIN * $1.to_i)
  2352. @params[4] += (DPB::PSPDS::OPTION_2_MAT_GAIN * $1.to_i)
  2353. @params[5] += (DPB::PSPDS::OPTION_2_MDF_GAIN * $1.to_i)
  2354. @params[6] += (DPB::PSPDS::OPTION_2_AGI_GAIN * $1.to_i)
  2355. @params[7] += (DPB::PSPDS::OPTION_2_LUK_GAIN * $1.to_i)
  2356. #x's
  2357. @xparams[0] += (DPB::PSPDS::OPTION_2_HIT_GAIN * $1.to_i)
  2358. @xparams[1] += (DPB::PSPDS::OPTION_2_EVA_GAIN * $1.to_i)
  2359. @xparams[2] += (DPB::PSPDS::OPTION_2_CRI_GAIN * $1.to_i)
  2360. @xparams[3] += (DPB::PSPDS::OPTION_2_CEV_GAIN * $1.to_i)
  2361. @xparams[4] += (DPB::PSPDS::OPTION_2_MEV_GAIN * $1.to_i)
  2362. @xparams[5] += (DPB::PSPDS::OPTION_2_MRF_GAIN * $1.to_i)
  2363. @xparams[6] += (DPB::PSPDS::OPTION_2_CNT_GAIN * $1.to_i)
  2364. @xparams[7] += (DPB::PSPDS::OPTION_2_HRG_GAIN * $1.to_i)
  2365. @xparams[8] += (DPB::PSPDS::OPTION_2_MRG_GAIN * $1.to_i)
  2366. @xparams[9] += (DPB::PSPDS::OPTION_2_TRG_GAIN * $1.to_i)
  2367. #s's
  2368. @sparams[0] += (DPB::PSPDS::OPTION_2_TGR_GAIN * $1.to_i)
  2369. @sparams[1] += (DPB::PSPDS::OPTION_2_GRD_GAIN * $1.to_i)
  2370. @sparams[2] += (DPB::PSPDS::OPTION_2_REC_GAIN * $1.to_i)
  2371. @sparams[3] += (DPB::PSPDS::OPTION_2_PHA_GAIN * $1.to_i)
  2372. @sparams[4] += (DPB::PSPDS::OPTION_2_MCR_GAIN * $1.to_i)
  2373. @sparams[5] += (DPB::PSPDS::OPTION_2_TCR_GAIN * $1.to_i)
  2374. @sparams[6] += (DPB::PSPDS::OPTION_2_PDR_GAIN * $1.to_i)
  2375. @sparams[7] += (DPB::PSPDS::OPTION_2_MDR_GAIN * $1.to_i)
  2376. @sparams[8] += (DPB::PSPDS::OPTION_2_FDR_GAIN * $1.to_i)
  2377. @sparams[9] += (DPB::PSPDS::OPTION_2_EXR_GAIN * $1.to_i)
  2378. when DPB::REGEXP::EQUIPITEM::INC_DEX
  2379. @dpbzparams[2] += $1.to_i
  2380. @params[0] += (DPB::PSPDS::OPTION_3_MaxHP_GAIN * $1.to_i)
  2381. @params[1] += (DPB::PSPDS::OPTION_3_MaxMP_GAIN * $1.to_i)
  2382. @params[2] += (DPB::PSPDS::OPTION_3_ATK_GAIN * $1.to_i)
  2383. @params[3] += (DPB::PSPDS::OPTION_3_DEF_GAIN * $1.to_i)
  2384. @params[4] += (DPB::PSPDS::OPTION_3_MAT_GAIN * $1.to_i)
  2385. @params[5] += (DPB::PSPDS::OPTION_3_MDF_GAIN * $1.to_i)
  2386. @params[6] += (DPB::PSPDS::OPTION_3_AGI_GAIN * $1.to_i)
  2387. @params[7] += (DPB::PSPDS::OPTION_3_LUK_GAIN * $1.to_i)
  2388. #x's
  2389. @xparams[0] += (DPB::PSPDS::OPTION_3_HIT_GAIN * $1.to_i)
  2390. @xparams[1] += (DPB::PSPDS::OPTION_3_EVA_GAIN * $1.to_i)
  2391. @xparams[2] += (DPB::PSPDS::OPTION_3_CRI_GAIN * $1.to_i)
  2392. @xparams[3] += (DPB::PSPDS::OPTION_3_CEV_GAIN * $1.to_i)
  2393. @xparams[4] += (DPB::PSPDS::OPTION_3_MEV_GAIN * $1.to_i)
  2394. @xparams[5] += (DPB::PSPDS::OPTION_3_MRF_GAIN * $1.to_i)
  2395. @xparams[6] += (DPB::PSPDS::OPTION_3_CNT_GAIN * $1.to_i)
  2396. @xparams[7] += (DPB::PSPDS::OPTION_3_HRG_GAIN * $1.to_i)
  2397. @xparams[8] += (DPB::PSPDS::OPTION_3_MRG_GAIN * $1.to_i)
  2398. @xparams[9] += (DPB::PSPDS::OPTION_3_TRG_GAIN * $1.to_i)
  2399. #s's
  2400. @sparams[0] += (DPB::PSPDS::OPTION_3_TGR_GAIN * $1.to_i)
  2401. @sparams[1] += (DPB::PSPDS::OPTION_3_GRD_GAIN * $1.to_i)
  2402. @sparams[2] += (DPB::PSPDS::OPTION_3_REC_GAIN * $1.to_i)
  2403. @sparams[3] += (DPB::PSPDS::OPTION_3_PHA_GAIN * $1.to_i)
  2404. @sparams[4] += (DPB::PSPDS::OPTION_3_MCR_GAIN * $1.to_i)
  2405. @sparams[5] += (DPB::PSPDS::OPTION_3_TCR_GAIN * $1.to_i)
  2406. @sparams[6] += (DPB::PSPDS::OPTION_3_PDR_GAIN * $1.to_i)
  2407. @sparams[7] += (DPB::PSPDS::OPTION_3_MDR_GAIN * $1.to_i)
  2408. @sparams[8] += (DPB::PSPDS::OPTION_3_FDR_GAIN * $1.to_i)
  2409. @sparams[9] += (DPB::PSPDS::OPTION_3_EXR_GAIN * $1.to_i)
  2410. when DPB::REGEXP::EQUIPITEM::INC_MAG
  2411. @dpbzparams[3] += $1.to_i
  2412. @params[0] += (DPB::PSPDS::OPTION_4_MaxHP_GAIN * $1.to_i)
  2413. @params[1] += (DPB::PSPDS::OPTION_4_MaxMP_GAIN * $1.to_i)
  2414. @params[2] += (DPB::PSPDS::OPTION_4_ATK_GAIN * $1.to_i)
  2415. @params[3] += (DPB::PSPDS::OPTION_4_DEF_GAIN * $1.to_i)
  2416. @params[4] += (DPB::PSPDS::OPTION_4_MAT_GAIN * $1.to_i)
  2417. @params[5] += (DPB::PSPDS::OPTION_4_MDF_GAIN * $1.to_i)
  2418. @params[6] += (DPB::PSPDS::OPTION_4_AGI_GAIN * $1.to_i)
  2419. @params[7] += (DPB::PSPDS::OPTION_4_LUK_GAIN * $1.to_i)
  2420. #x's
  2421. @xparams[0] += (DPB::PSPDS::OPTION_4_HIT_GAIN * $1.to_i)
  2422. @xparams[1] += (DPB::PSPDS::OPTION_4_EVA_GAIN * $1.to_i)
  2423. @xparams[2] += (DPB::PSPDS::OPTION_4_CRI_GAIN * $1.to_i)
  2424. @xparams[3] += (DPB::PSPDS::OPTION_4_CEV_GAIN * $1.to_i)
  2425. @xparams[4] += (DPB::PSPDS::OPTION_4_MEV_GAIN * $1.to_i)
  2426. @xparams[5] += (DPB::PSPDS::OPTION_4_MRF_GAIN * $1.to_i)
  2427. @xparams[6] += (DPB::PSPDS::OPTION_4_CNT_GAIN * $1.to_i)
  2428. @xparams[7] += (DPB::PSPDS::OPTION_4_HRG_GAIN * $1.to_i)
  2429. @xparams[8] += (DPB::PSPDS::OPTION_4_MRG_GAIN * $1.to_i)
  2430. @xparams[9] += (DPB::PSPDS::OPTION_4_TRG_GAIN * $1.to_i)
  2431. #s's
  2432. @sparams[0] += (DPB::PSPDS::OPTION_4_TGR_GAIN * $1.to_i)
  2433. @sparams[1] += (DPB::PSPDS::OPTION_4_GRD_GAIN * $1.to_i)
  2434. @sparams[2] += (DPB::PSPDS::OPTION_4_REC_GAIN * $1.to_i)
  2435. @sparams[3] += (DPB::PSPDS::OPTION_4_PHA_GAIN * $1.to_i)
  2436. @sparams[4] += (DPB::PSPDS::OPTION_4_MCR_GAIN * $1.to_i)
  2437. @sparams[5] += (DPB::PSPDS::OPTION_4_TCR_GAIN * $1.to_i)
  2438. @sparams[6] += (DPB::PSPDS::OPTION_4_PDR_GAIN * $1.to_i)
  2439. @sparams[7] += (DPB::PSPDS::OPTION_4_MDR_GAIN * $1.to_i)
  2440. @sparams[8] += (DPB::PSPDS::OPTION_4_FDR_GAIN * $1.to_i)
  2441. @sparams[9] += (DPB::PSPDS::OPTION_4_EXR_GAIN * $1.to_i)
  2442. when DPB::REGEXP::ENEMY::PTS_GAIN
  2443. @pts_gain = $1.to_i
  2444. when DPB::REGEXP::ENEMY::ATTI_GAIN
  2445. @atti_gain = $1.to_i
  2446. #---
  2447. end
  2448. } # self.note.split
  2449. #---
  2450. end
  2451.  
  2452. end # RPG::Enemy
  2453.  
  2454. #==============================================================================
  2455. class Game_Enemy < Game_Battler
  2456. #==============================================================================
  2457.  
  2458. alias game_enemy_param_plus_PSPDS dpbzparam_plus
  2459. def dpbzparam_plus(dpbzparam_id)
  2460. n = game_enemy_param_plus_PSPDS(dpbzparam_id)
  2461. n += enemy.dpbzparams[dpbzparam_id]
  2462. return n
  2463. end
  2464.  
  2465. alias game_enemy_xparam_plus_PSPDS xparam_plus
  2466. def xparam_plus(xparam_id)
  2467. n = game_enemy_xparam_plus_PSPDS(xparam_id)
  2468. n += enemy.xparams[xparam_id]
  2469. return n
  2470. end
  2471.  
  2472. alias game_enemy_sparam_plus_PSPDS sparam_plus
  2473. def sparam_plus(sparam_id)
  2474. n = game_enemy_sparam_plus_PSPDS(sparam_id)
  2475. n += enemy.sparams[sparam_id]
  2476. return n
  2477. end
  2478.  
  2479. def pts
  2480. return enemy.pts_gain
  2481. end
  2482.  
  2483. def atti
  2484. return enemy.atti_gain
  2485. end
  2486.  
  2487. end # Game_Enemy
  2488.  
  2489. #==============================================================================
  2490. class Game_Troop < Game_Unit
  2491. #==============================================================================
  2492.  
  2493. def pts_total
  2494. dead_members.inject(0) {|r, enemy| r += enemy.pts }
  2495. end
  2496.  
  2497. def atti_total
  2498. dead_members.inject(0) {|r, enemy| r += enemy.atti }
  2499. end
  2500.  
  2501. end # Game_Troop
  2502.  
  2503.  
  2504. # $game_actors[ACTOR_ID].reduce_vit(VALUE)
  2505. # $game_actors[ACTOR_ID].reduce_str(VALUE)
  2506. # $game_actors[ACTOR_ID].reduce_dex(VALUE)
  2507. # $game_actors[ACTOR_ID].reduce_mag(VALUE)
  2508. #==============================================================================
  2509. class Game_Actor < Game_Battler
  2510. #==============================================================================
  2511.  
  2512. def reduce_vit(value)
  2513. value.times {||
  2514. 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)))
  2515. 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)))
  2516. 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)))
  2517. 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)))
  2518. 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)))
  2519. 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)))
  2520. 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)))
  2521. 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)))
  2522. #x's
  2523. 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)))
  2524. 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)))
  2525. 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)))
  2526. 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)))
  2527. 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)))
  2528. 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)))
  2529. 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)))
  2530. 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)))
  2531. 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)))
  2532. 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)))
  2533. #s's
  2534. 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)))
  2535. 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)))
  2536. 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)))
  2537. 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)))
  2538. 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)))
  2539. 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)))
  2540. 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)))
  2541. 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)))
  2542. 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)))
  2543. 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)))
  2544. #dpbz'
  2545. add_dpbzparam(0, -(1))
  2546. }
  2547. end
  2548.  
  2549. def reduce_str(value)
  2550. value.times{||
  2551. #reg's
  2552. 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)))
  2553. 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)))
  2554. 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)))
  2555. 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)))
  2556. 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)))
  2557. 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)))
  2558. 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)))
  2559. 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)))
  2560. #x's
  2561. 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)))
  2562. 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)))
  2563. 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)))
  2564. 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)))
  2565. 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)))
  2566. 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)))
  2567. 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)))
  2568. 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)))
  2569. 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)))
  2570. 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)))
  2571. #s's
  2572. 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)))
  2573. 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)))
  2574. 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)))
  2575. 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)))
  2576. 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)))
  2577. 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)))
  2578. 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)))
  2579. 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)))
  2580. 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)))
  2581. 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)))
  2582. #dpbz'
  2583. add_dpbzparam(1, -(1))
  2584. }
  2585. end
  2586.  
  2587. def reduce_dex(value)
  2588. value.times{||
  2589. #reg's
  2590. 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)))
  2591. 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)))
  2592. 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)))
  2593. 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)))
  2594. 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)))
  2595. 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)))
  2596. 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)))
  2597. 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)))
  2598. #x's
  2599. 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)))
  2600. 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)))
  2601. 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)))
  2602. 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)))
  2603. 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)))
  2604. 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)))
  2605. 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)))
  2606. 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)))
  2607. 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)))
  2608. 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)))
  2609. #s's
  2610. 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)))
  2611. 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)))
  2612. 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)))
  2613. 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)))
  2614. 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)))
  2615. 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)))
  2616. 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)))
  2617. 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)))
  2618. 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)))
  2619. 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)))
  2620. #dpbz'
  2621. add_dpbzparam(2, -(1))
  2622. }
  2623. end
  2624.  
  2625. def reduce_mag(value)
  2626. value.times{||
  2627. #reg's
  2628. 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)))
  2629. 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)))
  2630. 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)))
  2631. 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)))
  2632. 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)))
  2633. 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)))
  2634. 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)))
  2635. 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)))
  2636. #x's
  2637. 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)))
  2638. 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)))
  2639. 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)))
  2640. 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)))
  2641. 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)))
  2642. 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)))
  2643. 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)))
  2644. 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)))
  2645. 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)))
  2646. 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)))
  2647. #s's
  2648. 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)))
  2649. 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)))
  2650. 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)))
  2651. 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)))
  2652. 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)))
  2653. 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)))
  2654. 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)))
  2655. 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)))
  2656. 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)))
  2657. 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)))
  2658. #dpbz'
  2659. add_dpbzparam(3, -(1))
  2660. }
  2661. end
  2662.  
  2663. end # Game_Actor
  2664.  
  2665. #===============================================================================#
  2666. # #
  2667. # PSPDS #
  2668. # (Perfect Stat Point Distribution System) #
  2669. # - SCRIPT END - #
  2670. # #
  2671. #===============================================================================#
  2672. # http://dekitarpg.wordpress.com/
  2673. #===============================================================================#
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement