Advertisement
Dekita

Untitled

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