tejado / pgoapi

Pokemon Go API lib
Other
1.4k stars 445 forks source link

[Question] How to find max CP of each owned Pokemon? #133

Closed earthchie closed 8 years ago

earthchie commented 8 years ago

I believe we can retrieve this value from get_pokemon(pokemon_id=10231370587697455000) or something like that, but I from the list here: https://github.com/tejado/pgoapi/wiki/api_functions

I don't see anything close to this function.

tejado commented 8 years ago

https://github.com/tejado/pgoapi/wiki/get_inventory :P

earthchie commented 8 years ago

@tejado this api does not provide max CP value. (What I need is max CP not current CP)

And one more question. How can I get player level? both get_player and get_player_profile don't have this value.

Nostrademous commented 8 years ago

@earthchie player_stats do ... it's in Inventory as well

earthchie commented 8 years ago

@Nostrademous Found it. thanks!

how about max CP of given pokemon? (I have pokemon_id)

image

earthchie commented 8 years ago

never mind. found the way to compute max CP already

Javascript:

function CPM(LV){
    return [0.094,          0.135137432,    0.16639787,     0.192650919,    0.21573247, 
            0.236572661,    0.25572005,     0.273530381,    0.29024988,     0.306057377, 
            0.3210876,      0.335445036,    0.34921268,     0.362457751,    0.37523559, 
            0.387592406,    0.39956728,     0.411193551,    0.42250001,     0.432926419, 
            0.44310755,     0.4530599578,   0.46279839,     0.472336083,    0.48168495, 
            0.4908558,      0.49985844,     0.508701765,    0.51739395,     0.525942511, 
            0.53435433,     0.542635767,    0.55079269,     0.558830576,    0.56675452, 
            0.574569153,    0.58227891,     0.589887917,    0.59740001,     0.604818814, 
            0.61215729,     0.619399365,    0.62656713,     0.633644533,    0.64065295, 
            0.647576426,    0.65443563,     0.661214806,    0.667934,       0.674577537, 
            0.68116492,     0.687680648,    0.69414365,     0.700538673,    0.70688421, 
            0.713164996,    0.71939909,     0.725571552,    0.7317,         0.734741009, 
            0.73776948,     0.740785574,    0.74378943,     0.746781211,    0.74976104, 
            0.752729087,    0.75568551,     0.758630378,    0.76156384,     0.764486065, 
            0.76739717,     0.770297266,    0.7731865,      0.776064962,    0.77893275, 
            0.781790055,    0.78463697,     0.787473578,    0.79030001][LV*2-2] || 0;
}

function getBaseStats(DexId){
    var db = {"100":{"pokemon_id":"100","base_stamina":80,"base_attack":102,"base_defense":124,"max_cp":839,"catch_rate_percentage":40,"flee_rate_percentage":10},"101":{"pokemon_id":"101","base_stamina":120,"base_attack":150,"base_defense":174,"max_cp":1646,"catch_rate_percentage":16,"flee_rate_percentage":6},"102":{"pokemon_id":"102","base_stamina":120,"base_attack":110,"base_defense":132,"max_cp":1099,"catch_rate_percentage":40,"flee_rate_percentage":10},"103":{"pokemon_id":"103","base_stamina":190,"base_attack":232,"base_defense":164,"max_cp":2955,"catch_rate_percentage":16,"flee_rate_percentage":6},"104":{"pokemon_id":"104","base_stamina":100,"base_attack":102,"base_defense":150,"max_cp":1006,"catch_rate_percentage":32,"flee_rate_percentage":10},"105":{"pokemon_id":"105","base_stamina":120,"base_attack":140,"base_defense":202,"max_cp":1656,"catch_rate_percentage":12,"flee_rate_percentage":6},"106":{"pokemon_id":"106","base_stamina":100,"base_attack":148,"base_defense":172,"max_cp":1492,"catch_rate_percentage":16,"flee_rate_percentage":9},"107":{"pokemon_id":"107","base_stamina":100,"base_attack":138,"base_defense":204,"max_cp":1516,"catch_rate_percentage":16,"flee_rate_percentage":9},"108":{"pokemon_id":"108","base_stamina":180,"base_attack":126,"base_defense":160,"max_cp":1626,"catch_rate_percentage":16,"flee_rate_percentage":9},"109":{"pokemon_id":"109","base_stamina":80,"base_attack":136,"base_defense":142,"max_cp":1151,"catch_rate_percentage":40,"flee_rate_percentage":10},"110":{"pokemon_id":"110","base_stamina":130,"base_attack":190,"base_defense":198,"max_cp":2250,"catch_rate_percentage":16,"flee_rate_percentage":6},"111":{"pokemon_id":"111","base_stamina":160,"base_attack":110,"base_defense":116,"max_cp":1182,"catch_rate_percentage":40,"flee_rate_percentage":10},"112":{"pokemon_id":"112","base_stamina":210,"base_attack":116,"base_defense":160,"max_cp":2243,"catch_rate_percentage":16,"flee_rate_percentage":6},"113":{"pokemon_id":"113","base_stamina":500,"base_attack":40,"base_defense":60,"max_cp":675,"catch_rate_percentage":16,"flee_rate_percentage":9},"114":{"pokemon_id":"114","base_stamina":130,"base_attack":164,"base_defense":152,"max_cp":1739,"catch_rate_percentage":32,"flee_rate_percentage":9},"115":{"pokemon_id":"115","base_stamina":210,"base_attack":142,"base_defense":178,"max_cp":2043,"catch_rate_percentage":16,"flee_rate_percentage":9},"116":{"pokemon_id":"116","base_stamina":60,"base_attack":122,"base_defense":100,"max_cp":794,"catch_rate_percentage":40,"flee_rate_percentage":10},"117":{"pokemon_id":"117","base_stamina":110,"base_attack":176,"base_defense":150,"max_cp":1713,"catch_rate_percentage":16,"flee_rate_percentage":6},"118":{"pokemon_id":"118","base_stamina":90,"base_attack":112,"base_defense":126,"max_cp":965,"catch_rate_percentage":40,"flee_rate_percentage":15},"119":{"pokemon_id":"119","base_stamina":160,"base_attack":172,"base_defense":160,"max_cp":2043,"catch_rate_percentage":16,"flee_rate_percentage":7},"120":{"pokemon_id":"120","base_stamina":60,"base_attack":130,"base_defense":128,"max_cp":937,"catch_rate_percentage":40,"flee_rate_percentage":15},"121":{"pokemon_id":"121","base_stamina":120,"base_attack":194,"base_defense":192,"max_cp":2182,"catch_rate_percentage":16,"flee_rate_percentage":6},"122":{"pokemon_id":"122","base_stamina":80,"base_attack":154,"base_defense":196,"max_cp":1494,"catch_rate_percentage":24,"flee_rate_percentage":9},"123":{"pokemon_id":"123","base_stamina":140,"base_attack":176,"base_defense":180,"max_cp":2073,"catch_rate_percentage":24,"flee_rate_percentage":9},"124":{"pokemon_id":"124","base_stamina":130,"base_attack":172,"base_defense":134,"max_cp":1716,"catch_rate_percentage":24,"flee_rate_percentage":9},"125":{"pokemon_id":"125","base_stamina":130,"base_attack":198,"base_defense":160,"max_cp":2119,"catch_rate_percentage":24,"flee_rate_percentage":9},"126":{"pokemon_id":"126","base_stamina":130,"base_attack":214,"base_defense":158,"max_cp":2265,"catch_rate_percentage":24,"flee_rate_percentage":9},"127":{"pokemon_id":"127","base_stamina":130,"base_attack":184,"base_defense":186,"max_cp":2121,"catch_rate_percentage":24,"flee_rate_percentage":9},"128":{"pokemon_id":"128","base_stamina":150,"base_attack":148,"base_defense":184,"max_cp":1844,"catch_rate_percentage":24,"flee_rate_percentage":9},"129":{"pokemon_id":"129","base_stamina":40,"base_attack":42,"base_defense":84,"max_cp":262,"catch_rate_percentage":56,"flee_rate_percentage":15},"130":{"pokemon_id":"130","base_stamina":190,"base_attack":192,"base_defense":196,"max_cp":2688,"catch_rate_percentage":8,"flee_rate_percentage":7},"131":{"pokemon_id":"131","base_stamina":260,"base_attack":186,"base_defense":190,"max_cp":2980,"catch_rate_percentage":16,"flee_rate_percentage":9},"132":{"pokemon_id":"132","base_stamina":96,"base_attack":110,"base_defense":110,"max_cp":919,"catch_rate_percentage":16,"flee_rate_percentage":10},"133":{"pokemon_id":"133","base_stamina":110,"base_attack":114,"base_defense":128,"max_cp":1077,"catch_rate_percentage":32,"flee_rate_percentage":10},"134":{"pokemon_id":"134","base_stamina":260,"base_attack":186,"base_defense":168,"max_cp":2816,"catch_rate_percentage":12,"flee_rate_percentage":6},"135":{"pokemon_id":"135","base_stamina":130,"base_attack":192,"base_defense":174,"max_cp":2140,"catch_rate_percentage":12,"flee_rate_percentage":6},"136":{"pokemon_id":"136","base_stamina":130,"base_attack":238,"base_defense":178,"max_cp":2643,"catch_rate_percentage":12,"flee_rate_percentage":6},"137":{"pokemon_id":"137","base_stamina":130,"base_attack":156,"base_defense":158,"max_cp":1691,"catch_rate_percentage":32,"flee_rate_percentage":9},"138":{"pokemon_id":"138","base_stamina":70,"base_attack":132,"base_defense":160,"max_cp":1119,"catch_rate_percentage":32,"flee_rate_percentage":9},"139":{"pokemon_id":"139","base_stamina":140,"base_attack":180,"base_defense":202,"max_cp":2233,"catch_rate_percentage":12,"flee_rate_percentage":5},"140":{"pokemon_id":"140","base_stamina":60,"base_attack":148,"base_defense":142,"max_cp":1104,"catch_rate_percentage":32,"flee_rate_percentage":9},"141":{"pokemon_id":"141","base_stamina":120,"base_attack":190,"base_defense":190,"max_cp":2130,"catch_rate_percentage":12,"flee_rate_percentage":5},"142":{"pokemon_id":"142","base_stamina":160,"base_attack":182,"base_defense":162,"max_cp":2165,"catch_rate_percentage":16,"flee_rate_percentage":9},"143":{"pokemon_id":"143","base_stamina":320,"base_attack":180,"base_defense":180,"max_cp":3112,"catch_rate_percentage":16,"flee_rate_percentage":9},"144":{"pokemon_id":"144","base_stamina":180,"base_attack":198,"base_defense":242,"max_cp":2978,"catch_rate_percentage":0,"flee_rate_percentage":10},"145":{"pokemon_id":"145","base_stamina":180,"base_attack":232,"base_defense":194,"max_cp":3114,"catch_rate_percentage":0,"flee_rate_percentage":10},"146":{"pokemon_id":"146","base_stamina":180,"base_attack":242,"base_defense":194,"max_cp":3240,"catch_rate_percentage":0,"flee_rate_percentage":10},"147":{"pokemon_id":"147","base_stamina":82,"base_attack":128,"base_defense":110,"max_cp":983,"catch_rate_percentage":32,"flee_rate_percentage":9},"148":{"pokemon_id":"148","base_stamina":122,"base_attack":170,"base_defense":152,"max_cp":1747,"catch_rate_percentage":8,"flee_rate_percentage":6},"149":{"pokemon_id":"149","base_stamina":182,"base_attack":250,"base_defense":212,"max_cp":3500,"catch_rate_percentage":4,"flee_rate_percentage":5},"150":{"pokemon_id":"150","base_stamina":212,"base_attack":284,"base_defense":202,"max_cp":4144,"catch_rate_percentage":0,"flee_rate_percentage":10},"151":{"pokemon_id":"151","base_stamina":200,"base_attack":220,"base_defense":220,"max_cp":3299,"catch_rate_percentage":0,"flee_rate_percentage":10},"001":{"pokemon_id":"001","base_stamina":90,"base_attack":126,"base_defense":126,"max_cp":1071,"catch_rate_percentage":16,"flee_rate_percentage":10},"002":{"pokemon_id":"002","base_stamina":120,"base_attack":156,"base_defense":158,"max_cp":1632,"catch_rate_percentage":8,"flee_rate_percentage":7},"003":{"pokemon_id":"003","base_stamina":160,"base_attack":198,"base_defense":200,"max_cp":2580,"catch_rate_percentage":4,"flee_rate_percentage":5},"004":{"pokemon_id":"004","base_stamina":78,"base_attack":128,"base_defense":108,"max_cp":955,"catch_rate_percentage":16,"flee_rate_percentage":10},"005":{"pokemon_id":"005","base_stamina":116,"base_attack":160,"base_defense":140,"max_cp":1557,"catch_rate_percentage":8,"flee_rate_percentage":7},"006":{"pokemon_id":"006","base_stamina":156,"base_attack":212,"base_defense":182,"max_cp":2602,"catch_rate_percentage":4,"flee_rate_percentage":5},"007":{"pokemon_id":"007","base_stamina":88,"base_attack":112,"base_defense":142,"max_cp":1008,"catch_rate_percentage":16,"flee_rate_percentage":10},"008":{"pokemon_id":"008","base_stamina":118,"base_attack":144,"base_defense":176,"max_cp":1582,"catch_rate_percentage":8,"flee_rate_percentage":7},"009":{"pokemon_id":"009","base_stamina":158,"base_attack":186,"base_defense":222,"max_cp":2542,"catch_rate_percentage":4,"flee_rate_percentage":5},"010":{"pokemon_id":"010","base_stamina":90,"base_attack":62,"base_defense":66,"max_cp":443,"catch_rate_percentage":40,"flee_rate_percentage":20},"011":{"pokemon_id":"011","base_stamina":100,"base_attack":56,"base_defense":86,"max_cp":477,"catch_rate_percentage":20,"flee_rate_percentage":9},"012":{"pokemon_id":"012","base_stamina":120,"base_attack":144,"base_defense":144,"max_cp":1454,"catch_rate_percentage":10,"flee_rate_percentage":6},"013":{"pokemon_id":"013","base_stamina":80,"base_attack":68,"base_defense":64,"max_cp":449,"catch_rate_percentage":40,"flee_rate_percentage":20},"014":{"pokemon_id":"014","base_stamina":90,"base_attack":62,"base_defense":82,"max_cp":485,"catch_rate_percentage":20,"flee_rate_percentage":9},"015":{"pokemon_id":"015","base_stamina":130,"base_attack":144,"base_defense":130,"max_cp":1439,"catch_rate_percentage":10,"flee_rate_percentage":6},"016":{"pokemon_id":"016","base_stamina":80,"base_attack":94,"base_defense":90,"max_cp":679,"catch_rate_percentage":40,"flee_rate_percentage":20},"017":{"pokemon_id":"017","base_stamina":126,"base_attack":126,"base_defense":122,"max_cp":1223,"catch_rate_percentage":20,"flee_rate_percentage":9},"018":{"pokemon_id":"018","base_stamina":166,"base_attack":170,"base_defense":166,"max_cp":2091,"catch_rate_percentage":10,"flee_rate_percentage":6},"019":{"pokemon_id":"019","base_stamina":60,"base_attack":92,"base_defense":86,"max_cp":581,"catch_rate_percentage":40,"flee_rate_percentage":20},"020":{"pokemon_id":"020","base_stamina":110,"base_attack":146,"base_defense":150,"max_cp":1444,"catch_rate_percentage":16,"flee_rate_percentage":7},"021":{"pokemon_id":"021","base_stamina":80,"base_attack":102,"base_defense":78,"max_cp":686,"catch_rate_percentage":40,"flee_rate_percentage":15},"022":{"pokemon_id":"022","base_stamina":130,"base_attack":168,"base_defense":146,"max_cp":1746,"catch_rate_percentage":16,"flee_rate_percentage":7},"023":{"pokemon_id":"023","base_stamina":70,"base_attack":112,"base_defense":112,"max_cp":824,"catch_rate_percentage":40,"flee_rate_percentage":15},"024":{"pokemon_id":"024","base_stamina":120,"base_attack":166,"base_defense":166,"max_cp":1767,"catch_rate_percentage":16,"flee_rate_percentage":7},"025":{"pokemon_id":"025","base_stamina":70,"base_attack":124,"base_defense":108,"max_cp":887,"catch_rate_percentage":16,"flee_rate_percentage":10},"026":{"pokemon_id":"026","base_stamina":120,"base_attack":200,"base_defense":154,"max_cp":2028,"catch_rate_percentage":8,"flee_rate_percentage":6},"027":{"pokemon_id":"027","base_stamina":100,"base_attack":90,"base_defense":114,"max_cp":798,"catch_rate_percentage":40,"flee_rate_percentage":10},"028":{"pokemon_id":"028","base_stamina":150,"base_attack":150,"base_defense":172,"max_cp":1810,"catch_rate_percentage":16,"flee_rate_percentage":6},"029":{"pokemon_id":"029","base_stamina":110,"base_attack":100,"base_defense":104,"max_cp":876,"catch_rate_percentage":40,"flee_rate_percentage":15},"030":{"pokemon_id":"030","base_stamina":140,"base_attack":132,"base_defense":136,"max_cp":1404,"catch_rate_percentage":20,"flee_rate_percentage":7},"031":{"pokemon_id":"031","base_stamina":180,"base_attack":184,"base_defense":190,"max_cp":2485,"catch_rate_percentage":10,"flee_rate_percentage":5},"032":{"pokemon_id":"032","base_stamina":92,"base_attack":110,"base_defense":94,"max_cp":843,"catch_rate_percentage":40,"flee_rate_percentage":15},"033":{"pokemon_id":"033","base_stamina":122,"base_attack":142,"base_defense":128,"max_cp":1372,"catch_rate_percentage":20,"flee_rate_percentage":7},"034":{"pokemon_id":"034","base_stamina":162,"base_attack":204,"base_defense":170,"max_cp":2475,"catch_rate_percentage":10,"flee_rate_percentage":5},"035":{"pokemon_id":"035","base_stamina":140,"base_attack":116,"base_defense":124,"max_cp":1200,"catch_rate_percentage":24,"flee_rate_percentage":10},"036":{"pokemon_id":"036","base_stamina":190,"base_attack":178,"base_defense":178,"max_cp":2397,"catch_rate_percentage":8,"flee_rate_percentage":6},"037":{"pokemon_id":"037","base_stamina":76,"base_attack":106,"base_defense":118,"max_cp":831,"catch_rate_percentage":24,"flee_rate_percentage":10},"038":{"pokemon_id":"038","base_stamina":146,"base_attack":176,"base_defense":194,"max_cp":2188,"catch_rate_percentage":8,"flee_rate_percentage":6},"039":{"pokemon_id":"039","base_stamina":230,"base_attack":98,"base_defense":54,"max_cp":917,"catch_rate_percentage":40,"flee_rate_percentage":10},"040":{"pokemon_id":"040","base_stamina":280,"base_attack":168,"base_defense":108,"max_cp":2177,"catch_rate_percentage":16,"flee_rate_percentage":6},"041":{"pokemon_id":"041","base_stamina":80,"base_attack":88,"base_defense":90,"max_cp":642,"catch_rate_percentage":40,"flee_rate_percentage":20},"042":{"pokemon_id":"042","base_stamina":150,"base_attack":164,"base_defense":164,"max_cp":1921,"catch_rate_percentage":16,"flee_rate_percentage":7},"043":{"pokemon_id":"043","base_stamina":90,"base_attack":134,"base_defense":130,"max_cp":1148,"catch_rate_percentage":48,"flee_rate_percentage":15},"044":{"pokemon_id":"044","base_stamina":120,"base_attack":162,"base_defense":158,"max_cp":1689,"catch_rate_percentage":24,"flee_rate_percentage":7},"045":{"pokemon_id":"045","base_stamina":150,"base_attack":202,"base_defense":190,"max_cp":2492,"catch_rate_percentage":12,"flee_rate_percentage":5},"046":{"pokemon_id":"046","base_stamina":70,"base_attack":122,"base_defense":120,"max_cp":916,"catch_rate_percentage":32,"flee_rate_percentage":15},"047":{"pokemon_id":"047","base_stamina":120,"base_attack":162,"base_defense":170,"max_cp":1747,"catch_rate_percentage":16,"flee_rate_percentage":7},"048":{"pokemon_id":"048","base_stamina":120,"base_attack":108,"base_defense":118,"max_cp":1029,"catch_rate_percentage":40,"flee_rate_percentage":15},"049":{"pokemon_id":"049","base_stamina":140,"base_attack":172,"base_defense":154,"max_cp":1890,"catch_rate_percentage":16,"flee_rate_percentage":7},"050":{"pokemon_id":"050","base_stamina":20,"base_attack":108,"base_defense":86,"max_cp":456,"catch_rate_percentage":40,"flee_rate_percentage":10},"051":{"pokemon_id":"051","base_stamina":70,"base_attack":148,"base_defense":140,"max_cp":1168,"catch_rate_percentage":16,"flee_rate_percentage":6},"052":{"pokemon_id":"052","base_stamina":80,"base_attack":104,"base_defense":94,"max_cp":756,"catch_rate_percentage":40,"flee_rate_percentage":15},"053":{"pokemon_id":"053","base_stamina":130,"base_attack":156,"base_defense":146,"max_cp":1631,"catch_rate_percentage":16,"flee_rate_percentage":7},"054":{"pokemon_id":"054","base_stamina":100,"base_attack":132,"base_defense":112,"max_cp":1109,"catch_rate_percentage":40,"flee_rate_percentage":10},"055":{"pokemon_id":"055","base_stamina":160,"base_attack":194,"base_defense":176,"max_cp":2386,"catch_rate_percentage":16,"flee_rate_percentage":6},"056":{"pokemon_id":"056","base_stamina":80,"base_attack":112,"base_defense":96,"max_cp":878,"catch_rate_percentage":40,"flee_rate_percentage":10},"057":{"pokemon_id":"057","base_stamina":130,"base_attack":178,"base_defense":150,"max_cp":1864,"catch_rate_percentage":16,"flee_rate_percentage":6},"058":{"pokemon_id":"058","base_stamina":110,"base_attack":156,"base_defense":110,"max_cp":1335,"catch_rate_percentage":24,"flee_rate_percentage":10},"059":{"pokemon_id":"059","base_stamina":180,"base_attack":230,"base_defense":180,"max_cp":2983,"catch_rate_percentage":8,"flee_rate_percentage":6},"060":{"pokemon_id":"060","base_stamina":80,"base_attack":108,"base_defense":98,"max_cp":795,"catch_rate_percentage":40,"flee_rate_percentage":15},"061":{"pokemon_id":"061","base_stamina":130,"base_attack":132,"base_defense":132,"max_cp":1340,"catch_rate_percentage":20,"flee_rate_percentage":7},"062":{"pokemon_id":"062","base_stamina":180,"base_attack":180,"base_defense":202,"max_cp":2505,"catch_rate_percentage":10,"flee_rate_percentage":5},"063":{"pokemon_id":"063","base_stamina":50,"base_attack":110,"base_defense":76,"max_cp":600,"catch_rate_percentage":40,"flee_rate_percentage":99},"064":{"pokemon_id":"064","base_stamina":80,"base_attack":150,"base_defense":112,"max_cp":1131,"catch_rate_percentage":20,"flee_rate_percentage":7},"065":{"pokemon_id":"065","base_stamina":110,"base_attack":186,"base_defense":152,"max_cp":1813,"catch_rate_percentage":10,"flee_rate_percentage":5},"066":{"pokemon_id":"066","base_stamina":140,"base_attack":118,"base_defense":96,"max_cp":1089,"catch_rate_percentage":40,"flee_rate_percentage":10},"067":{"pokemon_id":"067","base_stamina":160,"base_attack":154,"base_defense":144,"max_cp":1760,"catch_rate_percentage":20,"flee_rate_percentage":7},"068":{"pokemon_id":"068","base_stamina":180,"base_attack":198,"base_defense":180,"max_cp":2594,"catch_rate_percentage":10,"flee_rate_percentage":5},"069":{"pokemon_id":"069","base_stamina":100,"base_attack":158,"base_defense":78,"max_cp":1117,"catch_rate_percentage":40,"flee_rate_percentage":15},"070":{"pokemon_id":"070","base_stamina":130,"base_attack":190,"base_defense":110,"max_cp":1723,"catch_rate_percentage":20,"flee_rate_percentage":7},"071":{"pokemon_id":"071","base_stamina":160,"base_attack":222,"base_defense":152,"max_cp":2530,"catch_rate_percentage":10,"flee_rate_percentage":5},"072":{"pokemon_id":"072","base_stamina":80,"base_attack":106,"base_defense":136,"max_cp":905,"catch_rate_percentage":40,"flee_rate_percentage":15},"073":{"pokemon_id":"073","base_stamina":160,"base_attack":170,"base_defense":196,"max_cp":2220,"catch_rate_percentage":16,"flee_rate_percentage":7},"074":{"pokemon_id":"074","base_stamina":80,"base_attack":106,"base_defense":118,"max_cp":849,"catch_rate_percentage":40,"flee_rate_percentage":10},"075":{"pokemon_id":"075","base_stamina":110,"base_attack":142,"base_defense":156,"max_cp":1433,"catch_rate_percentage":20,"flee_rate_percentage":7},"076":{"pokemon_id":"076","base_stamina":160,"base_attack":176,"base_defense":198,"max_cp":2303,"catch_rate_percentage":10,"flee_rate_percentage":5},"077":{"pokemon_id":"077","base_stamina":100,"base_attack":168,"base_defense":138,"max_cp":1516,"catch_rate_percentage":32,"flee_rate_percentage":10},"078":{"pokemon_id":"078","base_stamina":130,"base_attack":200,"base_defense":170,"max_cp":2199,"catch_rate_percentage":12,"flee_rate_percentage":6},"079":{"pokemon_id":"079","base_stamina":180,"base_attack":110,"base_defense":110,"max_cp":1218,"catch_rate_percentage":40,"flee_rate_percentage":10},"080":{"pokemon_id":"080","base_stamina":190,"base_attack":184,"base_defense":198,"max_cp":2597,"catch_rate_percentage":16,"flee_rate_percentage":6},"081":{"pokemon_id":"081","base_stamina":50,"base_attack":128,"base_defense":138,"max_cp":890,"catch_rate_percentage":40,"flee_rate_percentage":10},"082":{"pokemon_id":"082","base_stamina":100,"base_attack":186,"base_defense":180,"max_cp":1879,"catch_rate_percentage":16,"flee_rate_percentage":6},"083":{"pokemon_id":"083","base_stamina":104,"base_attack":138,"base_defense":132,"max_cp":1263,"catch_rate_percentage":24,"flee_rate_percentage":9},"084":{"pokemon_id":"084","base_stamina":70,"base_attack":126,"base_defense":96,"max_cp":855,"catch_rate_percentage":40,"flee_rate_percentage":10},"085":{"pokemon_id":"085","base_stamina":120,"base_attack":182,"base_defense":150,"max_cp":1836,"catch_rate_percentage":16,"flee_rate_percentage":6},"086":{"pokemon_id":"086","base_stamina":130,"base_attack":104,"base_defense":138,"max_cp":1107,"catch_rate_percentage":40,"flee_rate_percentage":9},"087":{"pokemon_id":"087","base_stamina":180,"base_attack":156,"base_defense":192,"max_cp":2145,"catch_rate_percentage":16,"flee_rate_percentage":6},"088":{"pokemon_id":"088","base_stamina":160,"base_attack":124,"base_defense":110,"max_cp":1284,"catch_rate_percentage":40,"flee_rate_percentage":10},"089":{"pokemon_id":"089","base_stamina":210,"base_attack":180,"base_defense":188,"max_cp":2602,"catch_rate_percentage":16,"flee_rate_percentage":6},"090":{"pokemon_id":"090","base_stamina":60,"base_attack":120,"base_defense":112,"max_cp":822,"catch_rate_percentage":40,"flee_rate_percentage":10},"091":{"pokemon_id":"091","base_stamina":100,"base_attack":196,"base_defense":196,"max_cp":2052,"catch_rate_percentage":16,"flee_rate_percentage":6},"092":{"pokemon_id":"092","base_stamina":60,"base_attack":136,"base_defense":82,"max_cp":804,"catch_rate_percentage":32,"flee_rate_percentage":10},"093":{"pokemon_id":"093","base_stamina":90,"base_attack":172,"base_defense":118,"max_cp":1380,"catch_rate_percentage":16,"flee_rate_percentage":7},"094":{"pokemon_id":"094","base_stamina":120,"base_attack":204,"base_defense":156,"max_cp":2078,"catch_rate_percentage":8,"flee_rate_percentage":5},"095":{"pokemon_id":"095","base_stamina":70,"base_attack":90,"base_defense":186,"max_cp":857,"catch_rate_percentage":16,"flee_rate_percentage":9},"096":{"pokemon_id":"096","base_stamina":120,"base_attack":104,"base_defense":140,"max_cp":1075,"catch_rate_percentage":40,"flee_rate_percentage":10},"097":{"pokemon_id":"097","base_stamina":170,"base_attack":162,"base_defense":196,"max_cp":2184,"catch_rate_percentage":16,"flee_rate_percentage":6},"098":{"pokemon_id":"098","base_stamina":60,"base_attack":116,"base_defense":110,"max_cp":792,"catch_rate_percentage":40,"flee_rate_percentage":15},"099":{"pokemon_id":"099","base_stamina":110,"base_attack":178,"base_defense":168,"max_cp":1823,"catch_rate_percentage":16,"flee_rate_percentage":7}}
    DexId = ('00'+DexId).slice(-3)
    return {
        sta: db[DexId].base_stamina,
        atk: db[DexId].base_attack,
        def: db[DexId].base_defense
    };
}

function maxCP(DexId,IVSta,IVAtk,IVDef,PlayerLevel){

    var baseStats = getBaseStats(DexId);
    BaseSta = baseStats.sta;
    BaseAtk = baseStats.atk;
    BaseDef = baseStats.def;
    var CP = (BaseAtk + IVAtk) * Math.sqrt(BaseDef + IVDef) * Math.sqrt(BaseSta + IVSta) * Math.pow(CPM(PlayerLevel+1.5),2) / 10;

    if(CP < 10){
        CP = 10;
    }
    return Math.floor(CP);
}