Merge branch 'master' into AI-Logic-Updates
20
INSTALL.md
@ -44,15 +44,15 @@ WSL1 is the preferred terminal to build **pokeemerald**. The following instructi
|
||||
3. The next step is to choose and install a Linux distribution from the Microsoft Store. The following instructions will assume Ubuntu as the Linux distribution of choice.
|
||||
<details>
|
||||
<summary><i>Note for advanced users...</i></summary>
|
||||
|
||||
> You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested.
|
||||
|
||||
> You can pick a preferred Linux distribution, but setup instructions may differ. Debian should work with the given instructions, but has not been tested.
|
||||
</details>
|
||||
|
||||
4. Open the [Microsoft Store Linux Selection](https://aka.ms/wslstore), click Ubuntu, then click Get, which will install the Ubuntu distribution.
|
||||
<details>
|
||||
<summary><i>Notes...</i></summary>
|
||||
|
||||
> Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog.
|
||||
> Note 1: If a dialog pops up asking for you to sign into a Microsoft Account, then just close the dialog.
|
||||
> Note 2: If the link does not work, then open the Microsoft Store manually, and search for the Ubuntu app (choose the one with no version number).
|
||||
</details>
|
||||
|
||||
@ -102,8 +102,8 @@ cd /mnt/c/Users/<user>/Desktop/decomps
|
||||
<details>
|
||||
<summary><i>Notes...</i></summary>
|
||||
|
||||
> Note 1: The Windows C:\ drive is called /mnt/c/ in WSL.
|
||||
> Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users/<user>/Desktop/decomp folder"`.
|
||||
> Note 1: The Windows C:\ drive is called /mnt/c/ in WSL.
|
||||
> Note 2: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "/mnt/c/users/<user>/Desktop/decomp folder"`.
|
||||
> Note 3: Windows path names are case-insensitive so adhering to capitalization isn't needed
|
||||
</details>
|
||||
|
||||
@ -213,8 +213,8 @@ Note that the directory **must exist** in Windows. If you want to store pokeemer
|
||||
<details>
|
||||
<summary><i>Notes...</i></summary>
|
||||
|
||||
> Note 1: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "c:/users/<user>/Desktop/decomp folder"`.
|
||||
> Note 2: Windows path names are case-insensitive so adhering to capitalization isn't needed
|
||||
> Note 1: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "c:/users/<user>/Desktop/decomp folder"`.
|
||||
> Note 2: Windows path names are case-insensitive so adhering to capitalization isn't needed
|
||||
</details>
|
||||
|
||||
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)).
|
||||
@ -283,8 +283,8 @@ Note that the directory **must exist** in the folder system. If you want to stor
|
||||
|
||||
<details>
|
||||
<summary><i>Note..</i>.</summary>
|
||||
|
||||
> Note: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Desktop/decomp folder"`
|
||||
|
||||
> Note: If the path has spaces, then the path must be wrapped with quotations, e.g. `cd "Desktop/decomp folder"`
|
||||
</details>
|
||||
|
||||
If this works, then proceed to [Installation](#installation). Otherwise, ask for help on Discord or IRC (see [README.md](README.md)).
|
||||
@ -305,7 +305,7 @@ Then proceed to [Choosing where to store pokeemerald (Linux)](#choosing-where-to
|
||||
> then you will have to install devkitARM. Install all the above packages except binutils-arm-none-eabi, and follow the instructions to
|
||||
> [install devkitARM on Debian/Ubuntu-based distributions](#installing-devkitarm-on-debianubuntu-based-distributions).
|
||||
</details>
|
||||
|
||||
|
||||
### Arch Linux
|
||||
Run this command as root to install the necessary packages:
|
||||
```bash
|
||||
|
||||
2
Makefile
@ -277,6 +277,8 @@ include songs.mk
|
||||
%.gbapal: %.png ; $(GFX) $< $@
|
||||
%.lz: % ; $(GFX) $< $@
|
||||
%.rl: % ; $(GFX) $< $@
|
||||
|
||||
$(CRY_SUBDIR)/uncomp_%.bin: $(CRY_SUBDIR)/uncomp_%.aif ; $(AIF) $< $@
|
||||
$(CRY_SUBDIR)/%.bin: $(CRY_SUBDIR)/%.aif ; $(AIF) $< $@ --compress
|
||||
sound/%.bin: sound/%.aif ; $(AIF) $< $@
|
||||
|
||||
|
||||
39
README.md
@ -1,31 +1,28 @@
|
||||
# Pokémon Emerald
|
||||
# pokeemerald Expansion
|
||||
|
||||
This is a decompilation of Pokémon Emerald.
|
||||
## What is the pokeemerald Expansion?
|
||||
|
||||
It builds the following ROM:
|
||||
The pokeemerald Expansion is a collection of feature branches that can be integrated into existing [pokeemerald](https://github.com/pret/pokeemerald) projects.
|
||||
|
||||
* [**pokeemerald.gba**](https://datomatic.no-intro.org/index.php?page=show_record&s=23&n=1961) `sha1: f3ae088181bf583e55daf962a92bb46f4f1d07b7`
|
||||
## What feature branches are included?
|
||||
|
||||
To set up the repository, see [INSTALL.md](INSTALL.md).
|
||||
- **[Battle Engine Upgrade](../tree/battle_engine):** Upgrades the battle engine in pokeemerald to newer Generation games' standards. It also adds newer moves and abilities.
|
||||
- **[Pokémon Expansion](../tree/pokemon_expansion):** Adds Pokémon from newer Generations and makes them available in the National Dex. It also updates base stats and other Pokémon info.
|
||||
- **[Item Expansion](../tree/item_expansion):** Adds items from newer Generations and also updates item effects for field use.
|
||||
- **[master](../tree/master):** Combines the above branches into one single branch for the sake of convenience. Note that this branch is only updated once in a while, so you must merge manually if you want the latest features.
|
||||
|
||||
## Who maintains the project?
|
||||
|
||||
## See also
|
||||
The project was originally started by DizzyEgg alongside other contributors.
|
||||
|
||||
Other disassembly and/or decompilation projects:
|
||||
* [**Pokémon Red and Blue**](https://github.com/pret/pokered)
|
||||
* [**Pokémon Gold and Silver (Space World '97 demo)**](https://github.com/pret/pokegold-spaceworld)
|
||||
* [**Pokémon Yellow**](https://github.com/pret/pokeyellow)
|
||||
* [**Pokémon Trading Card Game**](https://github.com/pret/poketcg)
|
||||
* [**Pokémon Pinball**](https://github.com/pret/pokepinball)
|
||||
* [**Pokémon Stadium**](https://github.com/pret/pokestadium)
|
||||
* [**Pokémon Gold and Silver**](https://github.com/pret/pokegold)
|
||||
* [**Pokémon Crystal**](https://github.com/pret/pokecrystal)
|
||||
* [**Pokémon Ruby and Sapphire**](https://github.com/pret/pokeruby)
|
||||
* [**Pokémon Pinball: Ruby & Sapphire**](https://github.com/pret/pokepinballrs)
|
||||
* [**Pokémon FireRed and LeafGreen**](https://github.com/pret/pokefirered)
|
||||
* [**Pokémon Mystery Dungeon: Red Rescue Team**](https://github.com/pret/pmd-red)
|
||||
The project has now gotten larger and DizzyEgg is now maintaining the project as part of the ROM Hacking Hideout community. Some members of this community are taking on larger roles to help maintain the project.
|
||||
|
||||
## Can I contribute even if I'm not a member of ROM Hacking Hideout?
|
||||
|
||||
## Contacts
|
||||
Yes! Contributions are welcome via Pull Requests and they will be reviewed by maintainers. Please note that PRs to master are not accepted, as master is only intended to be a merged branch.
|
||||
|
||||
You can find us on [Discord](https://discord.gg/d5dubZ3) and [IRC](https://web.libera.chat/?#pret).
|
||||
## What is ROM Hacking Hideout?
|
||||
|
||||
A Discord-based ROM hacking community that has many members who hack using the disassembly and decompilation projects for Pokémon. Quite a few contributors to the original feature branches by DizzyEgg were members of ROM Hacking Hideout. You can call it RHH for short!
|
||||
|
||||
[Click here to join the RHH Discord Server!](https://discord.gg/6CzjAG6GZk)
|
||||
|
||||
@ -676,7 +676,7 @@
|
||||
.byte 0x77
|
||||
.endm
|
||||
|
||||
.macro faintifabilitynotdamp
|
||||
.macro tryexplosion
|
||||
.byte 0x78
|
||||
.endm
|
||||
|
||||
@ -1044,7 +1044,7 @@
|
||||
.byte 0xc8
|
||||
.endm
|
||||
|
||||
.macro jumpifattackandspecialattackcannotfall ptr:req
|
||||
.macro trymemento ptr:req
|
||||
.byte 0xc9
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
@ -277,7 +277,7 @@
|
||||
.endm
|
||||
|
||||
@ Blocks script execution until a command or C code manually unblocks it. Generally used with specific
|
||||
@ commands and specials. Calling EnableBothScriptContexts for instance will allow execution to continue.
|
||||
@ commands and specials. Calling ScriptContext_Enable for instance will allow execution to continue.
|
||||
.macro waitstate
|
||||
.byte 0x27
|
||||
.endm
|
||||
@ -2006,3 +2006,15 @@
|
||||
.macro totemboost_evas2 battler:req
|
||||
settotemboost \battler, 0, 0, 0, 0, 0, 0, 2
|
||||
.endm
|
||||
|
||||
@ Attempts to trigger a special evolution method in the overworld.
|
||||
@ There may be other conditions required which are coded for in GetEvolutionTargetSpecies.
|
||||
@ EX: tryspecialevo EVO_WATER_SCROLL, FALSE, FALSE triggers Kubfu's EVO_WATER_SCROLL evolution
|
||||
@ method, cannot be cancelled in the evolution scene, and will only evolve one Kubfu if there
|
||||
@ are multiple in the player's party.
|
||||
.macro tryspecialevo evoMethod:req, canStopEvo=TRUE, tryMultiple=TRUE
|
||||
setvar VAR_0x8000, \evoMethod
|
||||
setvar VAR_0x8001, \canStopEvo
|
||||
setvar VAR_0x8002, \tryMultiple
|
||||
special TrySpecialOverworldEvo
|
||||
.endm
|
||||
|
||||
@ -152,8 +152,8 @@
|
||||
create_movement_action walk_slow_diag_northeast, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT
|
||||
create_movement_action walk_slow_diag_southwest, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT
|
||||
create_movement_action walk_slow_diag_southeast, MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT
|
||||
create_movement_action store_lock_anim, MOVEMENT_ACTION_STORE_AND_LOCK_ANIM
|
||||
create_movement_action free_unlock_anim, MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM
|
||||
create_movement_action lock_anim, MOVEMENT_ACTION_LOCK_ANIM
|
||||
create_movement_action unlock_anim, MOVEMENT_ACTION_UNLOCK_ANIM
|
||||
create_movement_action walk_left_affine, MOVEMENT_ACTION_WALK_LEFT_AFFINE
|
||||
create_movement_action walk_right_affine, MOVEMENT_ACTION_WALK_RIGHT_AFFINE
|
||||
create_movement_action levitate, MOVEMENT_ACTION_LEVITATE
|
||||
|
||||
@ -150,3 +150,15 @@
|
||||
.4byte \sample
|
||||
.byte 0xff, 0, 0xff, 0
|
||||
.endm
|
||||
|
||||
.macro cry_uncomp sample @ not compressed
|
||||
.byte 0x0, 60, 0, 0
|
||||
.4byte \sample
|
||||
.byte 0xff, 0, 0xff, 0
|
||||
.endm
|
||||
|
||||
.macro cry_reverse_uncomp sample @ not compressed
|
||||
.byte 0x10, 60, 0, 0
|
||||
.4byte \sample
|
||||
.byte 0xff, 0, 0xff, 0
|
||||
.endm
|
||||
|
||||
@ -779,6 +779,31 @@ gBattleAnims_Moves::
|
||||
.4byte Move_GLACIAL_LANCE
|
||||
.4byte Move_ASTRAL_BARRAGE
|
||||
.4byte Move_EERIE_SPELL
|
||||
@@@@LA MOVES
|
||||
.4byte Move_DIRE_CLAW
|
||||
.4byte Move_PSYSHIELD_BASH
|
||||
.4byte Move_POWER_SHIFT
|
||||
.4byte Move_STONE_AXE
|
||||
.4byte Move_SPRINGTIDE_STORM
|
||||
.4byte Move_MYSTICAL_POWER
|
||||
.4byte Move_RAGING_FURY
|
||||
.4byte Move_WAVE_CRASH
|
||||
.4byte Move_CHLOROBLAST
|
||||
.4byte Move_MOUNTAIN_GALE
|
||||
.4byte Move_VICTORY_DANCE
|
||||
.4byte Move_HEADLONG_RUSH
|
||||
.4byte Move_BARB_BARRAGE
|
||||
.4byte Move_ESPER_WING
|
||||
.4byte Move_BITTER_MALICE
|
||||
.4byte Move_SHELTER
|
||||
.4byte Move_TRIPLE_ARROWS
|
||||
.4byte Move_INFERNAL_PARADE
|
||||
.4byte Move_CEASELESS_EDGE
|
||||
.4byte Move_BLEAKWIND_STORM
|
||||
.4byte Move_WILDBOLT_STORM
|
||||
.4byte Move_SANDSEAR_STORM
|
||||
.4byte Move_LUNAR_BLESSING
|
||||
.4byte Move_TAKE_HEART
|
||||
@@@@ Z MOVES
|
||||
.4byte Move_BREAKNECK_BLITZ
|
||||
.4byte Move_ALL_OUT_PUMMELING
|
||||
@ -868,7 +893,8 @@ gBattleAnims_General::
|
||||
.4byte General_AquaRingHeal @ B_ANIM_AQUA_RING_HEAL
|
||||
.4byte General_BeakBlastSetUp @ B_ANIM_BEAK_BLAST_SETUP
|
||||
.4byte General_ShellTrapSetUp @ B_ANIM_SHELL_TRAP_SETUP
|
||||
.4byte General_ZMoveActivate @ B_ANIM_ZMOVE_ACTIVATE
|
||||
.4byte General_ZMoveActivate @ B_ANIM_ZMOVE_ACTIVATE
|
||||
.4byte General_AffectionHangedOn @ B_ANIM_AFFECTION_HANGED_ON
|
||||
|
||||
.align 2
|
||||
gBattleAnims_Special::
|
||||
@ -14269,55 +14295,51 @@ Move_POLTERGEIST::
|
||||
end
|
||||
|
||||
Move_CORROSIVE_GAS::
|
||||
end @to do:
|
||||
|
||||
Move_COACHING::
|
||||
end @to do:
|
||||
|
||||
Move_FLIP_TURN::
|
||||
end @to do:
|
||||
|
||||
Move_TRIPLE_AXEL::
|
||||
end @to do:
|
||||
|
||||
Move_DUAL_WINGBEAT::
|
||||
end @to do:
|
||||
|
||||
Move_SCORCHING_SANDS::
|
||||
end @to do:
|
||||
end @to do
|
||||
|
||||
Move_JUNGLE_HEALING::
|
||||
goto Move_AROMATHERAPY
|
||||
|
||||
Move_WICKED_BLOW::
|
||||
end @to do:
|
||||
|
||||
Move_SURGING_STRIKES::
|
||||
end @to do:
|
||||
|
||||
Move_THUNDER_CAGE::
|
||||
end @to do:
|
||||
|
||||
Move_DRAGON_ENERGY::
|
||||
end @to do:
|
||||
|
||||
Move_FREEZING_GLARE::
|
||||
end @to do:
|
||||
|
||||
Move_FIERY_WRATH::
|
||||
end @to do:
|
||||
|
||||
Move_THUNDEROUS_KICK::
|
||||
end @to do:
|
||||
|
||||
Move_GLACIAL_LANCE::
|
||||
end @to do:
|
||||
|
||||
Move_ASTRAL_BARRAGE::
|
||||
end @to do:
|
||||
|
||||
Move_EERIE_SPELL::
|
||||
end @to do:
|
||||
Move_DIRE_CLAW::
|
||||
Move_PSYSHIELD_BASH::
|
||||
Move_POWER_SHIFT::
|
||||
Move_STONE_AXE::
|
||||
Move_SPRINGTIDE_STORM::
|
||||
Move_MYSTICAL_POWER::
|
||||
Move_RAGING_FURY::
|
||||
Move_WAVE_CRASH::
|
||||
Move_CHLOROBLAST::
|
||||
Move_MOUNTAIN_GALE::
|
||||
Move_VICTORY_DANCE::
|
||||
Move_HEADLONG_RUSH::
|
||||
Move_BARB_BARRAGE::
|
||||
Move_ESPER_WING::
|
||||
Move_BITTER_MALICE::
|
||||
Move_SHELTER::
|
||||
Move_TRIPLE_ARROWS::
|
||||
Move_INFERNAL_PARADE::
|
||||
Move_CEASELESS_EDGE::
|
||||
Move_BLEAKWIND_STORM::
|
||||
Move_WILDBOLT_STORM::
|
||||
Move_SANDSEAR_STORM::
|
||||
Move_LUNAR_BLESSING::
|
||||
Move_TAKE_HEART::
|
||||
end @to do
|
||||
|
||||
@@@@@@@@@@@@@@@@@@@@@@@ GEN 1-3 @@@@@@@@@@@@@@@@@@@@@@@
|
||||
Move_NONE:
|
||||
@ -14697,14 +14719,14 @@ Move_DOUBLE_EDGE:
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, 0, ANIM_TARGET, 0
|
||||
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -32, 0, 0, 3
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, 0, 0
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, 1, 0
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_ATTACKER, 0
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_TARGET, 0
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 4, 0, 12, 1
|
||||
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
|
||||
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 2, 16, 0, RGB_WHITE
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, 0, 1
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, 1, 1
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_ATTACKER, 1
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_TARGET, 1
|
||||
waitforvisualfinish
|
||||
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5
|
||||
delay 3
|
||||
@ -16341,7 +16363,7 @@ Move_HORN_ATTACK:
|
||||
Move_FURY_ATTACK:
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
loadspritegfx ANIM_TAG_HORN_HIT
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 256, 0, 2
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 256, ANIM_ATTACKER, 2
|
||||
choosetwoturnanim FuryAttackRight, FuryAttackLeft
|
||||
FuryAttackContinue:
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1
|
||||
@ -16490,7 +16512,7 @@ Move_LOW_KICK:
|
||||
createsprite gSlidingKickSpriteTemplate, ANIM_TARGET, 2, -24, 28, 40, 8, 160, 0
|
||||
delay 4
|
||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -8, 8, ANIM_TARGET, 2
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 6, 384, 1, 2
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 6, 384, ANIM_TARGET, 2
|
||||
playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET
|
||||
waitforvisualfinish
|
||||
createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4
|
||||
@ -16735,7 +16757,7 @@ SkullBashSetUpHeadDown:
|
||||
createsprite gSlideMonToOffsetAndBackSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, -24, 0, 0, 10, 0
|
||||
playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 16, 96, 0, 2
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 2, 16, 96, ANIM_ATTACKER, 2
|
||||
waitforvisualfinish
|
||||
createsprite gSlideMonToOffsetAndBackSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 24, 0, 0, 10, 1
|
||||
waitforvisualfinish
|
||||
@ -17854,7 +17876,7 @@ Move_MIST_BALL:
|
||||
createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, F_PAL_BG, 1, 1, RGB(23, 16, 31), 16, RGB_WHITE, 16
|
||||
delay 0
|
||||
playsewithpan SE_M_HAZE, 0
|
||||
createvisualtask AnimTask_LoadMistTiles, 5
|
||||
createvisualtask AnimTask_MistBallFog, 5
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 3, 0, 16, RGB_WHITE
|
||||
delay 8
|
||||
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 70, 0
|
||||
@ -22454,14 +22476,14 @@ Move_ARM_THRUST:
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
splitbgprio ANIM_TARGET
|
||||
setalpha 12, 8
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 5, 8, 5, 0, 0
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 5, 8, 5, ANIM_ATTACKER, 0
|
||||
delay 6
|
||||
createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 3
|
||||
delay 4
|
||||
playsewithpan SE_M_SWAGGER, SOUND_PAN_TARGET
|
||||
createsprite gArmThrustHandSpriteTemplate, ANIM_TARGET, 2, 10, -8, 14, 3
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 5, 8, 5, 0, 1
|
||||
createvisualtask AnimTask_RotateMonSpriteToSide, 5, 8, 5, ANIM_ATTACKER, 1
|
||||
playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET
|
||||
choosetwoturnanim ArmThrustRight, ArmThrustLeft
|
||||
ArmThrustContinue:
|
||||
@ -24884,6 +24906,27 @@ PrimalReversionParticles:
|
||||
delay 3
|
||||
return
|
||||
|
||||
General_AffectionHangedOn::
|
||||
loadspritegfx ANIM_TAG_RED_HEART
|
||||
loopsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER, 12, 3
|
||||
createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER
|
||||
delay 15
|
||||
launchtask AnimTask_AffectionHangedOn 0x5 0x0
|
||||
jumpargeq 0x0, FRIENDSHIP_100_TO_149, General_AffectionHangedOn_3Hearts
|
||||
jumpargeq 0x0, FRIENDSHIP_150_TO_199, General_AffectionHangedOn_4Hearts
|
||||
jumpargeq 0x0, FRIENDSHIP_200_TO_254, General_AffectionHangedOn_5Hearts
|
||||
createsprite gRedHeartBurstSpriteTemplate, ANIM_ATTACKER, 3, -384, -31
|
||||
General_AffectionHangedOn_5Hearts:
|
||||
createsprite gRedHeartBurstSpriteTemplate, ANIM_ATTACKER, 3, -128, -22
|
||||
General_AffectionHangedOn_4Hearts:
|
||||
createsprite gRedHeartBurstSpriteTemplate, ANIM_ATTACKER, 3, 416, -38
|
||||
General_AffectionHangedOn_3Hearts:
|
||||
createsprite gRedHeartBurstSpriteTemplate, ANIM_ATTACKER, 3, 160, -32
|
||||
createsprite gRedHeartBurstSpriteTemplate, ANIM_ATTACKER, 3, -256, -40
|
||||
createsprite gRedHeartBurstSpriteTemplate, ANIM_ATTACKER, 3, 128, -16
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
SnatchMoveTrySwapFromSubstitute:
|
||||
createvisualtask AnimTask_IsAttackerBehindSubstitute, 2
|
||||
jumprettrue SnatchMoveSwapSubstituteForMon
|
||||
|
||||
@ -12,22 +12,6 @@
|
||||
|
||||
.section script_data, "aw", %progbits
|
||||
|
||||
.align 2
|
||||
gBattlescriptsForBallThrow::
|
||||
.4byte BattleScript_BallThrow @ ITEM_NONE
|
||||
.4byte BattleScript_BallThrow @ ITEM_MASTER_BALL
|
||||
.4byte BattleScript_BallThrow @ ITEM_ULTRA_BALL
|
||||
.4byte BattleScript_BallThrow @ ITEM_GREAT_BALL
|
||||
.4byte BattleScript_BallThrow @ ITEM_POKE_BALL
|
||||
.4byte BattleScript_SafariBallThrow @ ITEM_SAFARI_BALL
|
||||
.4byte BattleScript_BallThrow @ ITEM_NET_BALL
|
||||
.4byte BattleScript_BallThrow @ ITEM_DIVE_BALL
|
||||
.4byte BattleScript_BallThrow @ ITEM_NEST_BALL
|
||||
.4byte BattleScript_BallThrow @ ITEM_REPEAT_BALL
|
||||
.4byte BattleScript_BallThrow @ ITEM_TIMER_BALL
|
||||
.4byte BattleScript_BallThrow @ ITEM_LUXURY_BALL
|
||||
.4byte BattleScript_BallThrow @ ITEM_PREMIER_BALL
|
||||
|
||||
.align 2
|
||||
gBattlescriptsForUsingItem::
|
||||
.4byte BattleScript_PlayerUsesItem
|
||||
@ -64,7 +48,6 @@ BattleScript_SafariBallThrow::
|
||||
|
||||
BattleScript_SuccessBallThrow::
|
||||
setbyte sMON_CAUGHT, TRUE
|
||||
jumpifhalfword CMP_EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_PrintCaughtMonInfo
|
||||
incrementgamestat GAME_STAT_POKEMON_CAPTURES
|
||||
BattleScript_PrintCaughtMonInfo::
|
||||
printstring STRINGID_GOTCHAPKMNCAUGHT
|
||||
|
||||
@ -53,11 +53,11 @@ AbandonedShip_HiddenFloorCorridors_EventScript_LockRoom6::
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door::
|
||||
lockall
|
||||
goto_if_set FLAG_USED_ROOM_1_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
|
||||
checkitem ITEM_ROOM_1_KEY
|
||||
checkitem ITEM_KEY_TO_ROOM_1
|
||||
goto_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorCorridors_EventScript_Rm1IsLocked
|
||||
msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
|
||||
playse SE_PIN
|
||||
removeitem ITEM_ROOM_1_KEY
|
||||
removeitem ITEM_KEY_TO_ROOM_1
|
||||
setflag FLAG_USED_ROOM_1_KEY
|
||||
call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom1
|
||||
special DrawWholeMapView
|
||||
@ -67,11 +67,11 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room1Door::
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door::
|
||||
lockall
|
||||
goto_if_set FLAG_USED_ROOM_2_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
|
||||
checkitem ITEM_ROOM_2_KEY
|
||||
checkitem ITEM_KEY_TO_ROOM_2
|
||||
goto_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorCorridors_EventScript_Rm2IsLocked
|
||||
msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
|
||||
playse SE_PIN
|
||||
removeitem ITEM_ROOM_2_KEY
|
||||
removeitem ITEM_KEY_TO_ROOM_2
|
||||
setflag FLAG_USED_ROOM_2_KEY
|
||||
call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom2
|
||||
special DrawWholeMapView
|
||||
@ -81,11 +81,11 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room2Door::
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door::
|
||||
lockall
|
||||
goto_if_set FLAG_USED_ROOM_4_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
|
||||
checkitem ITEM_ROOM_4_KEY
|
||||
checkitem ITEM_KEY_TO_ROOM_4
|
||||
goto_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorCorridors_EventScript_Rm4IsLocked
|
||||
msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
|
||||
playse SE_PIN
|
||||
removeitem ITEM_ROOM_4_KEY
|
||||
removeitem ITEM_KEY_TO_ROOM_4
|
||||
setflag FLAG_USED_ROOM_4_KEY
|
||||
call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom4
|
||||
special DrawWholeMapView
|
||||
@ -95,11 +95,11 @@ AbandonedShip_HiddenFloorCorridors_EventScript_Room4Door::
|
||||
AbandonedShip_HiddenFloorCorridors_EventScript_Room6Door::
|
||||
lockall
|
||||
goto_if_set FLAG_USED_ROOM_6_KEY, AbandonedShip_HiddenFloorCorridors_EventScript_TheDoorIsOpen
|
||||
checkitem ITEM_ROOM_6_KEY
|
||||
checkitem ITEM_KEY_TO_ROOM_6
|
||||
goto_if_eq VAR_RESULT, FALSE, AbandonedShip_HiddenFloorCorridors_EventScript_Rm6IsLocked
|
||||
msgbox AbandonedShip_HiddenFloorCorridors_Text_InsertedKey, MSGBOX_DEFAULT
|
||||
playse SE_PIN
|
||||
removeitem ITEM_ROOM_6_KEY
|
||||
removeitem ITEM_KEY_TO_ROOM_6
|
||||
setflag FLAG_USED_ROOM_6_KEY
|
||||
call AbandonedShip_HiddenFloorCorridors_EventScript_UnlockRoom6
|
||||
special DrawWholeMapView
|
||||
|
||||
@ -139,7 +139,7 @@
|
||||
"x": 42,
|
||||
"y": 10,
|
||||
"elevation": 3,
|
||||
"item": "ITEM_ROOM_1_KEY",
|
||||
"item": "ITEM_KEY_TO_ROOM_1",
|
||||
"flag": "FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY"
|
||||
},
|
||||
{
|
||||
@ -147,7 +147,7 @@
|
||||
"x": 20,
|
||||
"y": 5,
|
||||
"elevation": 3,
|
||||
"item": "ITEM_ROOM_2_KEY",
|
||||
"item": "ITEM_KEY_TO_ROOM_2",
|
||||
"flag": "FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY"
|
||||
},
|
||||
{
|
||||
@ -155,7 +155,7 @@
|
||||
"x": 1,
|
||||
"y": 12,
|
||||
"elevation": 3,
|
||||
"item": "ITEM_ROOM_4_KEY",
|
||||
"item": "ITEM_KEY_TO_ROOM_4",
|
||||
"flag": "FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY"
|
||||
},
|
||||
{
|
||||
@ -163,7 +163,7 @@
|
||||
"x": 1,
|
||||
"y": 2,
|
||||
"elevation": 0,
|
||||
"item": "ITEM_ROOM_6_KEY",
|
||||
"item": "ITEM_KEY_TO_ROOM_6",
|
||||
"flag": "FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_6_KEY"
|
||||
},
|
||||
{
|
||||
|
||||
@ -472,8 +472,8 @@ BattleFrontier_BattlePalaceLobby_Text_FeatWillBeRecorded:
|
||||
|
||||
@ Unused
|
||||
BattleFrontier_BattlePalaceLobby_Text_BattlePointsFor7WinStreak:
|
||||
.string "For the feat of your 7-win streak,\n"
|
||||
.string "we present you with Battle Point(s).$"
|
||||
.string "For the feat of your 7-win streak,\n"
|
||||
.string "we present you with Battle Point(s).$"
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_Text_NoSpaceForPrize:
|
||||
.string "You seem to have no space for\n"
|
||||
|
||||
@ -67,51 +67,61 @@ BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove::
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_Softboiled::
|
||||
setvar VAR_0x8008, 16
|
||||
setvar VAR_0x8005, MOVE_SOFT_BOILED
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_SeismicToss::
|
||||
setvar VAR_0x8008, 24
|
||||
setvar VAR_0x8005, MOVE_SEISMIC_TOSS
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_DreamEater::
|
||||
setvar VAR_0x8008, 24
|
||||
setvar VAR_0x8005, MOVE_DREAM_EATER
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_MegaPunch::
|
||||
setvar VAR_0x8008, 24
|
||||
setvar VAR_0x8005, MOVE_MEGA_PUNCH
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_MegaKick::
|
||||
setvar VAR_0x8008, 48
|
||||
setvar VAR_0x8005, MOVE_MEGA_KICK
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_BodySlam::
|
||||
setvar VAR_0x8008, 48
|
||||
setvar VAR_0x8005, MOVE_BODY_SLAM
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_RockSlide::
|
||||
setvar VAR_0x8008, 48
|
||||
setvar VAR_0x8005, MOVE_ROCK_SLIDE
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_Counter::
|
||||
setvar VAR_0x8008, 48
|
||||
setvar VAR_0x8005, MOVE_COUNTER
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_ThunderWave::
|
||||
setvar VAR_0x8008, 48
|
||||
setvar VAR_0x8005, MOVE_THUNDER_WAVE
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_SwordsDance::
|
||||
setvar VAR_0x8008, 48
|
||||
setvar VAR_0x8005, MOVE_SWORDS_DANCE
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
@ -135,7 +145,6 @@ BattleFrontier_Lounge7_EventScript_ChooseRightTutorMove::
|
||||
waitmessage
|
||||
special ShowBattlePointsWindow
|
||||
setvar VAR_TEMP_E, 1
|
||||
setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2
|
||||
setvar VAR_0x8006, 0
|
||||
special ShowScrollableMultichoice
|
||||
waitstate
|
||||
@ -159,7 +168,6 @@ BattleFrontier_Lounge7_EventScript_ChooseNewRightTutorMove::
|
||||
message BattleFrontier_Lounge7_Text_TeachWhichMove
|
||||
waitmessage
|
||||
setvar VAR_TEMP_E, 1
|
||||
setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2
|
||||
setvar VAR_0x8006, 1
|
||||
special ShowScrollableMultichoice
|
||||
waitstate
|
||||
@ -181,51 +189,61 @@ BattleFrontier_Lounge7_EventScript_ChooseNewRightTutorMove::
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_DefenseCurl::
|
||||
setvar VAR_0x8008, 16
|
||||
setvar VAR_0x8005, MOVE_DEFENSE_CURL
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_Snore::
|
||||
setvar VAR_0x8008, 24
|
||||
setvar VAR_0x8005, MOVE_SNORE
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_MudSlap::
|
||||
setvar VAR_0x8008, 24
|
||||
setvar VAR_0x8005, MOVE_MUD_SLAP
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_Swift::
|
||||
setvar VAR_0x8008, 24
|
||||
setvar VAR_0x8005, MOVE_SWIFT
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_IcyWind::
|
||||
setvar VAR_0x8008, 24
|
||||
setvar VAR_0x8005, MOVE_ICY_WIND
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_Endure::
|
||||
setvar VAR_0x8008, 48
|
||||
setvar VAR_0x8005, MOVE_ENDURE
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_PsychUp::
|
||||
setvar VAR_0x8008, 48
|
||||
setvar VAR_0x8005, MOVE_PSYCH_UP
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_IcePunch::
|
||||
setvar VAR_0x8008, 48
|
||||
setvar VAR_0x8005, MOVE_ICE_PUNCH
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_ThunderPunch::
|
||||
setvar VAR_0x8008, 48
|
||||
setvar VAR_0x8005, MOVE_THUNDER_PUNCH
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_FirePunch::
|
||||
setvar VAR_0x8008, 48
|
||||
setvar VAR_0x8005, MOVE_FIRE_PUNCH
|
||||
goto BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection
|
||||
end
|
||||
|
||||
@ -246,11 +264,8 @@ BattleFrontier_Lounge7_EventScript_CancelChooseMon::
|
||||
@ VAR_TEMP_D is the move selection
|
||||
@ VAR_TEMP_E is which move tutor was spoken to
|
||||
BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection::
|
||||
copyvar VAR_0x8004, VAR_TEMP_D
|
||||
copyvar VAR_0x8005, VAR_TEMP_E
|
||||
special BufferBattleFrontierTutorMoveName
|
||||
buffernumberstring STR_VAR_2, VAR_0x8008
|
||||
copyvar VAR_0x8004, VAR_TEMP_C
|
||||
msgbox BattleFrontier_Lounge7_Text_MoveWillBeXBattlePoints, MSGBOX_YESNO
|
||||
goto_if_eq VAR_RESULT, NO, BattleFrontier_Lounge7_EventScript_ChooseNewMove
|
||||
specialvar VAR_TEMP_1, GetFrontierBattlePoints
|
||||
@ -261,7 +276,6 @@ BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection::
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_TeachTutorMove::
|
||||
msgbox BattleFrontier_Lounge7_Text_TeachMoveToWhichMon, MSGBOX_DEFAULT
|
||||
special GetBattleFrontierTutorMoveIndex
|
||||
fadescreen FADE_TO_BLACK
|
||||
special CloseBattlePointsWindow
|
||||
special CloseBattleFrontierTutorWindow
|
||||
|
||||
@ -33,8 +33,8 @@ EverGrandeCity_ChampionsRoom_EventScript_EnterRoom::
|
||||
waitmovement 0
|
||||
setvar VAR_TEMP_1, 1
|
||||
goto EverGrandeCity_ChampionsRoom_EventScript_Wallace
|
||||
releaseall
|
||||
end
|
||||
releaseall
|
||||
end
|
||||
|
||||
EverGrandeCity_ChampionsRoom_Movement_PlayerApproachWallace:
|
||||
walk_up
|
||||
|
||||
@ -19,10 +19,10 @@ FallarborTown_Mart_Pokemart:
|
||||
.2byte ITEM_PARALYZE_HEAL
|
||||
.2byte ITEM_ESCAPE_ROPE
|
||||
.2byte ITEM_SUPER_REPEL
|
||||
.2byte ITEM_X_SPECIAL
|
||||
.2byte ITEM_X_SP_ATK
|
||||
.2byte ITEM_X_SPEED
|
||||
.2byte ITEM_X_ATTACK
|
||||
.2byte ITEM_X_DEFEND
|
||||
.2byte ITEM_X_DEFENSE
|
||||
.2byte ITEM_DIRE_HIT
|
||||
.2byte ITEM_GUARD_SPEC
|
||||
.2byte ITEM_NONE
|
||||
|
||||
@ -19,7 +19,7 @@ FortreeCity_DecorationShop_EventScript_ClerkDesks::
|
||||
release
|
||||
end
|
||||
|
||||
.align 2
|
||||
.align 2
|
||||
FortreeCity_DecorationShop_PokemartDecor_Desks:
|
||||
.2byte DECOR_SMALL_DESK
|
||||
.2byte DECOR_POKEMON_DESK
|
||||
|
||||
@ -36,9 +36,9 @@ LilycoveCity_DepartmentStore_3F_EventScript_ClerkRight::
|
||||
.align 2
|
||||
LilycoveCity_DepartmentStore_3F_Pokemart_StatBoosters:
|
||||
.2byte ITEM_X_SPEED
|
||||
.2byte ITEM_X_SPECIAL
|
||||
.2byte ITEM_X_SP_ATK
|
||||
.2byte ITEM_X_ATTACK
|
||||
.2byte ITEM_X_DEFEND
|
||||
.2byte ITEM_X_DEFENSE
|
||||
.2byte ITEM_DIRE_HIT
|
||||
.2byte ITEM_GUARD_SPEC
|
||||
.2byte ITEM_X_ACCURACY
|
||||
|
||||
@ -21,7 +21,7 @@ MauvilleCity_Mart_Pokemart:
|
||||
.2byte ITEM_AWAKENING
|
||||
.2byte ITEM_X_SPEED
|
||||
.2byte ITEM_X_ATTACK
|
||||
.2byte ITEM_X_DEFEND
|
||||
.2byte ITEM_X_DEFENSE
|
||||
.2byte ITEM_GUARD_SPEC
|
||||
.2byte ITEM_DIRE_HIT
|
||||
.2byte ITEM_X_ACCURACY
|
||||
|
||||
@ -21,7 +21,7 @@ MossdeepCity_Mart_Pokemart:
|
||||
.2byte ITEM_REVIVE
|
||||
.2byte ITEM_MAX_REPEL
|
||||
.2byte ITEM_X_ATTACK
|
||||
.2byte ITEM_X_DEFEND
|
||||
.2byte ITEM_X_DEFENSE
|
||||
.2byte ITEM_NONE
|
||||
release
|
||||
end
|
||||
|
||||
@ -158,7 +158,7 @@
|
||||
"y": 9,
|
||||
"elevation": 0,
|
||||
"player_facing_dir": "BG_EVENT_PLAYER_FACING_ANY",
|
||||
"script": "OldaleTown_EventScript_CitySign"
|
||||
"script": "OldaleTown_EventScript_TownSign"
|
||||
},
|
||||
{
|
||||
"type": "sign",
|
||||
|
||||
@ -29,8 +29,8 @@ OldaleTown_EventScript_MoveMartEmployee::
|
||||
setobjectmovementtype LOCALID_MART_EMPLOYEE, MOVEMENT_TYPE_FACE_DOWN
|
||||
return
|
||||
|
||||
OldaleTown_EventScript_CitySign::
|
||||
msgbox OldaleTown_Text_CitySign, MSGBOX_SIGN
|
||||
OldaleTown_EventScript_TownSign::
|
||||
msgbox OldaleTown_Text_TownSign, MSGBOX_SIGN
|
||||
end
|
||||
|
||||
OldaleTown_EventScript_Girl::
|
||||
@ -395,7 +395,7 @@ OldaleTown_Text_BrendanLetsGoBack:
|
||||
.string "LAB now.\l"
|
||||
.string "{PLAYER}, you should hustle back, too.$"
|
||||
|
||||
OldaleTown_Text_CitySign:
|
||||
OldaleTown_Text_TownSign:
|
||||
.string "OLDALE TOWN\n"
|
||||
.string "“Where things start off scarce.”$"
|
||||
|
||||
|
||||
@ -11,9 +11,9 @@ PacifidlogTown_House2_EventScript_FanClubYoungerBrother::
|
||||
call_if_unset FLAG_MET_FANCLUB_YOUNGER_BROTHER, PacifidlogTown_House2_EventScript_FirstMonAssessment
|
||||
setflag FLAG_MET_FANCLUB_YOUNGER_BROTHER
|
||||
specialvar VAR_RESULT, GetLeadMonFriendshipScore
|
||||
goto_if_ge VAR_RESULT, 4, PacifidlogTown_House2_EventScript_GiveReturn
|
||||
goto_if_ge VAR_RESULT, FRIENDSHIP_150_TO_199, PacifidlogTown_House2_EventScript_GiveReturn
|
||||
specialvar VAR_RESULT, GetLeadMonFriendshipScore
|
||||
goto_if_ge VAR_RESULT, 2, PacifidlogTown_House2_EventScript_PutInEffort
|
||||
goto_if_ge VAR_RESULT, FRIENDSHIP_50_TO_99, PacifidlogTown_House2_EventScript_PutInEffort
|
||||
goto PacifidlogTown_House2_EventScript_GiveFrustration
|
||||
end
|
||||
|
||||
|
||||
@ -351,9 +351,9 @@ PetalburgCity_Gym_EventScript_NormanRematch::
|
||||
PetalburgCity_Gym_EventScript_ShouldGiveEnigmaBerry::
|
||||
specialvar VAR_RESULT, IsEnigmaBerryValid
|
||||
goto_if_eq VAR_RESULT, FALSE, PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
|
||||
checkitem ITEM_ENIGMA_BERRY
|
||||
checkitem ITEM_ENIGMA_BERRY_E_READER
|
||||
goto_if_eq VAR_RESULT, TRUE, PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
|
||||
checkpcitem ITEM_ENIGMA_BERRY
|
||||
checkpcitem ITEM_ENIGMA_BERRY_E_READER
|
||||
goto_if_eq VAR_RESULT, TRUE, PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
|
||||
goto_if_eq VAR_ENIGMA_BERRY_AVAILABLE, 0, PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry
|
||||
msgbox PetalburgCity_Gym_Text_GiveEnigmaBerry, MSGBOX_DEFAULT
|
||||
@ -365,7 +365,7 @@ PetalburgCity_Gym_EventScript_DontGiveEnigmaBerry::
|
||||
return
|
||||
|
||||
PetalburgCity_Gym_EventScript_GiveEnigmaBerry::
|
||||
giveitem ITEM_ENIGMA_BERRY
|
||||
giveitem ITEM_ENIGMA_BERRY_E_READER
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setvar VAR_ENIGMA_BERRY_AVAILABLE, 0
|
||||
release
|
||||
|
||||
@ -23,7 +23,7 @@ PetalburgCity_Mart_Pokemart_Basic:
|
||||
.2byte ITEM_REPEL
|
||||
.2byte ITEM_X_SPEED
|
||||
.2byte ITEM_X_ATTACK
|
||||
.2byte ITEM_X_DEFEND
|
||||
.2byte ITEM_X_DEFENSE
|
||||
.2byte ITEM_ORANGE_MAIL
|
||||
.2byte ITEM_NONE
|
||||
release
|
||||
@ -48,7 +48,7 @@ PetalburgCity_Mart_Pokemart_Expanded:
|
||||
.2byte ITEM_REPEL
|
||||
.2byte ITEM_X_SPEED
|
||||
.2byte ITEM_X_ATTACK
|
||||
.2byte ITEM_X_DEFEND
|
||||
.2byte ITEM_X_DEFENSE
|
||||
.2byte ITEM_ORANGE_MAIL
|
||||
.2byte ITEM_NONE
|
||||
release
|
||||
|
||||
@ -463,7 +463,7 @@ Route110_EventScript_BrendanDefeated::
|
||||
end
|
||||
|
||||
Route110_EventScript_GiveItemfinder::
|
||||
giveitem ITEM_ITEMFINDER
|
||||
giveitem ITEM_DOWSING_MACHINE
|
||||
return
|
||||
|
||||
Route110_EventScript_RivalExit::
|
||||
|
||||
@ -144,7 +144,7 @@ Route111_EventScript_RootFossilDisappeared::
|
||||
|
||||
@ Unused
|
||||
Route111_Movement_PlayerFall::
|
||||
store_lock_anim
|
||||
lock_anim
|
||||
walk_fast_down
|
||||
walk_fast_down
|
||||
walk_fast_down
|
||||
|
||||
@ -27,7 +27,7 @@ RustboroCity_Mart_Pokemart_Basic:
|
||||
.2byte ITEM_REPEL
|
||||
.2byte ITEM_X_SPEED
|
||||
.2byte ITEM_X_ATTACK
|
||||
.2byte ITEM_X_DEFEND
|
||||
.2byte ITEM_X_DEFENSE
|
||||
.2byte ITEM_NONE
|
||||
release
|
||||
end
|
||||
@ -51,7 +51,7 @@ RustboroCity_Mart_Pokemart_Expanded:
|
||||
.2byte ITEM_REPEL
|
||||
.2byte ITEM_X_SPEED
|
||||
.2byte ITEM_X_ATTACK
|
||||
.2byte ITEM_X_DEFEND
|
||||
.2byte ITEM_X_DEFENSE
|
||||
.2byte ITEM_NONE
|
||||
release
|
||||
end
|
||||
|
||||
@ -308,7 +308,7 @@ RusturfTunnel_EventScript_Grunt::
|
||||
msgbox RusturfTunnel_Text_GruntIntro, MSGBOX_DEFAULT
|
||||
trainerbattle_no_intro TRAINER_GRUNT_RUSTURF_TUNNEL, RusturfTunnel_Text_GruntDefeat
|
||||
msgbox RusturfTunnel_Text_GruntTakePackage, MSGBOX_DEFAULT
|
||||
giveitem ITEM_DEVON_GOODS
|
||||
giveitem ITEM_DEVON_PARTS
|
||||
closemessage
|
||||
applymovement OBJ_EVENT_ID_PLAYER, RusturfTunnel_Movement_PushPlayerAsideForGrunt
|
||||
applymovement LOCALID_GRUNT, RusturfTunnel_Movement_GruntEscape
|
||||
|
||||
@ -71,7 +71,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_CaptStern::
|
||||
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterRight
|
||||
waitmovement 0
|
||||
msgbox SlateportCity_OceanicMuseum_2F_Text_SternThankYouForSavingUs, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8004, ITEM_DEVON_GOODS
|
||||
setvar VAR_0x8004, ITEM_DEVON_PARTS
|
||||
call Common_EventScript_PlayerHandedOverTheItem
|
||||
msgbox SlateportCity_OceanicMuseum_2F_Text_SternIveGotToGo, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
|
||||
@ -192,7 +192,7 @@ SlateportCity_PokemonFanClub_EventScript_SootheBellWoman::
|
||||
goto_if_set FLAG_RECEIVED_SOOTHE_BELL, SlateportCity_PokemonFanClub_EventScript_ReceivedSootheBell
|
||||
msgbox SlateportCity_PokemonFanClub_Text_ShowMePokemonThatLoveYou, MSGBOX_DEFAULT
|
||||
specialvar VAR_RESULT, GetLeadMonFriendshipScore
|
||||
goto_if_ge VAR_RESULT, 4, SlateportCity_PokemonFanClub_EventScript_GiveSootheBell
|
||||
goto_if_ge VAR_RESULT, FRIENDSHIP_150_TO_199, SlateportCity_PokemonFanClub_EventScript_GiveSootheBell
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ SootopolisCity_Mart_Pokemart:
|
||||
.2byte ITEM_REVIVE
|
||||
.2byte ITEM_MAX_REPEL
|
||||
.2byte ITEM_X_ATTACK
|
||||
.2byte ITEM_X_DEFEND
|
||||
.2byte ITEM_X_DEFENSE
|
||||
.2byte ITEM_SHADOW_MAIL
|
||||
.2byte ITEM_NONE
|
||||
release
|
||||
|
||||
@ -259,9 +259,9 @@ TrainerHill_Entrance_Pokemart_Basic:
|
||||
.2byte ITEM_PARALYZE_HEAL
|
||||
.2byte ITEM_AWAKENING
|
||||
.2byte ITEM_X_SPEED
|
||||
.2byte ITEM_X_SPECIAL
|
||||
.2byte ITEM_X_SP_ATK
|
||||
.2byte ITEM_X_ATTACK
|
||||
.2byte ITEM_X_DEFEND
|
||||
.2byte ITEM_X_DEFENSE
|
||||
.2byte ITEM_DIRE_HIT
|
||||
.2byte ITEM_GUARD_SPEC
|
||||
.2byte ITEM_X_ACCURACY
|
||||
@ -283,9 +283,9 @@ TrainerHill_Entrance_Pokemart_Expanded:
|
||||
.2byte ITEM_FULL_HEAL
|
||||
.2byte ITEM_REVIVE
|
||||
.2byte ITEM_X_SPEED
|
||||
.2byte ITEM_X_SPECIAL
|
||||
.2byte ITEM_X_SP_ATK
|
||||
.2byte ITEM_X_ATTACK
|
||||
.2byte ITEM_X_DEFEND
|
||||
.2byte ITEM_X_DEFENSE
|
||||
.2byte ITEM_DIRE_HIT
|
||||
.2byte ITEM_GUARD_SPEC
|
||||
.2byte ITEM_X_ACCURACY
|
||||
|
||||
@ -7,13 +7,13 @@ VerdanturfTown_FriendshipRatersHouse_EventScript_FriendshipRater::
|
||||
msgbox VerdanturfTown_FriendshipRatersHouse_Text_SeeHowMuchPokemonLikesYou, MSGBOX_DEFAULT
|
||||
specialvar VAR_RESULT, GetLeadMonFriendshipScore
|
||||
switch VAR_RESULT
|
||||
case 0, VerdanturfTown_FriendshipRatersHouse_EventScript_DetestsYou
|
||||
case 1, VerdanturfTown_FriendshipRatersHouse_EventScript_VeryWary
|
||||
case 2, VerdanturfTown_FriendshipRatersHouse_EventScript_NotUsedToYou
|
||||
case 3, VerdanturfTown_FriendshipRatersHouse_EventScript_GettingUsedToYou
|
||||
case 4, VerdanturfTown_FriendshipRatersHouse_EventScript_LikesYouQuiteALot
|
||||
case 5, VerdanturfTown_FriendshipRatersHouse_EventScript_VeryHappy
|
||||
case 6, VerdanturfTown_FriendshipRatersHouse_EventScript_AdoresYou
|
||||
case FRIENDSHIP_NONE, VerdanturfTown_FriendshipRatersHouse_EventScript_DetestsYou
|
||||
case FRIENDSHIP_1_TO_49, VerdanturfTown_FriendshipRatersHouse_EventScript_VeryWary
|
||||
case FRIENDSHIP_50_TO_99, VerdanturfTown_FriendshipRatersHouse_EventScript_NotUsedToYou
|
||||
case FRIENDSHIP_100_TO_149, VerdanturfTown_FriendshipRatersHouse_EventScript_GettingUsedToYou
|
||||
case FRIENDSHIP_150_TO_199, VerdanturfTown_FriendshipRatersHouse_EventScript_LikesYouQuiteALot
|
||||
case FRIENDSHIP_200_TO_254, VerdanturfTown_FriendshipRatersHouse_EventScript_VeryHappy
|
||||
case FRIENDSHIP_MAX, VerdanturfTown_FriendshipRatersHouse_EventScript_AdoresYou
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ VerdanturfTown_Mart_Pokemart:
|
||||
.2byte ITEM_BURN_HEAL
|
||||
.2byte ITEM_ICE_HEAL
|
||||
.2byte ITEM_REPEL
|
||||
.2byte ITEM_X_SPECIAL
|
||||
.2byte ITEM_X_SP_ATK
|
||||
.2byte ITEM_FLUFFY_TAIL
|
||||
.2byte ITEM_NONE
|
||||
release
|
||||
|
||||
@ -127,7 +127,7 @@ Route115_EventScript_ItemPPUp::
|
||||
end
|
||||
|
||||
Route116_EventScript_ItemXSpecial::
|
||||
finditem ITEM_X_SPECIAL
|
||||
finditem ITEM_X_SP_ATK
|
||||
end
|
||||
|
||||
Route116_EventScript_ItemEther::
|
||||
@ -315,7 +315,7 @@ MauvilleCity_EventScript_ItemXSpeed::
|
||||
end
|
||||
|
||||
RustboroCity_EventScript_ItemXDefend::
|
||||
finditem ITEM_X_DEFEND
|
||||
finditem ITEM_X_DEFENSE
|
||||
end
|
||||
|
||||
LilycoveCity_EventScript_ItemMaxRepel::
|
||||
|
||||
@ -315,7 +315,7 @@ MauvilleCity_PokemonCenter_1F_Text_TrendsStartedStory::
|
||||
.string "the HOENN region!$"
|
||||
|
||||
MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedTitle::
|
||||
.string "The BERRY-Planting TRAINER$"
|
||||
.string "The BERRY-Planting TRAINER$"
|
||||
|
||||
MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedAction::
|
||||
.string "Planted BERRIES$"
|
||||
|
||||
@ -7,7 +7,7 @@ SlateportCity_PokemonFanClub_EventScript_SwaggerTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_SwaggerDeclined
|
||||
msgbox MoveTutor_Text_SwaggerWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_SWAGGER
|
||||
setvar VAR_0x8005, MOVE_SWAGGER
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_SwaggerDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_SWAGGER
|
||||
@ -33,7 +33,7 @@ MauvilleCity_EventScript_RolloutTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_RolloutDeclined
|
||||
msgbox MoveTutor_Text_RolloutWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_ROLLOUT
|
||||
setvar VAR_0x8005, MOVE_ROLLOUT
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_RolloutDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_ROLLOUT
|
||||
@ -59,7 +59,7 @@ VerdanturfTown_PokemonCenter_1F_EventScript_FuryCutterTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_FuryCutterDeclined
|
||||
msgbox MoveTutor_Text_FuryCutterWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_FURY_CUTTER
|
||||
setvar VAR_0x8005, MOVE_FURY_CUTTER
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_FuryCutterDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_FURY_CUTTER
|
||||
@ -85,7 +85,7 @@ LavaridgeTown_House_EventScript_MimicTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_MimicDeclined
|
||||
msgbox MoveTutor_Text_MimicWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_MIMIC
|
||||
setvar VAR_0x8005, MOVE_MIMIC
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_MimicDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_MIMIC
|
||||
@ -111,7 +111,7 @@ FallarborTown_Mart_EventScript_MetronomeTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_MetronomeDeclined
|
||||
msgbox MoveTutor_Text_MetronomeWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_METRONOME
|
||||
setvar VAR_0x8005, MOVE_METRONOME
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_MetronomeDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_METRONOME
|
||||
@ -137,7 +137,7 @@ FortreeCity_House2_EventScript_SleepTalkTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_SleepTalkDeclined
|
||||
msgbox MoveTutor_Text_SleepTalkWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_SLEEP_TALK
|
||||
setvar VAR_0x8005, MOVE_SLEEP_TALK
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_SleepTalkDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_SLEEP_TALK
|
||||
@ -163,7 +163,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_SubstituteTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_SubstituteDeclined
|
||||
msgbox MoveTutor_Text_SubstituteWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_SUBSTITUTE
|
||||
setvar VAR_0x8005, MOVE_SUBSTITUTE
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_SubstituteDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_SUBSTITUTE
|
||||
@ -189,7 +189,7 @@ MossdeepCity_EventScript_DynamicPunchTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_DynamicPunchDeclined
|
||||
msgbox MoveTutor_Text_DynamicPunchWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_DYNAMIC_PUNCH
|
||||
setvar VAR_0x8005, MOVE_DYNAMIC_PUNCH
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_DynamicPunchDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_DYNAMICPUNCH
|
||||
@ -215,7 +215,7 @@ SootopolisCity_PokemonCenter_1F_EventScript_DoubleEdgeTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_DoubleEdgeDeclined
|
||||
msgbox MoveTutor_Text_DoubleEdgeWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_DOUBLE_EDGE
|
||||
setvar VAR_0x8005, MOVE_DOUBLE_EDGE
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_DoubleEdgeDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_DOUBLE_EDGE
|
||||
@ -241,7 +241,7 @@ PacifidlogTown_PokemonCenter_1F_EventScript_ExplosionTutor::
|
||||
call MoveTutor_EventScript_CanOnlyBeLearnedOnce
|
||||
goto_if_eq VAR_RESULT, NO, MoveTutor_EventScript_ExplosionDeclined
|
||||
msgbox MoveTutor_Text_ExplosionWhichMon, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8005, TUTOR_MOVE_EXPLOSION
|
||||
setvar VAR_0x8005, MOVE_EXPLOSION
|
||||
call MoveTutor_EventScript_OpenPartyMenu
|
||||
goto_if_eq VAR_RESULT, 0, MoveTutor_EventScript_ExplosionDeclined
|
||||
setflag FLAG_MOVE_TUTOR_TAUGHT_EXPLOSION
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
.include "asm/macros/m4a.inc"
|
||||
.include "asm/macros/music_voice.inc"
|
||||
|
||||
.include "include/constants/pokemon_config.h"
|
||||
.include "sound/voice_groups.inc"
|
||||
.include "sound/keysplit_tables.inc"
|
||||
.include "sound/programmable_wave_data.inc"
|
||||
|
||||
@ -486,7 +486,6 @@ gSpecials::
|
||||
def_special CloseBattleFrontierTutorWindow
|
||||
def_special ScrollableMultichoice_RedrawPersistentMenu
|
||||
def_special ChooseMonForMoveTutor
|
||||
def_special GetBattleFrontierTutorMoveIndex
|
||||
def_special ScrollableMultichoice_ClosePersistentMenu
|
||||
def_special DoDeoxysRockInteraction
|
||||
def_special SetDeoxysRockPalette
|
||||
@ -536,3 +535,4 @@ gSpecials::
|
||||
def_special CloseDeptStoreElevatorWindow
|
||||
def_special TrySetBattleTowerLinkType
|
||||
def_special SetTotemBoost
|
||||
def_special TrySpecialOverworldEvo
|
||||
|
||||
@ -1,71 +1,71 @@
|
||||
EventTicket_Text_OldSeaMapTooFar:
|
||||
.string "What's up, youngster?\p"
|
||||
.string "What, it's you who's supposed to have\n"
|
||||
.string "a tattered old map?\p"
|
||||
.string "Let's have a look.\n"
|
||||
.string "… … … … … …\p"
|
||||
.string "Boy, this is quite a ways away.\n"
|
||||
.string "I'm afraid I can't help you…$"
|
||||
.string "What's up, youngster?\p"
|
||||
.string "What, it's you who's supposed to have\n"
|
||||
.string "a tattered old map?\p"
|
||||
.string "Let's have a look.\n"
|
||||
.string "… … … … … …\p"
|
||||
.string "Boy, this is quite a ways away.\n"
|
||||
.string "I'm afraid I can't help you…$"
|
||||
|
||||
EventTicket_Text_BrineyHoldOnASecond:
|
||||
.string "BRINEY: Hold on a second!\p"
|
||||
.string "What's the idea of turning down\n"
|
||||
.string "someone that I owe so much to?$"
|
||||
.string "BRINEY: Hold on a second!\p"
|
||||
.string "What's the idea of turning down\n"
|
||||
.string "someone that I owe so much to?$"
|
||||
|
||||
EventTicket_Text_BrineyLetsSail:
|
||||
.string "{PLAYER}{KUN}, I'm terribly sorry.\p"
|
||||
.string "You came to me seeking my help,\n"
|
||||
.string "and we almost turned you away.\p"
|
||||
.string "Well, let me make things right.\p"
|
||||
.string "We'll sail right away, of course!\p"
|
||||
.string "Let's find this island on\n"
|
||||
.string "this OLD SEA MAP!$"
|
||||
.string "{PLAYER}{KUN}, I'm terribly sorry.\p"
|
||||
.string "You came to me seeking my help,\n"
|
||||
.string "and we almost turned you away.\p"
|
||||
.string "Well, let me make things right.\p"
|
||||
.string "We'll sail right away, of course!\p"
|
||||
.string "Let's find this island on\n"
|
||||
.string "this OLD SEA MAP!$"
|
||||
|
||||
EventTicket_Text_OddTicketGetOnBoard:
|
||||
.string "Is it you who brought that odd\n"
|
||||
.string "ticket?\p"
|
||||
.string "Where you're trying to go is an island\n"
|
||||
.string "that's far, far away.\p"
|
||||
.string "No one knows what awaits there…\p"
|
||||
.string "The very thought excites my blood\n"
|
||||
.string "as a sailing man!\p"
|
||||
.string "Get on board, youngster!$"
|
||||
.string "Is it you who brought that odd\n"
|
||||
.string "ticket?\p"
|
||||
.string "Where you're trying to go is an island\n"
|
||||
.string "that's far, far away.\p"
|
||||
.string "No one knows what awaits there…\p"
|
||||
.string "The very thought excites my blood\n"
|
||||
.string "as a sailing man!\p"
|
||||
.string "Get on board, youngster!$"
|
||||
|
||||
FarawayIsland_Entrance_Text_SailorReturn:
|
||||
.string "CAPT. BRINEY can be so maddeningly\n"
|
||||
.string "fickle…\p"
|
||||
.string "Do you want to return to LILYCOVE?$"
|
||||
.string "CAPT. BRINEY can be so maddeningly\n"
|
||||
.string "fickle…\p"
|
||||
.string "Do you want to return to LILYCOVE?$"
|
||||
|
||||
BirthIsland_Harbor_Text_SailorReturn:
|
||||
.string "What an oddly shaped island, eh?\n"
|
||||
.string "Do you want to return to LILYCOVE?$"
|
||||
.string "What an oddly shaped island, eh?\n"
|
||||
.string "Do you want to return to LILYCOVE?$"
|
||||
|
||||
EventTicket_Text_OddTicketsWhereTo:
|
||||
.string "Is it you who brought those\n"
|
||||
.string "odd tickets?\p"
|
||||
.string "… … …Hm.\p"
|
||||
.string "These tickets will get you to islands\n"
|
||||
.string "that are far, far away.\p"
|
||||
.string "No one knows what awaits there,\n"
|
||||
.string "or what may happen there.\p"
|
||||
.string "The very thought excites my blood\n"
|
||||
.string "as a sailing man!\p"
|
||||
.string "Get on board, youngster!\n"
|
||||
.string "Where shall we sail first?$"
|
||||
.string "Is it you who brought those\n"
|
||||
.string "odd tickets?\p"
|
||||
.string "… … …Hm.\p"
|
||||
.string "These tickets will get you to islands\n"
|
||||
.string "that are far, far away.\p"
|
||||
.string "No one knows what awaits there,\n"
|
||||
.string "or what may happen there.\p"
|
||||
.string "The very thought excites my blood\n"
|
||||
.string "as a sailing man!\p"
|
||||
.string "Get on board, youngster!\n"
|
||||
.string "Where shall we sail first?$"
|
||||
|
||||
NavelRock_Harbor_Text_SailorReturn:
|
||||
.string "Did… Did you hear that?\n"
|
||||
.string "That low growling from deep in there.\p"
|
||||
.string "Are you sure it's safe?\n"
|
||||
.string "Do you think we should leave?$"
|
||||
.string "Did… Did you hear that?\n"
|
||||
.string "That low growling from deep in there.\p"
|
||||
.string "Are you sure it's safe?\n"
|
||||
.string "Do you think we should leave?$"
|
||||
|
||||
FarawayIsland_Entrance_Text_Sign:
|
||||
.string "The writing is fading as if it was\n"
|
||||
.string "written a long time ago…\p"
|
||||
.string "“…ber, 6th day\n"
|
||||
.string "If any human…sets foot here…\l"
|
||||
.string "again…et it be a kindhearted pers…\l"
|
||||
.string "…ith that hope, I depar…”$"
|
||||
.string "The writing is fading as if it was\n"
|
||||
.string "written a long time ago…\p"
|
||||
.string "“…ber, 6th day\n"
|
||||
.string "If any human…sets foot here…\l"
|
||||
.string "again…et it be a kindhearted pers…\l"
|
||||
.string "…ith that hope, I depar…”$"
|
||||
|
||||
FarawayIsland_Interior_Text_Mew:
|
||||
.string "Myuu…$"
|
||||
.string "Myuu…$"
|
||||
|
||||
@ -1,51 +1,51 @@
|
||||
gText_WouldYouLikeToRestYourPkmn::
|
||||
.string "Hello, and welcome to\n"
|
||||
.string "the POKéMON CENTER.\p"
|
||||
.string "We restore your tired POKéMON\n"
|
||||
.string "to full health.\p"
|
||||
.string "Would you like to rest your POKéMON?$"
|
||||
.string "Hello, and welcome to\n"
|
||||
.string "the POKéMON CENTER.\p"
|
||||
.string "We restore your tired POKéMON\n"
|
||||
.string "to full health.\p"
|
||||
.string "Would you like to rest your POKéMON?$"
|
||||
|
||||
gText_IllTakeYourPkmn::
|
||||
.string "Okay, I'll take your POKéMON\n"
|
||||
.string "for a few seconds.$"
|
||||
.string "Okay, I'll take your POKéMON\n"
|
||||
.string "for a few seconds.$"
|
||||
|
||||
gText_RestoredPkmnToFullHealth::
|
||||
.string "Thank you for waiting.\p"
|
||||
.string "We've restored your POKéMON\n"
|
||||
.string "to full health.$"
|
||||
.string "Thank you for waiting.\p"
|
||||
.string "We've restored your POKéMON\n"
|
||||
.string "to full health.$"
|
||||
|
||||
gText_WeHopeToSeeYouAgain::
|
||||
.string "We hope to see you again!$"
|
||||
.string "We hope to see you again!$"
|
||||
|
||||
gText_WelcomeCutShort::
|
||||
.string "Hello, and welcome to\n"
|
||||
.string "the POKéMON CENTER.\p"
|
||||
.string "We restore your tired POKéMON\n"
|
||||
.string "to full health.\p"
|
||||
.string "Would you like to…$"
|
||||
.string "Hello, and welcome to\n"
|
||||
.string "the POKéMON CENTER.\p"
|
||||
.string "We restore your tired POKéMON\n"
|
||||
.string "to full health.\p"
|
||||
.string "Would you like to…$"
|
||||
|
||||
gText_NoticesGoldCard::
|
||||
.string "Th-that card…\n"
|
||||
.string "Could it be… The GOLD CARD?!\p"
|
||||
.string "Oh, the gold color is brilliant!\n"
|
||||
.string "The four stars seem to sparkle!\p"
|
||||
.string "I've seen several TRAINERS with\n"
|
||||
.string "a SILVER CARD before, but, {PLAYER},\l"
|
||||
.string "you're the first TRAINER I've ever\l"
|
||||
.string "seen with a GOLD CARD!\p"
|
||||
.string "Okay, {PLAYER}, please allow me\n"
|
||||
.string "the honor of resting your POKéMON!$"
|
||||
.string "Th-that card…\n"
|
||||
.string "Could it be… The GOLD CARD?!\p"
|
||||
.string "Oh, the gold color is brilliant!\n"
|
||||
.string "The four stars seem to sparkle!\p"
|
||||
.string "I've seen several TRAINERS with\n"
|
||||
.string "a SILVER CARD before, but, {PLAYER},\l"
|
||||
.string "you're the first TRAINER I've ever\l"
|
||||
.string "seen with a GOLD CARD!\p"
|
||||
.string "Okay, {PLAYER}, please allow me\n"
|
||||
.string "the honor of resting your POKéMON!$"
|
||||
|
||||
gText_YouWantTheUsual::
|
||||
.string "I'm delighted to see you, {PLAYER}!\n"
|
||||
.string "You want the usual, am I right?$"
|
||||
.string "I'm delighted to see you, {PLAYER}!\n"
|
||||
.string "You want the usual, am I right?$"
|
||||
|
||||
gText_IllTakeYourPkmn2::
|
||||
.string "Okay, I'll take your POKéMON\n"
|
||||
.string "for a few seconds.$"
|
||||
.string "Okay, I'll take your POKéMON\n"
|
||||
.string "for a few seconds.$"
|
||||
|
||||
gText_ThankYouForWaiting::
|
||||
.string "Thank you for waiting.$"
|
||||
.string "Thank you for waiting.$"
|
||||
|
||||
gText_WeHopeToSeeYouAgain2::
|
||||
.string "We hope to see you again!$"
|
||||
.string "We hope to see you again!$"
|
||||
|
||||
@ -1,286 +1,286 @@
|
||||
SecretBase_Text_Trainer0Intro:
|
||||
.string "Have you made a SECRET BASE already?\p"
|
||||
.string "I went here, there, everywhere before\n"
|
||||
.string "choosing this place.\p"
|
||||
.string "Since you're already here, how would\n"
|
||||
.string "you like to battle?$"
|
||||
.string "Have you made a SECRET BASE already?\p"
|
||||
.string "I went here, there, everywhere before\n"
|
||||
.string "choosing this place.\p"
|
||||
.string "Since you're already here, how would\n"
|
||||
.string "you like to battle?$"
|
||||
|
||||
SecretBase_Text_Trainer0AcceptBattle:
|
||||
.string "Okay!\n"
|
||||
.string "Here we come!$"
|
||||
.string "Okay!\n"
|
||||
.string "Here we come!$"
|
||||
|
||||
SecretBase_Text_Trainer0DeclineBattle:
|
||||
.string "Hunh?\n"
|
||||
.string "Oh, you can't now…$"
|
||||
.string "Hunh?\n"
|
||||
.string "Oh, you can't now…$"
|
||||
|
||||
SecretBase_Text_Trainer0Defeated::
|
||||
.string "Waaargh! You're too strong!\n"
|
||||
.string "About me losing… Please keep it secret!$"
|
||||
.string "Waaargh! You're too strong!\n"
|
||||
.string "About me losing… Please keep it secret!$"
|
||||
|
||||
SecretBase_Text_Trainer0PostBattle:
|
||||
.string "What do you think of my SECRET BASE?\n"
|
||||
.string "Come visit me again tomorrow.$"
|
||||
.string "What do you think of my SECRET BASE?\n"
|
||||
.string "Come visit me again tomorrow.$"
|
||||
|
||||
SecretBase_Text_Trainer0PreChampion:
|
||||
.string "Have you made a SECRET BASE already?\p"
|
||||
.string "I went here, there, everywhere before\n"
|
||||
.string "choosing this place.\p"
|
||||
.string "Feel free to hang out!$"
|
||||
.string "Have you made a SECRET BASE already?\p"
|
||||
.string "I went here, there, everywhere before\n"
|
||||
.string "choosing this place.\p"
|
||||
.string "Feel free to hang out!$"
|
||||
|
||||
SecretBase_Text_Trainer5Intro:
|
||||
.string "There're a lot of places where\n"
|
||||
.string "you can make a SECRET BASE.\p"
|
||||
.string "But I like this spot best.\n"
|
||||
.string "Don't you think it's nice?\p"
|
||||
.string "Oh, would you like to have a battle?$"
|
||||
.string "There're a lot of places where\n"
|
||||
.string "you can make a SECRET BASE.\p"
|
||||
.string "But I like this spot best.\n"
|
||||
.string "Don't you think it's nice?\p"
|
||||
.string "Oh, would you like to have a battle?$"
|
||||
|
||||
SecretBase_Text_Trainer5AcceptBattle:
|
||||
.string "Okay, here goes!$"
|
||||
.string "Okay, here goes!$"
|
||||
|
||||
SecretBase_Text_Trainer5DeclineBattle:
|
||||
.string "Oh…\n"
|
||||
.string "You can't now, okay.$"
|
||||
.string "Oh…\n"
|
||||
.string "You can't now, okay.$"
|
||||
|
||||
SecretBase_Text_Trainer5Defeated::
|
||||
.string "Hmmm… It's our loss…\n"
|
||||
.string "But don't tell anyone!\l"
|
||||
.string "It's a confidential secret!$"
|
||||
.string "Hmmm… It's our loss…\n"
|
||||
.string "But don't tell anyone!\l"
|
||||
.string "It's a confidential secret!$"
|
||||
|
||||
SecretBase_Text_Trainer5PostBattle:
|
||||
.string "If you're in this area again,\n"
|
||||
.string "I hope you'll visit me.$"
|
||||
.string "If you're in this area again,\n"
|
||||
.string "I hope you'll visit me.$"
|
||||
|
||||
SecretBase_Text_Trainer5PreChampion:
|
||||
.string "There're a lot of places where you can\n"
|
||||
.string "make a SECRET BASE.\p"
|
||||
.string "But I like this spot best.\n"
|
||||
.string "Don't you think it's nice?$"
|
||||
.string "There're a lot of places where you can\n"
|
||||
.string "make a SECRET BASE.\p"
|
||||
.string "But I like this spot best.\n"
|
||||
.string "Don't you think it's nice?$"
|
||||
|
||||
SecretBase_Text_Trainer1Intro:
|
||||
.string "This is a popular spot.\n"
|
||||
.string "It's always taken.\p"
|
||||
.string "Oh! Were you thinking about\n"
|
||||
.string "taking this spot, too?\p"
|
||||
.string "I'll tell you what, you can have this\n"
|
||||
.string "spot if you can beat me.$"
|
||||
.string "This is a popular spot.\n"
|
||||
.string "It's always taken.\p"
|
||||
.string "Oh! Were you thinking about\n"
|
||||
.string "taking this spot, too?\p"
|
||||
.string "I'll tell you what, you can have this\n"
|
||||
.string "spot if you can beat me.$"
|
||||
|
||||
SecretBase_Text_Trainer1AcceptBattle:
|
||||
.string "Okay!\n"
|
||||
.string "I'm going to defend my SECRET BASE!$"
|
||||
.string "Okay!\n"
|
||||
.string "I'm going to defend my SECRET BASE!$"
|
||||
|
||||
SecretBase_Text_Trainer1DeclineBattle:
|
||||
.string "Hunh? Is that right?\n"
|
||||
.string "You're not interested in this spot?$"
|
||||
.string "Hunh? Is that right?\n"
|
||||
.string "You're not interested in this spot?$"
|
||||
|
||||
SecretBase_Text_Trainer1Defeated::
|
||||
.string "I can't keep going!\n"
|
||||
.string "I surrender!$"
|
||||
.string "I can't keep going!\n"
|
||||
.string "I surrender!$"
|
||||
|
||||
SecretBase_Text_Trainer1PostBattle:
|
||||
.string "Okay, when I move one day,\n"
|
||||
.string "this place will be yours!$"
|
||||
.string "Okay, when I move one day,\n"
|
||||
.string "this place will be yours!$"
|
||||
|
||||
SecretBase_Text_Trainer1PreChampion:
|
||||
.string "This is a popular spot.\n"
|
||||
.string "It's always taken.\p"
|
||||
.string "I waited a long time for it to open.\n"
|
||||
.string "I finally got to use it!$"
|
||||
.string "This is a popular spot.\n"
|
||||
.string "It's always taken.\p"
|
||||
.string "I waited a long time for it to open.\n"
|
||||
.string "I finally got to use it!$"
|
||||
|
||||
SecretBase_Text_Trainer6Intro:
|
||||
.string "Welcome to my POKéMON LAB.\p"
|
||||
.string "I carry out research on battling in\n"
|
||||
.string "secrecy.\p"
|
||||
.string "Would you like to see how strong I am?$"
|
||||
.string "Welcome to my POKéMON LAB.\p"
|
||||
.string "I carry out research on battling in\n"
|
||||
.string "secrecy.\p"
|
||||
.string "Would you like to see how strong I am?$"
|
||||
|
||||
SecretBase_Text_Trainer6AcceptBattle:
|
||||
.string "I'm going to go all out!$"
|
||||
.string "I'm going to go all out!$"
|
||||
|
||||
SecretBase_Text_Trainer6DeclineBattle:
|
||||
.string "Oh.\n"
|
||||
.string "Some other time, then!$"
|
||||
.string "Oh.\n"
|
||||
.string "Some other time, then!$"
|
||||
|
||||
SecretBase_Text_Trainer6Defeated::
|
||||
.string "Hmm… I've still got lots to learn.\n"
|
||||
.string "I have to study some more.$"
|
||||
.string "Hmm… I've still got lots to learn.\n"
|
||||
.string "I have to study some more.$"
|
||||
|
||||
SecretBase_Text_Trainer6PostBattle:
|
||||
.string "Thanks for battling with me.\n"
|
||||
.string "Please come back again tomorrow.$"
|
||||
.string "Thanks for battling with me.\n"
|
||||
.string "Please come back again tomorrow.$"
|
||||
|
||||
SecretBase_Text_Trainer6PreChampion:
|
||||
.string "Welcome to my POKéMON LAB.\p"
|
||||
.string "I carry out research on battling in\n"
|
||||
.string "secrecy.$"
|
||||
.string "Welcome to my POKéMON LAB.\p"
|
||||
.string "I carry out research on battling in\n"
|
||||
.string "secrecy.$"
|
||||
|
||||
SecretBase_Text_Trainer2Intro:
|
||||
.string "A big mansion is nice, but I like this\n"
|
||||
.string "sort of place more.\p"
|
||||
.string "I like it because all kinds of people\n"
|
||||
.string "come visit me.\p"
|
||||
.string "So, how would you like a battle?$"
|
||||
.string "A big mansion is nice, but I like this\n"
|
||||
.string "sort of place more.\p"
|
||||
.string "I like it because all kinds of people\n"
|
||||
.string "come visit me.\p"
|
||||
.string "So, how would you like a battle?$"
|
||||
|
||||
SecretBase_Text_Trainer2AcceptBattle:
|
||||
.string "That's the way!$"
|
||||
.string "That's the way!$"
|
||||
|
||||
SecretBase_Text_Trainer2DeclineBattle:
|
||||
.string "When you're ready, give me a shout!$"
|
||||
.string "When you're ready, give me a shout!$"
|
||||
|
||||
SecretBase_Text_Trainer2Defeated::
|
||||
.string "Aww! Done in!\n"
|
||||
.string "But it's still fun to battle!$"
|
||||
.string "Aww! Done in!\n"
|
||||
.string "But it's still fun to battle!$"
|
||||
|
||||
SecretBase_Text_Trainer2PostBattle:
|
||||
.string "Well, anyway, I should go buy some\n"
|
||||
.string "decorations and furniture.\p"
|
||||
.string "I want my SECRET BASE to be a place\n"
|
||||
.string "other people can enjoy.$"
|
||||
.string "Well, anyway, I should go buy some\n"
|
||||
.string "decorations and furniture.\p"
|
||||
.string "I want my SECRET BASE to be a place\n"
|
||||
.string "other people can enjoy.$"
|
||||
|
||||
SecretBase_Text_Trainer2PreChampion:
|
||||
.string "A big mansion is nice, but I like this\n"
|
||||
.string "sort of place more.\p"
|
||||
.string "I like it because all kinds of people\n"
|
||||
.string "come visit me.$"
|
||||
.string "A big mansion is nice, but I like this\n"
|
||||
.string "sort of place more.\p"
|
||||
.string "I like it because all kinds of people\n"
|
||||
.string "come visit me.$"
|
||||
|
||||
SecretBase_Text_Trainer7Intro:
|
||||
.string "I simply adore shopping for decorations\n"
|
||||
.string "and furniture.\p"
|
||||
.string "I also love raising POKéMON just\n"
|
||||
.string "as much.\p"
|
||||
.string "If you would be so kind, will you battle\n"
|
||||
.string "with my POKéMON?$"
|
||||
.string "I simply adore shopping for decorations\n"
|
||||
.string "and furniture.\p"
|
||||
.string "I also love raising POKéMON just\n"
|
||||
.string "as much.\p"
|
||||
.string "If you would be so kind, will you battle\n"
|
||||
.string "with my POKéMON?$"
|
||||
|
||||
SecretBase_Text_Trainer7AcceptBattle:
|
||||
.string "Thank you.\n"
|
||||
.string "Shall we begin?$"
|
||||
.string "Thank you.\n"
|
||||
.string "Shall we begin?$"
|
||||
|
||||
SecretBase_Text_Trainer7DeclineBattle:
|
||||
.string "Oh.\n"
|
||||
.string "How disappointing…$"
|
||||
.string "Oh.\n"
|
||||
.string "How disappointing…$"
|
||||
|
||||
SecretBase_Text_Trainer7Defeated::
|
||||
.string "I concede…$"
|
||||
.string "I concede…$"
|
||||
|
||||
SecretBase_Text_Trainer7PostBattle:
|
||||
.string "That was all in good fun!\n"
|
||||
.string "I should go enjoy shopping now.$"
|
||||
.string "That was all in good fun!\n"
|
||||
.string "I should go enjoy shopping now.$"
|
||||
|
||||
SecretBase_Text_Trainer7PreChampion:
|
||||
.string "I simply adore shopping for decorations\n"
|
||||
.string "and furniture.\p"
|
||||
.string "I also love raising POKéMON just\n"
|
||||
.string "as much.$"
|
||||
.string "I simply adore shopping for decorations\n"
|
||||
.string "and furniture.\p"
|
||||
.string "I also love raising POKéMON just\n"
|
||||
.string "as much.$"
|
||||
|
||||
SecretBase_Text_Trainer3Intro:
|
||||
.string "Some people make their SECRET BASES in\n"
|
||||
.string "hard-to-find places.\l"
|
||||
.string "Do they want to just lie low?\p"
|
||||
.string "But since you found me, how about we\n"
|
||||
.string "have a battle?$"
|
||||
.string "Some people make their SECRET BASES in\n"
|
||||
.string "hard-to-find places.\l"
|
||||
.string "Do they want to just lie low?\p"
|
||||
.string "But since you found me, how about we\n"
|
||||
.string "have a battle?$"
|
||||
|
||||
SecretBase_Text_Trainer3AcceptBattle:
|
||||
.string "I'm not going down easily!$"
|
||||
.string "I'm not going down easily!$"
|
||||
|
||||
SecretBase_Text_Trainer3DeclineBattle:
|
||||
.string "Oh… Are you maybe tired from searching\n"
|
||||
.string "for this place?$"
|
||||
.string "Oh… Are you maybe tired from searching\n"
|
||||
.string "for this place?$"
|
||||
|
||||
SecretBase_Text_Trainer3Defeated::
|
||||
.string "I went down…$"
|
||||
.string "I went down…$"
|
||||
|
||||
SecretBase_Text_Trainer3PostBattle:
|
||||
.string "Where's your SECRET BASE?\n"
|
||||
.string "I should go visit you there.$"
|
||||
.string "Where's your SECRET BASE?\n"
|
||||
.string "I should go visit you there.$"
|
||||
|
||||
SecretBase_Text_Trainer3PreChampion:
|
||||
.string "Some people make their SECRET BASES in\n"
|
||||
.string "hard-to-find places.\l"
|
||||
.string "Do they want to just lie low?$"
|
||||
.string "Some people make their SECRET BASES in\n"
|
||||
.string "hard-to-find places.\l"
|
||||
.string "Do they want to just lie low?$"
|
||||
|
||||
SecretBase_Text_Trainer8Intro:
|
||||
.string "People have told me that you can get\n"
|
||||
.string "decorations in several ways.\p"
|
||||
.string "We should have a race to see who can\n"
|
||||
.string "get nicer decorations and furniture!\p"
|
||||
.string "In the meantime, want to battle?$"
|
||||
.string "People have told me that you can get\n"
|
||||
.string "decorations in several ways.\p"
|
||||
.string "We should have a race to see who can\n"
|
||||
.string "get nicer decorations and furniture!\p"
|
||||
.string "In the meantime, want to battle?$"
|
||||
|
||||
SecretBase_Text_Trainer8AcceptBattle:
|
||||
.string "This is my SECRET BASE.\n"
|
||||
.string "I can't lose!$"
|
||||
.string "This is my SECRET BASE.\n"
|
||||
.string "I can't lose!$"
|
||||
|
||||
SecretBase_Text_Trainer8DeclineBattle:
|
||||
.string "I'll battle with you anytime.$"
|
||||
.string "I'll battle with you anytime.$"
|
||||
|
||||
SecretBase_Text_Trainer8Defeated::
|
||||
.string "Huh?\n"
|
||||
.string "Did I just lose?$"
|
||||
.string "Huh?\n"
|
||||
.string "Did I just lose?$"
|
||||
|
||||
SecretBase_Text_Trainer8PostBattle:
|
||||
.string "I won't lose at collecting decorations.\n"
|
||||
.string "Come visit again!$"
|
||||
.string "I won't lose at collecting decorations.\n"
|
||||
.string "Come visit again!$"
|
||||
|
||||
SecretBase_Text_Trainer8PreChampion:
|
||||
.string "People have told me that you can get\n"
|
||||
.string "decorations in several ways.\p"
|
||||
.string "We should have a race to see who can\n"
|
||||
.string "get nicer decorations and furniture!$"
|
||||
.string "People have told me that you can get\n"
|
||||
.string "decorations in several ways.\p"
|
||||
.string "We should have a race to see who can\n"
|
||||
.string "get nicer decorations and furniture!$"
|
||||
|
||||
SecretBase_Text_Trainer4Intro:
|
||||
.string "I found a spot I liked, and I did it up\n"
|
||||
.string "with my favorite decorations.\p"
|
||||
.string "I raise my favorite POKéMON and grow\n"
|
||||
.string "stronger with it.\p"
|
||||
.string "That's what I do.\n"
|
||||
.string "Want to battle with me?$"
|
||||
.string "I found a spot I liked, and I did it up\n"
|
||||
.string "with my favorite decorations.\p"
|
||||
.string "I raise my favorite POKéMON and grow\n"
|
||||
.string "stronger with it.\p"
|
||||
.string "That's what I do.\n"
|
||||
.string "Want to battle with me?$"
|
||||
|
||||
SecretBase_Text_Trainer4AcceptBattle:
|
||||
.string "Show me what you're made of!$"
|
||||
.string "Show me what you're made of!$"
|
||||
|
||||
SecretBase_Text_Trainer4DeclineBattle:
|
||||
.string "I guess there are times when you're not\n"
|
||||
.string "into it.$"
|
||||
.string "I guess there are times when you're not\n"
|
||||
.string "into it.$"
|
||||
|
||||
SecretBase_Text_Trainer4Defeated::
|
||||
.string "I know exactly what you're made of now.$"
|
||||
.string "I know exactly what you're made of now.$"
|
||||
|
||||
SecretBase_Text_Trainer4PostBattle:
|
||||
.string "We can both become stronger.\n"
|
||||
.string "Let's keep at it!$"
|
||||
.string "We can both become stronger.\n"
|
||||
.string "Let's keep at it!$"
|
||||
|
||||
SecretBase_Text_Trainer4PreChampion:
|
||||
.string "I found a spot I liked, and I did it up\n"
|
||||
.string "with my favorite decorations.\p"
|
||||
.string "I raise my favorite POKéMON and grow\n"
|
||||
.string "stronger with it.\p"
|
||||
.string "Every day is a great day.$"
|
||||
.string "I found a spot I liked, and I did it up\n"
|
||||
.string "with my favorite decorations.\p"
|
||||
.string "I raise my favorite POKéMON and grow\n"
|
||||
.string "stronger with it.\p"
|
||||
.string "Every day is a great day.$"
|
||||
|
||||
SecretBase_Text_Trainer9Intro:
|
||||
.string "You can learn a lot about the taste\n"
|
||||
.string "and sense of people by the kinds of\l"
|
||||
.string "decorations they have, and how they\l"
|
||||
.string "display them.\p"
|
||||
.string "What do you think of my taste?\n"
|
||||
.string "Are you speechless?\p"
|
||||
.string "Want to see my taste in battling?$"
|
||||
.string "You can learn a lot about the taste\n"
|
||||
.string "and sense of people by the kinds of\l"
|
||||
.string "decorations they have, and how they\l"
|
||||
.string "display them.\p"
|
||||
.string "What do you think of my taste?\n"
|
||||
.string "Are you speechless?\p"
|
||||
.string "Want to see my taste in battling?$"
|
||||
|
||||
SecretBase_Text_Trainer9AcceptBattle:
|
||||
.string "There's no holding back!$"
|
||||
.string "There's no holding back!$"
|
||||
|
||||
SecretBase_Text_Trainer9DeclineBattle:
|
||||
.string "I'll be happy to demonstrate my style\n"
|
||||
.string "anytime.$"
|
||||
.string "I'll be happy to demonstrate my style\n"
|
||||
.string "anytime.$"
|
||||
|
||||
SecretBase_Text_Trainer9Defeated::
|
||||
.string "You're supremely talented!\n"
|
||||
.string "Your power seems to be limitless…$"
|
||||
.string "You're supremely talented!\n"
|
||||
.string "Your power seems to be limitless…$"
|
||||
|
||||
SecretBase_Text_Trainer9PostBattle:
|
||||
.string "What did you think of my style?\n"
|
||||
.string "I'll keep on polishing it!$"
|
||||
.string "What did you think of my style?\n"
|
||||
.string "I'll keep on polishing it!$"
|
||||
|
||||
SecretBase_Text_Trainer9PreChampion:
|
||||
.string "You can learn a lot about the taste\n"
|
||||
.string "and sense of people by the kinds of\l"
|
||||
.string "decorations they have, and how they\l"
|
||||
.string "display them.\p"
|
||||
.string "What do you think of my taste?\n"
|
||||
.string "Are you speechless?$"
|
||||
.string "You can learn a lot about the taste\n"
|
||||
.string "and sense of people by the kinds of\l"
|
||||
.string "decorations they have, and how they\l"
|
||||
.string "display them.\p"
|
||||
.string "What do you think of my taste?\n"
|
||||
.string "Are you speechless?$"
|
||||
|
||||
32
gflib/bg.c
@ -33,7 +33,7 @@ struct BgConfig2
|
||||
u32 basePalette:4;
|
||||
u32 unk_3:18;
|
||||
|
||||
void* tilemap;
|
||||
void *tilemap;
|
||||
s32 bg_x;
|
||||
s32 bg_y;
|
||||
};
|
||||
@ -183,14 +183,14 @@ u8 LoadBgVram(u8 bg, const void *src, u16 size, u16 destOffset, u8 mode)
|
||||
case 0x1:
|
||||
offset = sGpuBgConfigs.configs[bg].charBaseIndex * BG_CHAR_SIZE;
|
||||
offset = destOffset + offset;
|
||||
cursor = RequestDma3Copy(src, (void*)(offset + BG_VRAM), size, 0);
|
||||
cursor = RequestDma3Copy(src, (void *)(offset + BG_VRAM), size, 0);
|
||||
if (cursor == -1)
|
||||
return -1;
|
||||
break;
|
||||
case 0x2:
|
||||
offset = sGpuBgConfigs.configs[bg].mapBaseIndex * BG_SCREEN_SIZE;
|
||||
offset = destOffset + offset;
|
||||
cursor = RequestDma3Copy(src, (void*)(offset + BG_VRAM), size, 0);
|
||||
cursor = RequestDma3Copy(src, (void *)(offset + BG_VRAM), size, 0);
|
||||
if (cursor == -1)
|
||||
return -1;
|
||||
break;
|
||||
@ -372,7 +372,7 @@ void SetBgMode(u8 bgMode)
|
||||
SetBgModeInternal(bgMode);
|
||||
}
|
||||
|
||||
u16 LoadBgTiles(u8 bg, const void* src, u16 size, u16 destOffset)
|
||||
u16 LoadBgTiles(u8 bg, const void *src, u16 size, u16 destOffset)
|
||||
{
|
||||
u16 tileOffset;
|
||||
u8 cursor;
|
||||
@ -422,7 +422,7 @@ u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset)
|
||||
if (!IsInvalidBg32(bg))
|
||||
{
|
||||
u16 paletteOffset = (sGpuBgConfigs2[bg].basePalette * 0x20) + (destOffset * 2);
|
||||
cursor = RequestDma3Copy(src, (void*)(paletteOffset + BG_PLTT), size, 0);
|
||||
cursor = RequestDma3Copy(src, (void *)(paletteOffset + BG_PLTT), size, 0);
|
||||
|
||||
if (cursor == -1)
|
||||
{
|
||||
@ -863,7 +863,7 @@ void UnsetBgTilemapBuffer(u8 bg)
|
||||
}
|
||||
}
|
||||
|
||||
void* GetBgTilemapBuffer(u8 bg)
|
||||
void *GetBgTilemapBuffer(u8 bg)
|
||||
{
|
||||
if (IsInvalidBg32(bg))
|
||||
return NULL;
|
||||
@ -906,7 +906,7 @@ void CopyBgTilemapBufferToVram(u8 bg)
|
||||
}
|
||||
}
|
||||
|
||||
void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height)
|
||||
void CopyToBgTilemapBufferRect(u8 bg, const void *src, u8 destX, u8 destY, u8 width, u8 height)
|
||||
{
|
||||
u16 destX16;
|
||||
u16 destY16;
|
||||
@ -923,20 +923,20 @@ void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 wi
|
||||
{
|
||||
for (destX16 = destX; destX16 < (destX + width); destX16++)
|
||||
{
|
||||
((u16*)sGpuBgConfigs2[bg].tilemap)[((destY16 * 0x20) + destX16)] = *srcCopy++;
|
||||
((u16 *)sGpuBgConfigs2[bg].tilemap)[((destY16 * 0x20) + destX16)] = *srcCopy++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case BG_TYPE_AFFINE:
|
||||
{
|
||||
const u8 * srcCopy = src;
|
||||
const u8 *srcCopy = src;
|
||||
mode = GetBgMetricAffineMode(bg, 0x1);
|
||||
for (destY16 = destY; destY16 < (destY + height); destY16++)
|
||||
{
|
||||
for (destX16 = destX; destX16 < (destX + width); destX16++)
|
||||
{
|
||||
((u8*)sGpuBgConfigs2[bg].tilemap)[((destY16 * mode) + destX16)] = *srcCopy++;
|
||||
((u8 *)sGpuBgConfigs2[bg].tilemap)[((destY16 * mode) + destX16)] = *srcCopy++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -984,7 +984,7 @@ void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8
|
||||
{
|
||||
for (j = destX; j < (destX + rectWidth); j++)
|
||||
{
|
||||
*(u8*)(sGpuBgConfigs2[bg].tilemap + ((var * i) + j)) = *(u8*)(srcPtr) + tileOffset;
|
||||
*(u8 *)(sGpuBgConfigs2[bg].tilemap + ((var * i) + j)) = *(u8 *)(srcPtr) + tileOffset;
|
||||
srcPtr++;
|
||||
}
|
||||
srcPtr += (srcWidth - rectWidth);
|
||||
@ -1009,7 +1009,7 @@ void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width,
|
||||
{
|
||||
for (x16 = x; x16 < (x + width); x16++)
|
||||
{
|
||||
((u16*)sGpuBgConfigs2[bg].tilemap)[((y16 * 0x20) + x16)] = tileNum;
|
||||
((u16 *)sGpuBgConfigs2[bg].tilemap)[((y16 * 0x20) + x16)] = tileNum;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1019,7 +1019,7 @@ void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width,
|
||||
{
|
||||
for (x16 = x; x16 < (x + width); x16++)
|
||||
{
|
||||
((u8*)sGpuBgConfigs2[bg].tilemap)[((y16 * mode) + x16)] = tileNum;
|
||||
((u8 *)sGpuBgConfigs2[bg].tilemap)[((y16 * mode) + x16)] = tileNum;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1052,7 +1052,7 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt
|
||||
{
|
||||
for (x16 = x; x16 < (x + width); x16++)
|
||||
{
|
||||
CopyTileMapEntry(&firstTileNum, &((u16*)sGpuBgConfigs2[bg].tilemap)[(u16)GetTileMapIndexFromCoords(x16, y16, attribute, mode, mode2)], paletteSlot, 0, 0);
|
||||
CopyTileMapEntry(&firstTileNum, &((u16 *)sGpuBgConfigs2[bg].tilemap)[(u16)GetTileMapIndexFromCoords(x16, y16, attribute, mode, mode2)], paletteSlot, 0, 0);
|
||||
firstTileNum = (firstTileNum & (MAPGRID_COLLISION_MASK | MAPGRID_ELEVATION_MASK)) + ((firstTileNum + tileNumDelta) & MAPGRID_METATILE_ID_MASK);
|
||||
}
|
||||
}
|
||||
@ -1063,7 +1063,7 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt
|
||||
{
|
||||
for (x16 = x; x16 < (x + width); x16++)
|
||||
{
|
||||
((u8*)sGpuBgConfigs2[bg].tilemap)[(y16 * mode3) + x16] = firstTileNum;
|
||||
((u8 *)sGpuBgConfigs2[bg].tilemap)[(y16 * mode3) + x16] = firstTileNum;
|
||||
firstTileNum = (firstTileNum & (MAPGRID_COLLISION_MASK | MAPGRID_ELEVATION_MASK)) + ((firstTileNum + tileNumDelta) & MAPGRID_METATILE_ID_MASK);
|
||||
}
|
||||
}
|
||||
@ -1240,7 +1240,7 @@ bool32 IsInvalidBg32(u8 bg)
|
||||
|
||||
bool32 IsTileMapOutsideWram(u8 bg)
|
||||
{
|
||||
if (sGpuBgConfigs2[bg].tilemap > (void*)IWRAM_END)
|
||||
if (sGpuBgConfigs2[bg].tilemap > (void *)IWRAM_END)
|
||||
return TRUE;
|
||||
else if (sGpuBgConfigs2[bg].tilemap == NULL)
|
||||
return TRUE;
|
||||
|
||||
38
gflib/bg.h
@ -3,29 +3,29 @@
|
||||
|
||||
enum
|
||||
{
|
||||
BG_ATTR_CHARBASEINDEX = 1,
|
||||
BG_ATTR_MAPBASEINDEX,
|
||||
BG_ATTR_SCREENSIZE,
|
||||
BG_ATTR_PALETTEMODE,
|
||||
BG_ATTR_MOSAIC,
|
||||
BG_ATTR_WRAPAROUND,
|
||||
BG_ATTR_PRIORITY,
|
||||
BG_ATTR_METRIC,
|
||||
BG_ATTR_TYPE,
|
||||
BG_ATTR_BASETILE,
|
||||
BG_ATTR_CHARBASEINDEX = 1,
|
||||
BG_ATTR_MAPBASEINDEX,
|
||||
BG_ATTR_SCREENSIZE,
|
||||
BG_ATTR_PALETTEMODE,
|
||||
BG_ATTR_MOSAIC,
|
||||
BG_ATTR_WRAPAROUND,
|
||||
BG_ATTR_PRIORITY,
|
||||
BG_ATTR_METRIC,
|
||||
BG_ATTR_TYPE,
|
||||
BG_ATTR_BASETILE,
|
||||
};
|
||||
|
||||
enum {
|
||||
BG_TYPE_NORMAL,
|
||||
BG_TYPE_AFFINE,
|
||||
BG_TYPE_NONE = 0xFFFF
|
||||
BG_TYPE_NORMAL,
|
||||
BG_TYPE_AFFINE,
|
||||
BG_TYPE_NONE = 0xFFFF
|
||||
};
|
||||
|
||||
// Modes for ChangeBgX / ChangeBgY
|
||||
enum {
|
||||
BG_COORD_SET,
|
||||
BG_COORD_ADD,
|
||||
BG_COORD_SUB,
|
||||
BG_COORD_SET,
|
||||
BG_COORD_ADD,
|
||||
BG_COORD_SUB,
|
||||
};
|
||||
|
||||
// Modes for Unused_AdjustBgMosaic
|
||||
@ -62,7 +62,7 @@ void ResetBgsAndClearDma3BusyFlags(u32 leftoverFireRedLeafGreenVariable);
|
||||
void InitBgsFromTemplates(u8 bgMode, const struct BgTemplate *templates, u8 numTemplates);
|
||||
void InitBgFromTemplate(const struct BgTemplate *template);
|
||||
void SetBgMode(u8 bgMode);
|
||||
u16 LoadBgTiles(u8 bg, const void* src, u16 size, u16 destOffset);
|
||||
u16 LoadBgTiles(u8 bg, const void *src, u16 size, u16 destOffset);
|
||||
u16 LoadBgTilemap(u8 bg, const void *src, u16 size, u16 destOffset);
|
||||
u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset);
|
||||
bool8 IsDma3ManagerBusyWithBgCopy(void);
|
||||
@ -79,10 +79,10 @@ void SetBgAffine(u8 bg, s32 srcCenterX, s32 srcCenterY, s16 dispCenterX, s16 dis
|
||||
u8 Unused_AdjustBgMosaic(u8 val, u8 mode);
|
||||
void SetBgTilemapBuffer(u8 bg, void *tilemap);
|
||||
void UnsetBgTilemapBuffer(u8 bg);
|
||||
void* GetBgTilemapBuffer(u8 bg);
|
||||
void *GetBgTilemapBuffer(u8 bg);
|
||||
void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset);
|
||||
void CopyBgTilemapBufferToVram(u8 bg);
|
||||
void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height);
|
||||
void CopyToBgTilemapBufferRect(u8 bg, const void *src, u8 destX, u8 destY, u8 width, u8 height);
|
||||
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
|
||||
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, s16 tileOffset, s16 palette2);
|
||||
void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height);
|
||||
|
||||
@ -94,7 +94,7 @@ static void ApplyAffineAnimFrame(u8 matrixNum, struct AffineAnimFrameCmd *frameC
|
||||
static u8 IndexOfSpriteTileTag(u16 tag);
|
||||
static void AllocSpriteTileRange(u16 tag, u16 start, u16 count);
|
||||
static void DoLoadSpritePalette(const u16 *src, u16 paletteOffset);
|
||||
static void UpdateSpriteMatrixAnchorPos(struct Sprite*, s32, s32);
|
||||
static void UpdateSpriteMatrixAnchorPos(struct Sprite *, s32, s32);
|
||||
|
||||
typedef void (*AnimFunc)(struct Sprite *);
|
||||
typedef void (*AnimCmdFunc)(struct Sprite *);
|
||||
@ -105,7 +105,7 @@ typedef void (*AffineAnimCmdFunc)(u8 matrixNum, struct Sprite *);
|
||||
.y = DISPLAY_HEIGHT, \
|
||||
.affineMode = 0, \
|
||||
.objMode = 0, \
|
||||
.mosaic = 0, \
|
||||
.mosaic = FALSE, \
|
||||
.bpp = 0, \
|
||||
.shape = SPRITE_SHAPE(8x8), \
|
||||
.x = DISPLAY_WIDTH + 64, \
|
||||
@ -1201,7 +1201,7 @@ u8 GetSpriteMatrixNum(struct Sprite *sprite)
|
||||
|
||||
// Used to shift a sprite's position as it scales.
|
||||
// Only used by the minigame countdown, so that for instance the numbers don't slide up as they squish down before jumping.
|
||||
void SetSpriteMatrixAnchor(struct Sprite* sprite, s16 x, s16 y)
|
||||
void SetSpriteMatrixAnchor(struct Sprite *sprite, s16 x, s16 y)
|
||||
{
|
||||
sprite->sAnchorX = x;
|
||||
sprite->sAnchorY = y;
|
||||
|
||||
@ -282,7 +282,7 @@ void FreeSpritePalette(struct Sprite *sprite);
|
||||
void FreeSpriteOamMatrix(struct Sprite *sprite);
|
||||
void DestroySpriteAndFreeResources(struct Sprite *sprite);
|
||||
void AnimateSprite(struct Sprite *sprite);
|
||||
void SetSpriteMatrixAnchor(struct Sprite* sprite, s16 x, s16 y);
|
||||
void SetSpriteMatrixAnchor(struct Sprite *sprite, s16 x, s16 y);
|
||||
void StartSpriteAnim(struct Sprite *sprite, u8 animNum);
|
||||
void StartSpriteAnimIfDifferent(struct Sprite *sprite, u8 animNum);
|
||||
void SeekSpriteAnim(struct Sprite *sprite, u8 animCmdIndex);
|
||||
|
||||
@ -387,7 +387,7 @@ u8 *StringBraille(u8 *dest, const u8 *src)
|
||||
const u8 setBrailleFont[] = {
|
||||
EXT_CTRL_CODE_BEGIN,
|
||||
EXT_CTRL_CODE_FONT,
|
||||
6,
|
||||
FONT_BRAILLE,
|
||||
EOS
|
||||
};
|
||||
const u8 gotoLine2[] = {
|
||||
|
||||
14
gflib/text.c
@ -652,7 +652,7 @@ void ClearTextSpan(struct TextPrinter *textPrinter, u32 width)
|
||||
struct Window *window;
|
||||
struct Bitmap pixels_data;
|
||||
struct TextGlyph *glyph;
|
||||
u8* glyphHeight;
|
||||
u8 *glyphHeight;
|
||||
|
||||
if (sLastTextBgColor != TEXT_COLOR_TRANSPARENT)
|
||||
{
|
||||
@ -1684,7 +1684,7 @@ u8 GetMenuCursorDimensionByFont(u8 fontId, u8 whichDimension)
|
||||
|
||||
static void DecompressGlyph_Small(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
const u16* glyphs;
|
||||
const u16 *glyphs;
|
||||
|
||||
if (isJapanese == 1)
|
||||
{
|
||||
@ -1726,7 +1726,7 @@ static u32 GetGlyphWidth_Small(u16 glyphId, bool32 isJapanese)
|
||||
|
||||
static void DecompressGlyph_Narrow(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
const u16* glyphs;
|
||||
const u16 *glyphs;
|
||||
|
||||
if (isJapanese == TRUE)
|
||||
{
|
||||
@ -1768,7 +1768,7 @@ static u32 GetGlyphWidth_Narrow(u16 glyphId, bool32 isJapanese)
|
||||
|
||||
static void DecompressGlyph_SmallNarrow(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
const u16* glyphs;
|
||||
const u16 *glyphs;
|
||||
|
||||
if (isJapanese == TRUE)
|
||||
{
|
||||
@ -1810,7 +1810,7 @@ static u32 GetGlyphWidth_SmallNarrow(u16 glyphId, bool32 isJapanese)
|
||||
|
||||
static void DecompressGlyph_Short(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
const u16* glyphs;
|
||||
const u16 *glyphs;
|
||||
|
||||
if (isJapanese == TRUE)
|
||||
{
|
||||
@ -1854,7 +1854,7 @@ static u32 GetGlyphWidth_Short(u16 glyphId, bool32 isJapanese)
|
||||
|
||||
static void DecompressGlyph_Normal(u16 glyphId, bool32 isJapanese)
|
||||
{
|
||||
const u16* glyphs;
|
||||
const u16 *glyphs;
|
||||
|
||||
if (isJapanese == TRUE)
|
||||
{
|
||||
@ -1896,7 +1896,7 @@ static u32 GetGlyphWidth_Normal(u16 glyphId, bool32 isJapanese)
|
||||
|
||||
static void DecompressGlyph_Bold(u16 glyphId)
|
||||
{
|
||||
const u16* glyphs;
|
||||
const u16 *glyphs;
|
||||
|
||||
glyphs = sFontBoldJapaneseGlyphs + (0x100 * (glyphId >> 4)) + (0x8 * (glyphId & 0xF));
|
||||
DecompressGlyphTile(glyphs, gCurGlyph.gfxBufferTop);
|
||||
|
||||
@ -65,7 +65,7 @@ struct TextPrinterSubStruct
|
||||
|
||||
struct TextPrinterTemplate
|
||||
{
|
||||
const u8* currentChar;
|
||||
const u8 *currentChar;
|
||||
u8 windowId;
|
||||
u8 fontId;
|
||||
u8 x;
|
||||
|
||||
@ -35,7 +35,7 @@ bool16 InitWindows(const struct WindowTemplate *templates)
|
||||
int j;
|
||||
u8 bgLayer;
|
||||
u16 attrib;
|
||||
u8* allocatedTilemapBuffer;
|
||||
u8 *allocatedTilemapBuffer;
|
||||
int allocatedBaseBlock;
|
||||
|
||||
for (i = 0; i < NUM_BACKGROUNDS; ++i)
|
||||
@ -405,7 +405,7 @@ void BlitBitmapRectToWindow(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u
|
||||
struct Bitmap sourceRect;
|
||||
struct Bitmap destRect;
|
||||
|
||||
sourceRect.pixels = (u8*)pixels;
|
||||
sourceRect.pixels = (u8 *)pixels;
|
||||
sourceRect.width = srcWidth;
|
||||
sourceRect.height = srcHeight;
|
||||
|
||||
@ -421,7 +421,7 @@ static void BlitBitmapRectToWindowWithColorKey(u8 windowId, const u8 *pixels, u1
|
||||
struct Bitmap sourceRect;
|
||||
struct Bitmap destRect;
|
||||
|
||||
sourceRect.pixels = (u8*)pixels;
|
||||
sourceRect.pixels = (u8 *)pixels;
|
||||
sourceRect.width = srcWidth;
|
||||
sourceRect.height = srcHeight;
|
||||
|
||||
@ -463,9 +463,9 @@ void FillWindowPixelBuffer(u8 windowId, u8 fillValue)
|
||||
destOffset = i + (a); \
|
||||
srcOffset = i + (((width * (distanceLoop & ~7)) | (distanceLoop & 7)) * 4); \
|
||||
if (srcOffset < size) \
|
||||
*(u32*)(tileData + destOffset) = *(u32*)(tileData + srcOffset); \
|
||||
*(u32 *)(tileData + destOffset) = *(u32 *)(tileData + srcOffset); \
|
||||
else \
|
||||
*(u32*)(tileData + destOffset) = fillValue32; \
|
||||
*(u32 *)(tileData + destOffset) = fillValue32; \
|
||||
distanceLoop++; \
|
||||
}
|
||||
|
||||
@ -474,9 +474,9 @@ void FillWindowPixelBuffer(u8 windowId, u8 fillValue)
|
||||
destOffset = i + (a); \
|
||||
srcOffset = i + (((width * (distanceLoop & ~7)) | (distanceLoop & 7)) * 4); \
|
||||
if (srcOffset < size) \
|
||||
*(u32*)(tileData - destOffset) = *(u32*)(tileData - srcOffset); \
|
||||
*(u32 *)(tileData - destOffset) = *(u32 *)(tileData - srcOffset); \
|
||||
else \
|
||||
*(u32*)(tileData - destOffset) = fillValue32; \
|
||||
*(u32 *)(tileData - destOffset) = fillValue32; \
|
||||
distanceLoop++; \
|
||||
}
|
||||
|
||||
@ -550,7 +550,7 @@ bool8 SetWindowAttribute(u8 windowId, u8 attributeId, u32 value)
|
||||
gWindows[windowId].window.baseBlock = value;
|
||||
return FALSE;
|
||||
case WINDOW_TILE_DATA:
|
||||
gWindows[windowId].tileData = (u8*)(value);
|
||||
gWindows[windowId].tileData = (u8 *)(value);
|
||||
return TRUE;
|
||||
case WINDOW_BG:
|
||||
case WINDOW_WIDTH:
|
||||
@ -605,7 +605,7 @@ static void DummyWindowBgTilemap8Bit(void)
|
||||
u16 AddWindow8Bit(const struct WindowTemplate *template)
|
||||
{
|
||||
u16 windowId;
|
||||
u8* memAddress;
|
||||
u8 *memAddress;
|
||||
u8 bgLayer;
|
||||
|
||||
for (windowId = 0; windowId < WINDOWS_MAX; windowId++)
|
||||
@ -675,7 +675,7 @@ void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u
|
||||
struct Bitmap sourceRect;
|
||||
struct Bitmap destRect;
|
||||
|
||||
sourceRect.pixels = (u8*) pixels;
|
||||
sourceRect.pixels = (u8 *) pixels;
|
||||
sourceRect.width = srcWidth;
|
||||
sourceRect.height = srcHeight;
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u
|
||||
void CopyWindowToVram8Bit(u8 windowId, u8 mode);
|
||||
|
||||
extern struct Window gWindows[];
|
||||
extern void* gWindowBgTilemapBuffers[];
|
||||
extern void *gWindowBgTilemapBuffers[];
|
||||
extern u32 gUnusedWindowVar1;
|
||||
extern u32 gUnusedWindowVar2;
|
||||
extern u32 gUnusedWindowVar3;
|
||||
|
||||
BIN
graphics/balls/beast.png
Normal file
|
After Width: | Height: | Size: 329 B |
BIN
graphics/balls/cherish.png
Normal file
|
After Width: | Height: | Size: 329 B |
BIN
graphics/balls/dream.png
Normal file
|
After Width: | Height: | Size: 316 B |
BIN
graphics/balls/dusk.png
Normal file
|
After Width: | Height: | Size: 318 B |
BIN
graphics/balls/fast.png
Normal file
|
After Width: | Height: | Size: 310 B |
BIN
graphics/balls/friend.png
Normal file
|
After Width: | Height: | Size: 312 B |
BIN
graphics/balls/heal.png
Normal file
|
After Width: | Height: | Size: 309 B |
BIN
graphics/balls/heavy.png
Normal file
|
After Width: | Height: | Size: 316 B |
BIN
graphics/balls/level.png
Normal file
|
After Width: | Height: | Size: 307 B |
BIN
graphics/balls/love.png
Normal file
|
After Width: | Height: | Size: 305 B |
BIN
graphics/balls/lure.png
Normal file
|
After Width: | Height: | Size: 302 B |
BIN
graphics/balls/moon.png
Normal file
|
After Width: | Height: | Size: 317 B |
BIN
graphics/balls/park.png
Normal file
|
After Width: | Height: | Size: 307 B |
BIN
graphics/balls/quick.png
Normal file
|
After Width: | Height: | Size: 313 B |
BIN
graphics/balls/sport.png
Normal file
|
After Width: | Height: | Size: 299 B |
BIN
graphics/battle_anims/sprites/particles2.png
Normal file
|
After Width: | Height: | Size: 357 B |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 231 B After Width: | Height: | Size: 256 B |
BIN
graphics/berries/babiri.png
Normal file
|
After Width: | Height: | Size: 483 B |
BIN
graphics/berries/charti.png
Normal file
|
After Width: | Height: | Size: 430 B |
BIN
graphics/berries/chilan.png
Normal file
|
After Width: | Height: | Size: 469 B |
BIN
graphics/berries/chople.png
Normal file
|
After Width: | Height: | Size: 498 B |
BIN
graphics/berries/coba.png
Normal file
|
After Width: | Height: | Size: 402 B |
BIN
graphics/berries/colbur.png
Normal file
|
After Width: | Height: | Size: 435 B |
BIN
graphics/berries/custap.png
Normal file
|
After Width: | Height: | Size: 527 B |
BIN
graphics/berries/haban.png
Normal file
|
After Width: | Height: | Size: 466 B |
BIN
graphics/berries/jaboca.png
Normal file
|
After Width: | Height: | Size: 512 B |
BIN
graphics/berries/kasib.png
Normal file
|
After Width: | Height: | Size: 459 B |
BIN
graphics/berries/kebia.png
Normal file
|
After Width: | Height: | Size: 500 B |
BIN
graphics/berries/kee.png
Normal file
|
After Width: | Height: | Size: 589 B |
BIN
graphics/berries/maranga.png
Normal file
|
After Width: | Height: | Size: 568 B |
BIN
graphics/berries/micle.png
Normal file
|
After Width: | Height: | Size: 383 B |
BIN
graphics/berries/occa.png
Normal file
|
After Width: | Height: | Size: 434 B |
BIN
graphics/berries/passho.png
Normal file
|
After Width: | Height: | Size: 543 B |
BIN
graphics/berries/payapa.png
Normal file
|
After Width: | Height: | Size: 435 B |
BIN
graphics/berries/rindo.png
Normal file
|
After Width: | Height: | Size: 440 B |
BIN
graphics/berries/roseli.png
Normal file
|
After Width: | Height: | Size: 576 B |
BIN
graphics/berries/rowap.png
Normal file
|
After Width: | Height: | Size: 565 B |
BIN
graphics/berries/shuca.png
Normal file
|
After Width: | Height: | Size: 412 B |
BIN
graphics/berries/tanga.png
Normal file
|
After Width: | Height: | Size: 506 B |
BIN
graphics/berries/wacan.png
Normal file
|
After Width: | Height: | Size: 457 B |
BIN
graphics/berries/yache.png
Normal file
|
After Width: | Height: | Size: 514 B |
19
graphics/items/icon_palettes/ability_capsule.pal
Executable file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
128 0 255
|
||||
49 49 49
|
||||
107 165 230
|
||||
123 123 156
|
||||
156 156 189
|
||||
206 206 255
|
||||
189 255 255
|
||||
132 214 255
|
||||
189 189 239
|
||||
222 222 255
|
||||
90 90 90
|
||||
222 132 255
|
||||
206 173 247
|
||||
140 140 247
|
||||
173 107 255
|
||||
230 206 255
|
||||
19
graphics/items/icon_palettes/ability_patch.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
144 0 152
|
||||
49 49 49
|
||||
88 68 16
|
||||
100 112 104
|
||||
80 160 176
|
||||
131 183 183
|
||||
184 186 180
|
||||
192 192 120
|
||||
115 211 211
|
||||
139 226 255
|
||||
240 218 64
|
||||
222 224 217
|
||||
168 242 248
|
||||
246 242 246
|
||||
240 252 176
|
||||
255 255 255
|
||||
19
graphics/items/icon_palettes/abomasite.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
255 0 128
|
||||
48 48 48
|
||||
136 160 232
|
||||
248 248 248
|
||||
48 136 120
|
||||
144 208 184
|
||||
200 216 208
|
||||
80 160 144
|
||||
144 208 176
|
||||
192 208 240
|
||||
104 168 192
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
19
graphics/items/icon_palettes/absolite.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
255 0 128
|
||||
48 48 48
|
||||
88 104 160
|
||||
152 176 232
|
||||
248 248 248
|
||||
144 160 208
|
||||
200 216 240
|
||||
64 72 136
|
||||
128 144 192
|
||||
192 216 240
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
19
graphics/items/icon_palettes/absorb_bulb.pal
Executable file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
128 0 255
|
||||
49 49 49
|
||||
222 222 115
|
||||
189 140 66
|
||||
156 99 41
|
||||
181 173 115
|
||||
132 74 33
|
||||
214 173 115
|
||||
90 66 41
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
19
graphics/items/icon_palettes/adamant_orb.pal
Normal file
@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
255 0 128
|
||||
93 93 93
|
||||
39 39 39
|
||||
247 247 247
|
||||
177 203 247
|
||||
220 247 247
|
||||
194 229 247
|
||||
159 194 247
|
||||
151 177 220
|
||||
117 159 212
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||