Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- =begin =========================================================================
- Dekita's v1.0
- ★ Pokémon Exp Growth™ ★
- ================================================================================
- Script Information:
- ====================
- This script replicates the exp curves from pokemon.
- information on each exp "curve" is below.
- NOTE: This works 100% like pokemon.
- BIG_NOTE: You CANNOT reach level 100 by default in rpg vxa, it will require
- a "break levels" type script.
- ================================================================================
- ★☆★☆★☆★☆★☆★☆★☆★ TERMS AND CONDITIONS: ☆★☆★☆★☆★☆★☆★☆★☆★☆
- ================================================================================
- 1. You must give credit to "Dekita"
- 2. You are NOT allowed to repost this script.(or modified versions)
- 3. You are NOT allowed to convert this script.(into other game engines e.g RGSS2)
- 4. You are NOT allowed to use this script for Commercial games.
- 5. ENJOY!
- "FINE PRINT"
- By using this script you hereby agree to the above terms and conditions,
- if any violation of the above terms occurs "legal action" may be taken.
- Not understanding the above terms and conditions does NOT mean that
- they do not apply to you.
- If you wish to discuss the terms and conditions in further detail you can
- contact me at http://dekitarpg.wordpress.com/ or DekitaRPG@gmail.com
- ================================================================================
- History:
- =========
- D /M /Y
- 16/11/2o12 - started and finished,
- ================================================================================
- Credit and Thanks to :
- =======================
- http://bulbapedia.bulbagarden.net/wiki/Experience for Exp Growth calculations.
- ================================================================================
- Known Bugs:
- ============
- N/A
- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- If a new bug is found please contact me at
- http://dekitarpg.wordpress.com/
- ================================================================================
- INSTRUCTIONS:
- ==============
- Place this script UNDER "▼ Materials" and ABOVE "▼ Main" in your script editor.
- ================================================================================
- Notetags: (default)
- ==========
- <fast>
- <medium fast>
- <medium slow>
- <slow>
- <erratic>
- <flux>
- =end #==========================================================================#
- module Dékita__Pokémon_Exp
- # The Fast experience group is one of the four experience groups introduced
- # in Generation I, with 800,000 experience points making for a level 100
- # Pokémon. Many common Normal-type Pokémon are in this group, among them the
- # Chansey, Clefairy, and Jigglypuff families.
- Fast_Note = /<fast>/i
- Fast = [
- 0, 6, 21, 51, 100,
- 172, 274, 409, 583, 800, # 6 - 10
- 1064, 1382, 1757, 2195, 2700,
- 3276, 3930, 4665, 5487, 6400, # 16 - 20
- 7408, 8518, 9733, 11059, 12500,
- 14060, 15746, 17561, 19511, 21600, # 26 - 30
- 23832, 26214, 28749, 31443, 34300,
- 37324, 40522, 43897, 47455, 51200, # 36 - 40
- 55136, 59270, 63605, 68147, 72900,
- 77868, 83058, 88473, 94119, 100000,# 46 - 50
- 106120, 112486, 119101, 125971, 133100,
- 140492, 148154, 156089, 164303, 172800,# 56 - 60
- 181584, 190662, 200037, 209715, 219700,
- 229996, 240610, 251545, 262807, 274400,# 66 - 70
- 286328, 298598, 311213, 324179, 337500,
- 351180, 365226, 379641, 394431, 409600,# 76 - 80
- 425152, 441094, 457429, 474163, 491300,
- 508844, 526802, 545177, 563975, 583200,# 86 - 90
- 602856, 622950, 643485, 664467, 685900,
- 707788, 730138, 752953, 776239, 800000 # 96 - 100
- ]
- # The Medium Fast group, which was also introduced in Generation I.
- # Requiring Pokémon to have an even 1,000,000 experience points to be at
- # level 100, it is by far the most average of the experience groups,
- # and the one with the simplest equation:
- # to be at a given level, any Pokémon in this group requires experience equal
- # to that level cubed. This group is also often called "cubic", due to its
- # function being a simple cube of the level.
- # This experience group actually grows more slowly than the Medium Slow group
- # up until about level 68 (level 47, if considering amount of experience
- # required to reach the next level).
- MedFast_Note = /<medium fast>/i
- Medium_Fast = [
- 0, 8, 27, 64, 125,
- 216, 343, 512, 729, 1000, # 6 - 10
- 1331, 1728, 2197, 2744, 3375,
- 4096, 4913, 5832, 6859, 8000, # 16 - 20
- 9261, 10648, 12167, 13824, 15625,
- 17579, 19683, 21952, 24389, 27000, # 26 - 30
- 29791, 32786, 35937, 39304, 42875,
- 46656, 50653, 54872, 59319, 64000, # 36 - 40
- 68921, 74088, 79507, 85184, 91125,
- 97336, 103823, 110592, 117649, 125000,# 46 - 50
- 132651, 140608, 148877, 157464, 166375,
- 175616, 185193, 195112, 205379, 216000,# 56 - 60
- 226981, 238328, 250047, 262144, 274625,
- 287496, 300763, 314432, 328509, 343000,# 66 - 70
- 357911, 373248, 389017, 405224, 421875,
- 438976, 456533, 474552, 493039, 512000,# 76 - 80
- 531441, 551368, 571787, 592704, 614125,
- 636056, 658503, 681472, 704969, 729000,# 86 - 90
- 753571, 778688, 804357, 830584, 857375,
- 884736, 912673, 941192, 970299, 1000000 # 96 - 100
- ]
- # The Medium Slow experience group, like the Medium Fast group, accounts
- # for many Pokémon, containing the second largest amount of them.
- # All normal starter Pokémon are in this group, as are several smaller
- # legendaries, such as Mew and Shaymin.
- # Requiring 1,059,860 experience points for a Pokémon to reach level 100,
- # it is the only experience group whose level 100 experience is not evenly
- # divisible by 10,000.
- # The inflection point for this polynomial function is actually at level 4,
- # not level 0. Thus, it actually takes more experience points to go from
- # level 2 to 3 than it does to go from 4 to 5.
- # In Generations I and II, this mislocation of the inflection point causes
- # the experience underflow glitch.
- # The starter Pokémon are all at level 5 at the start, and are all in the
- # Medium Slow group, so it appears that the Medium Slow group's experience
- # formula was calculated with the starter Pokémon in mind.
- # It is the only function to do so - all the other functions,
- # being simple multiples of the cube of the level,
- # have inflection points at Level 0, meaning that the number of experience
- # points required to advance one level will always increase as the level
- # increases because the level is positive.
- MedSlow_Note = /<medium slow>/i
- Medium_Slow = [
- 0, 9, 57, 96, 135,
- 179, 236, 314, 419, 560, # 6 - 10
- 742, 973, 1261, 1612, 2035,
- 2535, 3120, 3798, 4575, 5460, # 16 - 20
- 6458, 7577, 8825, 10208, 11735,
- 13411, 15244, 17242, 19411, 21760, # 26 - 30
- 24294, 27021, 29949, 33084, 36435,
- 40007, 43808, 47846, 52127, 56660, # 36 - 40
- 61450, 66505, 71883, 77440, 83335,
- 89523, 96012, 102810, 109923, 117360,# 46 - 50
- 125126, 133229, 141677, 150476, 159635,
- 169159, 179056, 189334, 199999, 211060,# 56 - 60
- 222522, 234393, 246681, 259392, 272535,
- 286115, 300140, 314618, 329555, 344960,# 66 - 70
- 360838, 377197, 394045, 411388, 429235,
- 447591, 466464, 485862, 505791, 526260,# 76 - 80
- 547274, 568841, 590969, 613664, 636935,
- 660787, 685228, 710266, 735907, 762160,# 86 - 90
- 789030, 816525, 844653, 873420, 902835,
- 932903, 963632, 995030, 1027103, 1059860 # 96 - 100
- ]
- # The final of the four Generation I experience groups, the Slow group
- # features the highest amount of experience required for a Pokémon to
- # reach level 100 in Generations I and II, and the second highest amount
- # since then. Containing many rare, powerful, and legendary Pokémon,
- # Pokémon in this group are typically very hard to raise.
- # At level 100, a Pokémon in this experience group will have 1,250,000
- # experience points.
- Slow_Note = /<slow>/i
- Slow = [
- 0, 10, 33, 80, 156,
- 270, 428, 640, 911, 1250, # 6 - 10
- 1663, 2160, 2746, 3430, 4218,
- 5120, 6141, 7290, 8573, 10000, # 16 - 20
- 11576, 13310, 15208, 17280, 19531,
- 21970, 24603, 27440, 30486, 33750, # 26 - 30
- 37238, 40960, 44921, 49130, 53593,
- 58320, 63316, 68590, 74148, 80000, # 36 - 40
- 86151, 92610, 99383, 106480, 113906,
- 121670, 129778, 138240, 147061, 156250,# 46 - 50
- 165813, 175760, 186096, 196830, 207968,
- 219520, 231491, 243890, 256723, 270000,# 56 - 60
- 283726, 297910, 312558, 327680, 343281,
- 359370, 375953, 393040, 410636, 428750,# 66 - 70
- 447388, 466560, 486271, 506530, 527343,
- 548720, 570666, 593190, 616298, 640000,# 76 - 80
- 664301, 689210, 714733, 740880, 767656,
- 795070, 823128, 851840, 881211, 911250,# 86 - 90
- 941963, 973360, 1005446, 1038230, 1071718,
- 1105920, 1140841, 1176490, 1212873, 1250000 # 96 - 100
- ]
- # The Erratic experience group, one of the two groups introduced in
- # Generation III, features the lowest level 100 value for experience,
- # at only 600,000 points.
- # Pokémon in this group level up rather slowly in their lower levels,
- # requiring the most experience to grow from level 1 to level 10
- # (1800 as compared to 1250 for Slow, the next highest requirement),
- # and increase the rate of their growth at higher levels, requiring the
- # least experience to grow from level 90 to level 100
- # (108654 points as compared to 216800 for Fast, the next lowest requirement).
- # Due to the erraticness of this function, it actually takes fewer experience
- # points to go from level 99 to 100 than it does to go from level 69 to 70.
- Erratic_Note = /<erratic>/i
- Erratic = [
- 0, 15, 52, 122, 237,
- 416, 637, 942, 1326, 1800, # 6 - 10
- 2369, 3041, 3822, 4719, 5737,
- 6881, 8155, 9564, 11111, 12800, # 16 - 20
- 14632, 16610, 18737, 21012, 23437,
- 26012, 28737, 31610, 34632, 37800, # 26 - 30
- 41111, 44564, 48155, 51881, 55737,
- 59719, 63822, 68041, 72369, 76800, # 36 - 40
- 81326, 85942, 90637, 95406, 100237,
- 105122, 110052, 115015, 120001, 125000,# 46 - 50
- 131324, 137795, 144410, 151165, 158056,
- 165079, 172229, 179503, 186894, 194400,# 56 - 60
- 202013, 209728, 217540, 225443, 233431,
- 241496, 249633, 257934, 267406, 276458,# 66 - 70
- 286328, 296358, 305767, 316074, 326531,
- 336255, 346965, 357812, 367807, 378880,# 76 - 80
- 390077, 400293, 411686, 423190, 433572,
- 445239, 457001, 467489, 479378, 491346,# 86 - 90
- 501878, 513934, 526049, 536557, 548720,
- 560922, 571333, 583539, 591882, 600000 # 96 - 100
- ]
- # The second experience group introduced in Generation III, and a direct
- # opposite to the Erratic group,
- # the Fluctuating experience group contains the Pokémon which grow the
- # slowest of all, reaching level 100 with a whopping 1,640,000 exp points.
- # It is also, unsurprisingly, the smallest of the experience groups,
- # containing only 14 species. Pokémon within this group require the least
- # amount of experience to grow from level 1, needing only 540 points to reach
- # level 10, as compared to 560 for Medium Slow, the next lowest requirement.
- # They also require the most experience points to go from
- # level 90 to 100 - 517340 as compared to 338750 for Slow, the next highest.
- # Like the Erratic function, the Fluctuating group's level-up equation is
- # calculated in a piecewise fashion.
- # Also like the Erratic experience group, the Fluctuating group gets its name
- # from the wildly fluctuating requirement for each level to go to the next level,
- # from Level 36 to Level 100.
- Fluctuating_Note = /<flux>/i
- Fluctuating = [
- 0, 4, 13, 32, 65,
- 112, 178, 276, 393, 540, # 6 - 10
- 745, 967, 1230, 1591, 1957,
- 2457, 3046, 3732, 4526, 5440, # 16 - 20
- 6482, 7666, 9003, 10506, 12187,
- 14060, 16140, 18439, 20974, 23760, # 26 - 30
- 26811, 30146, 33780, 37731, 42017,
- 46656, 50653, 55969, 60505, 66560, # 36 - 40
- 71677, 78533, 84277, 91998, 98415,
- 107069, 114205, 123863, 131766, 142500,# 46 - 50
- 151222, 163105, 172697, 185807, 196322,
- 210739, 222231, 238036, 250562, 267840,# 56 - 60
- 281456, 300293, 315059, 335544, 351520,
- 373744, 390991, 415050, 433631, 459620,# 66 - 70
- 479600, 507617, 529063, 559209, 582187,
- 614566, 639146, 673863, 700115, 737280,# 76 - 80
- 765275, 804997, 834809, 877201, 908905,
- 954084, 987754, 1035837, 1071552, 1122660,# 86 - 90
- 1160499, 1214753, 1254796, 1312322, 1354652,
- 1415577, 1460276, 1524731, 1571884, 1640000 # 96 - 100
- ]
- end
- $imported = {} if $imported.nil?
- $imported[:Dekita_Pokémon_Exp] = true
- #################################################################################
- #################################################################################
- # As team rocket where once again "blasting off" Ash, Brock and Misty slowly #
- # lifted their bodies from the ground, turning, gasping at the horror they could#
- # see before them... #
- #################################################################################
- #################### !! DONT MODIFY SHIT AFTER HERE !! ##########################
- #################################################################################
- class RPG::Class < RPG::BaseItem
- alias pokkemon_Exp_for_level exp_for_level
- def exp_for_level(level)
- if self.note =~ Dékita__Pokémon_Exp::Erratic_Note
- return Dékita__Pokémon_Exp::Erratic[level-1]
- elsif self.note =~ Dékita__Pokémon_Exp::Fast_Note
- return Dékita__Pokémon_Exp::Fast[level-1]
- elsif self.note =~ Dékita__Pokémon_Exp::MedFast_Note
- return Dékita__Pokémon_Exp::Medium_Fast[level-1]
- elsif self.note =~ Dékita__Pokémon_Exp::MedSlow_Note
- return Dékita__Pokémon_Exp::Medium_Slow[level-1]
- elsif self.note =~ Dékita__Pokémon_Exp::Slow_Note
- return Dékita__Pokémon_Exp::Slow[level-1]
- elsif self.note =~ Dékita__Pokémon_Exp::Fluctuating_Note
- return Dékita__Pokémon_Exp::Fluctuating[level-1]
- else
- return pokkemon_Exp_for_level(level)
- end
- end
- end
- #===============================================================================#
- # - SCRIPT END - #
- #===============================================================================#
- # http://dekitarpg.wordpress.com/ #
- #===============================================================================#
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement