Advertisement
Dekita

PSPDSv1.3

Aug 14th, 2012
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 81.96 KB | None | 0 0
  1. #Dekita's=======================================================================
  2. #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
  3. #===============================================================================
  4. # v1.3
  5. # ★ Perfect Stat Point Distribution System ★
  6. #
  7. #===============================================================================
  8. #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
  9. #===============================================================================
  10. #
  11. # -- Last updated: 12/08/2012 <-(D/M/Y)
  12. #
  13. # -- Difficulty: Plug'n'play - (Easy)
  14. #
  15. # -- Customisation: Holy crap on a cracker Batman! - (Very High)
  16. #
  17. # -- Requires: N/A
  18. #
  19. # -- Recommended: N/A
  20. #
  21. # -- Compatable: RPG Maker VX Ace ONLY!
  22. #
  23. #===============================================================================
  24. #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
  25. #===============================================================================
  26. #===============================================================================
  27. # ☆ Script Information:
  28. #=======================
  29. # This script will Nullify the traditional RPG-Maker "Level up -> increases
  30. # parameters" feature. Instead when you level you will be presented with a stat
  31. # point distribution screen. you can then increase each parameter using the
  32. # points you gain.
  33. #
  34. # This script will give you COMPLETE control over all aspects of how your
  35. # characters stats increase during gameplay.
  36. #
  37. # The control and customisation for this "System" has been designed to be
  38. # as dynamic as possible.
  39. #===============================================================================
  40.  
  41. #===============================================================================
  42. # ☆ TERMS OF USE:
  43. #===============================================================================
  44. #
  45. # 1. You must give credit to Dekita.
  46. #
  47. # 2. This script is for NON-Commercial use ONLY!*
  48. #
  49. # 3. You CANNOT give credit to yourself for Re-posting this script
  50. # or Posting a modified version.*
  51. #
  52. # 4. Do not Re-Distribute this script.
  53. #
  54. # 5. You are NOT allowed to convert this script to any other engine,
  55. # E.G converting it from RGSS3 into RGSS2.*
  56. #
  57. # 6. ENJOY!
  58. #
  59. #-------------------------------------------------------------------------------
  60. # * = Unless permissions are given by Dekita. < e-mail DekitaRPG@gmail.com
  61. #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  62. #===============================================================================
  63.  
  64. #===============================================================================
  65. # ☆ History:
  66. #============
  67. # D - M - Y
  68. # 14/08/2o12 - Released Script.(v1.3)
  69. # 13/08/2o12 - Added bonus level points.
  70. # - Released Script.(v1.2)
  71. # 12/08/2o12 - Added ability to continue using parameter curves growth.
  72. # - Fixed bug where using "SceneManager.call(Scene_Level_Up)" gave an
  73. # error message(if no actor had leveled).
  74. # - Added main menu command, Added switch to show/enable menu command.
  75. # - Removed a useless script call.(lose_pts)
  76. # - General tidying of the script.
  77. # 11/08/2o12 - Added script calls to increase vit,str,dex and mag counters.
  78. # - Removed "Perfect Stat Point Control Mode"
  79. # - Changed name of script to Perfect Stat Point Distribution System.
  80. # - Updated script to give ALOT more control over how
  81. # x-params/s-params increase/decrease via command options.
  82. # - Removed formula's method for increasing x/s-params.
  83. # 08/08/2o12 - Released Script. (v1.1)
  84. # - Compatability update -> (Perfect Status Screen).
  85. # 07/08/2o12 - Fixed PROPERTIES_BIGGER_NUMBERS < Customisation module.
  86. # - Added Gain/Lose points script calls as requested by "The Attendee"
  87. # @ http://www.rpgmakervxace.net
  88. # - Released Script. (v1.0)
  89. # 06/08/2o12 - Added TP cost, HP Cost and GOLD Cost formula's.
  90. # - Improved layout again.
  91. # 05/08/2O12 - Added visual Vit,Str,Mag,Dex counters.
  92. # 02/08/2012 - Added Ability to convert from "PSPDS" into "PSPCS"
  93. # - Added more customisation.
  94. # 01/08/2o12 - Added MASS Customisation.
  95. # - Finished Script Base.
  96. # 31/07/2o12 - Improved layout.
  97. # - Added customisation options for when the SPD Screen triggers.
  98. # 30/07/2o12 - Script now displays actors JP if Yanfly's JP manager is installed.
  99. # - Added minor customisation.
  100. # - Improved Layout.
  101. # 21/07/2o12 - Started script.
  102. #
  103. #===============================================================================
  104. # ☆ Credit and Thanks to :
  105. #==========================
  106. # "Adrian Meza" for showing me how to add bonus level points.
  107. # "Niclas" for showing me how to properly define add_xparam.
  108. # "De Mack" for showing me how to write a basic distribute parameters script.
  109. # "Yanfly" for making me want to script to start with.
  110. #===============================================================================
  111.  
  112. #===============================================================================
  113. # ☆ Foresight Into The Future:
  114. #==============================
  115. # EVEN MORE OPTIONS !!
  116. #
  117. # Options to increase/decrease HCR/GCR + WUR/CDR
  118. # ^Yanfly's Skills Cost Manager and Skill restrictions.
  119. #
  120. #-------------------------------------------------------------------------------
  121. # If you have any ideas e-mail me at DekitaRPG@gmail.com
  122. #===============================================================================
  123.  
  124. #===============================================================================
  125. # ☆ Known Bugs:
  126. #=================
  127. # Guardian/Summon Scripts usually override the SPD Screen process if
  128. # "INBATTLE = true" < Customisation module
  129. # If you encounter this problem simply set
  130. # "ONMAP" to "true" and "INBATTLE" to "false" < Customisation module
  131. #
  132. #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  133. # If a new bug is found please e-mail me at DekitaRPG@gmail.com
  134. #===============================================================================
  135.  
  136. #===============================================================================
  137. # ☆ INSTRUCTIONS:
  138. #=================
  139. # Place this script UNDER "▼ Materials" and ABOVE "▼ Main" in your script editor.
  140. #
  141. #===============================================================================
  142. =begin
  143.  
  144. #===============================================================================
  145. # ☆ Script Calls:
  146. #=================
  147. #
  148. # Use the following script call in game (an event) to change the amount of
  149. # points you gain each time you level up
  150.  
  151. $pts = x
  152.  
  153. # e.g
  154. # $pts = 7 <- this will change the points gained per level to 7
  155. #
  156. #-------------------------------------------------------------------------------
  157. #
  158. # Use the following script call to give an actor x amount of points
  159.  
  160. gain_pts(actor_id, value)
  161.  
  162. # e.g
  163. # gain_pts(1, 10) < This will give actor 1, 10 points to distribute.
  164. #
  165. # NOTE:
  166. # value can be negative e.g
  167. # gain_pts(1, -10) < This will remove 10 points from actor 1.
  168. #
  169. # NOTE_2: if an actor does not have the points you try to remove it wont work!
  170. #
  171. #-------------------------------------------------------------------------------
  172. #
  173. # Use the following script calls to add vit, str, dex or mag counters to an actor.
  174.  
  175. inc_vit(actor_id, value)
  176.  
  177. inc_str(actor_id, value)
  178.  
  179. inc_dex(actor_id, value)
  180.  
  181. inc_mag(actor_id, value)
  182.  
  183. # NOTE: vit, str, dex and mag does not affect other param's x-params or s-params
  184. # They are just counters for how many times you have selected that command,
  185. # I have added these for actors that join the party above level 1, to make it seem
  186. # like they have already spent x amount of points in vit/str/dex or mag.
  187. #
  188. # NOTE_2: as with gain_pts value can be negative.
  189. #
  190. #-------------------------------------------------------------------------------
  191. #
  192. # Use the following script call in game (an event) to trigger the SPD Screen
  193.  
  194. SceneManager.call(Scene_Level_Up)
  195.  
  196. # NOTE: If no actor has leveled when you call this scene it will display the first
  197. # actor in the party. If an actor has leveled it will show the SPDS for them.
  198. #
  199. #===============================================================================
  200. =end
  201.  
  202. #===============================================================================
  203. # ☆ Import:
  204. #===========
  205. $imported = {} if $imported.nil?
  206. $imported["DPB-PSPDS"] = true
  207. #
  208. #===============================================================================
  209.  
  210. #===============================================================================
  211. # ☆ Perfect Stat Point Distribution System Begin:
  212. #=================================================
  213.  
  214. module DPB
  215. module PSPDS
  216.  
  217. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  218. # ☆ Command's (selectable) DO NOT CHANGE OR REMOVE ANY OF THESE!
  219. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  220.  
  221. COMMANDS =[
  222. :Vitality, # < DO NOT REMOVE OR
  223. :Strength, # < CHANGE ANY OF THESE
  224. :Dexterity,# < COMMANDS
  225. :Magic, # < DO NOT REMOVE !
  226. :Finish, # < DO NOT REMOVE !
  227. ] # Do not remove this.
  228.  
  229. #===============================================================================#
  230. #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#
  231. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆#
  232. # #
  233. # PSPDS #
  234. # (Perfect Stat Point Distribution System) #
  235. # - CUSTOMISATION BEGIN - #
  236. # #
  237. # #
  238. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆#
  239. #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#
  240. #===============================================================================#
  241. #===============================================================================
  242. # ☆ Customisation = Tah-Dah
  243. #===========================
  244. # I have added as much customisation as i thought was needed.
  245. # Probably a little too much, :o , if there is such a thing.\..\..
  246. #
  247. # It is advised you take a moment to look through the cusomisation options
  248. # to see if any apply to your current project.
  249. #
  250. #===============================================================================
  251.  
  252. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  253. # ☆ Vocab Settings
  254. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  255.  
  256. LVLUPPTSVOCAB = "Points :" # Help info used for the name of your level up points
  257.  
  258. ADDSTATTEXT = "Stat Added !" # Help info for when points are added
  259.  
  260. NOPOINTSTEXT = "No Points Left To Add !!" # Help info for when no points are remaining
  261.  
  262. VIT_GAIN_VOCAB = "Increases overall Survivability" # Help info for command option 1
  263.  
  264. STR_GAIN_VOCAB = "Increases overall Strength" # Help info for command option 2
  265.  
  266. DEX_GAIN_VOCAB = "Increases overall Dexterity" # Help info for command option 3
  267.  
  268. MAG_GAIN_VOCAB = "Increases overall Magic Power" # Help info for command option 4
  269.  
  270. EXIT_VOCAB = "Finish distribution process" # Help info for leaving the SPDS Screen
  271.  
  272. MENU_COMMAND_NAME = "PSPDS"
  273.  
  274. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  275. # ☆ Display SPD (Stat Point Distribution) Screen
  276. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  277. # By default the SPD Screen will be displayed at the end of battle (if you
  278. # level up). Some scripts may interfere with this one e.g summoning scripts,
  279. # when you level after your summon kills a monster in battle, the De-Summon
  280. # process usually overrides this one :(
  281. #
  282. # NOTE: if your party has more than 1 member that levels at the same time
  283. # then i recommend having both these options = true
  284. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  285.  
  286. INBATTLE = false #IF "true" screen triggers at end of battle (if an actor levels up)
  287.  
  288. ONMAP = true # IF "true" screen triggers on map screen after an actor levels up.
  289.  
  290. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  291. # ☆ Draw Actor Graphic ?
  292. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  293.  
  294. DRAW_ACTOR_GRAPHIC = false
  295. DAG_X = 432 # x location for actor graphic
  296. DAG_Y = 90 # y location for actor graphic
  297.  
  298. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  299. # ☆ Font Settings
  300. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  301.  
  302. PROPFONTSIZE = 14 # For Displayed Properties
  303.  
  304. PARAMFONTSIZE = 20 # For Parameters in point selection window and JP if
  305. # Yanfly JP Manager is installed
  306.  
  307. FONTSIZE = 16 # For Almost Everything Else and information in PSS*
  308. # (PSS = Perfect Status Screen) * = If imported.
  309.  
  310. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  311. # ☆ Points gained after each level up
  312. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  313. # This is where you define the amount of distribution points each character
  314. # gains after each level up.
  315. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  316.  
  317. LVUPPTS = 5 # Recommended to be under 10
  318.  
  319. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  320. # ☆ Default parameter growth
  321. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  322. # This is where you define whether you still gain parameters via
  323. # the parameter curves in the database.
  324. # set this to true if you wish to use that method (as well as SPD method).
  325. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  326.  
  327. USE_DEFAULT_PARAM_GAIN = false
  328.  
  329. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  330. # ☆ Bonus Point Gains
  331. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  332. # Here you can grant bonus points on specific levels e.g reach level 10
  333. # gain 5 bonus spendable points as a reward .
  334. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  335.  
  336. BONUS_POINTS_ON_LEVELS = true # If "true" this will grant bonus points on
  337. # levels listed in LEVELS.
  338.  
  339. LEVELS = [10, 20, 30, 40, 50, 75, 100] # If BONUS_POINTS_ON_LEVELS is 'true'
  340. # these will be the levels that the
  341. # actor(s) will gain bonus points on.
  342.  
  343. ONLY_GAIN_POINTS_ON_LEVELS = false # Make this option "true" if you only want
  344. # to gains points on the levels stated
  345. # in LEVELS.
  346. # NOTE: BONUS_POINTS_ON_LEVELS "MUST!" be
  347. # "true" for this option to work.
  348.  
  349. BONUSPOINTS = 10 # Define here how many bonus points your actors
  350. # gain on their bonus point levels.
  351.  
  352. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  353. # Make this "true" if you want to be able to exit the SPD screen before
  354. # all points are spent/used.
  355. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  356.  
  357. EXIT_BEFORE_POINTS_SPENT = true
  358.  
  359. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  360. # - Switch Settings -
  361. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  362. # These are the switches that govern whether or not certain menu items will
  363. # appear and/or will be enabled. By binding them to a Switch, you can just
  364. # set the Switch ON/OFF to show/hide or enable/disable a menu command. If
  365. # you do not wish to use this feature, set these commands to 0.
  366. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  367.  
  368. SWITCH_SHOW_PSPDS = 0 # Switch that shows pspds in Main Menu.
  369.  
  370. SWITCH_ENABLE_PSPDS = 0 # Switch that enables pspds in Main Menu.
  371.  
  372. COMPLETELY_DISABLE_MENU_OPTION = false # set this to true if you want ^_^
  373.  
  374.  
  375. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  376. # ☆ Parameter gain settings
  377. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  378. # These settings adjust the points gained for each point spent
  379. # in each command option as well as each command options name.
  380. # You can also put negative values for each parameter.
  381. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  382. # !! IMPORTANT !!
  383. #-----------------
  384. # It is important to note that Actor Ex-Parameters and Sp-Parameters deal
  385. # with percentage chance values. This means that their gain/reduce values
  386. # should be values that represent rates. What this means is:
  387. # 0.001 = 0.1%
  388. # 0.01 = 1%
  389. # 0.1 = 10%
  390. # 1.0 = 100%
  391. #
  392. # Be *very* careful with Ex/Sp-Parameters when defining their gain/reduce values.
  393. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  394.  
  395. COMMAND_COLUMN_WIDTH = 128
  396.  
  397. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  398. # Option 1 settings (command option 1)
  399. #-------------------------------------
  400. # Adjust these to your liking. you can set it to decrease by using "-" before
  401. # your value. e.g OPTION_1_MaxHP_GAIN = -9.5 will reduce MHP by 9.5
  402. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  403.  
  404. COMMAND_NAME_1 = "Vitality" # Name of command option
  405.  
  406. #Regular-Parameters
  407. OPTION_1_MaxHP_GAIN = 9.5 # Maximum HP Stat.
  408.  
  409. OPTION_1_MaxMP_GAIN = 0 # Maximum MP Stat.
  410.  
  411. OPTION_1_ATK_GAIN = 0 # Attack Stat.
  412.  
  413. OPTION_1_DEF_GAIN = 0.4 # Defence Stat.
  414.  
  415. OPTION_1_MAT_GAIN = 0 # Magic Attack Stat.
  416.  
  417. OPTION_1_MDF_GAIN = 0.4 # Magic Defence Stat.
  418.  
  419. OPTION_1_AGI_GAIN = 0 # Agility Stat.
  420.  
  421. OPTION_1_LUK_GAIN = 0 # Luck Stat.
  422.  
  423. #The following are % gains, 0.01 = 1%
  424. #X-Parameters
  425. OPTION_1_HIT_GAIN = 0.00 # Hit Rate.
  426.  
  427. OPTION_1_EVA_GAIN = 0.00 # Evasion Rate.
  428.  
  429. OPTION_1_CRI_GAIN = 0.00 # Critical Hit Rate.
  430.  
  431. OPTION_1_CEV_GAIN = 0.001 # Critical Evasion Rate.
  432.  
  433. OPTION_1_MEV_GAIN = 0.00 # Magic Evasion Rate.
  434.  
  435. OPTION_1_MRF_GAIN = 0.00 # Magic Reflect Rate.
  436.  
  437. OPTION_1_CNT_GAIN = 0.00 # Counter Rate.
  438.  
  439. OPTION_1_HRG_GAIN = 0.0005 # HP Regeneration Rate.
  440.  
  441. OPTION_1_MRG_GAIN = 0.00 # MP Regeneration Rate.
  442.  
  443. OPTION_1_TRG_GAIN = 0.00 # TP Regeneration Rate.
  444.  
  445. #S-Parameters
  446. OPTION_1_TGR_GAIN = 0.013 # Target Rate. (monsters targeting you)
  447.  
  448. OPTION_1_GRD_GAIN = 0.013 # Guard Effect Rate
  449.  
  450. OPTION_1_REC_GAIN = 0.00 # Recovery Effect Rate.
  451.  
  452. OPTION_1_PHA_GAIN = 0.00 # Pharmacology Effect Rate.
  453.  
  454. OPTION_1_MCR_GAIN = -0.00 # MP Cost Rate
  455.  
  456. OPTION_1_TCR_GAIN = -0.00 # TP Charge Rate.
  457.  
  458. OPTION_1_PDR_GAIN = -0.00025 # Physical Damage Rate.(incomming)
  459.  
  460. OPTION_1_MDR_GAIN = -0.00025 # Magical Damage Rate.(incomming)
  461.  
  462. OPTION_1_FDR_GAIN = -0.00 # Floor Damage Rate.
  463.  
  464. OPTION_1_EXR_GAIN = 0 # EXP Gain Rate.
  465.  
  466.  
  467. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  468. # Option 2 settings (command option 2)
  469. #-------------------------------------
  470. # Adjust these to your liking. you can set it to decrease by using "-" before
  471. # your value. e.g OPTION_1_MaxHP_GAIN = -9.5 will reduce MHP by 9.5
  472. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  473.  
  474. COMMAND_NAME_2 = "Strength"
  475.  
  476. #Regular-Parameters
  477. OPTION_2_MaxHP_GAIN = 0 # Maximum HP Stat.
  478.  
  479. OPTION_2_MaxMP_GAIN = 0 # Maximum MP Stat.
  480.  
  481. OPTION_2_ATK_GAIN = 1.2 # Attack Stat.
  482.  
  483. OPTION_2_DEF_GAIN = 0.6 # Defence Stat.
  484.  
  485. OPTION_2_MAT_GAIN = -0.01 # Magic Attack Stat.
  486.  
  487. OPTION_2_MDF_GAIN = -0.01 # Magic Defence Stat.
  488.  
  489. OPTION_2_AGI_GAIN = 0 # Agility Stat.
  490.  
  491. OPTION_2_LUK_GAIN = 0.1 # Luck Stat.
  492.  
  493. #The following are % gains, 0.01 = 1%
  494. #X-Parameters
  495. OPTION_2_HIT_GAIN = 0.00 # Hit Rate.
  496.  
  497. OPTION_2_EVA_GAIN = 0.00 # Evasion Rate.
  498.  
  499. OPTION_2_CRI_GAIN = 0.00 # Critical Hit Rate.
  500.  
  501. OPTION_2_CEV_GAIN = 0.00 # Critical Evasion Rate.
  502.  
  503. OPTION_2_MEV_GAIN = 0.00 # Magic Evasion Rate.
  504.  
  505. OPTION_2_MRF_GAIN = 0.00 # Magic Reflect Rate.
  506.  
  507. OPTION_2_CNT_GAIN = 0.0005 # Counter Rate.
  508.  
  509. OPTION_2_HRG_GAIN = 0.00 # HP Regeneration Rate.
  510.  
  511. OPTION_2_MRG_GAIN = 0.00 # MP Regeneration Rate.
  512.  
  513. OPTION_2_TRG_GAIN = 0.00 # TP Regeneration Rate.
  514.  
  515. #S-Parameters
  516. OPTION_2_TGR_GAIN = 0.0009 # Target Rate. (monsters targeting you)
  517.  
  518. OPTION_2_GRD_GAIN = 0.005 # Guard Effect Rate
  519.  
  520. OPTION_2_REC_GAIN = 0.00 # Recovery Effect Rate.
  521.  
  522. OPTION_2_PHA_GAIN = 0.00 # Pharmacology Effect Rate.
  523.  
  524. OPTION_2_MCR_GAIN = -0.00 # MP Cost Rate
  525.  
  526. OPTION_2_TCR_GAIN = -0.00 # TP Charge Rate.
  527.  
  528. OPTION_2_PDR_GAIN = -0.0020 # Physical Damage Rate.(incomming)
  529.  
  530. OPTION_2_MDR_GAIN = -0.00 # Magical Damage Rate.(incomming)
  531.  
  532. OPTION_2_FDR_GAIN = -0.00 # Floor Damage Rate.
  533.  
  534. OPTION_2_EXR_GAIN = 0 # EXP Gain Rate.
  535.  
  536. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  537. # Option 3 settings (command option 3)
  538. #-------------------------------------
  539. # Adjust these to your liking. you can set it to decrease by using "-" before
  540. # your value. e.g OPTION_1_MaxHP_GAIN = -9.5 will reduce MHP by 9.5
  541. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  542.  
  543. COMMAND_NAME_3 = "Dexterity"
  544.  
  545. #Regular-Parameters
  546. OPTION_3_MaxHP_GAIN = 0 # Maximum HP Stat.
  547.  
  548. OPTION_3_MaxMP_GAIN = 0 # Maximum MP Stat.
  549.  
  550. OPTION_3_ATK_GAIN = 0 # Attack Stat.
  551.  
  552. OPTION_3_DEF_GAIN = 0 # Defence Stat.
  553.  
  554. OPTION_3_MAT_GAIN = 0 # Magic Attack Stat.
  555.  
  556. OPTION_3_MDF_GAIN = 0 # Magic Defence Stat.
  557.  
  558. OPTION_3_AGI_GAIN = 1.2 # Agility Stat.
  559.  
  560. OPTION_3_LUK_GAIN = 0.6 # Luck Stat.
  561.  
  562. #The following are % gains, 0.01 = 1%
  563. #X-Parameters
  564. OPTION_3_HIT_GAIN = 0.005 # Hit Rate.
  565.  
  566. OPTION_3_EVA_GAIN = 0.0005 # Evasion Rate.
  567.  
  568. OPTION_3_CRI_GAIN = 0.001 # Critical Hit Rate.
  569.  
  570. OPTION_3_CEV_GAIN = 0.0005 # Critical Evasion Rate.
  571.  
  572. OPTION_3_MEV_GAIN = 0.00025 # Magic Evasion Rate.
  573.  
  574. OPTION_3_MRF_GAIN = 0.00 # Magic Reflect Rate.
  575.  
  576. OPTION_3_CNT_GAIN = 0.0002 # Counter Rate.
  577.  
  578. OPTION_3_HRG_GAIN = 0.00 # HP Regeneration Rate.
  579.  
  580. OPTION_3_MRG_GAIN = 0.00 # MP Regeneration Rate.
  581.  
  582. OPTION_3_TRG_GAIN = 0.0005 # TP Regeneration Rate.
  583.  
  584. #S-Parameters
  585. OPTION_3_TGR_GAIN = 0.00 # Target Rate. (monsters targeting you)
  586.  
  587. OPTION_3_GRD_GAIN = 0.00 # Guard Effect Rate
  588.  
  589. OPTION_3_REC_GAIN = 0.00 # Recovery Effect Rate.
  590.  
  591. OPTION_3_PHA_GAIN = 0.00 # Pharmacology Effect Rate.
  592.  
  593. OPTION_3_MCR_GAIN = -0.00 # MP Cost Rate
  594.  
  595. OPTION_3_TCR_GAIN = -0.0025 # TP Charge Rate.
  596.  
  597. OPTION_3_PDR_GAIN = -0.00 # Physical Damage Rate.(incomming)
  598.  
  599. OPTION_3_MDR_GAIN = -0.00 # Magical Damage Rate.(incomming)
  600.  
  601. OPTION_3_FDR_GAIN = -0.00 # Floor Damage Rate.
  602.  
  603. OPTION_3_EXR_GAIN = 0 # EXP Gain Rate.
  604.  
  605. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  606. # Option 4 settings (command option 4)
  607. #-------------------------------------
  608. # Adjust these to your liking. you can set it to decrease by using "-" before
  609. # your value. e.g OPTION_1_MaxHP_GAIN = -9.5 will reduce MHP by 9.5
  610. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  611.  
  612. COMMAND_NAME_4 = "Magic"
  613.  
  614. #Regular-Parameters
  615. OPTION_4_MaxHP_GAIN = 0 # Maximum HP Stat.
  616.  
  617. OPTION_4_MaxMP_GAIN = 9.5 # Maximum MP Stat.
  618.  
  619. OPTION_4_ATK_GAIN = -0.01 # Attack Stat.
  620.  
  621. OPTION_4_DEF_GAIN = -0.01 # Defence Stat.
  622.  
  623. OPTION_4_MAT_GAIN = 1.2 # Magic Attack Stat.
  624.  
  625. OPTION_4_MDF_GAIN = 0.6 # Magic Defence Stat.
  626.  
  627. OPTION_4_AGI_GAIN = 0 # Agility Stat.
  628.  
  629. OPTION_4_LUK_GAIN = 0.1 # Luck Stat.
  630.  
  631. #The following are % gains, 0.01 = 1%
  632. #X-Parameters
  633. OPTION_4_HIT_GAIN = 0.00 # Hit Rate.
  634.  
  635. OPTION_4_EVA_GAIN = 0.00 # Evasion Rate.
  636.  
  637. OPTION_4_CRI_GAIN = 0.00 # Critical Hit Rate.
  638.  
  639. OPTION_4_CEV_GAIN = 0.00 # Critical Evasion Rate.
  640.  
  641. OPTION_4_MEV_GAIN = 0.001 # Magic Evasion Rate.
  642.  
  643. OPTION_4_MRF_GAIN = 0.00 # Magic Reflect Rate.
  644.  
  645. OPTION_4_CNT_GAIN = 0.00 # Counter Rate.
  646.  
  647. OPTION_4_HRG_GAIN = 0.00 # HP Regeneration Rate.
  648.  
  649. OPTION_4_MRG_GAIN = 0.0005 # MP Regeneration Rate.
  650.  
  651. OPTION_4_TRG_GAIN = 0.00 # TP Regeneration Rate.
  652.  
  653. #S-Parameters
  654. OPTION_4_TGR_GAIN = 0.00 # Target Rate. (monsters targeting you)
  655.  
  656. OPTION_4_GRD_GAIN = 0.004 # Guard Effect Rate
  657.  
  658. OPTION_4_REC_GAIN = 0.00 # Recovery Effect Rate.
  659.  
  660. OPTION_4_PHA_GAIN = 0.00 # Pharmacology Effect Rate.
  661.  
  662. OPTION_4_MCR_GAIN = -0.0025 # MP Cost Rate
  663.  
  664. OPTION_4_TCR_GAIN = -0.00 # TP Charge Rate.
  665.  
  666. OPTION_4_PDR_GAIN = -0.00 # Physical Damage Rate.(incomming)
  667.  
  668. OPTION_4_MDR_GAIN = -0.0020 # Magical Damage Rate.(incomming)
  669.  
  670. OPTION_4_FDR_GAIN = -0.00 # Floor Damage Rate.
  671.  
  672. OPTION_4_EXR_GAIN = 0 # EXP Gain Rate.
  673.  
  674. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  675. # Option 5 settings (this is the leave screen command).
  676. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  677.  
  678. FINISHVOCAB = "Done" # Command name for leaving the SPDS Screen
  679.  
  680. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  681. # ☆ Option cost settings
  682. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  683. # These settings adjust the amount of points it costs to gain an increase
  684. # in that particular command option.
  685. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  686.  
  687. OPTION_1_COST = 1 # Default = 1
  688.  
  689. OPTION_2_COST = 1 # Default = 1
  690.  
  691. OPTION_3_COST = 1 # Default = 1
  692.  
  693. OPTION_4_COST = 1 # Default = 1
  694.  
  695. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  696. # ☆ Parameters Gauge Settings
  697. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  698. # Set this to "true" if you wish to have Gauges for params e.g
  699. # MaxHP, MaxMP, Atk, Def, Mat, Mdf, Agi, Luk.
  700. # Set it to "false" to draw params in boxes.
  701. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  702.  
  703. DRAW_PARAM_GAUGES = true
  704.  
  705. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  706. # ☆ Parameters Colour Settings
  707. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  708. # These settings adjust the way the parameters window visually appears.
  709. # Each of the stats have a non-window colour. Adjust them as you see fit.
  710. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  711.  
  712. PARAM_COLOUR ={
  713. # ParamID => [:stat, Colour1, Colour2 ],
  714. 2 => [ :atk, Color.new(225, 100, 100), Color.new(240, 150, 150)],
  715. 3 => [ :def, Color.new(250, 150, 30), Color.new(250, 180, 100)],
  716. 4 => [ :mat, Color.new( 70, 140, 200), Color.new(135, 180, 230)],
  717. 5 => [ :mdf, Color.new(135, 130, 190), Color.new(170, 160, 220)],
  718. 6 => [ :agi, Color.new( 60, 180, 80), Color.new(120, 200, 120)],
  719. 7 => [ :luk, Color.new(255, 240, 100), Color.new(255, 250, 200)],
  720. } # Do not remove this.
  721.  
  722. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  723. # ☆ Properties Window Settings
  724. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  725. # These settings adjust the way the properties window visually appears.
  726. # The properties have abbreviations, but leaving them as such makes things
  727. # confusing (as it's sometimes hard to figure out what the abbreviations
  728. # mean). Change the way the appear, whether or not they appear, and what
  729. # order they will appear in.
  730. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  731.  
  732. #---------------------------------------------------------------------------
  733. # ☆ Just for the hell of it:
  734. #----------------------------
  735. # This option is for those people who like to have large number values for
  736. # their stats,
  737. # e.g
  738. # accuracy = 17,982.
  739. # attack = 6021.
  740. #
  741. # Simply set "PROPERTIES_BIGGER_NUMBERS" to "true" to activate this option.
  742. #
  743. # NOTE:
  744. # This doesnt acctually increase your stats to ridiculous values
  745. # It just makes it appear that way :)
  746. # your still not gonna be hitting monsters for 6,932,123,21.5 :D
  747. #
  748. # This is also very usefull if you want your game to have a more
  749. # unique looking stat progression system
  750. # e.g
  751. # People cant calculate the stats as easy
  752. #---------------------------------------------------------------------------
  753. PROPERTIES_BIGGER_NUMBERS = false
  754.  
  755. # This option is how much the parameters value will be multiplied by
  756. # IF PROPERTIES_BIGGER_NUMBERS = true
  757. # VISUAL PURPOSES ONLY!
  758. PARAMS_BIGGER_NUMBER_VALUE = 8.5
  759.  
  760. # This option is how much the properties value will be multiplied by
  761. # IF PROPERTIES_BIGGER_NUMBERS = true
  762. # VISUAL PURPOSES ONLY!
  763. # ONLY AFFECTS NON-% STATS e.g stats such as MP Cost Rate will remain a %.
  764. PROPERTIES_BIGGER_NUMBER_VALUE = 850
  765.  
  766. # These are the parameters that appear in column 1.
  767. # This column's settings are only relevant if DRAW_PARAM_GAUGES = false (above)
  768. PROPERTIES_PARAMCOLUMN =[
  769. [:mhp, "Max HP"], #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  770. [:mmp, "Max MP"], # <- Rename these to whatever you want your
  771. [:atk, "Attack"], # <- origional parameters to be called :)
  772. [:def, "Defence"], # <-
  773. [:mat, "M Attack"], # <-
  774. [:mdf, "M Defence"], # <-
  775. [:agi, "Speed"], # <-
  776. [:luk, "Luck"], #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  777. ] # Do not remove this.
  778.  
  779. # These are the properties that appear in column 2.
  780. PROPERTIES_COLUMN1 =[
  781. [:hit, "Hit Rate"],
  782. [:eva, "Evasion"],
  783. [:cri, "Critical Hit"],
  784. [:cev, "Critical Evade"],
  785. [:mev, "Magic Evasion"],
  786. [:mrf, "Magic Reflect"],
  787. [:cnt, "Counter Rate"],
  788. [:tgr, "Target Rate"],
  789. ] # Do not remove this.
  790.  
  791. # These are the properties that appear in column 3.
  792. PROPERTIES_COLUMN2 =[
  793. [:hrg, "HP Regen"],
  794. [:mrg, "MP Regen"],
  795. [:trg, "TP Regen"],
  796. [:rec, "Recovery"],
  797. [:grd, "Guard Rate"],
  798. [:pha, "Item Boost"],
  799. [:exr, "EXP Rate"],
  800. [:tcr, "TP Charge"],
  801. ] # Do not remove this.
  802.  
  803. # These are the properties that appear in column 4.
  804. PROPERTIES_COLUMN3 =[
  805. [:hcr, "HP Cost Rate"], # Requires YEA - Skill Cost Manager
  806. [:mcr, "MP Cost Rate"],
  807. [:tcr_y, "TP Cost Rate"], # Requires YEA - Skill Cost Manager
  808. [:cdr, "Cooldown Rate"], # Requires YEA - Skill Restrictions
  809. [:wur, "Warmup Rate"], # Requires YEA - Skill Restrictions
  810. [:pdr, "Physical Damage"],
  811. [:mdr, "Magical Damage"],
  812. [:fdr, "Floor Damage"],
  813. ] # Do not remove this.
  814.  
  815. DRAW_ALL_COLUMNS = true # This option is for those who do not want all 4 columns
  816. # Simply set this to false to only draw 3 columns
  817. # e.g the param column, column1 and column2.
  818.  
  819. #===============================================================================#
  820. #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#
  821. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆#
  822. # #
  823. # PSPDS #
  824. # (Perfect Stat Point Distribution System) #
  825. # - CUSTOMISATION END - #
  826. # #
  827. # #
  828. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆#
  829. #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#
  830. #===============================================================================#
  831. # - DekitaRPG@gmail.com - #
  832. #===============================================================================#
  833. #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#
  834. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆#
  835. # #
  836. # PSPDS #
  837. # (Perfect Stat Point Distribution System) #
  838. # - SCRIPT BEGIN - #
  839. # #
  840. # #
  841. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆#
  842. #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#
  843. #===============================================================================#
  844. # - DekitaRPG@gmail.com - #
  845. #===============================================================================#
  846. # ARE YOU MODIFYING BEYOND THIS POINT? \.\. #
  847. # YES?\.\. #
  848. # OMG, REALLY? #
  849. # WELL SLAP MY FACE AND CALL ME A DRAGON.\..\.. #
  850. # I REALLY DIDN'T THINK YOU HAD IT IN YOU.\..\.. #
  851. #===============================================================================#
  852.  
  853. NEW_STATS_COLUMN =[
  854. [:vit_pts, DPB::PSPDS::COMMAND_NAME_1],
  855. [:str_pts, DPB::PSPDS::COMMAND_NAME_2],
  856. [:dex_pts, DPB::PSPDS::COMMAND_NAME_3],
  857. [:mag_pts, DPB::PSPDS::COMMAND_NAME_4],
  858. ] # Do not remove this.
  859.  
  860. end # PSPDS
  861. end # DPB
  862.  
  863. #===============================================================================
  864. # Switch
  865. #===============================================================================
  866.  
  867. module Switch
  868.  
  869. #-----------------------------------------------------------------------------
  870. # self.pspds_show
  871. #-----------------------------------------------------------------------------
  872. def self.pspds_show
  873. return true if DPB::PSPDS::SWITCH_SHOW_PSPDS <= 0
  874. return $game_switches[DPB::PSPDS::SWITCH_SHOW_PSPDS]
  875. end
  876.  
  877. #-----------------------------------------------------------------------------
  878. # self.pspds_enable
  879. #-----------------------------------------------------------------------------
  880. def self.pspds_enable
  881. return true if DPB::PSPDS::SWITCH_ENABLE_PSPDS <= 0
  882. return $game_switches[DPB::PSPDS::SWITCH_ENABLE_PSPDS]
  883. end
  884.  
  885. end # Switch
  886.  
  887. #------------------------------------------------------------------------------#
  888. #==============================================================================#
  889. # ** Game_BattlerBase
  890. #==============================================================================#
  891. class Game_BattlerBase
  892.  
  893. alias dpb_pspds_init initialize
  894. def initialize(*args, &block)
  895. clear_xparam_plus
  896. clear_sparam_plus
  897. dpb_pspds_init(*args, &block)
  898. end
  899. #--------
  900. def xparam(xparam_id)
  901. (features_sum(FEATURE_XPARAM, xparam_id) + xparam_plus(xparam_id))
  902. end
  903.  
  904. def xparam_plus(xparam_id)
  905. @xparam_plus[xparam_id]
  906. end
  907.  
  908. def clear_xparam_plus
  909. @xparam_plus = [0] * 10
  910. end
  911.  
  912. def add_xparam(xparam_id, value)
  913. @xparam_plus[xparam_id] += value
  914. refresh
  915. end
  916. #--------
  917. def sparam(sparam_id)
  918. (features_pi(FEATURE_SPARAM, sparam_id) + sparam_plus(sparam_id))
  919. end
  920.  
  921. def sparam_plus(sparam_id)
  922. @sparam_plus[sparam_id]
  923. end
  924.  
  925. def clear_sparam_plus
  926. @sparam_plus = [0] * 10
  927. end
  928.  
  929. def add_sparam(sparam_id, value)
  930. @sparam_plus[sparam_id] += value
  931. refresh
  932. end
  933. #--------
  934. end # Game_BattlerBase
  935.  
  936. $pts = DPB::PSPDS::LVUPPTS
  937. $bonuspts = DPB::PSPDS::BONUSPOINTS
  938. $vitpts = 1 # < DO NOT CHANGE!
  939. $strpts = 1 # < DO NOT CHANGE!
  940. $dexpts = 1 # < DO NOT CHANGE!
  941. $magpts = 1 # < DO NOT CHANGE!
  942.  
  943. class Scene_Level_Up < Scene_MenuBase
  944. def msg
  945. s = ["#{DPB::PSPDS::VIT_GAIN_VOCAB}
  946. Points Cost : #{@actor.cost_caract(0)}",
  947. "#{DPB::PSPDS::STR_GAIN_VOCAB}
  948. Points Cost : #{@actor.cost_caract(1)}",
  949. "#{DPB::PSPDS::DEX_GAIN_VOCAB}
  950. Points Cost : #{@actor.cost_caract(2)}",
  951. "#{DPB::PSPDS::MAG_GAIN_VOCAB}
  952. Points Cost : #{@actor.cost_caract(3)}",
  953. "#{DPB::PSPDS::EXIT_VOCAB} "]
  954. return s
  955. end
  956. #-----------------------------------------------------------------------------
  957. # * Start Processing
  958. #-----------------------------------------------------------------------------
  959. def start
  960. super
  961. if $game_temp.actor_level_up[0]
  962. @actor = $game_temp.actor_level_up[0] # For menu screen access.
  963. else
  964. end
  965. create_status_window
  966. create_command_window
  967. create_help_window
  968. @help_window.set_text(msg[@command_window.index])
  969. @help_window.y = (Graphics.height - 80)
  970. @help_window.opacity = 0
  971. $game_temp.actor_level_up.delete_at(0)
  972. end
  973.  
  974. def create_command_window
  975. @command_window = Window_Level_upCommand.new
  976. @command_window.set_handler(:gain_vit, method(:command_gain_vit))
  977. @command_window.set_handler(:gain_str, method(:command_gain_str))
  978. @command_window.set_handler(:gain_dex, method(:command_gain_dex))
  979. @command_window.set_handler(:gain_mag, method(:command_gain_mag))
  980. @command_window.set_handler(:retour, method(:command_return))
  981. @command_window.set_handler(:pagedown, method(:next_actor))
  982. @command_window.set_handler(:pageup, method(:prev_actor))
  983. @command_window.y = 0
  984. end
  985. #--------
  986. def command_return
  987. if @actor.level_up_pts < 0
  988. @help_window.set_text(" ")
  989. wait(0)
  990. @command_window.activate
  991. else
  992. return_scene
  993. end
  994. end
  995. #--------
  996. def create_status_window
  997. @status_window = Window_Status_Level_up.new(@actor)
  998. @status_window.x = 0
  999. @status_window.y = 0
  1000. end
  1001. #--------
  1002. def command_gain_vit
  1003. index = @command_window.index
  1004. # actor = $game_actors[@actor.actor_id]
  1005. @command_window.refresh
  1006. if @actor.level_up_pts >= @actor.cost_caract(index)
  1007. @actor.gain_lvl_pts(-@actor.cost_caract(index))
  1008. @actor.gain_vit_pts($vitpts)
  1009. #reg's
  1010. @actor.add_param(0, DPB::PSPDS::OPTION_1_MaxHP_GAIN)
  1011. @actor.add_param(1, DPB::PSPDS::OPTION_1_MaxMP_GAIN)
  1012. @actor.add_param(2, DPB::PSPDS::OPTION_1_ATK_GAIN)
  1013. @actor.add_param(3, DPB::PSPDS::OPTION_1_DEF_GAIN)
  1014. @actor.add_param(4, DPB::PSPDS::OPTION_1_MAT_GAIN)
  1015. @actor.add_param(5, DPB::PSPDS::OPTION_1_MDF_GAIN)
  1016. @actor.add_param(6, DPB::PSPDS::OPTION_1_AGI_GAIN)
  1017. @actor.add_param(7, DPB::PSPDS::OPTION_1_LUK_GAIN)
  1018. #x's
  1019. @actor.add_xparam(0, DPB::PSPDS::OPTION_1_HIT_GAIN)
  1020. @actor.add_xparam(1, DPB::PSPDS::OPTION_1_EVA_GAIN)
  1021. @actor.add_xparam(2, DPB::PSPDS::OPTION_1_CRI_GAIN)
  1022. @actor.add_xparam(3, DPB::PSPDS::OPTION_1_CEV_GAIN)
  1023. @actor.add_xparam(4, DPB::PSPDS::OPTION_1_MEV_GAIN)
  1024. @actor.add_xparam(5, DPB::PSPDS::OPTION_1_MRF_GAIN)
  1025. @actor.add_xparam(6, DPB::PSPDS::OPTION_1_CNT_GAIN)
  1026. @actor.add_xparam(7, DPB::PSPDS::OPTION_1_HRG_GAIN)
  1027. @actor.add_xparam(8, DPB::PSPDS::OPTION_1_MRG_GAIN)
  1028. @actor.add_xparam(9, DPB::PSPDS::OPTION_1_TRG_GAIN)
  1029. #s's
  1030. @actor.add_sparam(0, DPB::PSPDS::OPTION_1_TGR_GAIN)
  1031. @actor.add_sparam(1, DPB::PSPDS::OPTION_1_GRD_GAIN)
  1032. @actor.add_sparam(2, DPB::PSPDS::OPTION_1_REC_GAIN)
  1033. @actor.add_sparam(3, DPB::PSPDS::OPTION_1_PHA_GAIN)
  1034. @actor.add_sparam(4, DPB::PSPDS::OPTION_1_MCR_GAIN)
  1035. @actor.add_sparam(5, DPB::PSPDS::OPTION_1_TCR_GAIN)
  1036. @actor.add_sparam(6, DPB::PSPDS::OPTION_1_PDR_GAIN)
  1037. @actor.add_sparam(7, DPB::PSPDS::OPTION_1_MDR_GAIN)
  1038. @actor.add_sparam(8, DPB::PSPDS::OPTION_1_FDR_GAIN)
  1039. @actor.add_sparam(9, DPB::PSPDS::OPTION_1_EXR_GAIN)
  1040. #end inc stat
  1041. @help_window.set_text(DPB::PSPDS::ADDSTATTEXT)
  1042. else
  1043. @help_window.set_text(DPB::PSPDS::NOPOINTSTEXT)
  1044. end
  1045. @status_window.refresh
  1046. @command_window.refresh
  1047. wait(25)
  1048. @command_window.activate
  1049. end
  1050. #--------
  1051. def command_gain_str
  1052. index = @command_window.index
  1053. @command_window.refresh
  1054. if @actor.level_up_pts >= @actor.cost_caract(index)
  1055. @actor.gain_lvl_pts(-@actor.cost_caract(index))
  1056. @actor.gain_str_pts($strpts)
  1057. #reg's
  1058. @actor.add_param(0, DPB::PSPDS::OPTION_2_MaxHP_GAIN)
  1059. @actor.add_param(1, DPB::PSPDS::OPTION_2_MaxMP_GAIN)
  1060. @actor.add_param(2, DPB::PSPDS::OPTION_2_ATK_GAIN)
  1061. @actor.add_param(3, DPB::PSPDS::OPTION_2_DEF_GAIN)
  1062. @actor.add_param(4, DPB::PSPDS::OPTION_2_MAT_GAIN)
  1063. @actor.add_param(5, DPB::PSPDS::OPTION_2_MDF_GAIN)
  1064. @actor.add_param(6, DPB::PSPDS::OPTION_2_AGI_GAIN)
  1065. @actor.add_param(7, DPB::PSPDS::OPTION_2_LUK_GAIN)
  1066. #x's
  1067. @actor.add_xparam(0, DPB::PSPDS::OPTION_2_HIT_GAIN)
  1068. @actor.add_xparam(1, DPB::PSPDS::OPTION_2_EVA_GAIN)
  1069. @actor.add_xparam(2, DPB::PSPDS::OPTION_2_CRI_GAIN)
  1070. @actor.add_xparam(3, DPB::PSPDS::OPTION_2_CEV_GAIN)
  1071. @actor.add_xparam(4, DPB::PSPDS::OPTION_2_MEV_GAIN)
  1072. @actor.add_xparam(5, DPB::PSPDS::OPTION_2_MRF_GAIN)
  1073. @actor.add_xparam(6, DPB::PSPDS::OPTION_2_CNT_GAIN)
  1074. @actor.add_xparam(7, DPB::PSPDS::OPTION_2_HRG_GAIN)
  1075. @actor.add_xparam(8, DPB::PSPDS::OPTION_2_MRG_GAIN)
  1076. @actor.add_xparam(9, DPB::PSPDS::OPTION_2_TRG_GAIN)
  1077. #s's
  1078. @actor.add_sparam(0, DPB::PSPDS::OPTION_2_TGR_GAIN)
  1079. @actor.add_sparam(1, DPB::PSPDS::OPTION_2_GRD_GAIN)
  1080. @actor.add_sparam(2, DPB::PSPDS::OPTION_2_REC_GAIN)
  1081. @actor.add_sparam(3, DPB::PSPDS::OPTION_2_PHA_GAIN)
  1082. @actor.add_sparam(4, DPB::PSPDS::OPTION_2_MCR_GAIN)
  1083. @actor.add_sparam(5, DPB::PSPDS::OPTION_2_TCR_GAIN)
  1084. @actor.add_sparam(6, DPB::PSPDS::OPTION_2_PDR_GAIN)
  1085. @actor.add_sparam(7, DPB::PSPDS::OPTION_2_MDR_GAIN)
  1086. @actor.add_sparam(8, DPB::PSPDS::OPTION_2_FDR_GAIN)
  1087. @actor.add_sparam(9, DPB::PSPDS::OPTION_2_EXR_GAIN)
  1088. #end inc stat
  1089. @help_window.set_text(DPB::PSPDS::ADDSTATTEXT)
  1090. else
  1091. @help_window.set_text(DPB::PSPDS::NOPOINTSTEXT)
  1092. end
  1093. @status_window.refresh
  1094. @command_window.refresh
  1095. wait(25)
  1096. @command_window.activate
  1097. end
  1098. #--------
  1099. def command_gain_dex
  1100. index = @command_window.index
  1101. @command_window.refresh
  1102. if @actor.level_up_pts >= @actor.cost_caract(index)
  1103. @actor.gain_lvl_pts(-@actor.cost_caract(index))
  1104. @actor.gain_dex_pts($dexpts)
  1105. #reg's
  1106. @actor.add_param(0, DPB::PSPDS::OPTION_3_MaxHP_GAIN)
  1107. @actor.add_param(1, DPB::PSPDS::OPTION_3_MaxMP_GAIN)
  1108. @actor.add_param(2, DPB::PSPDS::OPTION_3_ATK_GAIN)
  1109. @actor.add_param(3, DPB::PSPDS::OPTION_3_DEF_GAIN)
  1110. @actor.add_param(4, DPB::PSPDS::OPTION_3_MAT_GAIN)
  1111. @actor.add_param(5, DPB::PSPDS::OPTION_3_MDF_GAIN)
  1112. @actor.add_param(6, DPB::PSPDS::OPTION_3_AGI_GAIN)
  1113. @actor.add_param(7, DPB::PSPDS::OPTION_3_LUK_GAIN)
  1114. #x's
  1115. @actor.add_xparam(0, DPB::PSPDS::OPTION_3_HIT_GAIN)
  1116. @actor.add_xparam(1, DPB::PSPDS::OPTION_3_EVA_GAIN)
  1117. @actor.add_xparam(2, DPB::PSPDS::OPTION_3_CRI_GAIN)
  1118. @actor.add_xparam(3, DPB::PSPDS::OPTION_3_CEV_GAIN)
  1119. @actor.add_xparam(4, DPB::PSPDS::OPTION_3_MEV_GAIN)
  1120. @actor.add_xparam(5, DPB::PSPDS::OPTION_3_MRF_GAIN)
  1121. @actor.add_xparam(6, DPB::PSPDS::OPTION_3_CNT_GAIN)
  1122. @actor.add_xparam(7, DPB::PSPDS::OPTION_3_HRG_GAIN)
  1123. @actor.add_xparam(8, DPB::PSPDS::OPTION_3_MRG_GAIN)
  1124. @actor.add_xparam(9, DPB::PSPDS::OPTION_3_TRG_GAIN)
  1125. #s's
  1126. @actor.add_sparam(0, DPB::PSPDS::OPTION_3_TGR_GAIN)
  1127. @actor.add_sparam(1, DPB::PSPDS::OPTION_3_GRD_GAIN)
  1128. @actor.add_sparam(2, DPB::PSPDS::OPTION_3_REC_GAIN)
  1129. @actor.add_sparam(3, DPB::PSPDS::OPTION_3_PHA_GAIN)
  1130. @actor.add_sparam(4, DPB::PSPDS::OPTION_3_MCR_GAIN)
  1131. @actor.add_sparam(5, DPB::PSPDS::OPTION_3_TCR_GAIN)
  1132. @actor.add_sparam(6, DPB::PSPDS::OPTION_3_PDR_GAIN)
  1133. @actor.add_sparam(7, DPB::PSPDS::OPTION_3_MDR_GAIN)
  1134. @actor.add_sparam(8, DPB::PSPDS::OPTION_3_FDR_GAIN)
  1135. @actor.add_sparam(9, DPB::PSPDS::OPTION_3_EXR_GAIN)
  1136. #end inc stat
  1137. @help_window.set_text(DPB::PSPDS::ADDSTATTEXT)
  1138. else
  1139. @help_window.set_text(DPB::PSPDS::NOPOINTSTEXT)
  1140. end
  1141. @status_window.refresh
  1142. @command_window.refresh
  1143. wait(25)
  1144. @command_window.activate
  1145. end
  1146. #--------
  1147. def command_gain_mag
  1148. index = @command_window.index
  1149. @command_window.refresh
  1150. if @actor.level_up_pts >= @actor.cost_caract(index)
  1151. @actor.gain_lvl_pts(-@actor.cost_caract(index))
  1152. @actor.gain_mag_pts($magpts)
  1153. #reg's
  1154. @actor.add_param(0, DPB::PSPDS::OPTION_4_MaxHP_GAIN)
  1155. @actor.add_param(1, DPB::PSPDS::OPTION_4_MaxMP_GAIN)
  1156. @actor.add_param(2, DPB::PSPDS::OPTION_4_ATK_GAIN)
  1157. @actor.add_param(3, DPB::PSPDS::OPTION_4_DEF_GAIN)
  1158. @actor.add_param(4, DPB::PSPDS::OPTION_4_MAT_GAIN)
  1159. @actor.add_param(5, DPB::PSPDS::OPTION_4_MDF_GAIN)
  1160. @actor.add_param(6, DPB::PSPDS::OPTION_4_AGI_GAIN)
  1161. @actor.add_param(7, DPB::PSPDS::OPTION_4_LUK_GAIN)
  1162. #x's
  1163. @actor.add_xparam(0, DPB::PSPDS::OPTION_4_HIT_GAIN)
  1164. @actor.add_xparam(1, DPB::PSPDS::OPTION_4_EVA_GAIN)
  1165. @actor.add_xparam(2, DPB::PSPDS::OPTION_4_CRI_GAIN)
  1166. @actor.add_xparam(3, DPB::PSPDS::OPTION_4_CEV_GAIN)
  1167. @actor.add_xparam(4, DPB::PSPDS::OPTION_4_MEV_GAIN)
  1168. @actor.add_xparam(5, DPB::PSPDS::OPTION_4_MRF_GAIN)
  1169. @actor.add_xparam(6, DPB::PSPDS::OPTION_4_CNT_GAIN)
  1170. @actor.add_xparam(7, DPB::PSPDS::OPTION_4_HRG_GAIN)
  1171. @actor.add_xparam(8, DPB::PSPDS::OPTION_4_MRG_GAIN)
  1172. @actor.add_xparam(9, DPB::PSPDS::OPTION_4_TRG_GAIN)
  1173. #s's
  1174. @actor.add_sparam(0, DPB::PSPDS::OPTION_4_TGR_GAIN)
  1175. @actor.add_sparam(1, DPB::PSPDS::OPTION_4_GRD_GAIN)
  1176. @actor.add_sparam(2, DPB::PSPDS::OPTION_4_REC_GAIN)
  1177. @actor.add_sparam(3, DPB::PSPDS::OPTION_4_PHA_GAIN)
  1178. @actor.add_sparam(4, DPB::PSPDS::OPTION_4_MCR_GAIN)
  1179. @actor.add_sparam(5, DPB::PSPDS::OPTION_4_TCR_GAIN)
  1180. @actor.add_sparam(6, DPB::PSPDS::OPTION_4_PDR_GAIN)
  1181. @actor.add_sparam(7, DPB::PSPDS::OPTION_4_MDR_GAIN)
  1182. @actor.add_sparam(8, DPB::PSPDS::OPTION_4_FDR_GAIN)
  1183. @actor.add_sparam(9, DPB::PSPDS::OPTION_4_EXR_GAIN)
  1184. #end inc stat
  1185. @help_window.set_text(DPB::PSPDS::ADDSTATTEXT)
  1186. else
  1187. @help_window.set_text(DPB::PSPDS::NOPOINTSTEXT)
  1188. end
  1189. @status_window.refresh
  1190. @command_window.refresh
  1191. wait(25)
  1192. @command_window.activate
  1193. end
  1194. #--------
  1195. def wait(time)
  1196. t = 0
  1197. loop do
  1198. Graphics.update
  1199. if t == time
  1200. break
  1201. end
  1202. t += 1
  1203. end
  1204. end
  1205. #--------
  1206. def update
  1207. super
  1208. @help_window.set_text(msg[@command_window.index])
  1209. end
  1210. #--------
  1211. def on_actor_change
  1212. @status_window.actor = @actor
  1213. @status_window.refresh
  1214. @command_window.activate
  1215. end
  1216. end
  1217. #--------
  1218. if DPB::PSPDS::INBATTLE
  1219. class Scene_Battle < Scene_Base # < Default setting. Only used when "INBATTLE" is true
  1220. alias old_update update
  1221. def update
  1222. old_update
  1223. if $game_temp.actor_level_up[0]
  1224. SceneManager.call(Scene_Level_Up)
  1225. end
  1226. end
  1227. end
  1228. end
  1229. #--------
  1230. if DPB::PSPDS::ONMAP
  1231. class Scene_Map < Scene_Base # < Only used if "ONMAP" is true
  1232. alias old_update update
  1233. def update
  1234. old_update
  1235. if $game_temp.actor_level_up[0]
  1236. SceneManager.call(Scene_Level_Up)
  1237. end
  1238. end
  1239. end
  1240. end
  1241. #--------
  1242. class Game_Actor < Game_Battler
  1243. attr_reader :level_up_pts
  1244. attr_reader :vit_pts
  1245. attr_reader :str_pts
  1246. attr_reader :dex_pts
  1247. attr_reader :mag_pts
  1248. alias old_initialize initialize
  1249. def initialize(actor_id)
  1250. old_initialize(actor_id)
  1251. @level_up_pts = 0
  1252. @vit_pts = 0
  1253. @str_pts = 0
  1254. @dex_pts = 0
  1255. @mag_pts = 0
  1256. end
  1257. #--------
  1258. def cost_caract(param)
  1259. tbl = [DPB::PSPDS::OPTION_1_COST,
  1260. DPB::PSPDS::OPTION_2_COST,
  1261. DPB::PSPDS::OPTION_3_COST,
  1262. DPB::PSPDS::OPTION_4_COST,
  1263. 0,
  1264. 0,
  1265. 0,
  1266. 0] # DO NOT MODIFY THIS
  1267. note = $data_classes[@class_id].note
  1268. note.each_line do |line|
  1269. if line.include?("<cost_caract>")
  1270. line2 = line.gsub!("<cost_caract> ","")
  1271. tbl = eval(line2)
  1272. end
  1273. end
  1274. return tbl[param]
  1275. end
  1276. #========================
  1277. def gain_lvl_pts(value)
  1278. @level_up_pts += value
  1279. if @level_up_pts < 0
  1280. @level_up_pts = 0
  1281. end
  1282. end
  1283. #=======================
  1284. def gain_vit_pts(value)
  1285. @vit_pts += value
  1286. if @vit_pts < 0
  1287. @vit_pts = 0
  1288. end
  1289. end
  1290. #--------
  1291. def gain_str_pts(value)
  1292. @str_pts += value
  1293. if @str_pts < 0
  1294. @str_pts = 0
  1295. end
  1296. end
  1297. #--------
  1298. def gain_dex_pts(value)
  1299. @dex_pts += value
  1300. if @dex_pts < 0
  1301. @dex_pts = 0
  1302. end
  1303. end
  1304. #--------
  1305. def gain_mag_pts(value)
  1306. @mag_pts += value
  1307. if @mag_pts < 0
  1308. @mag_pts = 0
  1309. end
  1310. end
  1311. #========================
  1312. def param_base(param_id)
  1313. if DPB::PSPDS::USE_DEFAULT_PARAM_GAIN
  1314. return self.class.params[param_id, @level]
  1315. else
  1316. return self.class.params[param_id, 1]
  1317. end
  1318. end
  1319. #========================
  1320. if DPB::PSPDS::ONLY_GAIN_POINTS_ON_LEVELS
  1321. def level_up
  1322. @level += 1
  1323. $game_temp.actor_level_up.push(self) unless $game_temp.actor_level_up.include?(self)
  1324. self.class.learnings.each do |learning|
  1325. learn_skill(learning.skill_id) if learning.level == @level
  1326. end
  1327. if DPB::PSPDS::BONUS_POINTS_ON_LEVELS
  1328. return unless DPB::PSPDS::LEVELS.include?(@level)
  1329. gain_lvl_pts($bonuspts)
  1330. else
  1331. end
  1332. end
  1333. else
  1334. def level_up
  1335. @level += 1
  1336. $game_temp.actor_level_up.push(self) unless $game_temp.actor_level_up.include?(self)
  1337. self.class.learnings.each do |learning|
  1338. learn_skill(learning.skill_id) if learning.level == @level
  1339. end
  1340. gain_lvl_pts($pts)
  1341. if DPB::PSPDS::BONUS_POINTS_ON_LEVELS
  1342. return unless DPB::PSPDS::LEVELS.include?(@level)
  1343. gain_lvl_pts($bonuspts)
  1344. else
  1345. end
  1346. end
  1347. end
  1348. end # Game_Actor
  1349. #========================
  1350. class Game_Temp
  1351. attr_accessor :actor_level_up
  1352. alias old_initialize initialize
  1353. def initialize
  1354. old_initialize
  1355. @actor_level_up = []
  1356. end
  1357. end
  1358. #========================
  1359. class Game_Interpreter
  1360. def gain_pts(actor_id, value)
  1361. actor = $game_actors[actor_id]
  1362. return if actor == nil
  1363. actor.gain_lvl_pts(value)
  1364. end
  1365. #--------
  1366. def inc_vit(actor_id, value)
  1367. actor = $game_actors[actor_id]
  1368. return if actor == nil
  1369. actor.gain_vit_pts(value)
  1370. end
  1371. #--------
  1372. def inc_str(actor_id, value)
  1373. actor = $game_actors[actor_id]
  1374. return if actor == nil
  1375. actor.gain_str_pts(value)
  1376. end
  1377. #--------
  1378. def inc_dex(actor_id, value)
  1379. actor = $game_actors[actor_id]
  1380. return if actor == nil
  1381. actor.gain_dex_pts(value)
  1382. end
  1383. #--------
  1384. def inc_mag(actor_id, value)
  1385. actor = $game_actors[actor_id]
  1386. return if actor == nil
  1387. actor.gain_mag_pts(value)
  1388. end
  1389. end
  1390. #========================
  1391. if DPB::PSPDS::COMPLETELY_DISABLE_MENU_OPTION
  1392. else
  1393. #==============================================================================
  1394. # Window_MenuCommand
  1395. #==============================================================================
  1396. class Window_MenuCommand < Window_Command
  1397. #--------------------------------------------------------------------------
  1398. # alias method: add_formation_command
  1399. #--------------------------------------------------------------------------
  1400. alias window_menucommand_add_formation_command_pspds add_formation_command
  1401. def add_formation_command
  1402. add_pspds_command unless $imported["DPB-PMS"]
  1403. window_menucommand_add_formation_command_pspds
  1404. end
  1405. #--------------------------------------------------------------------------
  1406. # new method: add_class_command
  1407. #--------------------------------------------------------------------------
  1408. def add_pspds_command
  1409. return unless Switch.pspds_show
  1410. text = DPB::PSPDS::MENU_COMMAND_NAME
  1411. add_command(text, :pspds, Switch.pspds_enable)
  1412. end
  1413. end # Window_MenuCommand
  1414. #==============================================================================
  1415. # Scene_Menu
  1416. #==============================================================================
  1417. class Scene_Menu < Scene_MenuBase
  1418. #--------------------------------------------------------------------------
  1419. # alias method: create_command_window
  1420. #--------------------------------------------------------------------------
  1421. alias scene_menu_create_command_window_pspds create_command_window
  1422. def create_command_window
  1423. scene_menu_create_command_window_pspds
  1424. @command_window.set_handler(:pspds, method(:command_personal))
  1425. end
  1426. #--------------------------------------------------------------------------
  1427. # alias method: on_personal_ok
  1428. #--------------------------------------------------------------------------
  1429. alias scene_menu_on_personal_ok_pspds on_personal_ok
  1430. def on_personal_ok
  1431. case @command_window.current_symbol
  1432. when :pspds
  1433. SceneManager.call(Scene_Level_Up)
  1434. else
  1435. scene_menu_on_personal_ok_pspds
  1436. end
  1437. end
  1438.  
  1439. end # Scene_Menu
  1440. end
  1441. #==============================================================================
  1442. # Window_Level_UpCommand
  1443. #==============================================================================
  1444. class Window_Level_upCommand < Window_Command
  1445. #--------------------------------------------------------------------------
  1446. # * Object Initialization
  1447. #--------------------------------------------------------------------------
  1448. def initialize
  1449. @actor = $game_temp.actor_level_up[0]
  1450. super(0, 300)
  1451. @@last_command_symbol = nil
  1452. select_last
  1453. self.opacity = 0
  1454. end
  1455. #--------------------------------------------------------------------------
  1456. # * Get Window Width
  1457. #--------------------------------------------------------------------------
  1458. def window_width
  1459. return DPB::PSPDS::COMMAND_COLUMN_WIDTH
  1460. end
  1461. #--------------------------------------------------------------------------
  1462. # * Get Window Height
  1463. #--------------------------------------------------------------------------
  1464. def window_height
  1465. return 344
  1466. end
  1467. #--------------------------------------------------------------------------
  1468. # * Get Number of Lines to Show
  1469. #--------------------------------------------------------------------------
  1470. def visible_line_number
  1471. item_max
  1472. end
  1473. #--------------------------------------------------------------------------
  1474. # * Create Command Window
  1475. #--------------------------------------------------------------------------
  1476. def make_command_list
  1477. for command in DPB::PSPDS::COMMANDS
  1478. case command
  1479. when :Vitality
  1480. add_command("", :gain_vit, true)
  1481. when :Strength
  1482. add_command("", :gain_str, true)
  1483. when :Dexterity
  1484. add_command("", :gain_dex, true)
  1485. when :Magic
  1486. add_command("", :gain_mag, true)
  1487. if DPB::PSPDS::EXIT_BEFORE_POINTS_SPENT
  1488. :Finish
  1489. add_command(DPB::PSPDS::FINISHVOCAB, :retour, true)
  1490. else
  1491. :Finish
  1492. add_command(DPB::PSPDS::FINISHVOCAB, :retour, @actor.level_up_pts <= 0)
  1493. end
  1494. end
  1495. end
  1496. end
  1497. #--------------------------------------------------------------------------
  1498. # * Processing When OK Button Is Pressed
  1499. #--------------------------------------------------------------------------
  1500. def process_ok
  1501. @@last_command_symbol = current_symbol
  1502. super
  1503. end
  1504. def select_last
  1505. select_symbol(@@last_command_symbol)
  1506. end
  1507. end
  1508. #==============================================================================
  1509. # ** Window_Status
  1510. #------------------------------------------------------------------------------
  1511. # This window displays full status specs on the status screen.
  1512. #==============================================================================
  1513. class Window_Status_Level_up < Window_Selectable
  1514. #--------------------------------------------------------------------------
  1515. # * Object Initialization
  1516. #--------------------------------------------------------------------------
  1517. def initialize(actor)
  1518. super(-50, -50, window_width, window_height)
  1519. contents.font.size = DPB::PSPDS::FONTSIZE
  1520. @actor = actor
  1521. refresh
  1522. activate
  1523. end
  1524. #--------------------------------------------------------------------------
  1525. # window_width
  1526. #--------------------------------------------------------------------------
  1527. def window_width; return Graphics.width - 0; end
  1528. #--------------------------------------------------------------------------
  1529. # window_height
  1530. #--------------------------------------------------------------------------
  1531. def window_height; return Graphics.height - 0; end
  1532. #--------------------------------------------------------------------------
  1533. # * Set Actor
  1534. #--------------------------------------------------------------------------
  1535. def actor=(actor)
  1536. return if @actor == actor
  1537. @actor = actor
  1538. refresh
  1539. end
  1540. #--------------------------------------------------------------------------
  1541. # * Refresh
  1542. #--------------------------------------------------------------------------
  1543. def refresh
  1544. contents.clear
  1545. draw_block1(line_height * 1)
  1546. draw_block2(line_height * 1)
  1547. draw_block3(line_height * 3)
  1548. contents.font.size = 24
  1549. contents.font.size = DPB::PSPDS::FONTSIZE
  1550. end
  1551. #--------------------------------------------------------------------------
  1552. # * Draw Block 1
  1553. #--------------------------------------------------------------------------
  1554. def draw_block1(y)
  1555. draw_actor_face(@actor, (window_width - 24) / 2.5, 0)
  1556. contents.font.size = 22
  1557. draw_actor_name(@actor,(window_width + 24) / 2, line_height * 0)
  1558. contents.font.size = DPB::PSPDS::FONTSIZE
  1559. draw_actor_class(@actor, (window_width + 24) / 2, line_height * 1.6)
  1560. if DPB::PSPDS::DRAW_ACTOR_GRAPHIC
  1561. draw_actor_graphic(@actor, DPB::PSPDS::DAG_X, DPB::PSPDS::DAG_Y)#, 50)
  1562. else
  1563. end
  1564. end
  1565. #--------------------------------------------------------------------------
  1566. # * Draw Block 2
  1567. #--------------------------------------------------------------------------
  1568. def draw_block2(y)
  1569. draw_basic_info(32, y)
  1570. draw_exp_info(4, y+line_height * 7)
  1571. end
  1572. #--------------------------------------------------------------------------
  1573. # * Draw Block 3
  1574. #--------------------------------------------------------------------------
  1575. def draw_block3(y)
  1576. # draw_parameter_graph
  1577. end
  1578. #--------------------------------------------------------------------------
  1579. # * Draw Horizontal Line
  1580. #--------------------------------------------------------------------------
  1581. def draw_horz_line(y)
  1582. line_y = y + line_height / 2 - 1
  1583. contents.fill_rect(0, line_y, contents_width, 2, line_color)
  1584. end
  1585. #--------------------------------------------------------------------------
  1586. # * Get Color of Horizontal Line
  1587. #--------------------------------------------------------------------------
  1588. def line_color
  1589. color = normal_color
  1590. color.alpha = 48
  1591. color
  1592. end
  1593. #--------------------------------------------------------------------------
  1594. # * Draw Experience Information
  1595. #--------------------------------------------------------------------------
  1596. def draw_exp_info(x, y)
  1597. contents.font.size = DPB::PSPDS::FONTSIZE
  1598. s1 = @actor.max_level? ? "----" : @actor.exp
  1599. s2 = @actor.max_level? ? "----" : @actor.next_level_exp - @actor.exp
  1600. s_next = sprintf(Vocab::ExpNext, Vocab::level)
  1601. change_color(system_color)
  1602. draw_text((window_width - 24) / 4 * 3, y-140, 180, line_height, "Next Level")
  1603. draw_text((window_width - 24) / 4 * 3, y-170, 180, line_height, "TOTAL Exp")
  1604. change_color(normal_color)
  1605. draw_text((window_width - 24) / 1.7, y-155, 180, line_height, s1, 2)
  1606. draw_text((window_width - 24) / 1.7, y-120, 180, line_height, s2, 2)
  1607. end
  1608. end
  1609. #--------------------------------------------------------------------------
  1610. # * Draw Parameters
  1611. #--------------------------------------------------------------------------
  1612. def draw_parameters(x, y)
  1613. 6.times {|i| draw_actor_param(@actor, x, y + 7 + line_height * i, i + 2) }
  1614. end
  1615. if DPB::PSPDS::DRAW_ALL_COLUMNS
  1616. #--------------------------------------------------------------------------
  1617. # draw_parameter_graph
  1618. #--------------------------------------------------------------------------
  1619. def draw_parameter_graph
  1620. dy = line_height * 3/2
  1621. maximum = 1
  1622. minimum = @actor.param_max(2)
  1623. for i in 2..7
  1624. maximum = [@actor.param(i), maximum].max
  1625. minimum = [@actor.param(i), minimum].min
  1626. end
  1627. maximum += minimum * 0.33 unless maximum == minimum
  1628. for i in 2..7
  1629. rate = calculate_rate(maximum, minimum, i)
  1630. dy = line_height * i - line_height/2
  1631. draw_param_gauge(i, dy, rate)
  1632. self.contents.font.size = DPB::PSPDS::PARAMFONTSIZE
  1633. change_color(system_color)
  1634. draw_text(5, dy + 140, contents.width - 56, line_height, Vocab::param(i))
  1635. dw = (contents.width - 48) * rate - 8
  1636. change_color(normal_color)
  1637. draw_text((window_width - 24) / 4 - 24, dy + 140, dw-8, line_height, @actor.param(i))#.group, 2)
  1638. end
  1639. end
  1640. else
  1641. #--------------------------------------------------------------------------
  1642. # draw_parameter_graph
  1643. #--------------------------------------------------------------------------
  1644. def draw_parameter_graph
  1645. dy = line_height * 3/2
  1646. maximum = 1
  1647. minimum = @actor.param_max(2)
  1648. for i in 2..7
  1649. maximum = [@actor.param(i), maximum].max
  1650. minimum = [@actor.param(i), minimum].min
  1651. end
  1652. maximum += minimum * 0.33 unless maximum == minimum
  1653. for i in 2..7
  1654. rate = calculate_rate(maximum, minimum, i)
  1655. dy = line_height * i - line_height/2
  1656. draw_param_gauge(i, dy, rate)
  1657. self.contents.font.size = DPB::PSPDS::PARAMFONTSIZE
  1658. change_color(system_color)
  1659. draw_text(5, dy + 140, contents.width - 56, line_height, Vocab::param(i))
  1660. dw = (contents.width - 48) * rate - 8
  1661. change_color(normal_color)
  1662. draw_text((window_width - 60) / 3 - 24, dy + 140, dw-8, line_height, @actor.param(i))#.group, 2)
  1663. end
  1664. end
  1665. end
  1666. #--------------------------------------------------------------------------
  1667. # calculate_rate
  1668. #--------------------------------------------------------------------------
  1669. def calculate_rate(maximum, minimum, param_id)
  1670. return 1.0 if maximum == minimum
  1671. rate = (@actor.param(param_id).to_f - minimum) / (maximum - minimum).to_f
  1672. rate *= 0.67
  1673. rate += 0.33
  1674. return rate
  1675. end
  1676.  
  1677. if DPB::PSPDS::DRAW_ALL_COLUMNS
  1678. #--------------------------------------------------------------------------
  1679. # draw_param_gauge
  1680. #--------------------------------------------------------------------------
  1681. def draw_param_gauge(param_id, dy, rate)
  1682. dw = (window_width - 24) / 4 - 12
  1683. colour1 = param_gauge1(param_id)
  1684. colour2 = param_gauge2(param_id)
  1685. draw_gauge(5, dy + 140, dw, rate, colour1, colour2)
  1686. end
  1687. else
  1688. #--------------------------------------------------------------------------
  1689. # draw_param_gauge
  1690. #--------------------------------------------------------------------------
  1691. def draw_param_gauge(param_id, dy, rate)
  1692. dw = (window_width - 24) / 3 - 24
  1693. colour1 = param_gauge1(param_id)
  1694. colour2 = param_gauge2(param_id)
  1695. draw_gauge(5, dy + 140, dw, rate, colour1, colour2)
  1696. end
  1697. end
  1698.  
  1699. #--------------------------------------------------------------------------
  1700. # param_gauge1
  1701. #--------------------------------------------------------------------------
  1702. def param_gauge1(param_id)
  1703. return DPB::PSPDS::PARAM_COLOUR[param_id][1]
  1704. end
  1705.  
  1706. #--------------------------------------------------------------------------
  1707. # param_gauge2
  1708. #--------------------------------------------------------------------------
  1709. def param_gauge2(param_id)
  1710. return DPB::PSPDS::PARAM_COLOUR[param_id][2]
  1711. end
  1712.  
  1713. #--------------------------------------------------------------------------
  1714. # * Draw Basic Information
  1715. #--------------------------------------------------------------------------
  1716. def draw_basic_info(x, y)
  1717. draw_actor_level(@actor, (window_width + 24) / 2, line_height * 0.8)
  1718. draw_level_up_pts(x+200, y + line_height * 7)
  1719. draw_actor_icons(@actor, (window_width - 24) / 2.5, y + line_height * 3)
  1720. contents.font.size = DPB::PSPDS::FONTSIZE
  1721. if DPB::PSPDS::DRAW_PARAM_GAUGES
  1722. draw_parameter_graph
  1723. if DPB::PSPDS::DRAW_ALL_COLUMNS
  1724. draw_actor_hp(@actor, 5, y+106 + line_height * 0,(window_width - 24) / 4 - 12)
  1725. draw_actor_mp(@actor, 5, y+106 + line_height * 1,(window_width - 24) / 4 - 12)
  1726. else
  1727. draw_actor_hp(@actor, 5, y+106 + line_height * 0,(window_width - 24) / 3 - 24)
  1728. draw_actor_mp(@actor, 5, y+106 + line_height * 1,(window_width - 24) / 3 - 24)
  1729. end
  1730. else
  1731. draw_properties_paramcolumn
  1732. end
  1733. contents.font.size = DPB::PSPDS::PROPFONTSIZE
  1734. draw_horz_line(line_height * 4.6)
  1735. draw_horz_line(Graphics.height - line_height * 4)
  1736. draw_new_stats_column
  1737. draw_properties_column1
  1738. draw_properties_column2
  1739. if DPB::PSPDS::DRAW_ALL_COLUMNS
  1740. draw_properties_column3
  1741. else
  1742. end
  1743. reset_font_settings
  1744. if $imported["YEA-JPManager"]
  1745. contents.font.size = DPB::PSPDS::PARAMFONTSIZE
  1746. draw_actor_jp(@actor, (window_width + 24) / 3, line_height * 3.33)
  1747. contents.font.size = DPB::PSPDS::PROPFONTSIZE
  1748. else
  1749. end
  1750. end
  1751. def draw_level_up_pts(x,y)
  1752. contents.font.size = DPB::PSPDS::FONTSIZE + 4
  1753. draw_text((window_width) / 2.5, 4 + line_height * 4,180,line_height,DPB::PSPDS::LVLUPPTSVOCAB + @actor.level_up_pts.to_s)
  1754. end
  1755. #========================
  1756. if DPB::PSPDS::DRAW_ALL_COLUMNS
  1757. #--------------------------------------------------------------------------
  1758. # draw__new_stats_column
  1759. #--------------------------------------------------------------------------
  1760. def draw_new_stats_column
  1761. dx = 0
  1762. dw = (window_width - 24) / 5
  1763. dy = 0
  1764. for property in DPB::PSPDS::NEW_STATS_COLUMN
  1765. dy = draw_property(property, dx, dy, dw)
  1766. end
  1767. end
  1768. #--------------------------------------------------------------------------
  1769. # draw_properties_column1
  1770. #--------------------------------------------------------------------------
  1771. def draw_properties_column1
  1772. dx = 5 + (window_width - 24) / 4
  1773. dw = (window_width - 24) / 3.6 - 24
  1774. dy = 130
  1775. for property in DPB::PSPDS::PROPERTIES_COLUMN1
  1776. dy = draw_property(property, dx, dy, dw)
  1777. end
  1778. end
  1779. #--------------------------------------------------------------------------
  1780. # draw_properties_column2
  1781. #--------------------------------------------------------------------------
  1782. def draw_properties_column2
  1783. dx = 5 + (window_width - 24) / 2
  1784. dw = (window_width - 24) / 3.6 - 24
  1785. dy = 130
  1786. for property in DPB::PSPDS::PROPERTIES_COLUMN2
  1787. dy = draw_property(property, dx, dy, dw)
  1788. end
  1789. end
  1790. #--------------------------------------------------------------------------
  1791. # draw_properties_column3
  1792. #--------------------------------------------------------------------------
  1793. def draw_properties_column3
  1794. dx = 5 + (window_width - 24) / 2 + (window_width / 4.15)
  1795. dw = (window_width - 24) / 3.6 - 24
  1796. dy = 130
  1797. for property in DPB::PSPDS::PROPERTIES_COLUMN3
  1798. dy = draw_property(property, dx, dy, dw)
  1799. end
  1800. end
  1801. #--------------------------------------------------------------------------
  1802. # draw_properties_column4
  1803. #--------------------------------------------------------------------------
  1804. def draw_properties_paramcolumn
  1805. dx = 5
  1806. dw = (window_width - 24) / 3.6 - 24
  1807. dy = 130
  1808. for property in DPB::PSPDS::PROPERTIES_PARAMCOLUMN
  1809. dy = draw_property(property, dx, dy, dw)
  1810. end
  1811. end
  1812. else
  1813. #--------------------------------------------------------------------------
  1814. # draw__new_stats_column
  1815. #--------------------------------------------------------------------------
  1816. def draw_new_stats_column
  1817. dx = 0
  1818. dw = (window_width - 24) / 5
  1819. dy = 0
  1820. for property in DPB::PSPDS::NEW_STATS_COLUMN
  1821. dy = draw_property(property, dx, dy, dw)
  1822. end
  1823. end
  1824. #--------------------------------------------------------------------------
  1825. # draw_properties_column1
  1826. #--------------------------------------------------------------------------
  1827. def draw_properties_column1
  1828. dx = 5 + (window_width - 24) / 3
  1829. dw = (window_width - 24) / 3 - 12
  1830. dy = 130
  1831. for property in DPB::PSPDS::PROPERTIES_COLUMN1
  1832. dy = draw_property(property, dx, dy, dw)
  1833. end
  1834. end
  1835. #--------------------------------------------------------------------------
  1836. # draw_properties_column2
  1837. #--------------------------------------------------------------------------
  1838. def draw_properties_column2
  1839. dx = 5 + (window_width - 24) / 3 * 2
  1840. dw = (window_width - 24) / 3 - 12
  1841. dy = 130
  1842. for property in DPB::PSPDS::PROPERTIES_COLUMN2
  1843. dy = draw_property(property, dx, dy, dw)
  1844. end
  1845. end
  1846. #--------------------------------------------------------------------------
  1847. # draw_properties_column4
  1848. #--------------------------------------------------------------------------
  1849. def draw_properties_paramcolumn
  1850. dx = 5
  1851. dw = (window_width - 24) / 3 - 12
  1852. dy = 130
  1853. for property in DPB::PSPDS::PROPERTIES_PARAMCOLUMN
  1854. dy = draw_property(property, dx, dy, dw)
  1855. end
  1856. end
  1857. end
  1858. if DPB::PSPDS::PROPERTIES_BIGGER_NUMBERS
  1859. #--------------------------------------------------------------------------
  1860. # draw_property
  1861. #--------------------------------------------------------------------------
  1862. def draw_property(property, dx, dy, dw)
  1863. fmt = "%1.2f%%"
  1864. dpb = "%1.0f"
  1865. case property[0]
  1866. #---
  1867. when :mhp
  1868. value = sprintf(dpb, @actor.mhp)
  1869. when :mmp
  1870. value = sprintf(dpb, @actor.mmp)
  1871. when :atk
  1872. value = sprintf(dpb, @actor.atk * DPB::PSPDS::PARAMS_BIGGER_NUMBER_VALUE)
  1873. when :def
  1874. value = sprintf(dpb, @actor.def * DPB::PSPDS::PARAMS_BIGGER_NUMBER_VALUE)
  1875. when :mat
  1876. value = sprintf(dpb, @actor.mat * DPB::PSPDS::PARAMS_BIGGER_NUMBER_VALUE)
  1877. when :mdf
  1878. value = sprintf(dpb, @actor.mdf * DPB::PSPDS::PARAMS_BIGGER_NUMBER_VALUE)
  1879. when :agi
  1880. value = sprintf(dpb, @actor.agi * DPB::PSPDS::PARAMS_BIGGER_NUMBER_VALUE)
  1881. when :luk
  1882. value = sprintf(dpb, @actor.luk * DPB::PSPDS::PARAMS_BIGGER_NUMBER_VALUE)
  1883. when :vit_pts
  1884. value = sprintf(dpb, @actor.vit_pts)
  1885. when :str_pts
  1886. value = sprintf(dpb, @actor.str_pts)
  1887. when :dex_pts
  1888. value = sprintf(dpb, @actor.dex_pts)
  1889. when :mag_pts
  1890. value = sprintf(dpb, @actor.mag_pts)
  1891. when :hit
  1892. value = sprintf(dpb, @actor.hit * DPB::PSPDS::PROPERTIES_BIGGER_NUMBER_VALUE)
  1893. when :eva
  1894. value = sprintf(dpb, @actor.eva * DPB::PSPDS::PROPERTIES_BIGGER_NUMBER_VALUE)
  1895. when :cri
  1896. value = sprintf(fmt, @actor.cri * 100)
  1897. when :cev
  1898. value = sprintf(dpb, @actor.cev * DPB::PSPDS::PROPERTIES_BIGGER_NUMBER_VALUE)
  1899. when :mev
  1900. value = sprintf(dpb, @actor.mev * DPB::PSPDS::PROPERTIES_BIGGER_NUMBER_VALUE)
  1901. when :mrf
  1902. value = sprintf(fmt, @actor.mrf * 100)
  1903. when :cnt
  1904. value = sprintf(fmt, @actor.cnt * 100)
  1905. when :hrg
  1906. value = sprintf(fmt, @actor.hrg * 100)
  1907. when :mrg
  1908. value = sprintf(fmt, @actor.mrg * 100)
  1909. when :trg
  1910. value = sprintf(fmt, @actor.trg * 100)
  1911. when :tgr
  1912. value = sprintf(fmt, @actor.tgr * 100)
  1913. when :grd
  1914. value = sprintf(fmt, @actor.grd * 100)
  1915. when :rec
  1916. value = sprintf(fmt, @actor.rec * 100)
  1917. when :pha
  1918. value = sprintf(fmt, @actor.pha * 100)
  1919. when :mcr
  1920. value = sprintf(fmt, @actor.mcr * 100)
  1921. when :tcr
  1922. value = sprintf(fmt, @actor.tcr * 100)
  1923. when :pdr
  1924. value = sprintf(fmt, @actor.pdr * 100)
  1925. when :mdr
  1926. value = sprintf(fmt, @actor.mdr * 100)
  1927. when :fdr
  1928. value = sprintf(fmt, @actor.fdr * 100)
  1929. when :exr
  1930. value = sprintf(fmt, @actor.exr * 100)
  1931. when :hcr
  1932. return dy unless $imported["YEA-SkillCostManager"]
  1933. value = sprintf(fmt, @actor.hcr * 100)
  1934. when :tcr_y
  1935. return dy unless $imported["YEA-SkillCostManager"]
  1936. value = sprintf(fmt, @actor.tcr_y * 100)
  1937. when :gcr
  1938. return dy unless $imported["YEA-SkillCostManager"]
  1939. value = sprintf(fmt, @actor.gcr * 100)
  1940. when :cdr
  1941. return dy unless $imported["YEA-SkillRestrictions"]
  1942. value = sprintf(fmt, @actor.cdr * 100)
  1943. when :wur
  1944. return dy unless $imported["YEA-SkillRestrictions"]
  1945. value = sprintf(fmt, @actor.wur * 100)
  1946. #---
  1947. else; return dy
  1948. end
  1949. colour = Color.new(0, 0, 0, translucent_alpha/2)
  1950. rect = Rect.new(dx+1, dy+1, dw-2, line_height-2)
  1951. contents.fill_rect(rect, colour)
  1952. change_color(system_color)
  1953. draw_text(dx+4, dy, dw-8, line_height, property[1], 0)
  1954. change_color(normal_color)
  1955. draw_text(dx+4, dy, dw-8, line_height, value, 2)
  1956. return dy + line_height
  1957. end
  1958. else
  1959. #--------------------------------------------------------------------------
  1960. # draw_property
  1961. #--------------------------------------------------------------------------
  1962. def draw_property(property, dx, dy, dw)
  1963. fmt = "%1.2f%%"
  1964. dpb = "%1.0f"
  1965. case property[0]
  1966. #---
  1967. when :mhp
  1968. value = sprintf(dpb, @actor.mhp)
  1969. when :mmp
  1970. value = sprintf(dpb, @actor.mmp)
  1971. when :atk
  1972. value = sprintf(dpb, @actor.atk)
  1973. when :def
  1974. value = sprintf(dpb, @actor.def)
  1975. when :mat
  1976. value = sprintf(dpb, @actor.mat)
  1977. when :mdf
  1978. value = sprintf(dpb, @actor.mdf)
  1979. when :agi
  1980. value = sprintf(dpb, @actor.agi)
  1981. when :luk
  1982. value = sprintf(dpb, @actor.luk)
  1983. when :vit_pts
  1984. value = sprintf(dpb, @actor.vit_pts)
  1985. when :str_pts
  1986. value = sprintf(dpb, @actor.str_pts)
  1987. when :dex_pts
  1988. value = sprintf(dpb, @actor.dex_pts)
  1989. when :mag_pts
  1990. value = sprintf(dpb, @actor.mag_pts)
  1991. when :hit
  1992. value = sprintf(fmt, @actor.hit * 100)
  1993. when :eva
  1994. value = sprintf(fmt, @actor.eva * 100)
  1995. when :cri
  1996. value = sprintf(fmt, @actor.cri * 100)
  1997. when :cev
  1998. value = sprintf(fmt, @actor.cev * 100)
  1999. when :mev
  2000. value = sprintf(fmt, @actor.mev * 100)
  2001. when :mrf
  2002. value = sprintf(fmt, @actor.mrf * 100)
  2003. when :cnt
  2004. value = sprintf(fmt, @actor.cnt * 100)
  2005. when :hrg
  2006. value = sprintf(fmt, @actor.hrg * 100)
  2007. when :mrg
  2008. value = sprintf(fmt, @actor.mrg * 100)
  2009. when :trg
  2010. value = sprintf(fmt, @actor.trg * 100)
  2011. when :tgr
  2012. value = sprintf(fmt, @actor.tgr * 100)
  2013. when :grd
  2014. value = sprintf(fmt, @actor.grd * 100)
  2015. when :rec
  2016. value = sprintf(fmt, @actor.rec * 100)
  2017. when :pha
  2018. value = sprintf(fmt, @actor.pha * 100)
  2019. when :mcr
  2020. value = sprintf(fmt, @actor.mcr * 100)
  2021. when :tcr
  2022. value = sprintf(fmt, @actor.tcr * 100)
  2023. when :pdr
  2024. value = sprintf(fmt, @actor.pdr * 100)
  2025. when :mdr
  2026. value = sprintf(fmt, @actor.mdr * 100)
  2027. when :fdr
  2028. value = sprintf(fmt, @actor.fdr * 100)
  2029. when :exr
  2030. value = sprintf(fmt, @actor.exr * 100)
  2031. when :hcr
  2032. return dy unless $imported["YEA-SkillCostManager"]
  2033. value = sprintf(fmt, @actor.hcr * 100)
  2034. when :tcr_y
  2035. return dy unless $imported["YEA-SkillCostManager"]
  2036. value = sprintf(fmt, @actor.tcr_y * 100)
  2037. when :gcr
  2038. return dy unless $imported["YEA-SkillCostManager"]
  2039. value = sprintf(fmt, @actor.gcr * 100)
  2040. when :cdr
  2041. return dy unless $imported["YEA-SkillRestrictions"]
  2042. value = sprintf(fmt, @actor.cdr * 100)
  2043. when :wur
  2044. return dy unless $imported["YEA-SkillRestrictions"]
  2045. value = sprintf(fmt, @actor.wur * 100)
  2046. #---
  2047. else; return dy
  2048. end
  2049. colour = Color.new(0, 0, 0, translucent_alpha/2)
  2050. rect = Rect.new(dx+1, dy+1, dw-2, line_height-2)
  2051. contents.fill_rect(rect, colour)
  2052. change_color(system_color)
  2053. draw_text(dx+4, dy, dw-8, line_height, property[1], 0)
  2054. change_color(normal_color)
  2055. draw_text(dx+4, dy, dw-8, line_height, value, 2)
  2056. return dy + line_height
  2057. end
  2058. end
  2059.  
  2060. #===============================================================================#
  2061. #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#
  2062. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆#
  2063. # #
  2064. # PSPDS #
  2065. # (Perfect Stat Point Distribution System) #
  2066. # - SCRIPT END - #
  2067. # #
  2068. # #
  2069. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆#
  2070. #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#
  2071. #===============================================================================#
  2072. # - DekitaRPG@gmail.com - #
  2073. #===============================================================================#
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement