Through ScrCmd_pokemart
This commit is contained in:
+22
-22
@@ -318,8 +318,8 @@ _0807F8BC: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
|
||||
_0807F8C0: .4byte gBattleTypeFlags
|
||||
thumb_func_end sub_807F888
|
||||
|
||||
thumb_func_start sub_807F8C4
|
||||
sub_807F8C4: @ 807F8C4
|
||||
thumb_func_start BattleSetup_StartScriptedWildBattle
|
||||
BattleSetup_StartScriptedWildBattle: @ 807F8C4
|
||||
push {lr}
|
||||
bl ScriptContext2_Enable
|
||||
ldr r1, _0807F8F8 @ =gMain
|
||||
@@ -344,7 +344,7 @@ sub_807F8C4: @ 807F8C4
|
||||
_0807F8F8: .4byte gMain
|
||||
_0807F8FC: .4byte sub_807FBA0
|
||||
_0807F900: .4byte gBattleTypeFlags
|
||||
thumb_func_end sub_807F8C4
|
||||
thumb_func_end BattleSetup_StartScriptedWildBattle
|
||||
|
||||
thumb_func_start sub_807F904
|
||||
sub_807F904: @ 807F904
|
||||
@@ -1524,8 +1524,8 @@ _08080220: .4byte gSaveBlock1Ptr
|
||||
_08080224: .4byte gSelectedEventObject
|
||||
thumb_func_end battle_80801F0
|
||||
|
||||
thumb_func_start sub_8080228
|
||||
sub_8080228: @ 8080228
|
||||
thumb_func_start BattleSetup_ConfigureTrainerBattle
|
||||
BattleSetup_ConfigureTrainerBattle: @ 8080228
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
bl sub_8080110
|
||||
@@ -1640,7 +1640,7 @@ _08080326:
|
||||
.align 2, 0
|
||||
_0808032C: .4byte gUnknown_83C6900
|
||||
_08080330: .4byte gUnknown_81A4EC1
|
||||
thumb_func_end sub_8080228
|
||||
thumb_func_end BattleSetup_ConfigureTrainerBattle
|
||||
|
||||
thumb_func_start TrainerWantsBattle
|
||||
TrainerWantsBattle: @ 8080334
|
||||
@@ -1659,7 +1659,7 @@ TrainerWantsBattle: @ 8080334
|
||||
strh r0, [r4]
|
||||
adds r1, 0x1
|
||||
adds r0, r1, 0
|
||||
bl sub_8080228
|
||||
bl BattleSetup_ConfigureTrainerBattle
|
||||
ldr r0, _08080374 @ =gUnknown_81A4EB4
|
||||
bl ScriptContext1_SetupScript
|
||||
bl ScriptContext2_Enable
|
||||
@@ -1785,8 +1785,8 @@ HasTrainerAlreadyBeenFought: @ 8080424
|
||||
bx r1
|
||||
thumb_func_end HasTrainerAlreadyBeenFought
|
||||
|
||||
thumb_func_start trainer_flag_set
|
||||
trainer_flag_set: @ 808043C
|
||||
thumb_func_start SetTrainerFlag
|
||||
SetTrainerFlag: @ 808043C
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
movs r1, 0xA0
|
||||
@@ -1796,10 +1796,10 @@ trainer_flag_set: @ 808043C
|
||||
bl FlagSet
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end trainer_flag_set
|
||||
thumb_func_end SetTrainerFlag
|
||||
|
||||
thumb_func_start trainer_flag_clear
|
||||
trainer_flag_clear: @ 8080450
|
||||
thumb_func_start ClearTrainerFlag
|
||||
ClearTrainerFlag: @ 8080450
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
movs r1, 0xA0
|
||||
@@ -1809,10 +1809,10 @@ trainer_flag_clear: @ 8080450
|
||||
bl FlagClear
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end trainer_flag_clear
|
||||
thumb_func_end ClearTrainerFlag
|
||||
|
||||
thumb_func_start sub_8080464
|
||||
sub_8080464: @ 8080464
|
||||
thumb_func_start BattleSetup_StartTrainerBattle
|
||||
BattleSetup_StartTrainerBattle: @ 8080464
|
||||
push {r4,lr}
|
||||
ldr r4, _080804A0 @ =gBattleTypeFlags
|
||||
movs r0, 0x8
|
||||
@@ -1844,7 +1844,7 @@ _0808048C:
|
||||
_080804A0: .4byte gBattleTypeFlags
|
||||
_080804A4: .4byte gMain
|
||||
_080804A8: .4byte sub_80804AC
|
||||
thumb_func_end sub_8080464
|
||||
thumb_func_end BattleSetup_StartTrainerBattle
|
||||
|
||||
thumb_func_start sub_80804AC
|
||||
sub_80804AC: @ 80804AC
|
||||
@@ -1992,8 +1992,8 @@ sub_80805D8: @ 80805D8
|
||||
bx r0
|
||||
thumb_func_end sub_80805D8
|
||||
|
||||
thumb_func_start sub_80805E8
|
||||
sub_80805E8: @ 80805E8
|
||||
thumb_func_start BattleSetup_GetScriptAddrAfterBattle
|
||||
BattleSetup_GetScriptAddrAfterBattle: @ 80805E8
|
||||
push {lr}
|
||||
ldr r0, _080805F8 @ =gUnknown_20386C4
|
||||
ldr r0, [r0]
|
||||
@@ -2006,10 +2006,10 @@ _080805F4:
|
||||
.align 2, 0
|
||||
_080805F8: .4byte gUnknown_20386C4
|
||||
_080805FC: .4byte gUnknown_81C555B
|
||||
thumb_func_end sub_80805E8
|
||||
thumb_func_end BattleSetup_GetScriptAddrAfterBattle
|
||||
|
||||
thumb_func_start sub_8080600
|
||||
sub_8080600: @ 8080600
|
||||
thumb_func_start BattleSetup_GetTrainerPostBattleScript
|
||||
BattleSetup_GetTrainerPostBattleScript: @ 8080600
|
||||
push {lr}
|
||||
ldr r0, _08080610 @ =gUnknown_20386C8
|
||||
ldr r0, [r0]
|
||||
@@ -2022,7 +2022,7 @@ _0808060C:
|
||||
.align 2, 0
|
||||
_08080610: .4byte gUnknown_20386C8
|
||||
_08080614: .4byte gUnknown_81C555B
|
||||
thumb_func_end sub_8080600
|
||||
thumb_func_end BattleSetup_GetTrainerPostBattleScript
|
||||
|
||||
thumb_func_start sub_8080618
|
||||
sub_8080618: @ 8080618
|
||||
|
||||
@@ -2818,7 +2818,7 @@ PartyHasMonWithSurf: @ 805C83C
|
||||
_0805C84E:
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x39
|
||||
bl pokemon_has_move
|
||||
bl MonKnowsMove
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0805C860
|
||||
|
||||
+4
-4
@@ -4298,7 +4298,7 @@ _08120B86:
|
||||
lsls r0, 16
|
||||
lsrs r1, r0, 16
|
||||
adds r0, r5, 0
|
||||
bl pokemon_has_move
|
||||
bl MonKnowsMove
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
@@ -14185,8 +14185,8 @@ _08125ABC:
|
||||
bx r1
|
||||
thumb_func_end sub_8125A90
|
||||
|
||||
thumb_func_start pokemon_has_move
|
||||
pokemon_has_move: @ 8125AC0
|
||||
thumb_func_start MonKnowsMove
|
||||
MonKnowsMove: @ 8125AC0
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
lsls r1, 16
|
||||
@@ -14212,7 +14212,7 @@ _08125AE8:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end pokemon_has_move
|
||||
thumb_func_end MonKnowsMove
|
||||
|
||||
thumb_func_start sub_8125AF0
|
||||
sub_8125AF0: @ 8125AF0
|
||||
|
||||
-605
@@ -5,611 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ScrCmd_vloadword
|
||||
ScrCmd_vloadword: @ 806BF3C
|
||||
push {lr}
|
||||
bl ScriptReadWord
|
||||
adds r1, r0, 0
|
||||
ldr r0, _0806BF58 @ =gVScriptOffset
|
||||
ldr r0, [r0]
|
||||
subs r1, r0
|
||||
ldr r0, _0806BF5C @ =gStringVar4
|
||||
bl StringExpandPlaceholders
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806BF58: .4byte gVScriptOffset
|
||||
_0806BF5C: .4byte gStringVar4
|
||||
thumb_func_end ScrCmd_vloadword
|
||||
|
||||
thumb_func_start ScrCmd_vbufferstring
|
||||
ScrCmd_vbufferstring: @ 806BF60
|
||||
push {r4,lr}
|
||||
ldr r1, [r0, 0x8]
|
||||
ldrb r4, [r1]
|
||||
adds r1, 0x1
|
||||
str r1, [r0, 0x8]
|
||||
bl ScriptReadWord
|
||||
adds r1, r0, 0
|
||||
ldr r0, _0806BF8C @ =gVScriptOffset
|
||||
ldr r0, [r0]
|
||||
subs r1, r0
|
||||
ldr r0, _0806BF90 @ =sScriptStringVars
|
||||
lsls r4, 2
|
||||
adds r4, r0
|
||||
ldr r0, [r4]
|
||||
bl StringCopy
|
||||
movs r0, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806BF8C: .4byte gVScriptOffset
|
||||
_0806BF90: .4byte sScriptStringVars
|
||||
thumb_func_end ScrCmd_vbufferstring
|
||||
|
||||
thumb_func_start ScrCmd_bufferboxname
|
||||
ScrCmd_bufferboxname: @ 806BF94
|
||||
push {r4,lr}
|
||||
ldr r1, [r0, 0x8]
|
||||
ldrb r4, [r1]
|
||||
adds r1, 0x1
|
||||
str r1, [r0, 0x8]
|
||||
bl ScriptReadHalfword
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl VarGet
|
||||
ldr r1, _0806BFCC @ =sScriptStringVars
|
||||
lsls r4, 2
|
||||
adds r4, r1
|
||||
ldr r4, [r4]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl GetBoxNamePtr
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
bl StringCopy
|
||||
movs r0, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806BFCC: .4byte sScriptStringVars
|
||||
thumb_func_end ScrCmd_bufferboxname
|
||||
|
||||
thumb_func_start ScrCmd_givemon
|
||||
ScrCmd_givemon: @ 806BFD0
|
||||
push {r4-r6,lr}
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5,r6}
|
||||
sub sp, 0x8
|
||||
adds r4, r0, 0
|
||||
bl ScriptReadHalfword
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl VarGet
|
||||
adds r6, r0, 0
|
||||
lsls r6, 16
|
||||
lsrs r6, 16
|
||||
ldr r0, [r4, 0x8]
|
||||
ldrb r1, [r0]
|
||||
mov r9, r1
|
||||
adds r0, 0x1
|
||||
str r0, [r4, 0x8]
|
||||
adds r0, r4, 0
|
||||
bl ScriptReadHalfword
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl VarGet
|
||||
adds r5, r0, 0
|
||||
lsls r5, 16
|
||||
lsrs r5, 16
|
||||
adds r0, r4, 0
|
||||
bl ScriptReadWord
|
||||
mov r8, r0
|
||||
adds r0, r4, 0
|
||||
bl ScriptReadWord
|
||||
ldr r1, [r4, 0x8]
|
||||
ldrb r2, [r1]
|
||||
adds r1, 0x1
|
||||
str r1, [r4, 0x8]
|
||||
ldr r4, _0806C04C @ =gSpecialVar_Result
|
||||
str r0, [sp]
|
||||
str r2, [sp, 0x4]
|
||||
adds r0, r6, 0
|
||||
mov r1, r9
|
||||
adds r2, r5, 0
|
||||
mov r3, r8
|
||||
bl ScriptGiveMon
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4]
|
||||
movs r0, 0
|
||||
add sp, 0x8
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806C04C: .4byte gSpecialVar_Result
|
||||
thumb_func_end ScrCmd_givemon
|
||||
|
||||
thumb_func_start ScrCmd_giveegg
|
||||
ScrCmd_giveegg: @ 806C050
|
||||
push {r4,lr}
|
||||
bl ScriptReadHalfword
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl VarGet
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
ldr r4, _0806C078 @ =gSpecialVar_Result
|
||||
bl sub_80A01AC
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4]
|
||||
movs r0, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806C078: .4byte gSpecialVar_Result
|
||||
thumb_func_end ScrCmd_giveegg
|
||||
|
||||
thumb_func_start ScrCmd_setmonmove
|
||||
ScrCmd_setmonmove: @ 806C07C
|
||||
push {r4,r5,lr}
|
||||
ldr r1, [r0, 0x8]
|
||||
ldrb r5, [r1]
|
||||
adds r1, 0x1
|
||||
str r1, [r0, 0x8]
|
||||
ldrb r4, [r1]
|
||||
adds r1, 0x1
|
||||
str r1, [r0, 0x8]
|
||||
bl ScriptReadHalfword
|
||||
adds r1, r0, 0
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
adds r0, r5, 0
|
||||
adds r2, r4, 0
|
||||
bl ScriptSetMonMoveSlot
|
||||
movs r0, 0
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_setmonmove
|
||||
|
||||
thumb_func_start ScrCmd_checkpartymove
|
||||
ScrCmd_checkpartymove: @ 806C0A8
|
||||
push {r4-r7,lr}
|
||||
bl ScriptReadHalfword
|
||||
lsls r0, 16
|
||||
lsrs r7, r0, 16
|
||||
ldr r1, _0806C0BC @ =gSpecialVar_Result
|
||||
movs r0, 0x6
|
||||
strh r0, [r1]
|
||||
movs r6, 0
|
||||
b _0806C0F6
|
||||
.align 2, 0
|
||||
_0806C0BC: .4byte gSpecialVar_Result
|
||||
_0806C0C0:
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x2D
|
||||
bl GetMonData
|
||||
cmp r0, 0
|
||||
bne _0806C0F0
|
||||
adds r0, r4, 0
|
||||
adds r1, r7, 0
|
||||
bl pokemon_has_move
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0806C0F0
|
||||
ldr r0, _0806C0E8 @ =gSpecialVar_Result
|
||||
strh r6, [r0]
|
||||
ldr r0, _0806C0EC @ =gSpecialVar_0x8004
|
||||
strh r5, [r0]
|
||||
b _0806C116
|
||||
.align 2, 0
|
||||
_0806C0E8: .4byte gSpecialVar_Result
|
||||
_0806C0EC: .4byte gSpecialVar_0x8004
|
||||
_0806C0F0:
|
||||
adds r0, r6, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
_0806C0F6:
|
||||
cmp r6, 0x5
|
||||
bhi _0806C116
|
||||
movs r0, 0x64
|
||||
adds r1, r6, 0
|
||||
muls r1, r0
|
||||
ldr r0, _0806C120 @ =gPlayerParty
|
||||
adds r4, r1, r0
|
||||
adds r0, r4, 0
|
||||
movs r1, 0xB
|
||||
movs r2, 0
|
||||
bl GetMonData
|
||||
lsls r0, 16
|
||||
lsrs r5, r0, 16
|
||||
cmp r5, 0
|
||||
bne _0806C0C0
|
||||
_0806C116:
|
||||
movs r0, 0
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806C120: .4byte gPlayerParty
|
||||
thumb_func_end ScrCmd_checkpartymove
|
||||
|
||||
thumb_func_start ScrCmd_givemoney
|
||||
ScrCmd_givemoney: @ 806C124
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
bl ScriptReadWord
|
||||
adds r2, r0, 0
|
||||
ldr r0, [r4, 0x8]
|
||||
ldrb r1, [r0]
|
||||
adds r0, 0x1
|
||||
str r0, [r4, 0x8]
|
||||
cmp r1, 0
|
||||
bne _0806C14A
|
||||
ldr r0, _0806C154 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
movs r1, 0xA4
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
adds r1, r2, 0
|
||||
bl AddMoney
|
||||
_0806C14A:
|
||||
movs r0, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806C154: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end ScrCmd_givemoney
|
||||
|
||||
thumb_func_start ScrCmd_takemoney
|
||||
ScrCmd_takemoney: @ 806C158
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
bl ScriptReadWord
|
||||
adds r2, r0, 0
|
||||
ldr r0, [r4, 0x8]
|
||||
ldrb r1, [r0]
|
||||
adds r0, 0x1
|
||||
str r0, [r4, 0x8]
|
||||
cmp r1, 0
|
||||
bne _0806C17E
|
||||
ldr r0, _0806C188 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
movs r1, 0xA4
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
adds r1, r2, 0
|
||||
bl RemoveMoney
|
||||
_0806C17E:
|
||||
movs r0, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806C188: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end ScrCmd_takemoney
|
||||
|
||||
thumb_func_start ScrCmd_checkmoney
|
||||
ScrCmd_checkmoney: @ 806C18C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
bl ScriptReadWord
|
||||
adds r2, r0, 0
|
||||
ldr r0, [r4, 0x8]
|
||||
ldrb r1, [r0]
|
||||
adds r0, 0x1
|
||||
str r0, [r4, 0x8]
|
||||
cmp r1, 0
|
||||
bne _0806C1BA
|
||||
ldr r4, _0806C1C4 @ =gSpecialVar_Result
|
||||
ldr r0, _0806C1C8 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
movs r1, 0xA4
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
adds r1, r2, 0
|
||||
bl IsEnoughMoney
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4]
|
||||
_0806C1BA:
|
||||
movs r0, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806C1C4: .4byte gSpecialVar_Result
|
||||
_0806C1C8: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end ScrCmd_checkmoney
|
||||
|
||||
thumb_func_start ScrCmd_showmoneybox
|
||||
ScrCmd_showmoneybox: @ 806C1CC
|
||||
push {r4,r5,lr}
|
||||
ldr r1, [r0, 0x8]
|
||||
ldrb r5, [r1]
|
||||
adds r1, 0x1
|
||||
str r1, [r0, 0x8]
|
||||
ldrb r4, [r1]
|
||||
adds r2, r1, 0x1
|
||||
str r2, [r0, 0x8]
|
||||
ldrb r1, [r1, 0x1]
|
||||
adds r2, 0x1
|
||||
str r2, [r0, 0x8]
|
||||
cmp r1, 0
|
||||
bne _0806C20A
|
||||
ldr r0, _0806C214 @ =sub_809D6D4
|
||||
bl sub_81119D4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _0806C20A
|
||||
ldr r0, _0806C218 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
movs r1, 0xA4
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
bl GetMoney
|
||||
adds r1, r5, 0
|
||||
adds r2, r4, 0
|
||||
bl DrawMoneyBox
|
||||
_0806C20A:
|
||||
movs r0, 0
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806C214: .4byte sub_809D6D4
|
||||
_0806C218: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end ScrCmd_showmoneybox
|
||||
|
||||
thumb_func_start ScrCmd_hidemoneybox
|
||||
ScrCmd_hidemoneybox: @ 806C21C
|
||||
push {lr}
|
||||
bl HideMoneyBox
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_hidemoneybox
|
||||
|
||||
thumb_func_start ScrCmd_updatemoneybox
|
||||
ScrCmd_updatemoneybox: @ 806C228
|
||||
push {lr}
|
||||
ldr r1, [r0, 0x8]
|
||||
adds r1, 0x1
|
||||
adds r2, r1, 0x1
|
||||
str r2, [r0, 0x8]
|
||||
ldrb r1, [r1, 0x1]
|
||||
adds r2, 0x1
|
||||
str r2, [r0, 0x8]
|
||||
cmp r1, 0
|
||||
bne _0806C24E
|
||||
ldr r0, _0806C254 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
movs r1, 0xA4
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
bl GetMoney
|
||||
bl ChangeAmountInMoneyBox
|
||||
_0806C24E:
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806C254: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end ScrCmd_updatemoneybox
|
||||
|
||||
thumb_func_start ScrCmd_showcoinsbox
|
||||
ScrCmd_showcoinsbox: @ 806C258
|
||||
push {r4,r5,lr}
|
||||
ldr r1, [r0, 0x8]
|
||||
ldrb r5, [r1]
|
||||
adds r1, 0x1
|
||||
str r1, [r0, 0x8]
|
||||
ldrb r4, [r1]
|
||||
adds r1, 0x1
|
||||
str r1, [r0, 0x8]
|
||||
ldr r0, _0806C290 @ =sub_809D6D4
|
||||
bl sub_81119D4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _0806C286
|
||||
bl GetCoins
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
adds r1, r5, 0
|
||||
adds r2, r4, 0
|
||||
bl ShowCoinsWindow
|
||||
_0806C286:
|
||||
movs r0, 0
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806C290: .4byte sub_809D6D4
|
||||
thumb_func_end ScrCmd_showcoinsbox
|
||||
|
||||
thumb_func_start ScrCmd_hidecoinsbox
|
||||
ScrCmd_hidecoinsbox: @ 806C294
|
||||
push {lr}
|
||||
ldr r1, [r0, 0x8]
|
||||
adds r1, 0x2
|
||||
str r1, [r0, 0x8]
|
||||
bl HideCoinsWindow
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_hidecoinsbox
|
||||
|
||||
thumb_func_start ScrCmd_updatecoinsbox
|
||||
ScrCmd_updatecoinsbox: @ 806C2A8
|
||||
push {lr}
|
||||
ldr r1, [r0, 0x8]
|
||||
adds r1, 0x2
|
||||
str r1, [r0, 0x8]
|
||||
bl GetCoins
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl PrintCoinsString
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_updatecoinsbox
|
||||
|
||||
thumb_func_start ScrCmd_trainerbattle
|
||||
ScrCmd_trainerbattle: @ 806C2C4
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldr r0, [r4, 0x8]
|
||||
bl sub_8080228
|
||||
str r0, [r4, 0x8]
|
||||
movs r0, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_trainerbattle
|
||||
|
||||
thumb_func_start ScrCmd_dotrainerbattle
|
||||
ScrCmd_dotrainerbattle: @ 806C2D8
|
||||
push {lr}
|
||||
bl sub_8080464
|
||||
movs r0, 0x1
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_dotrainerbattle
|
||||
|
||||
thumb_func_start ScrCmd_ontrainerbattleend
|
||||
ScrCmd_ontrainerbattleend: @ 806C2E4
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
bl sub_80805E8
|
||||
str r0, [r4, 0x8]
|
||||
movs r0, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_ontrainerbattleend
|
||||
|
||||
thumb_func_start ScrCmd_ontrainerbattleendgoto
|
||||
ScrCmd_ontrainerbattleendgoto: @ 806C2F8
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
bl sub_8080600
|
||||
str r0, [r4, 0x8]
|
||||
movs r0, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_ontrainerbattleendgoto
|
||||
|
||||
thumb_func_start ScrCmd_checktrainerflag
|
||||
ScrCmd_checktrainerflag: @ 806C30C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
bl ScriptReadHalfword
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl VarGet
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl HasTrainerAlreadyBeenFought
|
||||
strb r0, [r4, 0x2]
|
||||
movs r0, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_checktrainerflag
|
||||
|
||||
thumb_func_start ScrCmd_settrainerflag
|
||||
ScrCmd_settrainerflag: @ 806C330
|
||||
push {lr}
|
||||
bl ScriptReadHalfword
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl VarGet
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl trainer_flag_set
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_settrainerflag
|
||||
|
||||
thumb_func_start ScrCmd_cleartrainerflag
|
||||
ScrCmd_cleartrainerflag: @ 806C34C
|
||||
push {lr}
|
||||
bl ScriptReadHalfword
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl VarGet
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl trainer_flag_clear
|
||||
movs r0, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_cleartrainerflag
|
||||
|
||||
thumb_func_start ScrCmd_setwildbattle
|
||||
ScrCmd_setwildbattle: @ 806C368
|
||||
push {r4-r6,lr}
|
||||
adds r4, r0, 0
|
||||
bl ScriptReadHalfword
|
||||
adds r5, r0, 0
|
||||
lsls r5, 16
|
||||
lsrs r5, 16
|
||||
ldr r0, [r4, 0x8]
|
||||
ldrb r6, [r0]
|
||||
adds r0, 0x1
|
||||
str r0, [r4, 0x8]
|
||||
adds r0, r4, 0
|
||||
bl ScriptReadHalfword
|
||||
adds r2, r0, 0
|
||||
lsls r2, 16
|
||||
lsrs r2, 16
|
||||
adds r0, r5, 0
|
||||
adds r1, r6, 0
|
||||
bl CreateScriptedWildMon
|
||||
movs r0, 0
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_setwildbattle
|
||||
|
||||
thumb_func_start ScrCmd_dowildbattle
|
||||
ScrCmd_dowildbattle: @ 806C39C
|
||||
push {lr}
|
||||
bl sub_807F8C4
|
||||
bl ScriptContext1_Stop
|
||||
movs r0, 0x1
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_dowildbattle
|
||||
|
||||
thumb_func_start ScrCmd_pokemart
|
||||
ScrCmd_pokemart: @ 806C3AC
|
||||
push {lr}
|
||||
bl ScriptReadWord
|
||||
bl sub_809C164
|
||||
bl ScriptContext1_Stop
|
||||
movs r0, 0x1
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end ScrCmd_pokemart
|
||||
|
||||
thumb_func_start ScrCmd_pokemartdecoration
|
||||
ScrCmd_pokemartdecoration: @ 806C3C0
|
||||
push {lr}
|
||||
|
||||
@@ -170,8 +170,8 @@ _080A0196:
|
||||
bx r1
|
||||
thumb_func_end ScriptGiveMon
|
||||
|
||||
thumb_func_start sub_80A01AC
|
||||
sub_80A01AC: @ 80A01AC
|
||||
thumb_func_start ScriptGiveEgg
|
||||
ScriptGiveEgg: @ 80A01AC
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
adds r4, r0, 0
|
||||
@@ -202,7 +202,7 @@ sub_80A01AC: @ 80A01AC
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80A01AC
|
||||
thumb_func_end ScriptGiveEgg
|
||||
|
||||
thumb_func_start CheckForAlivePartyMons
|
||||
CheckForAlivePartyMons: @ 80A01F4
|
||||
|
||||
+3
-3
@@ -2826,8 +2826,8 @@ _0809C15A:
|
||||
_0809C160: .4byte gUnknown_203996C
|
||||
thumb_func_end sub_809C138
|
||||
|
||||
thumb_func_start sub_809C164
|
||||
sub_809C164: @ 809C164
|
||||
thumb_func_start CreatePokemartMenu
|
||||
CreatePokemartMenu: @ 809C164
|
||||
push {r4,lr}
|
||||
bl sub_809ABD8
|
||||
movs r0, 0
|
||||
@@ -2851,7 +2851,7 @@ sub_809C164: @ 809C164
|
||||
_0809C194: .4byte EnableBothScriptContexts
|
||||
_0809C198: .4byte gUnknown_203996C
|
||||
_0809C19C: .4byte gMapHeader
|
||||
thumb_func_end sub_809C164
|
||||
thumb_func_end CreatePokemartMenu
|
||||
|
||||
thumb_func_start sub_809C1A0
|
||||
sub_809C1A0: @ 809C1A0
|
||||
|
||||
@@ -95,8 +95,8 @@ gScriptCmdTable:: @ 815F9B4
|
||||
.4byte ScrCmd_turnobject
|
||||
.4byte ScrCmd_trainerbattle
|
||||
.4byte ScrCmd_dotrainerbattle
|
||||
.4byte ScrCmd_ontrainerbattleend
|
||||
.4byte ScrCmd_ontrainerbattleendgoto
|
||||
.4byte ScrCmd_gotopostbattlescript
|
||||
.4byte ScrCmd_gotobeatenscript
|
||||
.4byte ScrCmd_checktrainerflag
|
||||
.4byte ScrCmd_settrainerflag
|
||||
.4byte ScrCmd_cleartrainerflag
|
||||
|
||||
@@ -11,8 +11,8 @@ void BattleSetup_StartWildBattle(void);
|
||||
void BattleSetup_StartRoamerBattle(void);
|
||||
|
||||
u8 HasTrainerAlreadyBeenFought(u16);
|
||||
void trainer_flag_set(u16);
|
||||
void trainer_flag_clear(u16);
|
||||
void SetTrainerFlag(u16);
|
||||
void ClearTrainerFlag(u16);
|
||||
void BattleSetup_StartTrainerBattle(void);
|
||||
u8 *BattleSetup_GetScriptAddrAfterBattle(void);
|
||||
u8 *BattleSetup_GetTrainerPostBattleScript(void);
|
||||
|
||||
@@ -12,7 +12,7 @@ enum {
|
||||
AILMENT_BRN
|
||||
};
|
||||
|
||||
bool8 pokemon_has_move(struct Pokemon *, u16);
|
||||
bool8 MonKnowsMove(struct Pokemon *, u16);
|
||||
void sub_81B58A8(void);
|
||||
void DoWallyTutorialBagMenu(void);
|
||||
u8 pokemon_ailments_get_primary(u32 status);
|
||||
|
||||
@@ -12,5 +12,6 @@ void SetBoxMonNickFromAnyBox(u8 boxId, u8 monPosition, u8 * newNick);
|
||||
void CompactPartySlots(void);
|
||||
u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
|
||||
void sub_808BCB4(u8 boxId, u8 monPosition);
|
||||
u8 * GetBoxNamePtr(u8 boxId);
|
||||
|
||||
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
|
||||
|
||||
@@ -23,6 +23,7 @@ void sub_8112720(u8);
|
||||
void sub_8113550(u16, const u16 *);
|
||||
void sub_8115748(u16);
|
||||
u8 sub_8112CAC(void);
|
||||
bool8 sub_81119D4(void (*func)(void));
|
||||
|
||||
extern u8 gUnknown_203ADFA;
|
||||
|
||||
|
||||
@@ -11,5 +11,6 @@ bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
|
||||
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount);
|
||||
bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
|
||||
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
|
||||
void sub_809D6D4(void);
|
||||
|
||||
#endif //GUARD_SCRIPT_MENU_H
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_SCRIPT_POKEMON_UTIL_80A0058_H
|
||||
#define GUARD_SCRIPT_POKEMON_UTIL_80A0058_H
|
||||
|
||||
bool8 ScriptGiveMon(u16 species, u8 level, u16 item, u32 unk1, u32 unk2, u8 unk3);
|
||||
bool8 ScriptGiveEgg(u16 species);
|
||||
void ScriptSetMonMoveSlot(u8 partyIdx, u16 move, u8 slot);
|
||||
|
||||
#endif //GUARD_SCRIPT_POKEMON_UTIL_80A0058_H
|
||||
+262
-11
@@ -28,6 +28,14 @@
|
||||
#include "data2.h"
|
||||
#include "field_specials.h"
|
||||
#include "constants/items.h"
|
||||
#include "script_pokemon_util_80A0058.h"
|
||||
#include "pokemon_storage_system.h"
|
||||
#include "party_menu.h"
|
||||
#include "money.h"
|
||||
#include "coins.h"
|
||||
#include "battle_setup.h"
|
||||
#include "shop.h"
|
||||
#include "script_pokemon_80F8.h"
|
||||
|
||||
extern u16 (*const gSpecials[])(void);
|
||||
extern u16 (*const gSpecialsEnd[])(void);
|
||||
@@ -1588,7 +1596,7 @@ u8 * const sScriptStringVars[] =
|
||||
gStringVar3,
|
||||
};
|
||||
|
||||
bool8 ScrCmd_bufferspeciesname(struct ScriptContext *ctx)
|
||||
SCRCMD_DEF(bufferspeciesname)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 species = VarGet(ScriptReadHalfword(ctx));
|
||||
@@ -1597,7 +1605,7 @@ bool8 ScrCmd_bufferspeciesname(struct ScriptContext *ctx)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 ScrCmd_bufferleadmonspeciesname(struct ScriptContext *ctx)
|
||||
SCRCMD_DEF(bufferleadmonspeciesname)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
|
||||
@@ -1608,7 +1616,7 @@ bool8 ScrCmd_bufferleadmonspeciesname(struct ScriptContext *ctx)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 ScrCmd_bufferpartymonnick(struct ScriptContext *ctx)
|
||||
SCRCMD_DEF(bufferpartymonnick)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 partyIndex = VarGet(ScriptReadHalfword(ctx));
|
||||
@@ -1618,7 +1626,7 @@ bool8 ScrCmd_bufferpartymonnick(struct ScriptContext *ctx)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 ScrCmd_bufferitemname(struct ScriptContext *ctx)
|
||||
SCRCMD_DEF(bufferitemname)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
@@ -1630,7 +1638,7 @@ bool8 ScrCmd_bufferitemname(struct ScriptContext *ctx)
|
||||
extern const u8 gUnknown_83A72A0[];
|
||||
extern const u8 gUnknown_83A72A2[];
|
||||
|
||||
bool8 ScrCmd_bufferitemnameplural(struct ScriptContext *ctx)
|
||||
SCRCMD_DEF(bufferitemnameplural)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
@@ -1653,7 +1661,7 @@ bool8 ScrCmd_bufferitemnameplural(struct ScriptContext *ctx)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 ScrCmd_bufferdecorationname(struct ScriptContext *ctx)
|
||||
SCRCMD_DEF(bufferdecorationname)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 decorId = VarGet(ScriptReadHalfword(ctx));
|
||||
@@ -1662,7 +1670,7 @@ bool8 ScrCmd_bufferdecorationname(struct ScriptContext *ctx)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 ScrCmd_buffermovename(struct ScriptContext *ctx)
|
||||
SCRCMD_DEF(buffermovename)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 moveId = VarGet(ScriptReadHalfword(ctx));
|
||||
@@ -1671,7 +1679,7 @@ bool8 ScrCmd_buffermovename(struct ScriptContext *ctx)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 ScrCmd_buffernumberstring(struct ScriptContext *ctx)
|
||||
SCRCMD_DEF(buffernumberstring)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 v1 = VarGet(ScriptReadHalfword(ctx));
|
||||
@@ -1681,7 +1689,7 @@ bool8 ScrCmd_buffernumberstring(struct ScriptContext *ctx)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 ScrCmd_bufferstdstring(struct ScriptContext *ctx)
|
||||
SCRCMD_DEF(bufferstdstring)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 index = VarGet(ScriptReadHalfword(ctx));
|
||||
@@ -1691,7 +1699,7 @@ bool8 ScrCmd_bufferstdstring(struct ScriptContext *ctx)
|
||||
}
|
||||
|
||||
/*
|
||||
bool8 ScrCmd_buffercontesttype(struct ScriptContext *ctx)
|
||||
SCRCMD_DEF(buffercontesttype)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 index = VarGet(ScriptReadHalfword(ctx));
|
||||
@@ -1701,7 +1709,7 @@ bool8 ScrCmd_buffercontesttype(struct ScriptContext *ctx)
|
||||
}
|
||||
*/
|
||||
|
||||
bool8 ScrCmd_bufferstring(struct ScriptContext *ctx)
|
||||
SCRCMD_DEF(bufferstring)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
const u8 *text = (u8 *)ScriptReadWord(ctx);
|
||||
@@ -1709,3 +1717,246 @@ bool8 ScrCmd_bufferstring(struct ScriptContext *ctx)
|
||||
StringCopy(sScriptStringVars[stringVarIndex], text);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(vloadword)
|
||||
{
|
||||
const u8 *ptr = (u8 *)(ScriptReadWord(ctx) - gVScriptOffset);
|
||||
|
||||
StringExpandPlaceholders(gStringVar4, ptr);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(vbufferstring)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u32 addr = ScriptReadWord(ctx);
|
||||
|
||||
const u8 *src = (u8 *)(addr - gVScriptOffset);
|
||||
u8 *dest = sScriptStringVars[stringVarIndex];
|
||||
StringCopy(dest, src);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(bufferboxname)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 boxId = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
StringCopy(sScriptStringVars[stringVarIndex], GetBoxNamePtr(boxId));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(givemon)
|
||||
{
|
||||
u16 species = VarGet(ScriptReadHalfword(ctx));
|
||||
u8 level = ScriptReadByte(ctx);
|
||||
u16 item = VarGet(ScriptReadHalfword(ctx));
|
||||
u32 unkParam1 = ScriptReadWord(ctx);
|
||||
u32 unkParam2 = ScriptReadWord(ctx);
|
||||
u8 unkParam3 = ScriptReadByte(ctx);
|
||||
|
||||
gSpecialVar_Result = ScriptGiveMon(species, level, item, unkParam1, unkParam2, unkParam3);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(giveegg)
|
||||
{
|
||||
u16 species = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
gSpecialVar_Result = ScriptGiveEgg(species);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(setmonmove)
|
||||
{
|
||||
u8 partyIndex = ScriptReadByte(ctx);
|
||||
u8 slot = ScriptReadByte(ctx);
|
||||
u16 move = ScriptReadHalfword(ctx);
|
||||
|
||||
ScriptSetMonMoveSlot(partyIndex, move, slot);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(checkpartymove)
|
||||
{
|
||||
u8 i;
|
||||
u16 moveId = ScriptReadHalfword(ctx);
|
||||
|
||||
gSpecialVar_Result = PARTY_SIZE;
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL);
|
||||
if (!species)
|
||||
break;
|
||||
if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && MonKnowsMove(&gPlayerParty[i], moveId) == TRUE)
|
||||
{
|
||||
gSpecialVar_Result = i;
|
||||
gSpecialVar_0x8004 = species;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(givemoney)
|
||||
{
|
||||
u32 amount = ScriptReadWord(ctx);
|
||||
u8 ignore = ScriptReadByte(ctx);
|
||||
|
||||
if (!ignore)
|
||||
AddMoney(&gSaveBlock1Ptr->money, amount);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(takemoney)
|
||||
{
|
||||
u32 amount = ScriptReadWord(ctx);
|
||||
u8 ignore = ScriptReadByte(ctx);
|
||||
|
||||
if (!ignore)
|
||||
RemoveMoney(&gSaveBlock1Ptr->money, amount);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(checkmoney)
|
||||
{
|
||||
u32 amount = ScriptReadWord(ctx);
|
||||
u8 ignore = ScriptReadByte(ctx);
|
||||
|
||||
if (!ignore)
|
||||
gSpecialVar_Result = IsEnoughMoney(&gSaveBlock1Ptr->money, amount);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(showmoneybox)
|
||||
{
|
||||
u8 x = ScriptReadByte(ctx);
|
||||
u8 y = ScriptReadByte(ctx);
|
||||
u8 ignore = ScriptReadByte(ctx);
|
||||
|
||||
if (!ignore && sub_81119D4(sub_809D6D4) != TRUE)
|
||||
DrawMoneyBox(GetMoney(&gSaveBlock1Ptr->money), x, y);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(hidemoneybox)
|
||||
{
|
||||
/*u8 x = ScriptReadByte(ctx);
|
||||
u8 y = ScriptReadByte(ctx);*/
|
||||
|
||||
HideMoneyBox();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(updatemoneybox)
|
||||
{
|
||||
u8 x = ScriptReadByte(ctx);
|
||||
u8 y = ScriptReadByte(ctx);
|
||||
u8 ignore = ScriptReadByte(ctx);
|
||||
|
||||
if (!ignore)
|
||||
ChangeAmountInMoneyBox(GetMoney(&gSaveBlock1Ptr->money));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(showcoinsbox)
|
||||
{
|
||||
u8 x = ScriptReadByte(ctx);
|
||||
u8 y = ScriptReadByte(ctx);
|
||||
|
||||
if (sub_81119D4(sub_809D6D4) != TRUE)
|
||||
ShowCoinsWindow(GetCoins(), x, y);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(hidecoinsbox)
|
||||
{
|
||||
u8 x = ScriptReadByte(ctx);
|
||||
u8 y = ScriptReadByte(ctx);
|
||||
|
||||
HideCoinsWindow();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(updatecoinsbox)
|
||||
{
|
||||
u8 x = ScriptReadByte(ctx);
|
||||
u8 y = ScriptReadByte(ctx);
|
||||
|
||||
PrintCoinsString(GetCoins());
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(trainerbattle)
|
||||
{
|
||||
ctx->scriptPtr = BattleSetup_ConfigureTrainerBattle(ctx->scriptPtr);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(dotrainerbattle)
|
||||
{
|
||||
BattleSetup_StartTrainerBattle();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(gotopostbattlescript)
|
||||
{
|
||||
ctx->scriptPtr = BattleSetup_GetScriptAddrAfterBattle();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(gotobeatenscript)
|
||||
{
|
||||
ctx->scriptPtr = BattleSetup_GetTrainerPostBattleScript();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(checktrainerflag)
|
||||
{
|
||||
u16 index = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
ctx->comparisonResult = HasTrainerAlreadyBeenFought(index);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(settrainerflag)
|
||||
{
|
||||
u16 index = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
SetTrainerFlag(index);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(cleartrainerflag)
|
||||
{
|
||||
u16 index = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
ClearTrainerFlag(index);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(setwildbattle)
|
||||
{
|
||||
u16 species = ScriptReadHalfword(ctx);
|
||||
u8 level = ScriptReadByte(ctx);
|
||||
u16 item = ScriptReadHalfword(ctx);
|
||||
|
||||
CreateScriptedWildMon(species, level, item);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(dowildbattle)
|
||||
{
|
||||
BattleSetup_StartScriptedWildBattle();
|
||||
ScriptContext1_Stop();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
SCRCMD_DEF(pokemart)
|
||||
{
|
||||
const void *ptr = (void *)ScriptReadWord(ctx);
|
||||
|
||||
CreatePokemartMenu(ptr);
|
||||
ScriptContext1_Stop();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user