Merge remote-tracking branch 'rhh/upcoming' into secondary_effects_overhaul
@ -140,6 +140,7 @@ Based off RHH's pokeemerald-expansion v1.7.1 https://github.com/rh-hideout/pokee
|
||||
- *Support for new evolution methods*.
|
||||
- *Dark Mode*.
|
||||
- [Nature Colors](https://github.com/DizzyEggg/pokeemerald/tree/nature_color) in summary screen by @DizzyEggg
|
||||
- [Dynamic Multichoice](https://github.com/SBird1337/pokeemerald/tree/feature/dynmulti) by @SBird1337
|
||||
- ***Other features***
|
||||
- Pressing B while holding a Pokémon drops them like in modern games (configurable).
|
||||
- Running indoors (configurable).
|
||||
|
||||
@ -1735,6 +1735,38 @@
|
||||
.2byte \quantity
|
||||
.endm
|
||||
|
||||
.macro _dynmultichoice left:req, top:req, ignoreBPress:req, maxBeforeScroll:req, shouldSort:req, initialSelected:req, callbacks:req argv:vararg
|
||||
.byte 0xe3
|
||||
.2byte \left
|
||||
.2byte \top
|
||||
.byte \ignoreBPress
|
||||
.byte \maxBeforeScroll
|
||||
.byte \shouldSort
|
||||
.2byte \initialSelected
|
||||
.byte \callbacks
|
||||
.byte (.Ldynmultichoice_\@_2 - .Ldynmultichoice_\@_1) / 4
|
||||
.Ldynmultichoice_\@_1:
|
||||
.4byte \argv
|
||||
.Ldynmultichoice_\@_2:
|
||||
.endm
|
||||
|
||||
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made.
|
||||
@ Lists of options are provided in argv.
|
||||
@ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
|
||||
.macro dynmultichoice left:req, top:req, ignoreBPress:req, maxBeforeScroll:req, initialSelected:req, callbacks:req argv:vararg
|
||||
_dynmultichoice \left, \top, \ignoreBPress, \maxBeforeScroll, FALSE, \initialSelected, \callbacks, \argv
|
||||
.endm
|
||||
|
||||
.macro dynmultipush name:req, id:req
|
||||
.byte 0xe4
|
||||
.4byte \name
|
||||
.2byte \id
|
||||
.endm
|
||||
|
||||
.macro dynmultistack left:req, top:req, ignoreBPress:req, maxBeforeScroll:req, shouldSort:req, initialSelected:req, callbacks:req
|
||||
_dynmultichoice \left, \top, \ignoreBPress, \maxBeforeScroll, \shouldSort, \initialSelected, \callbacks, NULL
|
||||
.endm
|
||||
|
||||
|
||||
@ Supplementary
|
||||
|
||||
|
||||
@ -7027,6 +7027,10 @@ HurricaneGust:
|
||||
createsprite gEllipticalGustSpriteTemplate, ANIM_ATTACKER, 2, 0, -16
|
||||
createvisualtask AnimTask_AnimateGustTornadoPalette, 5, 1, 70
|
||||
return
|
||||
HurricaneGustCentered:
|
||||
createsprite gEllipticalGustCenteredSpriteTemplate, ANIM_ATTACKER, 2, 0, -16
|
||||
createvisualtask AnimTask_AnimateGustTornadoPalette, 5, 1, 70
|
||||
return
|
||||
|
||||
Move_HEAD_CHARGE:
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
@ -15920,36 +15924,36 @@ Move_SPRINGTIDE_STORM::
|
||||
loadspritegfx ANIM_TAG_GUST
|
||||
loadspritegfx ANIM_TAG_RED_HEART
|
||||
playsewithpan SE_M_GUST, SOUND_PAN_TARGET
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 88, 1
|
||||
createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 6, 0, 11, RGB(31, 22, 30)
|
||||
call HurricaneGust
|
||||
createvisualtaskontargets AnimTask_ShakeMon2, 2, 0, ANIM_TARGET, 0, 4, 0x58, 1
|
||||
createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x6, 0x0, 0xB, 0x7ADF
|
||||
call HurricaneGustCentered
|
||||
call SpringtideStormHeartSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call SpringtideStormHeartSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call SpringtideStormHeartSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call SpringtideStormHeartSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call SpringtideStormHeartSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call SpringtideStormHeartSwirl
|
||||
waitforvisualfinish
|
||||
stopsound
|
||||
end
|
||||
|
||||
SpringtideStormHeartSwirl:
|
||||
createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 6, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 6, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 6, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 6, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 6, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 6, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET
|
||||
return
|
||||
|
||||
|
||||
@ -16490,37 +16494,37 @@ Move_BLEAKWIND_STORM::
|
||||
loadspritegfx ANIM_TAG_GUST
|
||||
loadspritegfx ANIM_TAG_ICE_CRYSTALS
|
||||
playsewithpan SE_M_GUST, SOUND_PAN_TARGET
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 88, 1
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x7FFF
|
||||
call HurricaneGust
|
||||
createvisualtaskontargets AnimTask_ShakeMon2, 2, 0, ANIM_TARGET, 0, 4, 0x58, 1
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x7FFF
|
||||
call HurricaneGustCentered
|
||||
call BleakwindStormIceSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call BleakwindStormIceSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call BleakwindStormIceSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call BleakwindStormIceSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call BleakwindStormIceSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call BleakwindStormIceSwirl
|
||||
waitforvisualfinish
|
||||
stopsound
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x7FFF
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x7FFF
|
||||
waitforvisualfinish
|
||||
end
|
||||
BleakwindStormIceSwirl:
|
||||
createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 6, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 6, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 6, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 6, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 6, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 6, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET
|
||||
return
|
||||
|
||||
|
||||
@ -16533,39 +16537,39 @@ Move_WILDBOLT_STORM::
|
||||
createvisualtask AnimTask_StartSlidingBg, 0x5, 0xff00, 0x0, 0x1, 0xffff
|
||||
waitbgfadein
|
||||
playsewithpan SE_M_GUST, SOUND_PAN_TARGET
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 88, 1
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x07FE
|
||||
call HurricaneGust
|
||||
createvisualtaskontargets AnimTask_ShakeMon2, 2, 0, ANIM_TARGET, 0, 4, 0x58, 1
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x07FE
|
||||
call HurricaneGustCentered
|
||||
call WildboltStormSparkSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call WildboltStormSparkSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call WildboltStormSparkSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call WildboltStormSparkSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call WildboltStormSparkSwirl
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call WildboltStormSparkSwirl
|
||||
waitforvisualfinish
|
||||
stopsound
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x07FE
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x07FE
|
||||
call UnsetPsychicBg
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
WildboltStormSparkSwirl:
|
||||
createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 6, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 6, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 6, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 6, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 6, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET
|
||||
createspriteontargets gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 6, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET
|
||||
return
|
||||
|
||||
|
||||
@ -16575,38 +16579,38 @@ Move_SANDSEAR_STORM::
|
||||
loadspritegfx ANIM_TAG_SMALL_EMBER
|
||||
createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_GUST, 0x0, 0xA, 0xA, 0x190B
|
||||
playsewithpan SE_M_GUST, SOUND_PAN_TARGET
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 88, 1
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x1F
|
||||
call HurricaneGust
|
||||
createvisualtaskontargets AnimTask_ShakeMon2, 2, 0, ANIM_TARGET, 0, 4, 0x58, 1
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x1F
|
||||
call HurricaneGustCentered
|
||||
call SandsearStormFireSpin
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call SandsearStormFireSpin
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call SandsearStormFireSpin
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call SandsearStormFireSpin
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call SandsearStormFireSpin
|
||||
call HurricaneGust
|
||||
call HurricaneGustCentered
|
||||
call SandsearStormFireSpin
|
||||
waitforvisualfinish
|
||||
stopsound
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x1F
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x1F
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
SandsearStormFireSpin:
|
||||
createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1c, 0x210, 0x1e, 0xd, 0x32, ANIM_TARGET
|
||||
createspriteontargets gFireSpinSpriteTemplate, ANIM_TARGET, 2, 6, 0x0, 0x1c, 0x210, 0x1e, 0xd, 0x32, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x20, 0x1e0, 0x14, 0x10, 0xffd2, ANIM_TARGET
|
||||
createspriteontargets gFireSpinSpriteTemplate, ANIM_TARGET, 2, 6, 0x0, 0x20, 0x1e0, 0x14, 0x10, 0xffd2, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x21, 0x240, 0x14, 0x8, 0x2a, ANIM_TARGET
|
||||
createspriteontargets gFireSpinSpriteTemplate, ANIM_TARGET, 2, 6, 0x0, 0x21, 0x240, 0x14, 0x8, 0x2a, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1f, 0x190, 0x19, 0xb, 0xffd6, ANIM_TARGET
|
||||
createspriteontargets gFireSpinSpriteTemplate, ANIM_TARGET, 2, 6, 0x0, 0x1f, 0x190, 0x19, 0xb, 0xffd6, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1c, 0x200, 0x19, 0x10, 0x2e, ANIM_TARGET
|
||||
createspriteontargets gFireSpinSpriteTemplate, ANIM_TARGET, 2, 6, 0x0, 0x1c, 0x200, 0x19, 0x10, 0x2e, ANIM_TARGET
|
||||
delay 0x2
|
||||
createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x21, 0x1d0, 0x1e, 0xf, 0xffce, ANIM_TARGET
|
||||
createspriteontargets gFireSpinSpriteTemplate, ANIM_TARGET, 2, 6, 0x0, 0x21, 0x1d0, 0x1e, 0xf, 0xffce, ANIM_TARGET
|
||||
return
|
||||
|
||||
|
||||
|
||||
@ -227,6 +227,8 @@ gScriptCmdTable::
|
||||
.4byte ScrCmd_warpwhitefade @ 0xe0
|
||||
.4byte ScrCmd_buffercontestname @ 0xe1
|
||||
.4byte ScrCmd_bufferitemnameplural @ 0xe2
|
||||
.4byte ScrCmd_dynmultichoice @ 0xe3
|
||||
.4byte ScrCmd_dynmultipush @ 0xe4
|
||||
|
||||
gScriptCmdTableEnd::
|
||||
.4byte ScrCmd_nop
|
||||
|
||||
@ -6,6 +6,8 @@ BerryTreeScript::
|
||||
case BERRY_STAGE_PLANTED, BerryTree_EventScript_CheckBerryStage1
|
||||
case BERRY_STAGE_SPROUTED, BerryTree_EventScript_CheckBerryStage2
|
||||
case BERRY_STAGE_TALLER, BerryTree_EventScript_CheckBerryStage3
|
||||
case BERRY_STAGE_TRUNK, BerryTree_EventScript_CheckBerryStageTrunk
|
||||
case BERRY_STAGE_BUDDING, BerryTree_EventScript_CheckBerryStageBudding
|
||||
case BERRY_STAGE_FLOWERING, BerryTree_EventScript_CheckBerryStage4
|
||||
case BERRY_STAGE_BERRIES, BerryTree_EventScript_CheckBerryFullyGrown
|
||||
end
|
||||
@ -23,6 +25,8 @@ BerryTree_EventScript_CheckSoil::
|
||||
faceplayer
|
||||
specialvar VAR_RESULT, PlayerHasBerries
|
||||
goto_if_eq VAR_RESULT, TRUE, BerryTree_EventScript_WantToPlant
|
||||
specialvar VAR_RESULT, PlayerHasMulch
|
||||
goto_if_eq VAR_RESULT, TRUE, BerryTree_EventScript_WantToMulch
|
||||
message BerryTree_Text_ItsSoftLoamySoil
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
@ -30,11 +34,42 @@ BerryTree_EventScript_CheckSoil::
|
||||
end
|
||||
|
||||
BerryTree_EventScript_WantToPlant::
|
||||
specialvar VAR_RESULT, PlayerHasMulch
|
||||
goto_if_eq VAR_RESULT, TRUE, BerryTree_EventScript_WantToPlantMulch
|
||||
msgbox BerryTree_Text_WantToPlant, MSGBOX_YESNO
|
||||
goto_if_eq VAR_RESULT, YES, BerryTree_EventScript_ChooseBerryToPlant
|
||||
goto_if_eq VAR_RESULT, NO, BerryTree_EventScript_CancelPlanting
|
||||
end
|
||||
|
||||
BerryTree_EventScript_WantToMulch::
|
||||
.if OW_BERRY_MULCH_USAGE == TRUE
|
||||
msgbox BerryTree_Text_WantToMulch, MSGBOX_YESNO
|
||||
goto_if_eq VAR_RESULT, YES, BerryTree_EventScript_ChooseMulchToUse
|
||||
goto_if_eq VAR_RESULT, NO, BerryTree_EventScript_CancelPlanting
|
||||
.endif
|
||||
end
|
||||
|
||||
BerryTree_EventScript_WantToPlantMulch::
|
||||
.if OW_BERRY_MULCH_USAGE == TRUE
|
||||
message BerryTree_Text_ItsSoftLoamySoil
|
||||
waitmessage
|
||||
multichoice 0, 0, MULTI_BERRY_PLOT, FALSE
|
||||
switch VAR_RESULT
|
||||
case 0, BerryTree_EventScript_ChooseMulchToUse
|
||||
case 1, BerryTree_EventScript_ChooseBerryToPlant
|
||||
case 2, BerryTree_EventScript_CancelPlanting
|
||||
case MULTI_B_PRESSED, BerryTree_EventScript_CancelPlanting
|
||||
|
||||
BerryTree_EventScript_ChooseMulchToUse::
|
||||
fadescreen FADE_TO_BLACK
|
||||
closemessage
|
||||
special Bag_ChooseMulch
|
||||
waitstate
|
||||
goto_if_eq VAR_ITEM_ID, 0, BerryTree_EventScript_CancelPlanting
|
||||
removeitem VAR_ITEM_ID
|
||||
call BerryTree_EventScript_UseMulch
|
||||
.endif
|
||||
|
||||
BerryTree_EventScript_ChooseBerryToPlant::
|
||||
fadescreen FADE_TO_BLACK
|
||||
closemessage
|
||||
@ -72,6 +107,22 @@ BerryTree_EventScript_CheckBerryStage3::
|
||||
waitbuttonpress
|
||||
goto BerryTree_EventScript_WantToWater
|
||||
|
||||
BerryTree_EventScript_CheckBerryStageTrunk::
|
||||
lockall
|
||||
special ObjectEventInteractionGetBerryName
|
||||
message BerryTree_Text_BerryGrowthStageTrunk
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
goto BerryTree_EventScript_WantToWater
|
||||
|
||||
BerryTree_EventScript_CheckBerryStageBudding::
|
||||
lockall
|
||||
special ObjectEventInteractionGetBerryName
|
||||
message BerryTree_Text_BerryGrowthStageBudding
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
goto BerryTree_EventScript_WantToWater
|
||||
|
||||
BerryTree_EventScript_CheckBerryStage4::
|
||||
call BerryTree_EventScript_GetCareAdverb
|
||||
lockall
|
||||
@ -103,13 +154,25 @@ BerryTree_EventScript_CheckBerryFullyGrown::
|
||||
lock
|
||||
faceplayer
|
||||
special ObjectEventInteractionGetBerryCountString
|
||||
.if OW_BERRY_MUTATIONS == TRUE
|
||||
goto_if_eq VAR_RESULT, TRUE, BerryTree_EventScript_CheckBerryFullyGrown_Mutation
|
||||
.endif
|
||||
msgbox BerryTree_Text_WantToPick, MSGBOX_YESNO
|
||||
goto_if_eq VAR_RESULT, YES, BerryTree_EventScript_PickBerry
|
||||
goto_if_eq VAR_RESULT, NO, BerryTree_EventScript_CancelPickingBerry
|
||||
|
||||
.set BERRY_NORMAL_BAG_FULL, 0
|
||||
.set BERRY_NORMAL_SPACE_IN_BAG, 1
|
||||
.set BERRY_MUTATION_BAG_FULL, 2
|
||||
.set BERRY_MUTATION_SPACE_IN_BAG, 3
|
||||
|
||||
BerryTree_EventScript_PickBerry::
|
||||
special ObjectEventInteractionPickBerryTree
|
||||
goto_if_eq VAR_0x8004, 0, BerryTree_EventScript_BerryPocketFull
|
||||
goto_if_eq VAR_0x8004, BERRY_NORMAL_BAG_FULL, BerryTree_EventScript_BerryPocketFull
|
||||
.if OW_BERRY_MUTATIONS == TRUE
|
||||
goto_if_eq VAR_0x8004, BERRY_MUTATION_BAG_FULL, BerryTree_EventScript_BerryPocketFull_Mutation
|
||||
goto_if_eq VAR_0x8004, BERRY_MUTATION_SPACE_IN_BAG, BerryTree_EventScript_PickBerry_Mutation
|
||||
.endif
|
||||
special IncrementDailyPickedBerries
|
||||
special ObjectEventInteractionRemoveBerryTree
|
||||
message BerryTree_Text_PickedTheBerry
|
||||
@ -145,8 +208,16 @@ BerryTree_EventScript_ItemUsePlantBerry::
|
||||
end
|
||||
|
||||
BerryTree_EventScript_WantToWater::
|
||||
.if OW_BERRY_PESTS == TRUE
|
||||
call BerryTree_EventScript_CheckForPests
|
||||
.endif
|
||||
.if OW_BERRY_WEEDS == TRUE
|
||||
call BerryTree_EventScript_CheckForWeed
|
||||
.endif
|
||||
checkitem ITEM_WAILMER_PAIL
|
||||
goto_if_eq VAR_RESULT, FALSE, BerryTree_EventScript_DontWater
|
||||
specialvar VAR_RESULT, CanWaterBerryPlot
|
||||
goto_if_eq VAR_RESULT, FALSE, BerryTree_EventScript_DontWater
|
||||
special ObjectEventInteractionGetBerryName
|
||||
msgbox BerryTree_Text_WantToWater, MSGBOX_YESNO
|
||||
goto_if_eq VAR_RESULT, YES, BerryTree_EventScript_WaterBerry
|
||||
@ -194,17 +265,39 @@ BerryTree_Text_PlantedOneBerry:
|
||||
.string "the soft, loamy soil.$"
|
||||
|
||||
BerryTree_Text_BerryGrowthStage1:
|
||||
.if OW_BERRY_SIX_STAGES == TRUE
|
||||
.string "This is where you planted the\n{STR_VAR_1}!$"
|
||||
.else
|
||||
.string "One {STR_VAR_1} was planted here.$"
|
||||
.endif
|
||||
|
||||
BerryTree_Text_BerryGrowthStage2:
|
||||
.if OW_BERRY_SIX_STAGES == TRUE
|
||||
.string "The {STR_VAR_1} is sprouting!$"
|
||||
.else
|
||||
.string "{STR_VAR_1} has sprouted.$"
|
||||
.endif
|
||||
|
||||
BerryTree_Text_BerryGrowthStage3:
|
||||
.if OW_BERRY_SIX_STAGES == TRUE
|
||||
.string "The {STR_VAR_1}'s seedling is growing well!$"
|
||||
.else
|
||||
.string "This {STR_VAR_1} plant is growing taller.$"
|
||||
.endif
|
||||
|
||||
BerryTree_Text_BerryGrowthStageTrunk:
|
||||
.string "The {STR_VAR_1}'s trunk is getting bigger!$"
|
||||
|
||||
BerryTree_Text_BerryGrowthStageBudding:
|
||||
.string "The {STR_VAR_1} tree has buds!$"
|
||||
|
||||
BerryTree_Text_BerryGrowthStage4:
|
||||
.if OW_BERRY_SIX_STAGES == TRUE
|
||||
.string "The {STR_VAR_1} tree is in bloom!$"
|
||||
.else
|
||||
.string "These {STR_VAR_1} flowers are blooming\n"
|
||||
.string "{STR_VAR_2}.$"
|
||||
.endif
|
||||
|
||||
BerryTree_Text_CareAdverbGreat:
|
||||
.string "very beautifully$"
|
||||
@ -249,3 +342,123 @@ BerryTree_Text_PlantIsDelighted:
|
||||
|
||||
BerryTree_Text_ExclamationPoint:
|
||||
.string "!$"
|
||||
|
||||
.if OW_BERRY_MUTATIONS == TRUE
|
||||
BerryTree_EventScript_CheckBerryFullyGrown_Mutation:
|
||||
msgbox BerryTree_Text_WantToPick_Mutation, MSGBOX_YESNO
|
||||
goto_if_eq VAR_RESULT, YES, BerryTree_EventScript_PickBerry
|
||||
goto_if_eq VAR_RESULT, NO, BerryTree_EventScript_CancelPickingBerry_Mutation
|
||||
|
||||
BerryTree_EventScript_CancelPickingBerry_Mutation::
|
||||
message BerryTree_Text_BerryLeftUnpicked_Mutation
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
release
|
||||
end
|
||||
|
||||
BerryTree_EventScript_BerryPocketFull_Mutation::
|
||||
message BerryTree_Text_BerryPocketFull_Mutation
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
release
|
||||
end
|
||||
|
||||
BerryTree_EventScript_PickBerry_Mutation::
|
||||
special IncrementDailyPickedBerries
|
||||
special ObjectEventInteractionRemoveBerryTree
|
||||
message BerryTree_Text_PickedTheBerry_Mutation
|
||||
playfanfare MUS_OBTAIN_BERRY
|
||||
waitmessage
|
||||
waitfanfare
|
||||
waitbuttonpress
|
||||
message BerryTree_Text_PutAwayBerry_Mutation
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
release
|
||||
end
|
||||
|
||||
BerryTree_Text_WantToPick_Mutation:
|
||||
.string "You found {STR_VAR_2} {STR_VAR_1}\n"
|
||||
.string "and 1 {STR_VAR_3}!\p"
|
||||
.string "Do you want to pick them?$"
|
||||
|
||||
BerryTree_Text_BerryLeftUnpicked_Mutation:
|
||||
.string "{PLAYER} left the {STR_VAR_1}\n"
|
||||
.string "and the {STR_VAR_3} unpicked.$"
|
||||
|
||||
BerryTree_Text_BerryPocketFull_Mutation:
|
||||
.string "The BAG's BERRIES POCKET is full.\p"
|
||||
.string "The {STR_VAR_1} and the\n"
|
||||
.string "{STR_VAR_3} couldn't be taken.$"
|
||||
|
||||
BerryTree_Text_PickedTheBerry_Mutation:
|
||||
.string "{PLAYER} picked the {STR_VAR_2} {STR_VAR_1}\n"
|
||||
.string "and the {STR_VAR_3}.$"
|
||||
|
||||
BerryTree_Text_PutAwayBerry_Mutation:
|
||||
.string "{PLAYER} put away the {STR_VAR_1}\n"
|
||||
.string "and the {STR_VAR_3} in the BAG's\l"
|
||||
.string "BERRIES POCKET.\p"
|
||||
.string "The soil returned to its soft and\n"
|
||||
.string "loamy state.$"
|
||||
.endif
|
||||
|
||||
.if OW_BERRY_MULCH_USAGE == TRUE
|
||||
BerryTree_EventScript_UseMulch::
|
||||
special ObjectEventInteractionApplyMulch
|
||||
message BerryTree_Text_ScatteredMulch
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
return
|
||||
|
||||
BerryTree_Text_WantToMulch:
|
||||
.string "It's soft, loamy soil.\n"
|
||||
.string "Put down some fertilizer?$"
|
||||
|
||||
BerryTree_Text_ScatteredMulch:
|
||||
.string "{PLAYER} scattered the {STR_VAR_1}\n"
|
||||
.string "on the soft, loamy soil.$"
|
||||
.endif
|
||||
|
||||
.if OW_BERRY_WEEDS == TRUE
|
||||
BerryTree_EventScript_CheckForWeed::
|
||||
specialvar VAR_RESULT, ObjectEventInteractionBerryHasWeed
|
||||
call_if_eq VAR_RESULT, TRUE, BerryTree_EventScript_WeedIsGrowing
|
||||
return
|
||||
|
||||
BerryTree_EventScript_WeedIsGrowing::
|
||||
msgbox BerryTree_Text_WeedIsGrowing, MSGBOX_YESNO
|
||||
goto_if_eq VAR_RESULT, YES, BerryTree_EventScript_PullOutWeed
|
||||
return
|
||||
|
||||
BerryTree_EventScript_PullOutWeed::
|
||||
special ObjectEventInteractionPullBerryWeed
|
||||
message BerryTree_Text_PulledOutTheWeed
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
return
|
||||
|
||||
BerryTree_Text_WeedIsGrowing:
|
||||
.string "A weed is growing here.\n"
|
||||
.string "Do you want to pull it out?$"
|
||||
|
||||
BerryTree_Text_PulledOutTheWeed:
|
||||
.string "{PLAYER} pulled out the weed!$"
|
||||
.endif
|
||||
|
||||
.if OW_BERRY_PESTS == TRUE
|
||||
BerryTree_EventScript_CheckForPests::
|
||||
specialvar VAR_RESULT, ObjectEventInteractionBerryHasPests
|
||||
call_if_eq VAR_RESULT, TRUE, BerryTree_EventScript_EncounterPests
|
||||
return
|
||||
|
||||
BerryTree_EventScript_EncounterPests::
|
||||
message BerryTree_Text_APokemonAppeared
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
dowildbattle
|
||||
return
|
||||
|
||||
BerryTree_Text_APokemonAppeared:
|
||||
.string "A Pokémon appeared!$"
|
||||
.endif
|
||||
|
||||
@ -215,6 +215,24 @@ Debug_ShowExpansionVersion::
|
||||
Debug_ExpansionVersion:
|
||||
.string "pokeemerald-expansion {STR_VAR_1}$"
|
||||
|
||||
Debug_BerryPestsDisabled::
|
||||
msgbox DebugText_BerryPestsDisabled, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
DebugText_BerryPestsDisabled:
|
||||
.string "OW_BERRY_PESTS is disabled.\n"
|
||||
.string "Unable to force pests onto berry trees.$"
|
||||
|
||||
Debug_BerryWeedsDisabled::
|
||||
msgbox DebugText_BerryWeedsDisabled, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
DebugText_BerryWeedsDisabled:
|
||||
.string "OW_BERRY_WEEDS is disabled.\n"
|
||||
.string "Unable to force weeds onto berry trees.$"
|
||||
|
||||
.endif
|
||||
|
||||
Debug_FlagsAndVarNotSetBattleConfigMessage::
|
||||
|
||||
@ -542,3 +542,11 @@ gSpecials::
|
||||
def_special TrySkyBattle
|
||||
def_special VsSeekerResetObjectMovementAfterChargeComplete
|
||||
def_special VsSeekerFreezeObjectsAfterChargeComplete
|
||||
def_special PlayerHasMulch
|
||||
def_special Bag_ChooseMulch
|
||||
def_special ObjectEventInteractionApplyMulch
|
||||
def_special ObjectEventInteractionPullBerryWeed
|
||||
def_special ObjectEventInteractionClearBerryPests
|
||||
def_special ObjectEventInteractionBerryHasWeed
|
||||
def_special ObjectEventInteractionBerryHasPests
|
||||
def_special CanWaterBerryPlot
|
||||
|
||||
|
Before Width: | Height: | Size: 624 B |
|
Before Width: | Height: | Size: 412 B |
|
Before Width: | Height: | Size: 455 B |
|
Before Width: | Height: | Size: 567 B |
|
Before Width: | Height: | Size: 383 B |
|
Before Width: | Height: | Size: 502 B |
|
Before Width: | Height: | Size: 338 B |
|
Before Width: | Height: | Size: 413 B |
|
Before Width: | Height: | Size: 416 B |
|
Before Width: | Height: | Size: 369 B |
|
Before Width: | Height: | Size: 332 B |
|
Before Width: | Height: | Size: 531 B |
|
Before Width: | Height: | Size: 511 B |
|
Before Width: | Height: | Size: 468 B |
|
Before Width: | Height: | Size: 418 B |
|
Before Width: | Height: | Size: 364 B |
|
Before Width: | Height: | Size: 494 B |
|
Before Width: | Height: | Size: 642 B |
|
Before Width: | Height: | Size: 951 B |
|
Before Width: | Height: | Size: 533 B |
|
Before Width: | Height: | Size: 1017 B After Width: | Height: | Size: 1017 B |
|
Before Width: | Height: | Size: 672 B After Width: | Height: | Size: 672 B |
|
Before Width: | Height: | Size: 108 B After Width: | Height: | Size: 108 B |
|
Before Width: | Height: | Size: 368 B After Width: | Height: | Size: 368 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 580 B After Width: | Height: | Size: 580 B |
|
Before Width: | Height: | Size: 108 B After Width: | Height: | Size: 108 B |
|
Before Width: | Height: | Size: 439 B After Width: | Height: | Size: 439 B |
|
Before Width: | Height: | Size: 715 B After Width: | Height: | Size: 715 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 449 B After Width: | Height: | Size: 449 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 855 B After Width: | Height: | Size: 855 B |
|
Before Width: | Height: | Size: 834 B After Width: | Height: | Size: 834 B |
|
Before Width: | Height: | Size: 112 B After Width: | Height: | Size: 112 B |
|
Before Width: | Height: | Size: 529 B After Width: | Height: | Size: 529 B |
|
Before Width: | Height: | Size: 934 B After Width: | Height: | Size: 934 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 497 B After Width: | Height: | Size: 497 B |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 561 B After Width: | Height: | Size: 561 B |
|
Before Width: | Height: | Size: 87 B After Width: | Height: | Size: 87 B |
|
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 406 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 920 B After Width: | Height: | Size: 920 B |
|
Before Width: | Height: | Size: 114 B After Width: | Height: | Size: 114 B |
0
graphics/pokemon/arcanine/hisuian/back.png → graphics/pokemon/gen_1/arcanine/hisuian/back.png
Executable file → Normal file
|
Before Width: | Height: | Size: 856 B After Width: | Height: | Size: 856 B |
0
graphics/pokemon/arcanine/hisuian/front.png → graphics/pokemon/gen_1/arcanine/hisuian/front.png
Executable file → Normal file
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 427 B After Width: | Height: | Size: 427 B |
0
graphics/pokemon/arcanine/hisuian/normal.pal → graphics/pokemon/gen_1/arcanine/hisuian/normal.pal
Executable file → Normal file
0
graphics/pokemon/arcanine/hisuian/shiny.pal → graphics/pokemon/gen_1/arcanine/hisuian/shiny.pal
Executable file → Normal file
|
Before Width: | Height: | Size: 475 B After Width: | Height: | Size: 475 B |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 643 B After Width: | Height: | Size: 643 B |
|
Before Width: | Height: | Size: 122 B After Width: | Height: | Size: 122 B |
|
Before Width: | Height: | Size: 645 B After Width: | Height: | Size: 645 B |
|
Before Width: | Height: | Size: 865 B After Width: | Height: | Size: 865 B |
|
Before Width: | Height: | Size: 413 B After Width: | Height: | Size: 413 B |
|
Before Width: | Height: | Size: 424 B After Width: | Height: | Size: 424 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 994 B After Width: | Height: | Size: 994 B |
|
Before Width: | Height: | Size: 99 B After Width: | Height: | Size: 99 B |
|
Before Width: | Height: | Size: 421 B After Width: | Height: | Size: 421 B |
|
Before Width: | Height: | Size: 917 B After Width: | Height: | Size: 917 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 453 B After Width: | Height: | Size: 453 B |
|
Before Width: | Height: | Size: 919 B After Width: | Height: | Size: 919 B |
|
Before Width: | Height: | Size: 622 B After Width: | Height: | Size: 622 B |
|
Before Width: | Height: | Size: 122 B After Width: | Height: | Size: 122 B |
|
Before Width: | Height: | Size: 347 B After Width: | Height: | Size: 347 B |