Created
November 5, 2019 22:08
-
-
Save PikalaxALT/702f2205eac650a56bf2cd69c57b54cf to your computer and use it in GitHub Desktop.
Battle script dumper
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import json | |
| import re | |
| SONGS = [ | |
| 'MUS_DUMMY', | |
| 'SE_KAIFUKU', | |
| 'SE_PC_LOGIN', | |
| 'SE_PC_OFF', | |
| 'SE_PC_ON', | |
| 'SE_SELECT', | |
| 'SE_WIN_OPEN', | |
| 'SE_WALL_HIT', | |
| 'SE_DOOR', | |
| 'SE_KAIDAN', | |
| 'SE_DANSA', | |
| 'SE_JITENSYA', | |
| 'SE_KOUKA_L', | |
| 'SE_KOUKA_M', | |
| 'SE_KOUKA_H', | |
| 'SE_BOWA2', | |
| 'SE_POKE_DEAD', | |
| 'SE_NIGERU', | |
| 'SE_JIDO_DOA', | |
| 'SE_NAMINORI', | |
| 'SE_BAN', | |
| 'SE_PIN', | |
| 'SE_BOO', | |
| 'SE_BOWA', | |
| 'SE_JYUNI', | |
| 'SE_SEIKAI', | |
| 'SE_HAZURE', | |
| 'SE_EXP', | |
| 'SE_JITE_PYOKO', | |
| 'SE_MU_PACHI', | |
| 'SE_TK_KASYA', | |
| 'SE_FU_ZAKU', | |
| 'SE_FU_ZAKU2', | |
| 'SE_FU_ZUZUZU', | |
| 'SE_RU_GASHIN', | |
| 'SE_RU_GASYAN', | |
| 'SE_RU_BARI', | |
| 'SE_RU_HYUU', | |
| 'SE_KI_GASYAN', | |
| 'SE_TK_WARPIN', | |
| 'SE_TK_WARPOUT', | |
| 'SE_TU_SAA', | |
| 'SE_HI_TURUN', | |
| 'SE_TRACK_MOVE', | |
| 'SE_TRACK_STOP', | |
| 'SE_TRACK_HAIKI', | |
| 'SE_TRACK_DOOR', | |
| 'SE_MOTER', | |
| 'SE_SAVE', | |
| 'SE_KON', | |
| 'SE_KON2', | |
| 'SE_KON3', | |
| 'SE_KON4', | |
| 'SE_SUIKOMU', | |
| 'SE_NAGERU', | |
| 'SE_TOY_C', | |
| 'SE_TOY_D', | |
| 'SE_TOY_E', | |
| 'SE_TOY_F', | |
| 'SE_TOY_G', | |
| 'SE_TOY_A', | |
| 'SE_TOY_B', | |
| 'SE_TOY_C1', | |
| 'SE_MIZU', | |
| 'SE_HASHI', | |
| 'SE_DAUGI', | |
| 'SE_PINPON', | |
| 'SE_FUUSEN1', | |
| 'SE_FUUSEN2', | |
| 'SE_FUUSEN3', | |
| 'SE_TOY_KABE', | |
| 'SE_TOY_DANGO', | |
| 'SE_DOKU', | |
| 'SE_ESUKA', | |
| 'SE_T_AME', | |
| 'SE_T_AME_E', | |
| 'SE_T_OOAME', | |
| 'SE_T_OOAME_E', | |
| 'SE_T_KOAME', | |
| 'SE_T_KOAME_E', | |
| 'SE_T_KAMI', | |
| 'SE_T_KAMI2', | |
| 'SE_ELEBETA', | |
| 'SE_HINSI', | |
| 'SE_EXPMAX', | |
| 'SE_TAMAKORO', | |
| 'SE_TAMAKORO_E', | |
| 'SE_BASABASA', | |
| 'SE_REGI', | |
| 'SE_C_GAJI', | |
| 'SE_C_MAKU_U', | |
| 'SE_C_MAKU_D', | |
| 'SE_C_PASI', | |
| 'SE_C_SYU', | |
| 'SE_C_PIKON', | |
| 'SE_REAPOKE', | |
| 'SE_OP_BASYU', | |
| 'SE_BT_START', | |
| 'SE_DENDOU', | |
| 'SE_JIHANKI', | |
| 'SE_TAMA', | |
| 'SE_Z_SCROLL', | |
| 'SE_Z_PAGE', | |
| 'SE_PN_ON', | |
| 'SE_PN_OFF', | |
| 'SE_Z_SEARCH', | |
| 'SE_TAMAGO', | |
| 'SE_TB_START', | |
| 'SE_TB_KON', | |
| 'SE_TB_KARA', | |
| 'SE_BIDORO', | |
| 'SE_W085', | |
| 'SE_W085B', | |
| 'SE_W231', | |
| 'SE_W171', | |
| 'SE_W233', | |
| 'SE_W233B', | |
| 'SE_W145', | |
| 'SE_W145B', | |
| 'SE_W145C', | |
| 'SE_W240', | |
| 'SE_W015', | |
| 'SE_W081', | |
| 'SE_W081B', | |
| 'SE_W088', | |
| 'SE_W016', | |
| 'SE_W016B', | |
| 'SE_W003', | |
| 'SE_W104', | |
| 'SE_W013', | |
| 'SE_W196', | |
| 'SE_W086', | |
| 'SE_W004', | |
| 'SE_W025', | |
| 'SE_W025B', | |
| 'SE_W152', | |
| 'SE_W026', | |
| 'SE_W172', | |
| 'SE_W172B', | |
| 'SE_W053', | |
| 'SE_W007', | |
| 'SE_W092', | |
| 'SE_W221', | |
| 'SE_W221B', | |
| 'SE_W052', | |
| 'SE_W036', | |
| 'SE_W059', | |
| 'SE_W059B', | |
| 'SE_W010', | |
| 'SE_W011', | |
| 'SE_W017', | |
| 'SE_W019', | |
| 'SE_W028', | |
| 'SE_W013B', | |
| 'SE_W044', | |
| 'SE_W029', | |
| 'SE_W057', | |
| 'SE_W056', | |
| 'SE_W250', | |
| 'SE_W030', | |
| 'SE_W039', | |
| 'SE_W054', | |
| 'SE_W077', | |
| 'SE_W020', | |
| 'SE_W082', | |
| 'SE_W047', | |
| 'SE_W195', | |
| 'SE_W006', | |
| 'SE_W091', | |
| 'SE_W146', | |
| 'SE_W120', | |
| 'SE_W153', | |
| 'SE_W071B', | |
| 'SE_W071', | |
| 'SE_W103', | |
| 'SE_W062', | |
| 'SE_W062B', | |
| 'SE_W048', | |
| 'SE_W187', | |
| 'SE_W118', | |
| 'SE_W155', | |
| 'SE_W122', | |
| 'SE_W060', | |
| 'SE_W185', | |
| 'SE_W014', | |
| 'SE_W043', | |
| 'SE_W207', | |
| 'SE_W207B', | |
| 'SE_W215', | |
| 'SE_W109', | |
| 'SE_W173', | |
| 'SE_W280', | |
| 'SE_W202', | |
| 'SE_W060B', | |
| 'SE_W076', | |
| 'SE_W080', | |
| 'SE_W100', | |
| 'SE_W107', | |
| 'SE_W166', | |
| 'SE_W129', | |
| 'SE_W115', | |
| 'SE_W112', | |
| 'SE_W197', | |
| 'SE_W199', | |
| 'SE_W236', | |
| 'SE_W204', | |
| 'SE_W268', | |
| 'SE_W070', | |
| 'SE_W063', | |
| 'SE_W127', | |
| 'SE_W179', | |
| 'SE_W151', | |
| 'SE_W201', | |
| 'SE_W161', | |
| 'SE_W161B', | |
| 'SE_W227', | |
| 'SE_W227B', | |
| 'SE_W226', | |
| 'SE_W208', | |
| 'SE_W213', | |
| 'SE_W213B', | |
| 'SE_W234', | |
| 'SE_W260', | |
| 'SE_W328', | |
| 'SE_W320', | |
| 'SE_W255', | |
| 'SE_W291', | |
| 'SE_W089', | |
| 'SE_W239', | |
| 'SE_W230', | |
| 'SE_W281', | |
| 'SE_W327', | |
| 'SE_W287', | |
| 'SE_W257', | |
| 'SE_W253', | |
| 'SE_W258', | |
| 'SE_W322', | |
| 'SE_W298', | |
| 'SE_W287B', | |
| 'SE_W114', | |
| 'SE_W063B', | |
| 'MUS_W_DOOR', | |
| 'SE_CARD1', | |
| 'SE_CARD2', | |
| 'SE_CARD3', | |
| 'SE_BAG1', | |
| 'SE_BAG2', | |
| 'SE_GETTING', | |
| 'SE_SHOP', | |
| 'SE_KITEKI', | |
| 'SE_HELP_OP', | |
| 'SE_HELP_CL', | |
| 'SE_HELP_NG', | |
| 'SE_DEOMOV', | |
| 'SE_EXCELLENT', | |
| 'SE_NAWAMISS', | |
| 'MUS_ME_ASA', | |
| 'MUS_FANFA1', | |
| 'MUS_FANFA4', | |
| 'MUS_FANFA5', | |
| 'MUS_ME_BACHI', | |
| 'MUS_ME_WAZA', | |
| 'MUS_ME_KINOMI', | |
| 'MUS_ME_SHINKA', | |
| 'MUS_SHINKA', | |
| 'MUS_BATTLE32', | |
| 'MUS_BATTLE20', | |
| 'MUS_P_SCHOOL', | |
| 'MUS_ME_B_BIG', | |
| 'MUS_ME_B_SMALL', | |
| 'MUS_ME_WASURE', | |
| 'MUS_ME_ZANNEN', | |
| 'MUS_ANNAI', | |
| 'MUS_SLOT', | |
| 'MUS_AJITO', | |
| 'MUS_GYM', | |
| 'MUS_PURIN', | |
| 'MUS_DEMO', | |
| 'MUS_TITLE', | |
| 'MUS_GUREN', | |
| 'MUS_SHION', | |
| 'MUS_KAIHUKU', | |
| 'MUS_CYCLING', | |
| 'MUS_ROCKET', | |
| 'MUS_SHOUJO', | |
| 'MUS_SHOUNEN', | |
| 'MUS_DENDOU', | |
| 'MUS_T_MORI', | |
| 'MUS_OTSUKIMI', | |
| 'MUS_POKEYASHI', | |
| 'MUS_ENDING', | |
| 'MUS_LOAD01', | |
| 'MUS_OPENING', | |
| 'MUS_LOAD02', | |
| 'MUS_LOAD03', | |
| 'MUS_CHAMP_R', | |
| 'MUS_VS_GYM', | |
| 'MUS_VS_TORE', | |
| 'MUS_VS_YASEI', | |
| 'MUS_VS_LAST', | |
| 'MUS_MASARA', | |
| 'MUS_KENKYU', | |
| 'MUS_OHKIDO', | |
| 'MUS_POKECEN', | |
| 'MUS_SANTOAN', | |
| 'MUS_NAMINORI', | |
| 'MUS_P_TOWER', | |
| 'MUS_SHIRUHU', | |
| 'MUS_HANADA', | |
| 'MUS_TAMAMUSI', | |
| 'MUS_WIN_TRE', | |
| 'MUS_WIN_YASEI', | |
| 'MUS_WIN_GYM', | |
| 'MUS_KUCHIBA', | |
| 'MUS_NIBI', | |
| 'MUS_RIVAL1', | |
| 'MUS_RIVAL2', | |
| 'MUS_FAN2', | |
| 'MUS_FAN5', | |
| 'MUS_FAN6', | |
| 'MUS_ME_PHOTO', | |
| 'MUS_TITLEROG', | |
| 'MUS_GET_YASEI', | |
| 'MUS_SOUSA', | |
| 'MUS_SEKAIKAN', | |
| 'MUS_SEIBETU', | |
| 'MUS_JUMP', | |
| 'MUS_UNION', | |
| 'MUS_NETWORK', | |
| 'MUS_OKURIMONO', | |
| 'MUS_KINOMIKUI', | |
| 'MUS_NANADUNGEON', | |
| 'MUS_OSHIE_TV', | |
| 'MUS_NANASHIMA', | |
| 'MUS_NANAISEKI', | |
| 'MUS_NANA123', | |
| 'MUS_NANA45', | |
| 'MUS_NANA67', | |
| 'MUS_POKEFUE', | |
| 'MUS_VS_DEO', | |
| 'MUS_VS_MYU2', | |
| 'MUS_VS_DEN', | |
| 'MUS_EXEYE', | |
| 'MUS_DEOEYE', | |
| 'MUS_T_TOWER', | |
| 'MUS_SLOWMASARA', | |
| 'MUS_TVNOIZE', | |
| ] | |
| STRING_IDS = [ | |
| 'STRINGID_INTROMSG', | |
| 'STRINGID_INTROSENDOUT', | |
| 'STRINGID_RETURNMON', | |
| 'STRINGID_SWITCHINMON', | |
| 'STRINGID_USEDMOVE', | |
| 'STRINGID_BATTLEEND', | |
| None, | |
| None, | |
| None, | |
| None, | |
| None, | |
| None, | |
| 'STRINGID_TRAINER1LOSETEXT', | |
| 'STRINGID_PKMNGAINEDEXP', | |
| 'STRINGID_PKMNGREWTOLV', | |
| 'STRINGID_PKMNLEARNEDMOVE', | |
| 'STRINGID_TRYTOLEARNMOVE1', | |
| 'STRINGID_TRYTOLEARNMOVE2', | |
| 'STRINGID_TRYTOLEARNMOVE3', | |
| 'STRINGID_PKMNFORGOTMOVE', | |
| 'STRINGID_STOPLEARNINGMOVE', | |
| 'STRINGID_DIDNOTLEARNMOVE', | |
| 'STRINGID_PKMNLEARNEDMOVE2', | |
| 'STRINGID_ATTACKMISSED', | |
| 'STRINGID_PKMNPROTECTEDITSELF', | |
| 'STRINGID_STATSWONTINCREASE2', | |
| 'STRINGID_AVOIDEDDAMAGE', | |
| 'STRINGID_ITDOESNTAFFECT', | |
| 'STRINGID_ATTACKERFAINTED', | |
| 'STRINGID_TARGETFAINTED', | |
| 'STRINGID_PLAYERGOTMONEY', | |
| 'STRINGID_PLAYERWHITEOUT', | |
| 'STRINGID_PLAYERWHITEOUT2', | |
| 'STRINGID_PREVENTSESCAPE', | |
| 'STRINGID_HITXTIMES', | |
| 'STRINGID_PKMNFELLASLEEP', | |
| 'STRINGID_PKMNMADESLEEP', | |
| 'STRINGID_PKMNALREADYASLEEP', | |
| 'STRINGID_PKMNALREADYASLEEP2', | |
| 'STRINGID_PKMNWASNTAFFECTED', | |
| 'STRINGID_PKMNWASPOISONED', | |
| 'STRINGID_PKMNPOISONEDBY', | |
| 'STRINGID_PKMNHURTBYPOISON', | |
| 'STRINGID_PKMNALREADYPOISONED', | |
| 'STRINGID_PKMNBADLYPOISONED', | |
| 'STRINGID_PKMNENERGYDRAINED', | |
| 'STRINGID_PKMNWASBURNED', | |
| 'STRINGID_PKMNBURNEDBY', | |
| 'STRINGID_PKMNHURTBYBURN', | |
| 'STRINGID_PKMNWASFROZEN', | |
| 'STRINGID_PKMNFROZENBY', | |
| 'STRINGID_PKMNISFROZEN', | |
| 'STRINGID_PKMNWASDEFROSTED', | |
| 'STRINGID_PKMNWASDEFROSTED2', | |
| 'STRINGID_PKMNWASDEFROSTEDBY', | |
| 'STRINGID_PKMNWASPARALYZED', | |
| 'STRINGID_PKMNWASPARALYZEDBY', | |
| 'STRINGID_PKMNISPARALYZED', | |
| 'STRINGID_PKMNISALREADYPARALYZED', | |
| 'STRINGID_PKMNHEALEDPARALYSIS', | |
| 'STRINGID_PKMNDREAMEATEN', | |
| 'STRINGID_STATSWONTINCREASE', | |
| 'STRINGID_STATSWONTDECREASE', | |
| 'STRINGID_TEAMSTOPPEDWORKING', | |
| 'STRINGID_FOESTOPPEDWORKING', | |
| 'STRINGID_PKMNISCONFUSED', | |
| 'STRINGID_PKMNHEALEDCONFUSION', | |
| 'STRINGID_PKMNWASCONFUSED', | |
| 'STRINGID_PKMNALREADYCONFUSED', | |
| 'STRINGID_PKMNFELLINLOVE', | |
| 'STRINGID_PKMNINLOVE', | |
| 'STRINGID_PKMNIMMOBILIZEDBYLOVE', | |
| 'STRINGID_PKMNBLOWNAWAY', | |
| 'STRINGID_PKMNCHANGEDTYPE', | |
| 'STRINGID_PKMNFLINCHED', | |
| 'STRINGID_PKMNREGAINEDHEALTH', | |
| 'STRINGID_PKMNHPFULL', | |
| 'STRINGID_PKMNRAISEDSPDEF', | |
| 'STRINGID_PKMNRAISEDDEF', | |
| 'STRINGID_PKMNCOVEREDBYVEIL', | |
| 'STRINGID_PKMNUSEDSAFEGUARD', | |
| 'STRINGID_PKMNSAFEGUARDEXPIRED', | |
| 'STRINGID_PKMNWENTTOSLEEP', | |
| 'STRINGID_PKMNSLEPTHEALTHY', | |
| 'STRINGID_PKMNWHIPPEDWHIRLWIND', | |
| 'STRINGID_PKMNTOOKSUNLIGHT', | |
| 'STRINGID_PKMNLOWEREDHEAD', | |
| 'STRINGID_PKMNISGLOWING', | |
| 'STRINGID_PKMNFLEWHIGH', | |
| 'STRINGID_PKMNDUGHOLE', | |
| 'STRINGID_PKMNSQUEEZEDBYBIND', | |
| 'STRINGID_PKMNTRAPPEDINVORTEX', | |
| 'STRINGID_PKMNWRAPPEDBY', | |
| 'STRINGID_PKMNCLAMPED', | |
| 'STRINGID_PKMNHURTBY', | |
| 'STRINGID_PKMNFREEDFROM', | |
| 'STRINGID_PKMNCRASHED', | |
| 'STRINGID_PKMNSHROUDEDINMIST', | |
| 'STRINGID_PKMNPROTECTEDBYMIST', | |
| 'STRINGID_PKMNGETTINGPUMPED', | |
| 'STRINGID_PKMNHITWITHRECOIL', | |
| 'STRINGID_PKMNPROTECTEDITSELF2', | |
| 'STRINGID_PKMNBUFFETEDBYSANDSTORM', | |
| 'STRINGID_PKMNPELTEDBYHAIL', | |
| 'STRINGID_PKMNSEEDED', | |
| 'STRINGID_PKMNEVADEDATTACK', | |
| 'STRINGID_PKMNSAPPEDBYLEECHSEED', | |
| 'STRINGID_PKMNFASTASLEEP', | |
| 'STRINGID_PKMNWOKEUP', | |
| 'STRINGID_PKMNUPROARKEPTAWAKE', | |
| 'STRINGID_PKMNWOKEUPINUPROAR', | |
| 'STRINGID_PKMNCAUSEDUPROAR', | |
| 'STRINGID_PKMNMAKINGUPROAR', | |
| 'STRINGID_PKMNCALMEDDOWN', | |
| 'STRINGID_PKMNCANTSLEEPINUPROAR', | |
| 'STRINGID_PKMNSTOCKPILED', | |
| 'STRINGID_PKMNCANTSTOCKPILE', | |
| 'STRINGID_PKMNCANTSLEEPINUPROAR2', | |
| 'STRINGID_UPROARKEPTPKMNAWAKE', | |
| 'STRINGID_PKMNSTAYEDAWAKEUSING', | |
| 'STRINGID_PKMNSTORINGENERGY', | |
| 'STRINGID_PKMNUNLEASHEDENERGY', | |
| 'STRINGID_PKMNFATIGUECONFUSION', | |
| 'STRINGID_PKMNPICKEDUPITEM', | |
| 'STRINGID_PKMNUNAFFECTED', | |
| 'STRINGID_PKMNTRANSFORMEDINTO', | |
| 'STRINGID_PKMNMADESUBSTITUTE', | |
| 'STRINGID_PKMNHASSUBSTITUTE', | |
| 'STRINGID_SUBSTITUTEDAMAGED', | |
| 'STRINGID_PKMNSUBSTITUTEFADED', | |
| 'STRINGID_PKMNMUSTRECHARGE', | |
| 'STRINGID_PKMNRAGEBUILDING', | |
| 'STRINGID_PKMNMOVEWASDISABLED', | |
| 'STRINGID_PKMNMOVEISDISABLED', | |
| 'STRINGID_PKMNMOVEDISABLEDNOMORE', | |
| 'STRINGID_PKMNGOTENCORE', | |
| 'STRINGID_PKMNENCOREENDED', | |
| 'STRINGID_PKMNTOOKAIM', | |
| 'STRINGID_PKMNSKETCHEDMOVE', | |
| 'STRINGID_PKMNTRYINGTOTAKEFOE', | |
| 'STRINGID_PKMNTOOKFOE', | |
| 'STRINGID_PKMNREDUCEDPP', | |
| 'STRINGID_PKMNSTOLEITEM', | |
| 'STRINGID_TARGETCANTESCAPENOW', | |
| 'STRINGID_PKMNFELLINTONIGHTMARE', | |
| 'STRINGID_PKMNLOCKEDINNIGHTMARE', | |
| 'STRINGID_PKMNLAIDCURSE', | |
| 'STRINGID_PKMNAFFLICTEDBYCURSE', | |
| 'STRINGID_SPIKESSCATTERED', | |
| 'STRINGID_PKMNHURTBYSPIKES', | |
| 'STRINGID_PKMNIDENTIFIED', | |
| 'STRINGID_PKMNPERISHCOUNTFELL', | |
| 'STRINGID_PKMNBRACEDITSELF', | |
| 'STRINGID_PKMNENDUREDHIT', | |
| 'STRINGID_MAGNITUDESTRENGTH', | |
| 'STRINGID_PKMNCUTHPMAXEDATTACK', | |
| 'STRINGID_PKMNCOPIEDSTATCHANGES', | |
| 'STRINGID_PKMNGOTFREE', | |
| 'STRINGID_PKMNSHEDLEECHSEED', | |
| 'STRINGID_PKMNBLEWAWAYSPIKES', | |
| 'STRINGID_PKMNFLEDFROMBATTLE', | |
| 'STRINGID_PKMNFORESAWATTACK', | |
| 'STRINGID_PKMNTOOKATTACK', | |
| 'STRINGID_PKMNATTACK', | |
| 'STRINGID_PKMNCENTERATTENTION', | |
| 'STRINGID_PKMNCHARGINGPOWER', | |
| 'STRINGID_NATUREPOWERTURNEDINTO', | |
| 'STRINGID_PKMNSTATUSNORMAL', | |
| 'STRINGID_PKMNHASNOMOVESLEFT', | |
| 'STRINGID_PKMNSUBJECTEDTOTORMENT', | |
| 'STRINGID_PKMNCANTUSEMOVETORMENT', | |
| 'STRINGID_PKMNTIGHTENINGFOCUS', | |
| 'STRINGID_PKMNFELLFORTAUNT', | |
| 'STRINGID_PKMNCANTUSEMOVETAUNT', | |
| 'STRINGID_PKMNREADYTOHELP', | |
| 'STRINGID_PKMNSWITCHEDITEMS', | |
| 'STRINGID_PKMNCOPIEDFOE', | |
| 'STRINGID_PKMNMADEWISH', | |
| 'STRINGID_PKMNWISHCAMETRUE', | |
| 'STRINGID_PKMNPLANTEDROOTS', | |
| 'STRINGID_PKMNABSORBEDNUTRIENTS', | |
| 'STRINGID_PKMNANCHOREDITSELF', | |
| 'STRINGID_PKMNWASMADEDROWSY', | |
| 'STRINGID_PKMNKNOCKEDOFF', | |
| 'STRINGID_PKMNSWAPPEDABILITIES', | |
| 'STRINGID_PKMNSEALEDOPPONENTMOVE', | |
| 'STRINGID_PKMNCANTUSEMOVESEALED', | |
| 'STRINGID_PKMNWANTSGRUDGE', | |
| 'STRINGID_PKMNLOSTPPGRUDGE', | |
| 'STRINGID_PKMNSHROUDEDITSELF', | |
| 'STRINGID_PKMNMOVEBOUNCED', | |
| 'STRINGID_PKMNWAITSFORTARGET', | |
| 'STRINGID_PKMNSNATCHEDMOVE', | |
| 'STRINGID_PKMNMADEITRAIN', | |
| 'STRINGID_PKMNRAISEDSPEED', | |
| 'STRINGID_PKMNPROTECTEDBY', | |
| 'STRINGID_PKMNPREVENTSUSAGE', | |
| 'STRINGID_PKMNRESTOREDHPUSING', | |
| 'STRINGID_PKMNCHANGEDTYPEWITH', | |
| 'STRINGID_PKMNPREVENTSPARALYSISWITH', | |
| 'STRINGID_PKMNPREVENTSROMANCEWITH', | |
| 'STRINGID_PKMNPREVENTSPOISONINGWITH', | |
| 'STRINGID_PKMNPREVENTSCONFUSIONWITH', | |
| 'STRINGID_PKMNRAISEDFIREPOWERWITH', | |
| 'STRINGID_PKMNANCHORSITSELFWITH', | |
| 'STRINGID_PKMNCUTSATTACKWITH', | |
| 'STRINGID_PKMNPREVENTSSTATLOSSWITH', | |
| 'STRINGID_PKMNHURTSWITH', | |
| 'STRINGID_PKMNTRACED', | |
| 'STRINGID_STATSHARPLY', | |
| 'STRINGID_STATROSE', | |
| 'STRINGID_STATHARSHLY', | |
| 'STRINGID_STATFELL', | |
| 'STRINGID_PKMNSSTATCHANGED', | |
| 'STRINGID_PKMNSSTATCHANGED2', | |
| 'STRINGID_PKMNSSTATCHANGED3', | |
| 'STRINGID_PKMNSSTATCHANGED4', | |
| 'STRINGID_CRITICALHIT', | |
| 'STRINGID_ONEHITKO', | |
| 'STRINGID_123POOF', | |
| 'STRINGID_ANDELLIPSIS', | |
| 'STRINGID_NOTVERYEFFECTIVE', | |
| 'STRINGID_SUPEREFFECTIVE', | |
| 'STRINGID_GOTAWAYSAFELY', | |
| 'STRINGID_WILDPKMNFLED', | |
| 'STRINGID_NORUNNINGFROMTRAINERS', | |
| 'STRINGID_CANTESCAPE', | |
| 'STRINGID_DONTLEAVEBIRCH', | |
| 'STRINGID_BUTNOTHINGHAPPENED', | |
| 'STRINGID_BUTITFAILED', | |
| 'STRINGID_ITHURTCONFUSION', | |
| 'STRINGID_MIRRORMOVEFAILED', | |
| 'STRINGID_STARTEDTORAIN', | |
| 'STRINGID_DOWNPOURSTARTED', | |
| 'STRINGID_RAINCONTINUES', | |
| 'STRINGID_DOWNPOURCONTINUES', | |
| 'STRINGID_RAINSTOPPED', | |
| 'STRINGID_SANDSTORMBREWED', | |
| 'STRINGID_SANDSTORMRAGES', | |
| 'STRINGID_SANDSTORMSUBSIDED', | |
| 'STRINGID_SUNLIGHTGOTBRIGHT', | |
| 'STRINGID_SUNLIGHTSTRONG', | |
| 'STRINGID_SUNLIGHTFADED', | |
| 'STRINGID_STARTEDHAIL', | |
| 'STRINGID_HAILCONTINUES', | |
| 'STRINGID_HAILSTOPPED', | |
| 'STRINGID_FAILEDTOSPITUP', | |
| 'STRINGID_FAILEDTOSWALLOW', | |
| 'STRINGID_WINDBECAMEHEATWAVE', | |
| 'STRINGID_STATCHANGESGONE', | |
| 'STRINGID_COINSSCATTERED', | |
| 'STRINGID_TOOWEAKFORSUBSTITUTE', | |
| 'STRINGID_SHAREDPAIN', | |
| 'STRINGID_BELLCHIMED', | |
| 'STRINGID_FAINTINTHREE', | |
| 'STRINGID_NOPPLEFT', | |
| 'STRINGID_BUTNOPPLEFT', | |
| 'STRINGID_PLAYERUSEDITEM', | |
| 'STRINGID_WALLYUSEDITEM', | |
| 'STRINGID_TRAINERBLOCKEDBALL', | |
| 'STRINGID_DONTBEATHIEF', | |
| 'STRINGID_ITDODGEDBALL', | |
| 'STRINGID_YOUMISSEDPKMN', | |
| 'STRINGID_PKMNBROKEFREE', | |
| 'STRINGID_ITAPPEAREDCAUGHT', | |
| 'STRINGID_AARGHALMOSTHADIT', | |
| 'STRINGID_SHOOTSOCLOSE', | |
| 'STRINGID_GOTCHAPKMNCAUGHT', | |
| 'STRINGID_GOTCHAPKMNCAUGHT2', | |
| 'STRINGID_GIVENICKNAMECAPTURED', | |
| 'STRINGID_PKMNSENTTOPC', | |
| 'STRINGID_PKMNDATAADDEDTODEX', | |
| 'STRINGID_ITISRAINING', | |
| 'STRINGID_SANDSTORMISRAGING', | |
| 'STRINGID_CANTESCAPE2', | |
| 'STRINGID_PKMNIGNORESASLEEP', | |
| 'STRINGID_PKMNIGNOREDORDERS', | |
| 'STRINGID_PKMNBEGANTONAP', | |
| 'STRINGID_PKMNLOAFING', | |
| 'STRINGID_PKMNWONTOBEY', | |
| 'STRINGID_PKMNTURNEDAWAY', | |
| 'STRINGID_PKMNPRETENDNOTNOTICE', | |
| 'STRINGID_ENEMYABOUTTOSWITCHPKMN', | |
| 'STRINGID_CREPTCLOSER', | |
| 'STRINGID_CANTGETCLOSER', | |
| 'STRINGID_PKMNWATCHINGCAREFULLY', | |
| 'STRINGID_PKMNCURIOUSABOUTX', | |
| 'STRINGID_PKMNENTHRALLEDBYX', | |
| 'STRINGID_PKMNIGNOREDX', | |
| 'STRINGID_THREWPOKEBLOCKATPKMN', | |
| 'STRINGID_OUTOFSAFARIBALLS', | |
| 'STRINGID_PKMNSITEMCUREDPARALYSIS', | |
| 'STRINGID_PKMNSITEMCUREDPOISON', | |
| 'STRINGID_PKMNSITEMHEALEDBURN', | |
| 'STRINGID_PKMNSITEMDEFROSTEDIT', | |
| 'STRINGID_PKMNSITEMWOKEIT', | |
| 'STRINGID_PKMNSITEMSNAPPEDOUT', | |
| 'STRINGID_PKMNSITEMCUREDPROBLEM', | |
| 'STRINGID_PKMNSITEMRESTOREDHEALTH', | |
| 'STRINGID_PKMNSITEMRESTOREDPP', | |
| 'STRINGID_PKMNSITEMRESTOREDSTATUS', | |
| 'STRINGID_PKMNSITEMRESTOREDHPALITTLE', | |
| 'STRINGID_ITEMALLOWSONLYYMOVE', | |
| 'STRINGID_PKMNHUNGONWITHX', | |
| 'STRINGID_EMPTYSTRING3', | |
| 'STRINGID_PKMNSXPREVENTSBURNS', | |
| 'STRINGID_PKMNSXBLOCKSY', | |
| 'STRINGID_PKMNSXRESTOREDHPALITTLE2', | |
| 'STRINGID_PKMNSXWHIPPEDUPSANDSTORM', | |
| 'STRINGID_PKMNSXPREVENTSYLOSS', | |
| 'STRINGID_PKMNSXINFATUATEDY', | |
| 'STRINGID_PKMNSXMADEYINEFFECTIVE', | |
| 'STRINGID_PKMNSXCUREDYPROBLEM', | |
| 'STRINGID_ITSUCKEDLIQUIDOOZE', | |
| 'STRINGID_PKMNTRANSFORMED', | |
| 'STRINGID_ELECTRICITYWEAKENED', | |
| 'STRINGID_FIREWEAKENED', | |
| 'STRINGID_PKMNHIDUNDERWATER', | |
| 'STRINGID_PKMNSPRANGUP', | |
| 'STRINGID_HMMOVESCANTBEFORGOTTEN', | |
| 'STRINGID_XFOUNDONEY', | |
| 'STRINGID_PLAYERDEFEATEDTRAINER1', | |
| 'STRINGID_SOOTHINGAROMA', | |
| 'STRINGID_ITEMSCANTBEUSEDNOW', | |
| 'STRINGID_FORXCOMMAYZ', | |
| 'STRINGID_USINGXTHEYOFZN', | |
| 'STRINGID_PKMNUSEDXTOGETPUMPED', | |
| 'STRINGID_PKMNSXMADEYUSELESS', | |
| 'STRINGID_PKMNTRAPPEDBYSANDTOMB', | |
| 'STRINGID_EMPTYSTRING4', | |
| 'STRINGID_ABOOSTED', | |
| 'STRINGID_PKMNSXINTENSIFIEDSUN', | |
| 'STRINGID_PKMNMAKESGROUNDMISS', | |
| 'STRINGID_YOUTHROWABALLNOWRIGHT', | |
| 'STRINGID_PKMNSXTOOKATTACK', | |
| 'STRINGID_PKMNCHOSEXASDESTINY', | |
| 'STRINGID_PKMNLOSTFOCUS', | |
| 'STRINGID_USENEXTPKMN', | |
| 'STRINGID_PKMNFLEDUSINGITS', | |
| 'STRINGID_PKMNFLEDUSING', | |
| 'STRINGID_PKMNWASDRAGGEDOUT', | |
| 'STRINGID_PREVENTEDFROMWORKING', | |
| 'STRINGID_PKMNSITEMNORMALIZEDSTATUS', | |
| 'STRINGID_TRAINER1USEDITEM', | |
| 'STRINGID_BOXISFULL', | |
| 'STRINGID_PKMNAVOIDEDATTACK', | |
| 'STRINGID_PKMNSXMADEITINEFFECTIVE', | |
| 'STRINGID_PKMNSXPREVENTSFLINCHING', | |
| 'STRINGID_PKMNALREADYHASBURN', | |
| 'STRINGID_STATSWONTDECREASE2', | |
| 'STRINGID_PKMNSXBLOCKSY2', | |
| 'STRINGID_PKMNSXWOREOFF', | |
| 'STRINGID_PKMNRAISEDDEFALITTLE', | |
| 'STRINGID_PKMNRAISEDSPDEFALITTLE', | |
| 'STRINGID_THEWALLSHATTERED', | |
| 'STRINGID_PKMNSXPREVENTSYSZ', | |
| 'STRINGID_PKMNSXCUREDITSYPROBLEM', | |
| 'STRINGID_ATTACKERCANTESCAPE', | |
| 'STRINGID_PKMNOBTAINEDX', | |
| 'STRINGID_PKMNOBTAINEDX2', | |
| 'STRINGID_PKMNOBTAINEDXYOBTAINEDZ', | |
| 'STRINGID_BUTNOEFFECT', | |
| 'STRINGID_PKMNSXHADNOEFFECTONY', | |
| 'STRINGID_TWOENEMIESDEFEATED', | |
| 'STRINGID_TRAINER2LOSETEXT', | |
| 'STRINGID_PKMNINCAPABLEOFPOWER', | |
| 'STRINGID_GLINTAPPEARSINEYE', | |
| 'STRINGID_PKMNGETTINGINTOPOSITION', | |
| 'STRINGID_PKMNBEGANGROWLINGDEEPLY', | |
| 'STRINGID_PKMNEAGERFORMORE', | |
| 'STRINGID_DEFEATEDOPPONENTBYREFEREE', | |
| 'STRINGID_LOSTTOOPPONENTBYREFEREE', | |
| 'STRINGID_TIEDOPPONENTBYREFEREE', | |
| 'STRINGID_QUESTIONFORFEITMATCH', | |
| 'STRINGID_FORFEITEDMATCH', | |
| 'STRINGID_PKMNTRANSFERREDSOMEONESPC', | |
| 'STRINGID_PKMNTRANSFERREDLANETTESPC', | |
| 'STRINGID_PKMNBOXSOMEONESPCFULL', | |
| 'STRINGID_PKMNBOXLANETTESPCFULL', | |
| 'STRINGID_TRAINER1WINTEXT', | |
| 'STRINGID_TRAINER2WINTEXT' | |
| ] | |
| MOVE_EFFECTS = [ | |
| 'EFFECT_HIT', | |
| 'EFFECT_SLEEP', | |
| 'EFFECT_POISON_HIT', | |
| 'EFFECT_ABSORB', | |
| 'EFFECT_BURN_HIT', | |
| 'EFFECT_FREEZE_HIT', | |
| 'EFFECT_PARALYZE_HIT', | |
| 'EFFECT_EXPLOSION', | |
| 'EFFECT_DREAM_EATER', | |
| 'EFFECT_MIRROR_MOVE', | |
| 'EFFECT_ATTACK_UP', | |
| 'EFFECT_DEFENSE_UP', | |
| 'EFFECT_SPEED_UP', | |
| 'EFFECT_SPECIAL_ATTACK_UP', | |
| 'EFFECT_SPECIAL_DEFENSE_UP', | |
| 'EFFECT_ACCURACY_UP', | |
| 'EFFECT_EVASION_UP', | |
| 'EFFECT_ALWAYS_HIT', | |
| 'EFFECT_ATTACK_DOWN', | |
| 'EFFECT_DEFENSE_DOWN', | |
| 'EFFECT_SPEED_DOWN', | |
| 'EFFECT_SPECIAL_ATTACK_DOWN', | |
| 'EFFECT_SPECIAL_DEFENSE_DOWN', | |
| 'EFFECT_ACCURACY_DOWN', | |
| 'EFFECT_EVASION_DOWN', | |
| 'EFFECT_HAZE', | |
| 'EFFECT_BIDE', | |
| 'EFFECT_RAMPAGE', | |
| 'EFFECT_ROAR', | |
| 'EFFECT_MULTI_HIT', | |
| 'EFFECT_CONVERSION', | |
| 'EFFECT_FLINCH_HIT', | |
| 'EFFECT_RESTORE_HP', | |
| 'EFFECT_TOXIC', | |
| 'EFFECT_PAY_DAY', | |
| 'EFFECT_LIGHT_SCREEN', | |
| 'EFFECT_TRI_ATTACK', | |
| 'EFFECT_REST', | |
| 'EFFECT_OHKO', | |
| 'EFFECT_RAZOR_WIND', | |
| 'EFFECT_SUPER_FANG', | |
| 'EFFECT_DRAGON_RAGE', | |
| 'EFFECT_TRAP', | |
| 'EFFECT_HIGH_CRITICAL', | |
| 'EFFECT_DOUBLE_HIT', | |
| 'EFFECT_RECOIL_IF_MISS', | |
| 'EFFECT_MIST', | |
| 'EFFECT_FOCUS_ENERGY', | |
| 'EFFECT_RECOIL', | |
| 'EFFECT_CONFUSE', | |
| 'EFFECT_ATTACK_UP_2', | |
| 'EFFECT_DEFENSE_UP_2', | |
| 'EFFECT_SPEED_UP_2', | |
| 'EFFECT_SPECIAL_ATTACK_UP_2', | |
| 'EFFECT_SPECIAL_DEFENSE_UP_2', | |
| 'EFFECT_ACCURACY_UP_2', | |
| 'EFFECT_EVASION_UP_2', | |
| 'EFFECT_TRANSFORM', | |
| 'EFFECT_ATTACK_DOWN_2', | |
| 'EFFECT_DEFENSE_DOWN_2', | |
| 'EFFECT_SPEED_DOWN_2', | |
| 'EFFECT_SPECIAL_ATTACK_DOWN_2', | |
| 'EFFECT_SPECIAL_DEFENSE_DOWN_2', | |
| 'EFFECT_ACCURACY_DOWN_2', | |
| 'EFFECT_EVASION_DOWN_2', | |
| 'EFFECT_REFLECT', | |
| 'EFFECT_POISON', | |
| 'EFFECT_PARALYZE', | |
| 'EFFECT_ATTACK_DOWN_HIT', | |
| 'EFFECT_DEFENSE_DOWN_HIT', | |
| 'EFFECT_SPEED_DOWN_HIT', | |
| 'EFFECT_SPECIAL_ATTACK_DOWN_HIT', | |
| 'EFFECT_SPECIAL_DEFENSE_DOWN_HIT', | |
| 'EFFECT_ACCURACY_DOWN_HIT', | |
| 'EFFECT_EVASION_DOWN_HIT', | |
| 'EFFECT_SKY_ATTACK', | |
| 'EFFECT_CONFUSE_HIT', | |
| 'EFFECT_TWINEEDLE', | |
| 'EFFECT_VITAL_THROW', | |
| 'EFFECT_SUBSTITUTE', | |
| 'EFFECT_RECHARGE', | |
| 'EFFECT_RAGE', | |
| 'EFFECT_MIMIC', | |
| 'EFFECT_METRONOME', | |
| 'EFFECT_LEECH_SEED', | |
| 'EFFECT_SPLASH', | |
| 'EFFECT_DISABLE', | |
| 'EFFECT_LEVEL_DAMAGE', | |
| 'EFFECT_PSYWAVE', | |
| 'EFFECT_COUNTER', | |
| 'EFFECT_ENCORE', | |
| 'EFFECT_PAIN_SPLIT', | |
| 'EFFECT_SNORE', | |
| 'EFFECT_CONVERSION_2', | |
| 'EFFECT_LOCK_ON', | |
| 'EFFECT_SKETCH', | |
| 'EFFECT_UNUSED_60', | |
| 'EFFECT_SLEEP_TALK', | |
| 'EFFECT_DESTINY_BOND', | |
| 'EFFECT_FLAIL', | |
| 'EFFECT_SPITE', | |
| 'EFFECT_FALSE_SWIPE', | |
| 'EFFECT_HEAL_BELL', | |
| 'EFFECT_QUICK_ATTACK', | |
| 'EFFECT_TRIPLE_KICK', | |
| 'EFFECT_THIEF', | |
| 'EFFECT_MEAN_LOOK', | |
| 'EFFECT_NIGHTMARE', | |
| 'EFFECT_MINIMIZE', | |
| 'EFFECT_CURSE', | |
| 'EFFECT_UNUSED_6E', | |
| 'EFFECT_PROTECT', | |
| 'EFFECT_SPIKES', | |
| 'EFFECT_FORESIGHT', | |
| 'EFFECT_PERISH_SONG', | |
| 'EFFECT_SANDSTORM', | |
| 'EFFECT_ENDURE', | |
| 'EFFECT_ROLLOUT', | |
| 'EFFECT_SWAGGER', | |
| 'EFFECT_FURY_CUTTER', | |
| 'EFFECT_ATTRACT', | |
| 'EFFECT_RETURN', | |
| 'EFFECT_PRESENT', | |
| 'EFFECT_FRUSTRATION', | |
| 'EFFECT_SAFEGUARD', | |
| 'EFFECT_THAW_HIT', | |
| 'EFFECT_MAGNITUDE', | |
| 'EFFECT_BATON_PASS', | |
| 'EFFECT_PURSUIT', | |
| 'EFFECT_RAPID_SPIN', | |
| 'EFFECT_SONICBOOM', | |
| 'EFFECT_UNUSED_83', | |
| 'EFFECT_MORNING_SUN', | |
| 'EFFECT_SYNTHESIS', | |
| 'EFFECT_MOONLIGHT', | |
| 'EFFECT_HIDDEN_POWER', | |
| 'EFFECT_RAIN_DANCE', | |
| 'EFFECT_SUNNY_DAY', | |
| 'EFFECT_DEFENSE_UP_HIT', | |
| 'EFFECT_ATTACK_UP_HIT', | |
| 'EFFECT_ALL_STATS_UP_HIT', | |
| 'EFFECT_UNUSED_8D', | |
| 'EFFECT_BELLY_DRUM', | |
| 'EFFECT_PSYCH_UP', | |
| 'EFFECT_MIRROR_COAT', | |
| 'EFFECT_SKULL_BASH', | |
| 'EFFECT_TWISTER', | |
| 'EFFECT_EARTHQUAKE', | |
| 'EFFECT_FUTURE_SIGHT', | |
| 'EFFECT_GUST', | |
| 'EFFECT_FLINCH_MINIMIZE_HIT', | |
| 'EFFECT_SOLARBEAM', | |
| 'EFFECT_THUNDER', | |
| 'EFFECT_TELEPORT', | |
| 'EFFECT_BEAT_UP', | |
| 'EFFECT_SEMI_INVULNERABLE', | |
| 'EFFECT_DEFENSE_CURL', | |
| 'EFFECT_SOFTBOILED', | |
| 'EFFECT_FAKE_OUT', | |
| 'EFFECT_UPROAR', | |
| 'EFFECT_STOCKPILE', | |
| 'EFFECT_SPIT_UP', | |
| 'EFFECT_SWALLOW', | |
| 'EFFECT_UNUSED_A3', | |
| 'EFFECT_HAIL', | |
| 'EFFECT_TORMENT', | |
| 'EFFECT_FLATTER', | |
| 'EFFECT_WILL_O_WISP', | |
| 'EFFECT_MEMENTO', | |
| 'EFFECT_FACADE', | |
| 'EFFECT_FOCUS_PUNCH', | |
| 'EFFECT_SMELLINGSALT', | |
| 'EFFECT_FOLLOW_ME', | |
| 'EFFECT_NATURE_POWER', | |
| 'EFFECT_CHARGE', | |
| 'EFFECT_TAUNT', | |
| 'EFFECT_HELPING_HAND', | |
| 'EFFECT_TRICK', | |
| 'EFFECT_ROLE_PLAY', | |
| 'EFFECT_WISH', | |
| 'EFFECT_ASSIST', | |
| 'EFFECT_INGRAIN', | |
| 'EFFECT_SUPERPOWER', | |
| 'EFFECT_MAGIC_COAT', | |
| 'EFFECT_RECYCLE', | |
| 'EFFECT_REVENGE', | |
| 'EFFECT_BRICK_BREAK', | |
| 'EFFECT_YAWN', | |
| 'EFFECT_KNOCK_OFF', | |
| 'EFFECT_ENDEAVOR', | |
| 'EFFECT_ERUPTION', | |
| 'EFFECT_SKILL_SWAP', | |
| 'EFFECT_IMPRISON', | |
| 'EFFECT_REFRESH', | |
| 'EFFECT_GRUDGE', | |
| 'EFFECT_SNATCH', | |
| 'EFFECT_LOW_KICK', | |
| 'EFFECT_SECRET_POWER', | |
| 'EFFECT_DOUBLE_EDGE', | |
| 'EFFECT_TEETER_DANCE', | |
| 'EFFECT_BLAZE_KICK', | |
| 'EFFECT_MUD_SPORT', | |
| 'EFFECT_POISON_FANG', | |
| 'EFFECT_WEATHER_BALL', | |
| 'EFFECT_OVERHEAT', | |
| 'EFFECT_TICKLE', | |
| 'EFFECT_COSMIC_POWER', | |
| 'EFFECT_SKY_UPPERCUT', | |
| 'EFFECT_BULK_UP', | |
| 'EFFECT_POISON_TAIL', | |
| 'EFFECT_WATER_SPORT', | |
| 'EFFECT_CALM_MIND', | |
| 'EFFECT_DRAGON_DANCE', | |
| 'EFFECT_CAMOUFLAGE' | |
| ] | |
| ABILITIES = [ | |
| 'ABILITY_NONE', | |
| 'ABILITY_STENCH', | |
| 'ABILITY_DRIZZLE', | |
| 'ABILITY_SPEED_BOOST', | |
| 'ABILITY_BATTLE_ARMOR', | |
| 'ABILITY_STURDY', | |
| 'ABILITY_DAMP', | |
| 'ABILITY_LIMBER', | |
| 'ABILITY_SAND_VEIL', | |
| 'ABILITY_STATIC', | |
| 'ABILITY_VOLT_ABSORB', | |
| 'ABILITY_WATER_ABSORB', | |
| 'ABILITY_OBLIVIOUS', | |
| 'ABILITY_CLOUD_NINE', | |
| 'ABILITY_COMPOUND_EYES', | |
| 'ABILITY_INSOMNIA', | |
| 'ABILITY_COLOR_CHANGE', | |
| 'ABILITY_IMMUNITY', | |
| 'ABILITY_FLASH_FIRE', | |
| 'ABILITY_SHIELD_DUST', | |
| 'ABILITY_OWN_TEMPO', | |
| 'ABILITY_SUCTION_CUPS', | |
| 'ABILITY_INTIMIDATE', | |
| 'ABILITY_SHADOW_TAG', | |
| 'ABILITY_ROUGH_SKIN', | |
| 'ABILITY_WONDER_GUARD', | |
| 'ABILITY_LEVITATE', | |
| 'ABILITY_EFFECT_SPORE', | |
| 'ABILITY_SYNCHRONIZE', | |
| 'ABILITY_CLEAR_BODY', | |
| 'ABILITY_NATURAL_CURE', | |
| 'ABILITY_LIGHTNING_ROD', | |
| 'ABILITY_SERENE_GRACE', | |
| 'ABILITY_SWIFT_SWIM', | |
| 'ABILITY_CHLOROPHYLL', | |
| 'ABILITY_ILLUMINATE', | |
| 'ABILITY_TRACE', | |
| 'ABILITY_HUGE_POWER', | |
| 'ABILITY_POISON_POINT', | |
| 'ABILITY_INNER_FOCUS', | |
| 'ABILITY_MAGMA_ARMOR', | |
| 'ABILITY_WATER_VEIL', | |
| 'ABILITY_MAGNET_PULL', | |
| 'ABILITY_SOUNDPROOF', | |
| 'ABILITY_RAIN_DISH', | |
| 'ABILITY_SAND_STREAM', | |
| 'ABILITY_PRESSURE', | |
| 'ABILITY_THICK_FAT', | |
| 'ABILITY_EARLY_BIRD', | |
| 'ABILITY_FLAME_BODY', | |
| 'ABILITY_RUN_AWAY', | |
| 'ABILITY_KEEN_EYE', | |
| 'ABILITY_HYPER_CUTTER', | |
| 'ABILITY_PICKUP', | |
| 'ABILITY_TRUANT', | |
| 'ABILITY_HUSTLE', | |
| 'ABILITY_CUTE_CHARM', | |
| 'ABILITY_PLUS', | |
| 'ABILITY_MINUS', | |
| 'ABILITY_FORECAST', | |
| 'ABILITY_STICKY_HOLD', | |
| 'ABILITY_SHED_SKIN', | |
| 'ABILITY_GUTS', | |
| 'ABILITY_MARVEL_SCALE', | |
| 'ABILITY_LIQUID_OOZE', | |
| 'ABILITY_OVERGROW', | |
| 'ABILITY_BLAZE', | |
| 'ABILITY_TORRENT', | |
| 'ABILITY_SWARM', | |
| 'ABILITY_ROCK_HEAD', | |
| 'ABILITY_DROUGHT', | |
| 'ABILITY_ARENA_TRAP', | |
| 'ABILITY_VITAL_SPIRIT', | |
| 'ABILITY_WHITE_SMOKE', | |
| 'ABILITY_PURE_POWER', | |
| 'ABILITY_SHELL_ARMOR', | |
| 'ABILITY_CACOPHONY', | |
| 'ABILITY_AIR_LOCK', | |
| ] | |
| COMPAR = [ | |
| 'CMP_EQUAL', | |
| 'CMP_NOT_EQUAL', | |
| 'CMP_GREATER_THAN', | |
| 'CMP_LESS_THAN', | |
| 'CMP_COMMON_BITS', | |
| 'CMP_NO_COMMON_BITS' | |
| ] | |
| BATTLE_TYPE_FLAGS = [ | |
| 'BATTLE_TYPE_DOUBLE', | |
| 'BATTLE_TYPE_LINK', | |
| 'BATTLE_TYPE_IS_MASTER', | |
| 'BATTLE_TYPE_TRAINER', | |
| 'BATTLE_TYPE_FIRST_BATTLE', | |
| 'BATTLE_TYPE_20', | |
| 'BATTLE_TYPE_MULTI', | |
| 'BATTLE_TYPE_SAFARI', | |
| 'BATTLE_TYPE_BATTLE_TOWER', | |
| 'BATTLE_TYPE_OLD_MAN_TUTORIAL', | |
| 'BATTLE_TYPE_ROAMER', | |
| 'BATTLE_TYPE_EREADER_TRAINER', | |
| 'BATTLE_TYPE_KYOGRE_GROUDON', | |
| 'BATTLE_TYPE_LEGENDARY', | |
| 'BATTLE_TYPE_REGI', | |
| 'BATTLE_TYPE_GHOST', | |
| 'BATTLE_TYPE_POKEDUDE', | |
| 'BATTLE_TYPE_PALACE', | |
| 'BATTLE_TYPE_ARENA', | |
| 'BATTLE_TYPE_TRAINER_TOWER', | |
| 'BATTLE_TYPE_PIKE', | |
| 'BATTLE_TYPE_PYRAMID', | |
| 'BATTLE_TYPE_INGAME_PARTNER', | |
| 'BATTLE_TYPE_x800000', | |
| 'BATTLE_TYPE_RECORDED', | |
| 'BATTLE_TYPE_x2000000', | |
| 'BATTLE_TYPE_TRAINER_HILL', | |
| 'BATTLE_TYPE_SECRET_BASE', | |
| 'BATTLE_TYPE_GROUDON', | |
| 'BATTLE_TYPE_KYOGRE', | |
| 'BATTLE_TYPE_RAYQUAZA', | |
| 'BATTLE_TYPE_x80000000', | |
| ] | |
| BATTLE_SCRIPT_OFFSETS = [ | |
| 'sPAINSPLIT_HP', | |
| None, | |
| None, | |
| None, | |
| 'sBIDE_DMG', | |
| None, | |
| None, | |
| None, | |
| 'sMULTIHIT_STRING', | |
| None, | |
| None, | |
| None, | |
| None, | |
| None, | |
| 'sDMG_MULTIPLIER', | |
| 'sTWOTURN_STRINGID', | |
| 'sB_ANIM_ARG1', | |
| 'sB_ANIM_ARG2', | |
| 'sTRIPLE_KICK_POWER', | |
| None, | |
| 'sMOVEEND_STATE', | |
| 'sBATTLER_WITH_ABILITY', | |
| 'sMULTIHIT_EFFECT', | |
| 'sBATTLER', | |
| 'sB_ANIM_TURN', | |
| 'sB_ANIM_TARGETS_HIT', | |
| 'sSTATCHANGER', | |
| 'sSTAT_ANIM_PLAYED', | |
| 'sGIVEEXP_STATE', | |
| 'sBATTLE_STYLE', | |
| 'sLVLBOX_STATE', | |
| 'sLEARNMOVE_STATE', | |
| 'sFIELD_20', | |
| 'sRESHOW_MAIN_STATE', | |
| 'sRESHOW_HELPER_STATE', | |
| 'sFIELD_23', | |
| 'sWINDOWS_TYPE', | |
| 'sMULTIPLAYER_ID', | |
| 'sSPECIAL_TRAINER_BATTLE_TYPE' | |
| ] | |
| HITMARKER = [ | |
| None, | |
| None, | |
| None, | |
| None, | |
| 'HITMARKER_x10', | |
| 'HITMARKER_x20', | |
| 'HITMARKER_DESTINYBOND', | |
| 'HITMARKER_NO_ANIMATIONS', | |
| 'HITMARKER_IGNORE_SUBSTITUTE', | |
| 'HITMARKER_NO_ATTACKSTRING', | |
| 'HITMARKER_ATTACKSTRING_PRINTED', | |
| 'HITMARKER_NO_PPDEDUCT', | |
| 'HITMARKER_SWAP_ATTACKER_TARGET', | |
| 'HITMARKER_IGNORE_SAFEGUARD', | |
| 'HITMARKER_SYNCHRONISE_EFFECT', | |
| 'HITMARKER_RUN', | |
| 'HITMARKER_IGNORE_ON_AIR', | |
| 'HITMARKER_IGNORE_UNDERGROUND', | |
| 'HITMARKER_IGNORE_UNDERWATER', | |
| 'HITMARKER_UNABLE_TO_USE_MOVE', | |
| 'HITMARKER_x100000', | |
| 'HITMARKER_x200000', | |
| 'HITMARKER_x400000', | |
| 'HITMARKER_x800000', | |
| 'HITMARKER_GRUDGE', | |
| 'HITMARKER_OBEYS', | |
| 'HITMARKER_x4000000', | |
| 'HITMARKER_CHARGING', | |
| 'HITMARKER_UNK(0)', | |
| 'HITMARKER_UNK(1)', | |
| 'HITMARKER_UNK(2)', | |
| 'HITMARKER_UNK(3)' | |
| ] | |
| with open('tmp.json') as fp: | |
| commands = json.load(fp)['commands'] | |
| symbols = {} | |
| with open('pokefirered.map') as mapfile: | |
| for line in mapfile: | |
| m = re.match(r'^ +(0x0[238][0-9a-f]{6}) +(\w+)$', line) | |
| if m: | |
| symbols[int(m[1], 0)] = m[2] | |
| pointers = {} | |
| name = '' | |
| end = 0 | |
| with open('data/battle_scripts_1.s') as fp: | |
| for line in fp: | |
| if '::' in line: | |
| name = line.split('::')[0] | |
| elif 'baserom.gba' in line: | |
| addr, size = [int(x, 0) for x in line.split(', ')[1:]] | |
| if not name: | |
| name = f'BattleScript_8{addr:06X}' | |
| pointers[addr] = name | |
| name = '' | |
| end = max(end, addr + size) | |
| ptr_table_addr = min(pointers) | |
| ptr_table_name = pointers.pop(ptr_table_addr) | |
| script_ptrs = [] | |
| with open('baserom.gba', 'rb') as rom: | |
| print('#include "constants/moves.h"') | |
| print('#include "constants/battle.h"') | |
| print('#include "constants/battle_move_effects.h"') | |
| print('#include "constants/battle_script_commands.h"') | |
| print('#include "constants/battle_anim.h"') | |
| print('#include "constants/items.h"') | |
| print('#include "constants/abilities.h"') | |
| print('#include "constants/species.h"') | |
| print('\t.include "asm/macros/battle_script.inc"') | |
| print('\t.section script_data, "aw", %progbits') | |
| print('\t.align 2') | |
| print('') | |
| rom.seek(ptr_table_addr) | |
| print(f'{ptr_table_name}:: @ 8{ptr_table_addr:06X}') | |
| i = 0 | |
| while True: | |
| ptr = int.from_bytes(rom.read(4), 'little') | |
| if ptr >> 24 != 8: | |
| break | |
| ptr &= 0xFFFFFF | |
| if ptr not in pointers: | |
| if i < len(MOVE_EFFECTS): | |
| name = MOVE_EFFECTS[i].title().replace('_', '') | |
| pointers[ptr] = f'BattleScript_{name}' | |
| else: | |
| pointers[ptr] = f'BattleScript_8{ptr:06X}' | |
| print(f'\t.4byte {pointers[ptr]}') | |
| i += 1 | |
| rom.seek(min(pointers)) | |
| while rom.tell() < end: | |
| cmd, = rom.read(1) | |
| if cmd < len(commands): | |
| values = commands[cmd] | |
| if values['args']: | |
| args = [] | |
| for arg in values['args']: | |
| value = int.from_bytes(rom.read(arg['nbytes']), 'little') | |
| if arg['nbytes'] == 4 and value >> 24 == 8 and value & 0xFFFFFF not in pointers and min(pointers) <= value & 0xFFFFFF < end: | |
| pointers[value & 0xFFFFFF] = f'BattleScript_{value:X}' | |
| rom.seek(min(pointers)) | |
| while rom.tell() < end: | |
| if rom.tell() in pointers: | |
| print('') | |
| print(f'{pointers[rom.tell()]}:: @ 8{rom.tell():06X}') | |
| cmd, = rom.read(1) | |
| if cmd < len(commands): | |
| values = commands[cmd] | |
| cmdname = values['name'] | |
| if values['args']: | |
| args = [] | |
| for i, arg in enumerate(values['args']): | |
| value = int.from_bytes(rom.read(arg['nbytes']), 'little') | |
| if arg['nbytes'] == 1: | |
| if i == {'jumpifability': 1, 'jumpifabilitypresent': 0}.get(cmdname, -1): | |
| args.append(ABILITIES[value]) | |
| elif cmdname in ('jumpifword', 'jumpifhalfword', 'jumpifbyte') and i == 0: | |
| args.append(COMPAR[value]) | |
| else: | |
| args.append(f'0x{value:02X}') | |
| elif arg['nbytes'] == 2: | |
| if cmdname == 'printstring' and value < len(STRING_IDS) and STRING_IDS[value]: | |
| args.append(STRING_IDS[value]) | |
| elif cmdname in ('atk55', 'atk54'): | |
| args.append(SONGS[value]) | |
| else: | |
| args.append(f'0x{value:04X}') | |
| else: | |
| if i == {'jumpifword': 2, 'orword': 1}.get(cmdname, -1) and args[-1] in ('gBattleTypeFlags', 'gHitMarker'): | |
| flags = [] | |
| array = {'gBattleTypeFlags': BATTLE_TYPE_FLAGS, 'gHitMarker': HITMARKER}[args[-1]] | |
| for bit in range(32): | |
| if (value >> bit) & 1: | |
| flags.append(array[bit]) | |
| args.append(' | '.join(flags) or 0) | |
| else: | |
| if value >> 24 in (2, 3, 8): | |
| if value >> 24 == 8 and value & 0xFFFFFF in pointers: | |
| value = pointers[value & 0xFFFFFF] | |
| else: | |
| value = symbols.get(value, value) | |
| if isinstance(value, int): | |
| for delta in range(1, 0x400): | |
| if value - delta in symbols: | |
| break | |
| if symbols[value - delta] == 'gBattleScripting' and delta < len(BATTLE_SCRIPT_OFFSETS) and BATTLE_SCRIPT_OFFSETS[delta]: | |
| value = BATTLE_SCRIPT_OFFSETS[delta] | |
| else: | |
| value = f'{symbols[value - delta]} + 0x{delta:X}' | |
| if isinstance(value, str): | |
| args.append(value) | |
| else: | |
| args.append(f'0x{value:08X}') | |
| print('', cmdname, sep='\t', end=' ') | |
| print(*args, sep=', ') | |
| else: | |
| print('', cmdname, sep='\t') | |
| else: | |
| print(f'\t.byte 0x{cmd:02X}') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "commands": [ | |
| { | |
| "name": "attackcanceler", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "accuracycheck", | |
| "args": [ | |
| {"name": "address", "nbytes": 4}, | |
| {"name": "param1", "nbytes": 2} | |
| ] | |
| }, | |
| { | |
| "name": "attackstring", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "ppreduce", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "critcalc", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk5", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk6", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk7", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk8", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "attackanimation", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "waitanimation", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "graphicalhpupdate", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "datahpupdate", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "critmessage", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "missmessage", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "resultmessage", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "printstring", | |
| "args": [ | |
| {"name": "string", "nbytes": 2} | |
| ] | |
| }, | |
| { | |
| "name": "printstring2", | |
| "args": [ | |
| {"name": "string", "nbytes": 2} | |
| ] | |
| }, | |
| { | |
| "name": "waitmessage", | |
| "args": [ | |
| {"name": "delay", "nbytes": 2} | |
| ] | |
| }, | |
| { | |
| "name": "printfromtable", | |
| "args": [ | |
| {"name": "table", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "printfromtable2", | |
| "args": [ | |
| {"name": "table", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "seteffectwithchancetarget", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "seteffecttarget", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "seteffectuser", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "clearstatus", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "faintpokemon", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "param2", "nbytes": 1}, | |
| {"name": "param3", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk1a", | |
| "args": [ | |
| {"name": "param1", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk1b", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifstatus", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "status", "nbytes": 4}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifsecondarytstatus", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "status", "nbytes": 4}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifability", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "ability", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifhalverset", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "status", "nbytes": 2}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifstat", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "flag", "nbytes": 1}, | |
| {"name": "quantity", "nbytes": 1}, | |
| {"name": "statid", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifspecialstatusflag", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "mask", "nbytes": 4}, | |
| {"name": "status", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpiftype", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "type", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk23", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk24", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk25", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk26", | |
| "args": [ | |
| {"name": "param1", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk27", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jump", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifbyte", | |
| "args": [ | |
| {"name": "ifflag", "nbytes": 1}, | |
| {"name": "checkaddr", "nbytes": 4}, | |
| {"name": "compare", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifhalfword", | |
| "args": [ | |
| {"name": "ifflag", "nbytes": 1}, | |
| {"name": "checkaddr", "nbytes": 4}, | |
| {"name": "compare", "nbytes": 2}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifword", | |
| "args": [ | |
| {"name": "ifflag", "nbytes": 1}, | |
| {"name": "checkaddr", "nbytes": 4}, | |
| {"name": "compare", "nbytes": 4}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifarrayequal", | |
| "args": [ | |
| {"name": "mem1", "nbytes": 4}, | |
| {"name": "mem2", "nbytes": 4}, | |
| {"name": "size", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifarraynotequal", | |
| "args": [ | |
| {"name": "mem1", "nbytes": 4}, | |
| {"name": "mem2", "nbytes": 4}, | |
| {"name": "size", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setbyte", | |
| "args": [ | |
| {"name": "pointer", "nbytes": 4}, | |
| {"name": "value", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "addbyte", | |
| "args": [ | |
| {"name": "pointer", "nbytes": 4}, | |
| {"name": "value", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "subtractbyte", | |
| "args": [ | |
| {"name": "pointer", "nbytes": 4}, | |
| {"name": "value", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "copyarray", | |
| "args": [ | |
| {"name": "destination", "nbytes": 4}, | |
| {"name": "source", "nbytes": 4}, | |
| {"name": "size", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk32", | |
| "args": [ | |
| {"name": "param1", "nbytes": 4}, | |
| {"name": "param2", "nbytes": 4}, | |
| {"name": "param3", "nbytes": 4}, | |
| {"name": "byte", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "orbyte", | |
| "args": [ | |
| {"name": "pointer", "nbytes": 4}, | |
| {"name": "value", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "orhalfword", | |
| "args": [ | |
| {"name": "pointer", "nbytes": 4}, | |
| {"name": "value", "nbytes": 2} | |
| ] | |
| }, | |
| { | |
| "name": "orword", | |
| "args": [ | |
| {"name": "pointer", "nbytes": 4}, | |
| {"name": "value", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "bicbyte", | |
| "args": [ | |
| {"name": "pointer", "nbytes": 4}, | |
| {"name": "value", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "bichalfword", | |
| "args": [ | |
| {"name": "pointer", "nbytes": 4}, | |
| {"name": "value", "nbytes": 2} | |
| ] | |
| }, | |
| { | |
| "name": "bicword", | |
| "args": [ | |
| {"name": "pointer", "nbytes": 4}, | |
| {"name": "value", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "pause", | |
| "args": [ | |
| {"name": "pause_duration", "nbytes": 2} | |
| ] | |
| }, | |
| { | |
| "name": "waitstateatk", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "somethinghealatk3b", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "return", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "end", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "end2", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "end3", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk40", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "callatk", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpiftype2", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "type", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifabilitypresent", | |
| "args": [ | |
| {"name": "ability", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk44", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "playanimation", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "animation", "nbytes": 1}, | |
| {"name": "var_address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk46", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4}, | |
| {"name": "int", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk47", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "playstatchangeanimation", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "color", "nbytes": 1}, | |
| {"name": "byte", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk49", | |
| "args": [ | |
| {"name": "byte1", "nbytes": 1}, | |
| {"name": "byte2", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "damagecalc2", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk4b", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "switch1", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "switch2", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "switch3", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "byte", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifcannotswitch", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "openpartyscreen", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk51", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "param2", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk52", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk53", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk54", | |
| "args": [ | |
| {"name": "word", "nbytes": 2} | |
| ] | |
| }, | |
| { | |
| "name": "atk55", | |
| "args": [ | |
| {"name": "int", "nbytes": 2} | |
| ] | |
| }, | |
| { | |
| "name": "atk56", | |
| "args": [ | |
| {"name": "bank_or_side", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk57", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk58", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "checkiflearnmoveinbattle", | |
| "args": [ | |
| {"name": "param1", "nbytes": 4}, | |
| {"name": "param2", "nbytes": 4}, | |
| {"name": "bank_maybe", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk5a", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk5b", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk5c", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk5d", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk5e", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk5f", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk60", | |
| "args": [ | |
| {"name": "byte", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk61", | |
| "args": [ | |
| {"name": "bank_or_side", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk62_hidepartystatussummary", | |
| "args": [ | |
| {"name": "bank_or_side", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "jumptoattack", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "statusanimation", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk65", | |
| "args": [ | |
| {"name": "bank_or_side", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk66", | |
| "args": [ | |
| {"name": "bank_or_side", "nbytes": 1}, | |
| {"name": "bank_or_side2", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk67", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk68", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk69", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "removeitem", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk6b", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk6c", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk6d", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk6e", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk6f", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk70", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk71", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk72", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk73", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk74", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk75", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atk76", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "byte", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "setprotect", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "faintifabilitynotdamp", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setuserhptozero", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "jumpwhiletargetvalid", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setdamageasrestorehalfmaxhp", | |
| "args": [ | |
| {"name": "address", "nbytes": 4}, | |
| {"name": "byte", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "jumptolastusedattack", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setrain", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setreflect", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setleechseed", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "manipulatedamage", | |
| "args": [ | |
| {"name": "id", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "setrest", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifnotfirstturn", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "nop3", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "jumpifcannotsleep", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "stockpile", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "stockpiletobasedamage", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "stockpiletohprecovery", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "negativedamage", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "statbuffchange", | |
| "args": [ | |
| {"name": "target", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "normalisebuffs", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setbide", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "confuseifrepeatingattackends", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setloopcounter", | |
| "args": [ | |
| {"name": "count", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "atk8e", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "forcerandomswitch", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "changetypestoenemyattacktype", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "givemoney", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setlightscreen", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "koplussomethings", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "gethalfcurrentenemyhp", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setsandstorm", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "weatherdamage", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "tryinfatuatetarget", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atk98", | |
| "args": [ | |
| {"name": "byte", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "setmisteffect", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setincreasedcriticalchance", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "transformdataexecution", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setsubstituteeffect", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "copyattack", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "metronomeeffect", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "nightshadedamageeffect", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "psywavedamageeffect", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "counterdamagecalculator", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "mirrorcoatdamagecalculator", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "disablelastusedattack", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setencore", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "painsplitdamagecalculator", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "settypetorandomresistance", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setalwayshitflag", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "copymovepermanently", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "selectrandommovefromusermoves", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "destinybondeffect", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atkab", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "remaininghptopower", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "reducepprandom", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "clearstatusifnotsoundproofed", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "cursetarget", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setspikes", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setforesight", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setperishsong", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "rolloutdamagecalculation", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "jumpifconfusedandattackmaxed", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "furycutterdamagecalculation", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "happinesstodamagecalculation", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "presentdamagecalculation", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setsafeguard", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "magnitudedamagecalculation", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atkba", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setsunny", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "maxattackhalvehp", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "copyfoestats", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "breakfree", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setcurled", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "recoverbasedonsunlight", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "hiddenpowerdamagecalculation", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "selectnexttarget", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setfutureattack", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "beatupcalculation", | |
| "args": [ | |
| {"name": "address1", "nbytes": 4}, | |
| {"name": "address2", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "hidepreattack", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "unhidepostattack", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setminimize", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "sethail", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "jumpifattackandspecialattackcannotfall", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setforcedtarget", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setcharge", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "callterrainattack", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "cureifburnedparalysedorpoisoned", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "settorment", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "jumpifnodamage", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "settaunt", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "sethelpinghand", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "itemswap", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "copyability", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atkd4", | |
| "args": [ | |
| {"name": "byte", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setroots", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "doubledamagedealtifdamaged", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "setyawn", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setdamagetohealthdifference", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "scaledamagebyhealthratio", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "abilityswap", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "imprisoneffect", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setgrudge", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "weightdamagecalculation", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "assistattackselect", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setmagiccoat", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "setstealstatchange", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atke1", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "atke2", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| }, | |
| { | |
| "name": "jumpiffainted", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1}, | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "naturepowereffect", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "pickupitemcalculation", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "actualcastformswitch", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "castformswitch", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "settypebasedhalvers", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "seteffectbyweather", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "recycleitem", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "settypetoterrain", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "pursuitwhenswitched", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "snatchmove", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "removereflectlightscreen", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "pokemoncatchfunction", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "catchpoke", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "capturesomethingf1", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "capturesomethingf2", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "capturesomethingf3", | |
| "args": [ | |
| {"name": "address", "nbytes": 4} | |
| ] | |
| }, | |
| { | |
| "name": "removehp", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "curestatusfirstword", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atkf6", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "activesidesomething", | |
| "args": [ | |
| ] | |
| }, | |
| { | |
| "name": "atkf8", | |
| "args": [ | |
| {"name": "bank", "nbytes": 1} | |
| ] | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment