Advertisement
EliteAnax17

superfunc

Jan 17th, 2017
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.91 KB | None | 0 0
  1. u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
  2. {
  3. struct BattlePokemon battlePokemon;
  4. struct UnknownStruct3 moveData;
  5. u8 unk68[20];
  6. u8 *src;
  7. s16 data16;
  8. u32 data32;
  9. s32 size = 0;
  10.  
  11. switch (gUnknown_02023A60[gUnknown_02024A60][1])
  12. {
  13. case 0:
  14. battlePokemon.species = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES);
  15. battlePokemon.item = GetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM);
  16. for (size = 0; size < 4; size++)
  17. {
  18. battlePokemon.moves[size] = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + size);
  19. battlePokemon.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size);
  20. }
  21. battlePokemon.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES);
  22. battlePokemon.friendship = GetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP);
  23. battlePokemon.experience = GetMonData(&gPlayerParty[a], MON_DATA_EXP);
  24. battlePokemon.hpIV = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV);
  25. battlePokemon.attackIV = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV);
  26. battlePokemon.defenseIV = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV);
  27. battlePokemon.speedIV = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV);
  28. battlePokemon.spAttackIV = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV);
  29. battlePokemon.spDefenseIV = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV);
  30. battlePokemon.personality = GetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY);
  31. battlePokemon.status1 = GetMonData(&gPlayerParty[a], MON_DATA_STATUS);
  32. battlePokemon.level = GetMonData(&gPlayerParty[a], MON_DATA_LEVEL);
  33. battlePokemon.hp = GetMonData(&gPlayerParty[a], MON_DATA_HP);
  34. battlePokemon.maxHP = GetMonData(&gPlayerParty[a], MON_DATA_MAX_HP);
  35. battlePokemon.attack = GetMonData(&gPlayerParty[a], MON_DATA_ATK);
  36. battlePokemon.defense = GetMonData(&gPlayerParty[a], MON_DATA_DEF);
  37. battlePokemon.speed = GetMonData(&gPlayerParty[a], MON_DATA_SPD);
  38. battlePokemon.spAttack = GetMonData(&gPlayerParty[a], MON_DATA_SPATK);
  39. battlePokemon.spDefense = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF);
  40. battlePokemon.isEgg = GetMonData(&gPlayerParty[a], MON_DATA_IS_EGG);
  41. battlePokemon.altAbility = GetMonData(&gPlayerParty[a], MON_DATA_ALT_ABILITY);
  42. battlePokemon.otId = GetMonData(&gPlayerParty[a], MON_DATA_OT_ID);
  43. GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, unk68);
  44. StringCopy10(battlePokemon.nickname, unk68);
  45. GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName);
  46. src = (u8 *)&battlePokemon;
  47. for (size = 0; size < sizeof(battlePokemon); size++)
  48. buffer[size] = src[size];
  49. break;
  50. case 1:
  51. data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES);
  52. buffer[0] = data16;
  53. buffer[1] = data16 >> 8;
  54. size = 2;
  55. break;
  56. case 2:
  57. data16 = GetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM);
  58. buffer[0] = data16;
  59. buffer[1] = data16 >> 8;
  60. size = 2;
  61. break;
  62. case 3:
  63. for (size = 0; size < 4; size++)
  64. {
  65. moveData.moves[size] = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + size);
  66. moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size);
  67. }
  68. moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES);
  69. src = (u8 *)&moveData;
  70. for (size = 0; size < sizeof(moveData); size++)
  71. buffer[size] = src[size];
  72. break;
  73. case 4:
  74. case 5:
  75. case 6:
  76. case 7:
  77. data16 = GetMonData(&gPlayerParty[a], gUnknown_02023A60[gUnknown_02024A60][1] + MON_DATA_CHECKSUM);
  78. buffer[0] = data16;
  79. buffer[1] = data16 >> 8;
  80. size = 2;
  81. break;
  82. case 8:
  83. for (size = 0; size < 4; size++)
  84. buffer[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size);
  85. buffer[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES);
  86. size++;
  87. break;
  88. case 9:
  89. case 10:
  90. case 11:
  91. case 12:
  92. buffer[0] = GetMonData(&gPlayerParty[a], gUnknown_02023A60[gUnknown_02024A60][1] + MON_DATA_MARKINGS);
  93. size = 1;
  94. break;
  95. case 13:
  96. case 14:
  97. case 15:
  98. case 16:
  99. break;
  100. case 17:
  101. data32 = GetMonData(&gPlayerParty[a], MON_DATA_OT_ID);
  102. buffer[0] = (data32 & 0x000000FF);
  103. buffer[1] = (data32 & 0x0000FF00) >> 8;
  104. buffer[2] = (data32 & 0x00FF0000) >> 16;
  105. size = 3;
  106. break;
  107. case 18:
  108. data32 = GetMonData(&gPlayerParty[a], MON_DATA_EXP);
  109. buffer[0] = (data32 & 0x000000FF);
  110. buffer[1] = (data32 & 0x0000FF00) >> 8;
  111. buffer[2] = (data32 & 0x00FF0000) >> 16;
  112. size = 3;
  113. break;
  114. case 19:
  115. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_HP_EV);
  116. size = 1;
  117. break;
  118. case 20:
  119. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_ATK_EV);
  120. size = 1;
  121. break;
  122. case 21:
  123. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_DEF_EV);
  124. size = 1;
  125. break;
  126. case 22:
  127. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_EV);
  128. size = 1;
  129. break;
  130. case 23:
  131. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV);
  132. size = 1;
  133. break;
  134. case 24:
  135. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV);
  136. size = 1;
  137. break;
  138. case 25:
  139. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP);
  140. size = 1;
  141. break;
  142. case 26:
  143. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_POKERUS);
  144. size = 1;
  145. break;
  146. case 27:
  147. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION);
  148. size = 1;
  149. break;
  150. case 28:
  151. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL);
  152. size = 1;
  153. break;
  154. case 29:
  155. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_MET_GAME);
  156. size = 1;
  157. break;
  158. case 30:
  159. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_POKEBALL);
  160. size = 1;
  161. break;
  162. case 31:
  163. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV);
  164. buffer[1] = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV);
  165. buffer[2] = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV);
  166. buffer[3] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV);
  167. buffer[4] = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV);
  168. buffer[5] = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV);
  169. size = 6;
  170. break;
  171. case 32:
  172. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_HP_IV);
  173. size = 1;
  174. break;
  175. case 33:
  176. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_ATK_IV);
  177. size = 1;
  178. break;
  179. case 34:
  180. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_DEF_IV);
  181. size = 1;
  182. break;
  183. case 35:
  184. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPD_IV);
  185. size = 1;
  186. break;
  187. case 36:
  188. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV);
  189. size = 1;
  190. break;
  191. case 37:
  192. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV);
  193. size = 1;
  194. break;
  195. case 38:
  196. data32 = GetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY);
  197. buffer[0] = (data32 & 0x000000FF);
  198. buffer[1] = (data32 & 0x0000FF00) >> 8;
  199. buffer[2] = (data32 & 0x00FF0000) >> 16;
  200. buffer[3] = (data32 & 0xFF000000) >> 24;
  201. size = 4;
  202. break;
  203. case 39:
  204. data16 = GetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM);
  205. buffer[0] = data16;
  206. buffer[1] = data16 >> 8;
  207. size = 2;
  208. break;
  209. case 40:
  210. data32 = GetMonData(&gPlayerParty[a], MON_DATA_STATUS);
  211. buffer[0] = (data32 & 0x000000FF);
  212. buffer[1] = (data32 & 0x0000FF00) >> 8;
  213. buffer[2] = (data32 & 0x00FF0000) >> 16;
  214. buffer[3] = (data32 & 0xFF000000) >> 24;
  215. size = 4;
  216. break;
  217. case 41:
  218. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_LEVEL);
  219. size = 1;
  220. break;
  221. case 42:
  222. data16 = GetMonData(&gPlayerParty[a], MON_DATA_HP);
  223. buffer[0] = data16;
  224. buffer[1] = data16 >> 8;
  225. size = 2;
  226. break;
  227. case 43:
  228. data16 = GetMonData(&gPlayerParty[a], MON_DATA_MAX_HP);
  229. buffer[0] = data16;
  230. buffer[1] = data16 >> 8;
  231. size = 2;
  232. break;
  233. case 44:
  234. data16 = GetMonData(&gPlayerParty[a], MON_DATA_ATK);
  235. buffer[0] = data16;
  236. buffer[1] = data16 >> 8;
  237. size = 2;
  238. break;
  239. case 45:
  240. data16 = GetMonData(&gPlayerParty[a], MON_DATA_DEF);
  241. buffer[0] = data16;
  242. buffer[1] = data16 >> 8;
  243. size = 2;
  244. break;
  245. case 46:
  246. data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPD);
  247. buffer[0] = data16;
  248. buffer[1] = data16 >> 8;
  249. size = 2;
  250. break;
  251. case 47:
  252. data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPATK);
  253. buffer[0] = data16;
  254. buffer[1] = data16 >> 8;
  255. size = 2;
  256. break;
  257. case 48:
  258. data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPDEF);
  259. buffer[0] = data16;
  260. buffer[1] = data16 >> 8;
  261. size = 2;
  262. break;
  263. case 49:
  264. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_COOL);
  265. size = 1;
  266. break;
  267. case 50:
  268. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_BEAUTY);
  269. size = 1;
  270. break;
  271. case 51:
  272. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_CUTE);
  273. size = 1;
  274. break;
  275. case 52:
  276. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SMART);
  277. size = 1;
  278. break;
  279. case 53:
  280. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_TOUGH);
  281. size = 1;
  282. break;
  283. case 54:
  284. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SHEEN);
  285. size = 1;
  286. break;
  287. case 55:
  288. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON);
  289. size = 1;
  290. break;
  291. case 56:
  292. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON);
  293. size = 1;
  294. break;
  295. case 57:
  296. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON);
  297. size = 1;
  298. break;
  299. case 58:
  300. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON);
  301. size = 1;
  302. break;
  303. case 59:
  304. buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON);
  305. size = 1;
  306. break;
  307. }
  308. return size;
  309. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement