GetVarAction_:: ld a, c cp NUM_VARS jr c, .valid xor a .valid ld c, a ld b, 0 ld hl, .VarActionTable add hl, bc add hl, bc add hl, bc ld e, [hl] inc hl ld d, [hl] inc hl ld b, [hl] ld a, b and RETVAR_EXECUTE jr nz, .call ld a, b and RETVAR_ADDR_DE ret nz ld a, [de] jr .loadstringbuffer2 .call call _de_ ret .loadstringbuffer2 ld de, wStringBuffer2 ld [de], a ret .VarActionTable: dwb wStringBuffer2, RETVAR_STRBUF2 dwb wPartyCount, RETVAR_STRBUF2 dwb .BattleResult, RETVAR_EXECUTE dwb wBattleType, RETVAR_ADDR_DE dwb wTimeOfDay, RETVAR_STRBUF2 dwb .CountCaughtMons, RETVAR_EXECUTE dwb .CountSeenMons, RETVAR_EXECUTE dwb .CountBadges, RETVAR_EXECUTE dwb wPlayerState, RETVAR_ADDR_DE dwb .PlayerFacing, RETVAR_EXECUTE dwb hHours, RETVAR_STRBUF2 dwb .DayOfWeek, RETVAR_EXECUTE dwb wMapGroup, RETVAR_STRBUF2 dwb wMapNumber, RETVAR_STRBUF2 dwb .UnownCaught, RETVAR_EXECUTE dwb wPermission, RETVAR_STRBUF2 dwb .BoxFreeSpace, RETVAR_EXECUTE dwb wBugContestMinsRemaining, RETVAR_STRBUF2 dwb wXCoord, RETVAR_STRBUF2 dwb wYCoord, RETVAR_STRBUF2 dwb wSpecialPhoneCallID, RETVAR_STRBUF2 dwb 0, 0 .CountCaughtMons: ; 41cf ; Caught mons. ld hl, wPokedexCaught ld b, $20 call CountSetBits ld a, [wd151] jp .loadstringbuffer2 .CountSeenMons: ; 41dd ; Seen mons. ld hl, wPokedexSeen ld b, $20 call CountSetBits ld a, [wd151] jp .loadstringbuffer2 .CountBadges: ; 41eb ; Number of owned badges. ld hl, wBadges ld b, 2 call CountSetBits ld a, [wd151] jp .loadstringbuffer2 .PlayerFacing: ; 41f9 ; The direction the player is facing. ld a, [wPlayerDirection] and $c rrca rrca jp .loadstringbuffer2 .DayOfWeek: ; 4203 ; The day of the week. call GetWeekday jp .loadstringbuffer2 .UnownCaught: ; 4209 ; Number of unique Unown caught. call CountUnown ; gold: c5ac | silver: c5aa ld a, b jp .loadstringbuffer2 .BoxFreeSpace: ; 4210 ; Remaining slots in the current box. ld a, BANK(sBoxCount) call OpenSRAM ld hl, sBoxCount ld a, MONS_PER_BOX sub [hl] ld b, a call CloseSRAM ld a, b jp .loadstringbuffer2 .BattleResult: ; 4223 ld a, [wBattleResult] and $7f jp .loadstringbuffer2 ; 422b