Advertisement
Dekita

PSPDSv1.8

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