Advertisement
Dekita

PSPDSv1.9

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