Merge remote-tracking branch 'RHH_origin/upcoming' into RHH/pr/feature/monAnimations
# Conflicts: # src/data/pokemon_graphics/front_pic_anims.h # src/pokemon.c
This commit is contained in:
commit
d23b5c95c9
441 files changed
+15168
-21167
No files matched your search
+2
-1
@@ -30,7 +30,8 @@ build/
|
||||
.DS_Store
|
||||
*.ddump
|
||||
.idea/
|
||||
porymap.project.cfg
|
||||
porymap.*.cfg
|
||||
prefabs.json
|
||||
.vscode/
|
||||
*.a
|
||||
.fuse_hidden*
|
||||
|
||||
+3
-3
@@ -106,7 +106,7 @@ cd /mnt/c/Users/<user>/Desktop/decomps
|
||||
> 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>
|
||||
|
||||
|
||||
If this works, then proceed to [Installation](#installation).
|
||||
|
||||
Otherwise, ask for help on Discord or IRC (see [README.md](README.md)), or continue reading below for [Windows instructions using msys2](#windows-msys2).
|
||||
@@ -216,7 +216,7 @@ Note that the directory **must exist** in Windows. If you want to store pokeemer
|
||||
> 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)).
|
||||
|
||||
## macOS
|
||||
@@ -539,7 +539,7 @@ devkitARM is now installed.
|
||||
devkitARM is now installed.
|
||||
|
||||
### Installing devkitARM on Arch Linux
|
||||
|
||||
|
||||
1. Follow [devkitPro's instructions](https://devkitpro.org/wiki/devkitPro_pacman#Customising_Existing_Pacman_Install) to configure `pacman` to download devkitPro packages.
|
||||
2. Install `gba-dev`: run the following command as root.
|
||||
|
||||
|
||||
@@ -254,7 +254,7 @@ tidynonmodern:
|
||||
tidymodern:
|
||||
rm -f $(MODERN_ROM_NAME) $(MODERN_ELF_NAME) $(MODERN_MAP_NAME)
|
||||
rm -rf $(MODERN_OBJ_DIR_NAME)
|
||||
|
||||
|
||||
ifneq ($(MODERN),0)
|
||||
$(C_BUILDDIR)/berry_crush.o: override CFLAGS += -Wno-address-of-packed-member
|
||||
endif
|
||||
@@ -412,7 +412,7 @@ LD_SCRIPT := ld_script.txt
|
||||
LD_SCRIPT_DEPS := $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld
|
||||
else
|
||||
LD_SCRIPT := ld_script_modern.txt
|
||||
LD_SCRIPT_DEPS :=
|
||||
LD_SCRIPT_DEPS :=
|
||||
endif
|
||||
|
||||
$(OBJ_DIR)/ld_script.ld: $(LD_SCRIPT) $(LD_SCRIPT_DEPS)
|
||||
|
||||
@@ -558,151 +558,151 @@
|
||||
.2byte \param1
|
||||
.4byte \param2
|
||||
.endm
|
||||
|
||||
|
||||
.macro get_ally_chosen_move
|
||||
.byte 0x63
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_has_no_attacking_moves battler:req, param1:req
|
||||
.byte 0x64
|
||||
.byte \battler
|
||||
.4byte \param1
|
||||
.endm
|
||||
|
||||
|
||||
.macro get_hazards_count battler:req, effect:req
|
||||
.byte 0x65
|
||||
.byte \battler
|
||||
.2byte \effect
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_doesnt_hold_berry battler:req, ptr:req
|
||||
.byte 0x66
|
||||
.byte \battler
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_share_type battler1:req, battler2:req, ptr:req
|
||||
.byte 0x67
|
||||
.byte \battler1
|
||||
.byte \battler2
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_cant_use_last_resort battler:req, ptr:req
|
||||
.byte 0x68
|
||||
.byte \battler
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_has_move_with_split battler:req, split:req, ptr:req
|
||||
.byte 0x69
|
||||
.byte \battler
|
||||
.byte \split
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_has_no_move_with_split battler:req, split:req, ptr:req
|
||||
.byte 0x6A
|
||||
.byte \battler
|
||||
.byte \split
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_physical_moves_unusable attacker:req, target:req, ptr:req
|
||||
.byte 0x6B
|
||||
.byte \attacker
|
||||
.byte \target
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_ai_can_go_down ptr:req
|
||||
.byte 0x6C
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_has_move_with_type battler:req, type:req, ptr:req
|
||||
.byte 0x6D
|
||||
.byte \battler
|
||||
.byte \type
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_no_move_used battler:req, ptr:req
|
||||
.byte 0x6E
|
||||
.byte \battler
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_has_move_with_flag battler:req, flag:req, ptr:req
|
||||
.byte 0x6F
|
||||
.byte \battler
|
||||
.4byte \flag
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_battler_absent battler:req, ptr:req
|
||||
.byte 0x70
|
||||
.byte \battler
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_grounded battler:req, ptr:req
|
||||
.byte 0x71
|
||||
.byte \battler
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro get_best_dmg_hp_percent
|
||||
.byte 0x72
|
||||
.endm
|
||||
|
||||
|
||||
.macro get_curr_dmg_hp_percent
|
||||
.byte 0x73
|
||||
.endm
|
||||
|
||||
|
||||
.macro get_move_split_from_result
|
||||
.byte 0x74
|
||||
.endm
|
||||
|
||||
|
||||
.macro get_considered_move_split
|
||||
.byte 0x75
|
||||
.endm
|
||||
|
||||
|
||||
.macro get_considered_move_target
|
||||
.byte 0x76
|
||||
.endm
|
||||
|
||||
|
||||
.macro compare_speeds battler1:req, battler2:req
|
||||
.byte 0x77
|
||||
.byte \battler1
|
||||
.byte \battler2
|
||||
.endm
|
||||
|
||||
|
||||
.macro is_wakeup_turn battler:req
|
||||
.byte 0x78
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_has_move_with_accuracy_lt battler:req, value:req, ptr:req
|
||||
.byte 0x79
|
||||
.byte \battler
|
||||
.byte \value
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
||||
@ useful script macros
|
||||
.macro if_has_physical_move battler:req, ptr:req
|
||||
if_has_move_with_split \battler, SPLIT_PHYSICAL, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_has_no_physical_move battler:req, ptr:req
|
||||
if_has_no_move_with_split \battler, SPLIT_PHYSICAL, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_has_special_move battler:req, ptr:req
|
||||
if_has_move_with_split \battler, SPLIT_SPECIAL, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_has_no_special_move battler:req, ptr:req
|
||||
if_has_no_move_with_split \battler, SPLIT_SPECIAL, \ptr
|
||||
.endm
|
||||
@@ -714,33 +714,33 @@
|
||||
.macro get_curr_move_type
|
||||
get_type AI_TYPE_MOVE
|
||||
.endm
|
||||
|
||||
|
||||
.macro get_user_type1
|
||||
get_type AI_TYPE1_USER
|
||||
.endm
|
||||
|
||||
|
||||
.macro get_user_type2
|
||||
get_type AI_TYPE2_USER
|
||||
.endm
|
||||
|
||||
|
||||
.macro get_target_type1
|
||||
get_type AI_TYPE1_TARGET
|
||||
.endm
|
||||
|
||||
|
||||
.macro get_target_type2
|
||||
get_type AI_TYPE2_TARGET
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_ability battler:req, ability:req, ptr:req
|
||||
check_ability \battler, \ability
|
||||
if_equal 1, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_no_ability battler:req, ability:req, ptr:req
|
||||
check_ability \battler, \ability
|
||||
if_equal 0, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_type battler:req, type:req, ptr:req
|
||||
is_of_type \battler, \type
|
||||
if_equal 1, \ptr
|
||||
@@ -750,20 +750,20 @@
|
||||
is_of_type \battler, \type
|
||||
if_equal 0, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_target_faster ptr:req
|
||||
if_user_goes 1, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_user_faster ptr:req
|
||||
if_user_goes 0, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_double_battle ptr:req
|
||||
is_double_battle
|
||||
if_equal 1, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_not_double_battle ptr:req
|
||||
is_double_battle
|
||||
if_equal 0, \ptr
|
||||
@@ -772,11 +772,11 @@
|
||||
.macro if_any_move_disabled battler:req, ptr:req
|
||||
if_any_move_disabled_or_encored \battler, 0, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_any_move_encored battler:req, ptr:req
|
||||
if_any_move_disabled_or_encored \battler, 1, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro call_if_always_hit ptr:req
|
||||
get_move_accuracy
|
||||
call_if_eq 0, \ptr
|
||||
|
||||
@@ -270,20 +270,20 @@
|
||||
.macro stopsound
|
||||
.byte 0x2f
|
||||
.endm
|
||||
|
||||
|
||||
@ useful macros
|
||||
.macro jumpreteq value:req, ptr:req
|
||||
jumpargeq ARG_RET_ID, \value, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumprettrue ptr:req
|
||||
jumpreteq TRUE, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpretfalse ptr:req
|
||||
jumpreteq FALSE, \ptr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifdoublebattle ptr:req
|
||||
createvisualtask AnimTask_IsDoubleBattle, 0
|
||||
jumprettrue \ptr
|
||||
@@ -305,7 +305,7 @@
|
||||
.hword \launchtemplatearg7
|
||||
.hword \launchtemplatearg8
|
||||
.endm
|
||||
|
||||
|
||||
.macro launchtask launchtaskPtr launchtaskPriority launchtaskArgsNo launchtaskarg0 launchtaskarg1 launchtaskarg2 launchtaskarg3 launchtaskarg4 launchtaskarg5 launchtaskarg6 launchtaskarg7 launchtaskarg8
|
||||
.byte 0x3
|
||||
.word \launchtaskPtr
|
||||
@@ -321,7 +321,7 @@
|
||||
.hword \launchtaskarg7
|
||||
.hword \launchtaskarg8
|
||||
.endm
|
||||
|
||||
|
||||
.macro setblends setblends_value
|
||||
.byte 0xC
|
||||
.hword \setblends_value
|
||||
|
||||
@@ -89,15 +89,15 @@
|
||||
setvar VAR_0x8004, BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA
|
||||
special CallBattleTowerFunc
|
||||
.endm
|
||||
|
||||
|
||||
@Custom multi-battle commands
|
||||
|
||||
|
||||
.macro choose_mons
|
||||
fadescreen 1
|
||||
special ChooseHalfPartyForBattle @ choose 3 mons for battle
|
||||
waitstate
|
||||
.endm
|
||||
|
||||
|
||||
.macro multi_do type:req, partnerId:req, partnerPicId:req
|
||||
special ReducePlayerPartyToSelectedMons
|
||||
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_SET_DATA
|
||||
@@ -113,26 +113,26 @@
|
||||
special CallFrontierUtilFunc
|
||||
special LoadPlayerParty
|
||||
.endm
|
||||
|
||||
|
||||
.macro multi_2_vs_2 trainer1Id:req, trainer1LoseText:req, trainer2Id:req, trainer2LoseText:req, partnerId:req, partnerPicId:req
|
||||
special SavePlayerParty
|
||||
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons
|
||||
trainerbattle TRAINER_BATTLE_SET_TRAINER_B, \trainer2Id, 0, NULL, \trainer2LoseText @ set second trainer mons
|
||||
multi_do MULTI_BATTLE_2_VS_2, \partnerId, \partnerPicId
|
||||
.endm
|
||||
|
||||
|
||||
.macro multi_2_vs_1 trainer1Id:req, trainer1LoseText:req, partnerId:req, partnerPicId:req
|
||||
special SavePlayerParty
|
||||
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons
|
||||
multi_do MULTI_BATTLE_2_VS_1, \partnerId, \partnerPicId
|
||||
.endm
|
||||
|
||||
|
||||
@ Wild mons need to be assigned to gEnemyParty 0 and 3 slots, other slots need to be cleared out.
|
||||
.macro multi_wild partnerId:req, partnerPicId:req
|
||||
special SavePlayerParty
|
||||
multi_do MULTI_BATTLE_2_VS_WILD, \partnerId, \partnerPicId
|
||||
.endm
|
||||
|
||||
|
||||
.macro multi_do_fixed type:req, partnerId:req, partnerPicId:req
|
||||
setvar VAR_0x8004, SPECIAL_BATTLE_MULTI
|
||||
setvar VAR_0x8005, \type
|
||||
@@ -144,20 +144,20 @@
|
||||
special CallFrontierUtilFunc
|
||||
special LoadPlayerParty
|
||||
.endm
|
||||
|
||||
|
||||
.macro multi_fixed_2_vs_2 trainer1Id:req, trainer1LoseText:req, trainer2Id:req, trainer2LoseText:req, partnerId:req, partnerPicId:req
|
||||
special SavePlayerParty
|
||||
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons
|
||||
trainerbattle TRAINER_BATTLE_SET_TRAINER_B, \trainer2Id, 0, NULL, \trainer2LoseText @ set second trainer mons
|
||||
multi_do_fixed MULTI_BATTLE_2_VS_2, \partnerId, \partnerPicId
|
||||
.endm
|
||||
|
||||
|
||||
.macro multi_fixed_2_vs_1 trainer1Id:req, trainer1LoseText:req, partnerId:req, partnerPicId:req
|
||||
special SavePlayerParty
|
||||
trainerbattle TRAINER_BATTLE_SET_TRAINER_A, \trainer1Id, 0, NULL, \trainer1LoseText @ set first trainer mons
|
||||
multi_do_fixed MULTI_BATTLE_2_VS_1, \partnerId, \partnerPicId
|
||||
.endm
|
||||
|
||||
|
||||
@ Wild mons need to be assigned to gEnemyParty 0 and 3 slots, other slots need to be cleared out.
|
||||
.macro multi_fixed_wild partnerId:req, partnerPicId:req
|
||||
special SavePlayerParty
|
||||
|
||||
@@ -1788,7 +1788,7 @@
|
||||
.macro setzeffect
|
||||
various BS_ATTACKER, VARIOUS_SET_Z_EFFECT
|
||||
.endm
|
||||
|
||||
|
||||
.macro consumeberry battler:req, restoreItem=FALSE
|
||||
various \battler, VARIOUS_CONSUME_BERRY
|
||||
.byte \restoreItem
|
||||
@@ -1980,6 +1980,20 @@
|
||||
various BS_ATTACKER, VARIOUS_SWAP_SIDE_STATUSES
|
||||
.endm
|
||||
|
||||
.macro canteleport battler:req
|
||||
various \battler, VARIOUS_CAN_TELEPORT
|
||||
.endm
|
||||
|
||||
.macro getbattlerside battler:req
|
||||
various \battler, VARIOUS_GET_BATTLER_SIDE
|
||||
.endm
|
||||
|
||||
.macro checkparentalbondcounter counter:req, ptr:req
|
||||
various BS_ATTACKER, VARIOUS_CHECK_PARENTAL_BOND_COUNTER
|
||||
.byte \counter
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
@ helpful macros
|
||||
.macro setstatchanger stat:req, stages:req, down:req
|
||||
setbyte sSTATCHANGER, \stat | \stages << 3 | \down << 7
|
||||
@@ -2132,3 +2146,8 @@
|
||||
.macro skydropyawn
|
||||
various 0, VARIOUS_SKY_DROP_YAWN
|
||||
.endm
|
||||
|
||||
@ Used by effects that may proc Symbiosis but do not call removeitem.
|
||||
.macro trysymbiosis
|
||||
various BS_ATTACKER, VARIOUS_TRY_SYMBIOSIS
|
||||
.endm
|
||||
@@ -276,7 +276,7 @@
|
||||
.2byte SPECIAL_\function
|
||||
.endm
|
||||
|
||||
@ Blocks script execution until a command or C code manually unblocks it. Generally used with specific
|
||||
@ Blocks script execution until a command or C code manually unblocks it. Generally used with specific
|
||||
@ commands and specials. Calling ScriptContext_Enable for instance will allow execution to continue.
|
||||
.macro waitstate
|
||||
.byte 0x27
|
||||
@@ -985,7 +985,7 @@
|
||||
.endm
|
||||
|
||||
@ Gives the player a Pokémon of the specified species and level, holding the specified item. The trailing 0s are unused parameters.
|
||||
@ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome.
|
||||
@ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome.
|
||||
.macro givemon species:req, level:req, item=ITEM_NONE
|
||||
.byte 0x79
|
||||
.2byte \species
|
||||
@@ -997,7 +997,7 @@
|
||||
.endm
|
||||
|
||||
@ Gives the player an Egg of the specified species.
|
||||
@ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome.
|
||||
@ VAR_RESULT will be set to MON_GIVEN_TO_PARTY, MON_GIVEN_TO_PC, or MON_CANT_GIVE depending on the outcome.
|
||||
.macro giveegg species:req
|
||||
.byte 0x7a
|
||||
.2byte \species
|
||||
@@ -1415,7 +1415,7 @@
|
||||
.2byte \out
|
||||
.endm
|
||||
|
||||
@ Gives 'count' coins to the player, up to a total of MAX_COINS.
|
||||
@ Gives 'count' coins to the player, up to a total of MAX_COINS.
|
||||
@ If the player already has MAX_COINS then VAR_RESULT is set to TRUE, otherwise it is set to FALSE.
|
||||
.macro addcoins count:req
|
||||
.byte 0xb4
|
||||
@@ -1893,7 +1893,7 @@
|
||||
|
||||
@ Gives 'amount' of the specified 'item' to the player and prints a message with fanfare.
|
||||
@ If the player doesn't have space for all the items then as many are added as possible, the
|
||||
@ message indicates there is no room, and VAR_RESULT is set to FALSE.
|
||||
@ message indicates there is no room, and VAR_RESULT is set to FALSE.
|
||||
@ Otherwise VAR_RESULT is set to TRUE, and the message indicates they have received the item(s).
|
||||
.macro giveitem item:req, amount=1
|
||||
setorcopyvar VAR_0x8000, \item
|
||||
|
||||
@@ -150,13 +150,13 @@
|
||||
.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
|
||||
|
||||
@@ -79,6 +79,7 @@ SUPER_RE = A0
|
||||
'?' = AC
|
||||
'.' = AD
|
||||
'-' = AE
|
||||
'_' = AE @ For autogenerating strings based on label names. Not using {UNDERSCORE} on purpose due to how bad it looks.
|
||||
'·' = AF
|
||||
'…' = B0
|
||||
'“' = B1
|
||||
|
||||
+35
-46
@@ -2987,21 +2987,26 @@ Move_MUD_BOMB:
|
||||
end
|
||||
|
||||
Move_PSYCHO_CUT:
|
||||
loadspritegfx ANIM_TAG_SPIRAL
|
||||
loadspritegfx ANIM_TAG_PSYCHO_CUT
|
||||
monbg ANIM_ATK_PARTNER
|
||||
loadspritegfx ANIM_TAG_SPIRAL
|
||||
loadspritegfx ANIM_TAG_PSYCHO_CUT
|
||||
loadspritegfx ANIM_TAG_CROSS_IMPACT
|
||||
monbg ANIM_ATK_PARTNER
|
||||
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_CROSS_IMPACT, 0, 9, 9, RGB_PURPLE
|
||||
createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 2, ANIM_ATTACKER
|
||||
createsprite gPsychoCutSpiralSpriteTemplate, 2, 4, 0, 0, 0, 0
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 1, 1, 2, 0, 4, RGB_BLACK
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 1, 2, 2, 0, 10, RGB(20, 12, 23)
|
||||
delay 30
|
||||
clearmonbg ANIM_ATK_PARTNER
|
||||
waitforvisualfinish
|
||||
monbg ANIM_TARGET
|
||||
splitbgprio ANIM_TARGET
|
||||
setalpha 12, 8
|
||||
playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER,
|
||||
createsprite gPsychoCutSpriteTemplate, 130, 5, 20, 0, -8, 0, 20
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_ATK_PARTNER
|
||||
waitforvisualfinish
|
||||
monbg ANIM_TARGET
|
||||
splitbgprio ANIM_TARGET
|
||||
setalpha 12, 8
|
||||
playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER,
|
||||
createsprite gPsychoCutSpriteTemplate, ANIM_TARGET, 2, 20, 0, -8, 0, 20
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 7, 0, 9, 1
|
||||
createsprite gCrossImpactSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 20
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 1, 1, 2, 4, 0, RGB_BLACK
|
||||
createvisualtask AnimTask_BlendBattleAnimPal, 1, 2, 2, 10, 0, RGB(20, 12, 23)
|
||||
clearmonbg ANIM_TARGET
|
||||
@@ -14196,7 +14201,7 @@ TerrainPulseElectric:
|
||||
createvisualtask AnimTask_SwayMon, 5, 0, 4, 51200, 24, ANIM_TARGET
|
||||
createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB(27, 27, 0)
|
||||
goto TerrainPulseEnd
|
||||
|
||||
|
||||
TerrainPulseGrass:
|
||||
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_DRAGON_PULSE, 0, 12, 12, RGB(11, 26, 11)
|
||||
waitforvisualfinish
|
||||
@@ -14218,7 +14223,7 @@ TerrainPulseFairy:
|
||||
createvisualtask AnimTask_SwayMon, 5, 0, 4, 51200, 24, ANIM_TARGET
|
||||
createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB(31, 24, 31)
|
||||
goto TerrainPulseEnd
|
||||
|
||||
|
||||
TerrainPulsePsychic:
|
||||
createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_DRAGON_PULSE, 0, 12, 12, RGB(27, 0, 13)
|
||||
waitforvisualfinish
|
||||
@@ -24740,7 +24745,7 @@ General_RestoreBg:
|
||||
restorebg
|
||||
waitbgfadein
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
General_ZMoveActivate:
|
||||
@@ -24839,15 +24844,15 @@ General_PrimalReversion::
|
||||
jumpargeq 0x1, ITEM_BLUE_ORB, General_PrimalReversion_Alpha
|
||||
General_PrimalReversion_Alpha:
|
||||
loadspritegfx ANIM_TAG_ALPHA_STONE
|
||||
loadspritegfx ANIM_TAG_PRIMAL_PARTICLES
|
||||
loadspritegfx ANIM_TAG_MEGA_PARTICLES
|
||||
loadspritegfx ANIM_TAG_ALPHA_SYMBOL
|
||||
monbg ANIM_ATTACKER
|
||||
setalpha 12, 8
|
||||
loopsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER, 13, 3
|
||||
createvisualtask AnimTask_BlendColorCycle, 2, 2, 0, 6, 0, 11, RGB(31, 31, 11)
|
||||
call PrimalReversionParticles
|
||||
call PrimalReversionParticles
|
||||
call PrimalReversionParticles
|
||||
call MegaEvolutionParticles
|
||||
call MegaEvolutionParticles
|
||||
call MegaEvolutionParticles
|
||||
waitforvisualfinish
|
||||
playsewithpan SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER
|
||||
createsprite gAlphaStoneSpriteTemplate, ANIM_ATTACKER, 41, 0, 0, 0, 0
|
||||
@@ -24865,15 +24870,15 @@ General_PrimalReversion_Alpha:
|
||||
end
|
||||
General_PrimalReversion_Omega:
|
||||
loadspritegfx ANIM_TAG_OMEGA_STONE
|
||||
loadspritegfx ANIM_TAG_PRIMAL_PARTICLES
|
||||
loadspritegfx ANIM_TAG_MEGA_PARTICLES
|
||||
loadspritegfx ANIM_TAG_OMEGA_SYMBOL
|
||||
monbg ANIM_ATTACKER
|
||||
setalpha 12, 8
|
||||
loopsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER, 13, 3
|
||||
createvisualtask AnimTask_BlendColorCycle, 2, 2, 0, 6, 0, 11, RGB(31, 31, 11)
|
||||
call PrimalReversionParticles
|
||||
call PrimalReversionParticles
|
||||
call PrimalReversionParticles
|
||||
call MegaEvolutionParticles
|
||||
call MegaEvolutionParticles
|
||||
call MegaEvolutionParticles
|
||||
waitforvisualfinish
|
||||
playsewithpan SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER
|
||||
createsprite gOmegaStoneSpriteTemplate, ANIM_ATTACKER, 41, 0, 0, 0, 0
|
||||
@@ -24889,22 +24894,6 @@ General_PrimalReversion_Omega:
|
||||
clearmonbg ANIM_ATK_PARTNER
|
||||
blendoff
|
||||
end
|
||||
PrimalReversionParticles:
|
||||
createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, 40, -10, 13
|
||||
delay 3
|
||||
createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, -35, -10, 13
|
||||
delay 3
|
||||
createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, 15, -40, 13
|
||||
delay 3
|
||||
createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, -10, -32, 13
|
||||
delay 3
|
||||
createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, 25, -20, 13
|
||||
delay 3
|
||||
createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, -40, -20, 13
|
||||
delay 3
|
||||
createsprite gPrimalParticlesSpriteTemplate, ANIM_ATTACKER, 2, 5, -40, 13
|
||||
delay 3
|
||||
return
|
||||
|
||||
General_AffectionHangedOn::
|
||||
loadspritegfx ANIM_TAG_RED_HEART
|
||||
@@ -25263,8 +25252,8 @@ FinishSupersonicSkystrike:
|
||||
call UnsetPsychicBg
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
Move_ACID_DOWNPOUR:
|
||||
loadspritegfx ANIM_TAG_BLUE_ORB @ reversal
|
||||
loadspritegfx ANIM_TAG_POISON_JAB @ poison jab
|
||||
@@ -25951,7 +25940,7 @@ NeverendingNightmareGeyser:
|
||||
createsprite gNeverEndingNightmareGeyserHexSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, 0xfff0, 0x10
|
||||
return
|
||||
|
||||
|
||||
|
||||
Move_CORKSCREW_CRASH::
|
||||
loadspritegfx ANIM_TAG_SPIKES @metal bits
|
||||
loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge
|
||||
@@ -26669,7 +26658,7 @@ HavocSpearSparkTarget:
|
||||
@ launchtemplate gSparkElectricityFlashingSpriteTemplate 0x4 0x8 0x0 0x0 0x20 0xc SOUND_PAN_ATTACKER 0x14 0x2 0x8000
|
||||
launchtemplate gSparkElectricityFlashingSpriteTemplate 0x4 0x8 0x0 0x0 0x10 0xc SOUND_PAN_ATTACKER 0x14 0x2 0x8000
|
||||
return
|
||||
|
||||
|
||||
|
||||
Move_SHATTERED_PSYCHE::
|
||||
loadspritegfx ANIM_TAG_IMPACT @hit
|
||||
@@ -29127,7 +29116,7 @@ OceanicOperettaExplosion:
|
||||
launchtemplate gOceanOperaExplosionSpriteTemplate 0x33 0x4 0x10 0x10 ANIM_TARGET 0x1
|
||||
delay 0x6
|
||||
return
|
||||
|
||||
|
||||
|
||||
Move_SPLINTERED_STORMSHARDS::
|
||||
loadspritegfx ANIM_TAG_ROCKS @rock
|
||||
@@ -29388,7 +29377,7 @@ SplinteredStormshardsFinishFadeReturn:
|
||||
return
|
||||
|
||||
|
||||
Move_LETS_SNUGGLE_FOREVER::
|
||||
Move_LETS_SNUGGLE_FOREVER::
|
||||
loadspritegfx ANIM_TAG_MAGENTA_HEART @sharm
|
||||
loadspritegfx ANIM_TAG_MUSIC_NOTES @music note
|
||||
loadspritegfx ANIM_TAG_SMALL_BUBBLES @fake tears
|
||||
@@ -30467,11 +30456,11 @@ LightThatBurnsTheSkyGreenSparks:
|
||||
launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c 0x0 0x28 0x0 0x3
|
||||
launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c 0x40 0x28 0x1 0x3
|
||||
launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c 0x80 0x28 0x0 0x3
|
||||
launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c SOUND_PAN_ATTACKER 0x28 0x2 0x3
|
||||
launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x30 0x2c 0x0 0x28 0x2 0x3
|
||||
launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c 0x0 0x28 0x0 0x3
|
||||
launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c 0x40 0x28 0x1 0x3
|
||||
launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c 0x80 0x28 0x0 0x3
|
||||
launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c SOUND_PAN_ATTACKER 0x28 0x2 0x3
|
||||
launchtemplate gLightThatBurnsTheSkyGreenSparkSpriteTemplate 0x83 0x8 0x0 0x0 0x15 0x2c 0x0 0x28 0x2 0x3
|
||||
delay 0x10
|
||||
return
|
||||
|
||||
|
||||
+89
-147
@@ -51,7 +51,7 @@ gBattleScriptsForMoveEffects::
|
||||
.4byte BattleScript_EffectBide @ EFFECT_BIDE
|
||||
.4byte BattleScript_EffectRampage @ EFFECT_RAMPAGE
|
||||
.4byte BattleScript_EffectRoar @ EFFECT_ROAR
|
||||
.4byte BattleScript_EffectMultiHit @ EFFECT_MULTI_HIT
|
||||
.4byte BattleScript_EffectHit @ EFFECT_MULTI_HIT
|
||||
.4byte BattleScript_EffectConversion @ EFFECT_CONVERSION
|
||||
.4byte BattleScript_EffectFlinchHit @ EFFECT_FLINCH_HIT
|
||||
.4byte BattleScript_EffectRestoreHp @ EFFECT_RESTORE_HP
|
||||
@@ -66,11 +66,10 @@ gBattleScriptsForMoveEffects::
|
||||
.4byte BattleScript_EffectDragonRage @ EFFECT_DRAGON_RAGE
|
||||
.4byte BattleScript_EffectTrap @ EFFECT_TRAP
|
||||
.4byte BattleScript_EffectHealBlock @ EFFECT_HEAL_BLOCK
|
||||
.4byte BattleScript_EffectDoubleHit @ EFFECT_DOUBLE_HIT
|
||||
.4byte BattleScript_EffectRecoilIfMiss @ EFFECT_RECOIL_IF_MISS
|
||||
.4byte BattleScript_EffectMist @ EFFECT_MIST
|
||||
.4byte BattleScript_EffectFocusEnergy @ EFFECT_FOCUS_ENERGY
|
||||
.4byte BattleScript_EffectRecoil25 @ EFFECT_RECOIL_25
|
||||
.4byte BattleScript_EffectHit @ EFFECT_RECOIL_25
|
||||
.4byte BattleScript_EffectConfuse @ EFFECT_CONFUSE
|
||||
.4byte BattleScript_EffectAttackUp2 @ EFFECT_ATTACK_UP_2
|
||||
.4byte BattleScript_EffectDefenseUp2 @ EFFECT_DEFENSE_UP_2
|
||||
@@ -99,7 +98,6 @@ gBattleScriptsForMoveEffects::
|
||||
.4byte BattleScript_EffectHit @ EFFECT_EVASION_DOWN_HIT
|
||||
.4byte BattleScript_EffectTwoTurnsAttack @ EFFECT_TWO_TURNS_ATTACK
|
||||
.4byte BattleScript_EffectConfuseHit @ EFFECT_CONFUSE_HIT
|
||||
.4byte BattleScript_EffectTwineedle @ EFFECT_TWINEEDLE
|
||||
.4byte BattleScript_EffectHit @ EFFECT_VITAL_THROW
|
||||
.4byte BattleScript_EffectSubstitute @ EFFECT_SUBSTITUTE
|
||||
.4byte BattleScript_EffectRecharge @ EFFECT_RECHARGE
|
||||
@@ -220,7 +218,7 @@ gBattleScriptsForMoveEffects::
|
||||
.4byte BattleScript_EffectSnatch @ EFFECT_SNATCH
|
||||
.4byte BattleScript_EffectHit @ EFFECT_LOW_KICK
|
||||
.4byte BattleScript_EffectSecretPower @ EFFECT_SECRET_POWER
|
||||
.4byte BattleScript_EffectRecoil33 @ EFFECT_RECOIL_33
|
||||
.4byte BattleScript_EffectHit @ EFFECT_RECOIL_33
|
||||
.4byte BattleScript_EffectTeeterDance @ EFFECT_TEETER_DANCE
|
||||
.4byte BattleScript_EffectHitEscape @ EFFECT_HIT_ESCAPE
|
||||
.4byte BattleScript_EffectMudSport @ EFFECT_MUD_SPORT
|
||||
@@ -309,9 +307,9 @@ gBattleScriptsForMoveEffects::
|
||||
.4byte BattleScript_EffectGrowth @ EFFECT_GROWTH
|
||||
.4byte BattleScript_EffectCloseCombat @ EFFECT_CLOSE_COMBAT
|
||||
.4byte BattleScript_EffectLastResort @ EFFECT_LAST_RESORT
|
||||
.4byte BattleScript_EffectRecoil33Status @ EFFECT_RECOIL_33_STATUS
|
||||
.4byte BattleScript_EffectHit @ EFFECT_RECOIL_33_STATUS
|
||||
.4byte BattleScript_EffectFlinchStatus @ EFFECT_FLINCH_STATUS
|
||||
.4byte BattleScript_EffectRecoil50 @ EFFECT_RECOIL_50
|
||||
.4byte BattleScript_EffectHit @ EFFECT_RECOIL_50
|
||||
.4byte BattleScript_EffectShellSmash @ EFFECT_SHELL_SMASH
|
||||
.4byte BattleScript_EffectShiftGear @ EFFECT_SHIFT_GEAR
|
||||
.4byte BattleScript_EffectDefenseUp3 @ EFFECT_DEFENSE_UP_3
|
||||
@@ -381,12 +379,10 @@ gBattleScriptsForMoveEffects::
|
||||
.4byte BattleScript_EffectHit @ EFFECT_DYNAMAX_DOUBLE_DMG
|
||||
.4byte BattleScript_EffectDecorate @ EFFECT_DECORATE
|
||||
.4byte BattleScript_EffectHit @ EFFECT_SNIPE_SHOT
|
||||
.4byte BattleScript_EffectTripleHit @ EFFECT_TRIPLE_HIT
|
||||
.4byte BattleScript_EffectRecoilHP25 @ EFFECT_RECOIL_HP_25
|
||||
.4byte BattleScript_EffectStuffCheeks @ EFFECT_STUFF_CHEEKS
|
||||
.4byte BattleScript_EffectDefenseDownHit @ EFFECT_GRAV_APPLE
|
||||
.4byte BattleScript_EffectEvasionUpHit @ EFFECT_EVASION_UP_HIT
|
||||
.4byte BattleScript_EffectDoubleIronBash @ EFFECT_DOUBLE_IRON_BASH
|
||||
.4byte BattleScript_EffectGlitzyGlow @ EFFECT_GLITZY_GLOW
|
||||
.4byte BattleScript_EffectBaddyBad @ EFFECT_BADDY_BAD
|
||||
.4byte BattleScript_EffectSappySeed @ EFFECT_SAPPY_SEED
|
||||
@@ -511,7 +507,7 @@ BattleScript_BeakBlastSetUp::
|
||||
setbeakblast BS_ATTACKER
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
waitmessage 1
|
||||
playanimation BS_ATTACKER, B_ANIM_BEAK_BLAST_SETUP, NULL
|
||||
playanimation BS_ATTACKER, B_ANIM_BEAK_BLAST_SETUP, NULL
|
||||
printstring STRINGID_HEATUPBEAK
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end2
|
||||
@@ -601,7 +597,7 @@ BattleScript_ScaleShotEnd::
|
||||
moveendcase MOVEEND_SYNCHRONIZE_TARGET
|
||||
moveendfrom MOVEEND_STATUS_IMMUNITY_ABILITIES
|
||||
end
|
||||
|
||||
|
||||
BattleScript_EffectSkyDrop:
|
||||
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_SkyDropTurn2
|
||||
attackcanceler
|
||||
@@ -706,6 +702,7 @@ BattleScript_EffectFlingConsumeBerry:
|
||||
restorebattleritem BS_TARGET
|
||||
BattleScript_FlingEnd:
|
||||
tryfaintmon BS_TARGET
|
||||
trysymbiosis
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_FlingFlameOrb:
|
||||
@@ -1073,16 +1070,6 @@ BattleScript_EffectGlitzyGlow:
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_EffectDoubleIronBash:
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
setmultihitcounter 2
|
||||
initmultihitstring
|
||||
sethword sMULTIHIT_EFFECT, MOVE_EFFECT_FLINCH
|
||||
goto BattleScript_MultiHitLoop
|
||||
|
||||
BattleScript_EffectEvasionUpHit:
|
||||
setmoveeffect MOVE_EFFECT_EVS_PLUS_1 | MOVE_EFFECT_AFFECTS_USER
|
||||
goto BattleScript_EffectHit
|
||||
@@ -1285,28 +1272,17 @@ BattleScript_EffectBurnUp:
|
||||
ppreduce
|
||||
jumpiftype BS_ATTACKER, TYPE_FIRE, BattleScript_BurnUpWorks
|
||||
goto BattleScript_ButItFailed
|
||||
|
||||
BattleScript_BurnUpWorks:
|
||||
accuracycheck BattleScript_MoveMissedPause, ACC_CURR_MOVE
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
setmoveeffect MOVE_EFFECT_BURN_UP | MOVE_EFFECT_CERTAIN
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_BurnUpRemoveType::
|
||||
losetype BS_ATTACKER, TYPE_FIRE
|
||||
printstring STRINGID_ATTACKERLOSTFIRETYPE
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
tryfaintmon BS_TARGET
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
return
|
||||
|
||||
BattleScript_EffectPurify:
|
||||
attackcanceler
|
||||
attackstring
|
||||
@@ -1392,6 +1368,7 @@ BattleScript_MoveEffectBugBite::
|
||||
consumeberry BS_ATTACKER, TRUE @ consume the berry, then restore the item from changedItems
|
||||
bicword gHitMarker, HITMARKER_NO_ANIMATIONS
|
||||
setbyte sBERRY_OVERRIDE, FALSE
|
||||
trysymbiosis
|
||||
return
|
||||
|
||||
BattleScript_EffectCoreEnforcer:
|
||||
@@ -1763,6 +1740,7 @@ BattleScript_EffectBestow:
|
||||
waitanimation
|
||||
printstring STRINGID_BESTOWITEMGIVING
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
trysymbiosis
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_EffectAfterYou:
|
||||
@@ -3023,6 +3001,7 @@ BattleScript_EffectNaturalGift:
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
seteffectwithchance
|
||||
jumpifmovehadnoeffect BattleScript_EffectNaturalGiftEnd
|
||||
checkparentalbondcounter 2, BattleScript_EffectNaturalGiftEnd
|
||||
removeitem BS_ATTACKER
|
||||
BattleScript_EffectNaturalGiftEnd:
|
||||
tryfaintmon BS_TARGET
|
||||
@@ -3568,6 +3547,8 @@ BattleScript_MultiHitPrintStrings::
|
||||
copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6
|
||||
printstring STRINGID_HITXTIMES
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
return
|
||||
|
||||
BattleScript_MultiHitEnd::
|
||||
seteffectwithchance
|
||||
tryfaintmon BS_TARGET
|
||||
@@ -3786,26 +3767,6 @@ BattleScript_EffectTrap::
|
||||
setmoveeffect MOVE_EFFECT_WRAP
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_EffectTripleHit::
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
setmultihitcounter 3
|
||||
initmultihitstring
|
||||
sethword sMULTIHIT_EFFECT, 0
|
||||
goto BattleScript_MultiHitLoop
|
||||
|
||||
BattleScript_EffectDoubleHit::
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
setmultihitcounter 2
|
||||
initmultihitstring
|
||||
sethword sMULTIHIT_EFFECT, 0
|
||||
goto BattleScript_MultiHitLoop
|
||||
|
||||
BattleScript_EffectRecoilIfMiss::
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_MoveMissedDoDamage, ACC_CURR_MOVE
|
||||
@@ -4162,16 +4123,6 @@ BattleScript_EffectConfuseHit::
|
||||
setmoveeffect MOVE_EFFECT_CONFUSION
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_EffectTwineedle::
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
sethword sMULTIHIT_EFFECT, MOVE_EFFECT_POISON
|
||||
attackstring
|
||||
ppreduce
|
||||
setmultihitcounter 2
|
||||
initmultihitstring
|
||||
goto BattleScript_MultiHitLoop
|
||||
|
||||
BattleScript_EffectSubstitute::
|
||||
attackcanceler
|
||||
ppreduce
|
||||
@@ -4517,64 +4468,16 @@ BattleScript_PartyHealEnd::
|
||||
|
||||
BattleScript_EffectTripleKick::
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
sethword sTRIPLE_KICK_POWER, 0
|
||||
initmultihitstring
|
||||
setmultihit 3
|
||||
BattleScript_TripleKickLoop::
|
||||
jumpifhasnohp BS_ATTACKER, BattleScript_TripleKickEnd
|
||||
jumpifhasnohp BS_TARGET, BattleScript_TripleKickNoMoreHits
|
||||
jumpifhalfword CMP_EQUAL, gChosenMove, MOVE_SLEEP_TALK, BattleScript_DoTripleKickAttack
|
||||
jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_TripleKickNoMoreHits
|
||||
BattleScript_DoTripleKickAttack::
|
||||
accuracycheck BattleScript_TripleKickNoMoreHits, ACC_CURR_MOVE
|
||||
movevaluescleanup
|
||||
jumpifmove MOVE_SURGING_STRIKES, EffectTripleKick_DoDmgCalcs @ no power boost each hit
|
||||
jumpifmove MOVE_TRIPLE_AXEL, EffectTripleKick_TripleAxelBoost @ triple axel gets +20 power
|
||||
addbyte sTRIPLE_KICK_POWER, 10 @ triple kick gets +10 power
|
||||
goto EffectTripleKick_DoDmgCalcs
|
||||
EffectTripleKick_TripleAxelBoost:
|
||||
addbyte sTRIPLE_KICK_POWER, 20
|
||||
EffectTripleKick_DoDmgCalcs:
|
||||
addbyte sTRIPLE_KICK_POWER, 10
|
||||
addbyte sMULTIHIT_STRING + 4, 1
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
jumpifmovehadnoeffect BattleScript_TripleKickNoMoreHits
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
waitmessage 1
|
||||
moveendto MOVEEND_NEXT_TARGET
|
||||
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_FOE_ENDURED, BattleScript_TripleKickPrintStrings
|
||||
decrementmultihit BattleScript_TripleKickLoop
|
||||
goto BattleScript_TripleKickPrintStrings
|
||||
BattleScript_TripleKickNoMoreHits::
|
||||
pause B_WAIT_TIME_SHORT
|
||||
jumpifbyte CMP_EQUAL, sMULTIHIT_STRING + 4, 0, BattleScript_TripleKickPrintStrings
|
||||
bichalfword gMoveResultFlags, MOVE_RESULT_MISSED
|
||||
BattleScript_TripleKickPrintStrings::
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
jumpifbyte CMP_EQUAL, sMULTIHIT_STRING + 4, 0, BattleScript_TripleKickEnd
|
||||
jumpifhalfword CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_TripleKickEnd
|
||||
copyarray gBattleTextBuff1, sMULTIHIT_STRING, 6
|
||||
printstring STRINGID_HITXTIMES
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
BattleScript_TripleKickEnd::
|
||||
seteffectwithchance
|
||||
tryfaintmon BS_TARGET
|
||||
moveendfrom MOVEEND_UPDATE_LAST_MOVES
|
||||
end
|
||||
jumpifmove MOVE_TRIPLE_AXEL BS_TripleAxel
|
||||
addbyte sTRIPLE_KICK_POWER, 10 @ triple kick gets +10 power
|
||||
goto BattleScript_HitFromAtkString
|
||||
|
||||
BS_TripleAxel:
|
||||
addbyte sTRIPLE_KICK_POWER, 20 @ triple axel gets +20 power
|
||||
goto BattleScript_HitFromAtkString
|
||||
|
||||
BattleScript_EffectThief::
|
||||
setmoveeffect MOVE_EFFECT_STEAL_ITEM
|
||||
@@ -5173,7 +5076,14 @@ BattleScript_EffectTeleport:
|
||||
attackcanceler
|
||||
attackstring
|
||||
ppreduce
|
||||
.if B_TELEPORT_BEHAVIOR >= GEN_7
|
||||
canteleport BS_ATTACKER
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, TRUE, BattleScript_EffectTeleportNew
|
||||
goto BattleScript_ButItFailed
|
||||
.else
|
||||
jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailed
|
||||
.endif
|
||||
BattleScript_EffectTeleportTryToRunAway:
|
||||
getifcantrunfrombattle BS_ATTACKER
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, BATTLE_RUN_FORBIDDEN, BattleScript_ButItFailed
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, BATTLE_RUN_FAILURE, BattleScript_PrintAbilityMadeIneffective
|
||||
@@ -5184,6 +5094,30 @@ BattleScript_EffectTeleport:
|
||||
setoutcomeonteleport BS_ATTACKER
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_EffectTeleportNew:
|
||||
getbattlerside BS_ATTACKER
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, B_SIDE_OPPONENT, BattleScript_EffectTeleportTryToRunAway
|
||||
attackanimation
|
||||
waitanimation
|
||||
openpartyscreen BS_ATTACKER, BattleScript_EffectTeleportNewEnd
|
||||
switchoutabilities BS_ATTACKER
|
||||
waitstate
|
||||
switchhandleorder BS_ATTACKER, 2
|
||||
returntoball BS_ATTACKER
|
||||
getswitchedmondata BS_ATTACKER
|
||||
switchindataupdate BS_ATTACKER
|
||||
hpthresholds BS_ATTACKER
|
||||
trytoclearprimalweather
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
waitmessage 1
|
||||
printstring STRINGID_SWITCHINMON
|
||||
switchinanim BS_ATTACKER, TRUE
|
||||
waitstate
|
||||
switchineffects BS_ATTACKER
|
||||
BattleScript_EffectTeleportNewEnd:
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
.if B_BEAT_UP < GEN_5
|
||||
BattleScript_EffectBeatUp::
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
@@ -5216,6 +5150,13 @@ BattleScript_BeatUpAttack::
|
||||
goto BattleScript_BeatUpLoop
|
||||
BattleScript_BeatUpEnd::
|
||||
end
|
||||
.else
|
||||
BattleScript_EffectBeatUp::
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
addbyte gBattleCommunication, 1
|
||||
goto BattleScript_HitFromAtkString
|
||||
.endif
|
||||
|
||||
BattleScript_EffectSemiInvulnerable::
|
||||
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_SecondTurnSemiInvulnerable
|
||||
@@ -5378,9 +5319,11 @@ BattleScript_EffectSpitUp::
|
||||
stockpiletobasedamage BattleScript_SpitUpFail
|
||||
goto BattleScript_HitFromAtkAnimation
|
||||
BattleScript_SpitUpFail::
|
||||
checkparentalbondcounter 2, BattleScript_SpitUpEnd
|
||||
pause B_WAIT_TIME_SHORT
|
||||
printstring STRINGID_FAILEDTOSPITUP
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
BattleScript_SpitUpEnd:
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_SpitUpFailProtect::
|
||||
@@ -5648,7 +5591,7 @@ BattleScript_EffectRolePlay::
|
||||
pause 20
|
||||
destroyabilitypopup
|
||||
pause 40
|
||||
.endif
|
||||
.endif
|
||||
printstring STRINGID_PKMNCOPIEDFOE
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
switchinabilities BS_ATTACKER
|
||||
@@ -5865,24 +5808,6 @@ BattleScript_EffectSecretPower::
|
||||
getsecretpowereffect
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_EffectRecoil25:
|
||||
setmoveeffect MOVE_EFFECT_RECOIL_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
||||
jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit
|
||||
incrementgamestat GAME_STAT_USED_STRUGGLE
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_EffectRecoil33::
|
||||
setmoveeffect MOVE_EFFECT_RECOIL_33 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_EffectRecoil33Status:
|
||||
setmoveeffect MOVE_EFFECT_RECOIL_33_STATUS | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_EffectRecoil50:
|
||||
setmoveeffect MOVE_EFFECT_RECOIL_50 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_EffectRecoilHP25:
|
||||
setmoveeffect MOVE_EFFECT_RECOIL_HP_25 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
||||
jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit
|
||||
@@ -8012,7 +7937,6 @@ BattleScript_MoveEffectConfusion::
|
||||
|
||||
BattleScript_MoveEffectRecoilWithStatus::
|
||||
argumentstatuseffect
|
||||
copyword gBattleMoveDamage, sSAVED_DMG
|
||||
BattleScript_MoveEffectRecoil::
|
||||
jumpifmove MOVE_STRUGGLE, BattleScript_DoRecoil
|
||||
jumpifability BS_ATTACKER, ABILITY_ROCK_HEAD, BattleScript_RecoilEnd
|
||||
@@ -9093,6 +9017,7 @@ BattleScript_BerryCureSlpRet::
|
||||
BattleScript_GemActivates::
|
||||
playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT
|
||||
waitanimation
|
||||
setlastuseditem BS_ATTACKER
|
||||
printstring STRINGID_GEMACTIVATES
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
removeitem BS_ATTACKER
|
||||
@@ -9101,6 +9026,7 @@ BattleScript_GemActivates::
|
||||
BattleScript_BerryReduceDmg::
|
||||
playanimation BS_TARGET, B_ANIM_HELD_ITEM_EFFECT
|
||||
waitanimation
|
||||
setlastuseditem BS_TARGET
|
||||
printstring STRINGID_TARGETATEITEM
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
removeitem BS_TARGET
|
||||
@@ -9625,7 +9551,7 @@ BattleScript_StatUpZMove::
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
BattleScript_StatUpZMoveEnd:
|
||||
return
|
||||
|
||||
|
||||
BattleScript_HealReplacementZMove::
|
||||
playanimation BS_SCRIPTING B_ANIM_WISH_HEAL 0x0
|
||||
printfromtable gZEffectStringIds
|
||||
@@ -9836,8 +9762,24 @@ BattleScript_NeutralizingGasExitsLoop:
|
||||
jumpifbytenotequal gBattlerTarget, sByteFour, BattleScript_NeutralizingGasExitsLoop @ SOMEHOW, comparing to gBattlersCount is problematic.
|
||||
restoretarget
|
||||
return
|
||||
|
||||
|
||||
BattleScript_MagicianActivates::
|
||||
call BattleScript_AbilityPopUp
|
||||
call BattleScript_ItemSteal
|
||||
return
|
||||
|
||||
BattleScript_SymbiosisActivates::
|
||||
call BattleScript_AbilityPopUp
|
||||
printstring STRINGID_SYMBIOSISITEMPASS
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
return
|
||||
|
||||
BattleScript_TargetAbilityStatRaiseRet::
|
||||
copybyte gBattlerAbility, gEffectBattler
|
||||
copybyte gBattlerAttacker, gBattlerTarget
|
||||
call BattleScript_AbilityPopUp
|
||||
statbuffchange MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN, BattleScript_TargetAbilityStatRaiseRet_End
|
||||
setgraphicalstatchangevalues
|
||||
call BattleScript_StatUp
|
||||
BattleScript_TargetAbilityStatRaiseRet_End:
|
||||
return
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "constants/frontier_util.h"
|
||||
#include "constants/game_stat.h"
|
||||
#include "constants/item.h"
|
||||
#include "constants/item_config.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/heal_locations.h"
|
||||
#include "constants/layouts.h"
|
||||
|
||||
@@ -225,6 +225,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_CommentOnOpponentType::
|
||||
call_if_eq VAR_0x8005, TYPE_ICE, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesIce
|
||||
call_if_eq VAR_0x8005, TYPE_DRAGON, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDragon
|
||||
call_if_eq VAR_0x8005, TYPE_DARK, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDark
|
||||
call_if_eq VAR_0x8005, TYPE_FAIRY, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFairy
|
||||
call_if_eq VAR_0x8005, NUMBER_OF_MON_TYPES, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentHasNoMostCommonType
|
||||
return
|
||||
|
||||
@@ -296,6 +297,10 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesDark::
|
||||
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInDarkType, MSGBOX_DEFAULT
|
||||
return
|
||||
|
||||
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentUsesFairy::
|
||||
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFairyType, MSGBOX_DEFAULT
|
||||
return
|
||||
|
||||
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_OpponentHasNoMostCommonType::
|
||||
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerHasNoClearFavorite, MSGBOX_DEFAULT
|
||||
return
|
||||
@@ -559,6 +564,10 @@ BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInDarkType:
|
||||
.string "The TRAINER is apparently skilled\n"
|
||||
.string "in the handling of the DARK type.$"
|
||||
|
||||
BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInFairyType:
|
||||
.string "The TRAINER is apparently skilled\n"
|
||||
.string "in the handling of the FAIRY type.$"
|
||||
|
||||
BattleFrontier_BattleFactoryPreBattleRoom_Text_TrainerSkilledInSteelType:
|
||||
.string "The TRAINER is apparently skilled\n"
|
||||
.string "in the handling of the STEEL type.$"
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
"x": 14,
|
||||
"y": 9,
|
||||
"elevation": 3,
|
||||
"var": "VAR_SKY_PILLAR_RAQUAZA_CRY_DONE",
|
||||
"var": "VAR_SKY_PILLAR_RAYQUAZA_CRY_DONE",
|
||||
"var_value": "0",
|
||||
"script": "SkyPillar_Top_EventScript_AwakenRayquaza"
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ SkyPillar_Top_EventScript_AwakenRayquaza::
|
||||
special RemoveCameraObject
|
||||
setvar VAR_SOOTOPOLIS_CITY_STATE, 5
|
||||
setvar VAR_SKY_PILLAR_STATE, 1
|
||||
setvar VAR_SKY_PILLAR_RAQUAZA_CRY_DONE, 1
|
||||
setvar VAR_SKY_PILLAR_RAYQUAZA_CRY_DONE, 1
|
||||
releaseall
|
||||
end
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ EventScript_ResetAllBerries::
|
||||
setberrytree BERRY_TREE_ROUTE_117_WEPEAR_3, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES
|
||||
setberrytree BERRY_TREE_ROUTE_117_WEPEAR_2, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES
|
||||
setberrytree BERRY_TREE_ROUTE_117_WEPEAR_1, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES
|
||||
|
||||
|
||||
@ Route 112
|
||||
setberrytree BERRY_TREE_ROUTE_112_RAWST_2, ITEM_TO_BERRY(ITEM_RAWST_BERRY), BERRY_STAGE_BERRIES
|
||||
setberrytree BERRY_TREE_ROUTE_112_PECHA_2, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES
|
||||
|
||||
@@ -1,6 +1,115 @@
|
||||
EventScript_RepelWoreOff::
|
||||
.if I_REPEL_LURE_MENU == TRUE
|
||||
checkitem ITEM_REPEL, 1
|
||||
goto_if_eq VAR_RESULT, TRUE, EventScript_RepelUseAnother
|
||||
checkitem ITEM_SUPER_REPEL, 1
|
||||
goto_if_eq VAR_RESULT, TRUE, EventScript_RepelUseAnother
|
||||
checkitem ITEM_MAX_REPEL, 1
|
||||
goto_if_eq VAR_RESULT, TRUE, EventScript_RepelUseAnother
|
||||
.else
|
||||
checkitem VAR_LAST_REPEL_LURE_USED, 1
|
||||
goto_if_eq VAR_RESULT, TRUE, EventScript_RepelUseAnother
|
||||
.endif
|
||||
lock
|
||||
msgbox Text_RepelWoreOff, MSGBOX_SIGN
|
||||
release
|
||||
end
|
||||
|
||||
EventScript_RepelUseAnother:
|
||||
lock
|
||||
msgbox Text_UseAnotherRepel, MSGBOX_YESNO
|
||||
.if I_REPEL_LURE_MENU == TRUE
|
||||
callnative TryDrawRepelMenu
|
||||
goto_if_eq VAR_RESULT, FALSE, EventScript_RepelWoreOff_Chose
|
||||
waitstate
|
||||
goto_if_eq VAR_RESULT, 127, EventScript_RepelWoreOff_End
|
||||
EventScript_RepelWoreOff_Chose:
|
||||
callnative HandleRepelMenuChoice
|
||||
bufferitemname 1, VAR_0x8004
|
||||
removeitem VAR_0x8004, 1
|
||||
playse SE_REPEL
|
||||
msgbox Text_UsedNewRepelLure, MSGBOX_SIGN
|
||||
.else
|
||||
goto_if_eq VAR_RESULT, YES, EventScript_UsedRepel
|
||||
.endif
|
||||
EventScript_RepelWoreOff_End:
|
||||
release
|
||||
end
|
||||
|
||||
EventScript_UsedRepel:
|
||||
bufferitemname 1, VAR_LAST_REPEL_LURE_USED
|
||||
playse SE_REPEL
|
||||
lock
|
||||
msgbox Text_UsedNewRepelLure, MSGBOX_SIGN
|
||||
removeitem VAR_LAST_REPEL_LURE_USED, 1
|
||||
waitse
|
||||
callnative HandleUseExpiredRepel
|
||||
release
|
||||
end
|
||||
|
||||
EventScript_LureWoreOff::
|
||||
.if I_REPEL_LURE_MENU == TRUE
|
||||
checkitem ITEM_LURE, 1
|
||||
goto_if_eq VAR_RESULT, TRUE, EventScript_LureUseAnother
|
||||
checkitem ITEM_SUPER_LURE, 1
|
||||
goto_if_eq VAR_RESULT, TRUE, EventScript_LureUseAnother
|
||||
checkitem ITEM_MAX_LURE, 1
|
||||
goto_if_eq VAR_RESULT, TRUE, EventScript_LureUseAnother
|
||||
.else
|
||||
checkitem VAR_LAST_REPEL_LURE_USED, 1
|
||||
goto_if_eq VAR_RESULT, TRUE, EventScript_LureUseAnother
|
||||
.endif
|
||||
lock
|
||||
msgbox Text_LureWoreOff, MSGBOX_SIGN
|
||||
release
|
||||
end
|
||||
|
||||
EventScript_LureUseAnother:
|
||||
lock
|
||||
msgbox Text_UseAnotherLure, MSGBOX_YESNO
|
||||
.if I_REPEL_LURE_MENU == TRUE
|
||||
callnative TryDrawLureMenu
|
||||
goto_if_eq VAR_RESULT, FALSE, EventScript_LureWoreOff_Chose
|
||||
waitstate
|
||||
goto_if_eq VAR_RESULT, 127, EventScript_LureWoreOff_End
|
||||
EventScript_LureWoreOff_Chose:
|
||||
callnative HandleLureMenuChoice
|
||||
bufferitemname 1, VAR_0x8004
|
||||
removeitem VAR_0x8004, 1
|
||||
playse SE_REPEL
|
||||
msgbox Text_UsedNewRepelLure, MSGBOX_SIGN
|
||||
.else
|
||||
goto_if_eq VAR_RESULT, YES, EventScript_UsedLure
|
||||
.endif
|
||||
EventScript_LureWoreOff_End:
|
||||
release
|
||||
end
|
||||
|
||||
EventScript_UsedLure:
|
||||
bufferitemname 1, VAR_LAST_REPEL_LURE_USED
|
||||
playse SE_REPEL
|
||||
lock
|
||||
msgbox Text_UsedNewRepelLure, MSGBOX_SIGN
|
||||
removeitem VAR_LAST_REPEL_LURE_USED, 1
|
||||
waitse
|
||||
callnative HandleUseExpiredLure
|
||||
release
|
||||
end
|
||||
|
||||
Text_RepelWoreOff:
|
||||
.string "REPEL's effect wore off…$"
|
||||
|
||||
Text_UseAnotherRepel::
|
||||
.string "REPEL's effect wore off!\n"
|
||||
.string "Use another?$"
|
||||
|
||||
Text_LureWoreOff:
|
||||
.string "Lure's effect wore off…$"
|
||||
|
||||
Text_UseAnotherLure::
|
||||
.string "Lure's effect wore off!\n"
|
||||
.string "Use another?$"
|
||||
|
||||
Text_UsedNewRepelLure::
|
||||
.string "{PLAYER} used the\n"
|
||||
.string "{STR_VAR_2}.$"
|
||||
@@ -22,7 +22,7 @@ Roulette_EventScript_Play::
|
||||
special PlayRoulette
|
||||
waitstate
|
||||
end
|
||||
|
||||
|
||||
Roulette_Text_PlayMinimumWagerIsX::
|
||||
.string "The minimum wager at this table\n"
|
||||
.string "is {STR_VAR_1}. Do you want to play?$"
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
cd /mnt/c/Users/<user>/Downloads
|
||||
```
|
||||
|
||||
> 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>/Downloads 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>/Downloads folder"`.
|
||||
> Note 3: Windows path names are case-insensitive so adhering to capitalization isn't needed
|
||||
|
||||
4. Once the directory has been changed to the folder containing the devkitPro pacman package, run the following commands to install devkitARM.
|
||||
|
||||
+1
-4
@@ -2,13 +2,10 @@
|
||||
#define GUARD_ALLOC_H
|
||||
|
||||
#define HEAP_SIZE 0x1C000
|
||||
#define malloc Alloc
|
||||
#define calloc(ct, sz) AllocZeroed((ct) * (sz))
|
||||
#define free Free
|
||||
|
||||
#define FREE_AND_SET_NULL(ptr) \
|
||||
{ \
|
||||
free(ptr); \
|
||||
Free(ptr); \
|
||||
ptr = NULL; \
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -73,7 +73,7 @@ static const u8 sDarkDownArrowTiles[] = INCBIN_U8("graphics/fonts/down_arrow_alt
|
||||
static const u8 sUnusedFRLGBlankedDownArrow[] = INCBIN_U8("graphics/fonts/unused_frlg_blanked_down_arrow.4bpp");
|
||||
static const u8 sUnusedFRLGDownArrow[] = INCBIN_U8("graphics/fonts/unused_frlg_down_arrow.4bpp");
|
||||
static const u8 sDownArrowYCoords[] = { 0, 1, 2, 1 };
|
||||
static const u8 sWindowVerticalScrollSpeeds[] = {
|
||||
static const u8 sWindowVerticalScrollSpeeds[] = {
|
||||
[OPTIONS_TEXT_SPEED_SLOW] = 1,
|
||||
[OPTIONS_TEXT_SPEED_MID] = 2,
|
||||
[OPTIONS_TEXT_SPEED_FAST] = 4,
|
||||
@@ -299,7 +299,7 @@ bool16 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u8 speed, voi
|
||||
else
|
||||
{
|
||||
sTempTextPrinter.textSpeed = 0;
|
||||
|
||||
|
||||
// Render all text (up to limit) at once
|
||||
for (j = 0; j < 0x400; ++j)
|
||||
{
|
||||
|
||||
@@ -148,7 +148,6 @@ void RestoreTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor);
|
||||
void DecompressGlyphTile(const void *src_, void *dest_);
|
||||
void CopyGlyphToWindow(struct TextPrinter *x);
|
||||
void ClearTextSpan(struct TextPrinter *textPrinter, u32 width);
|
||||
u8 GetMenuCursorDimensionByFont(u8, u8);
|
||||
|
||||
void TextPrinterInitDownArrowCounters(struct TextPrinter *textPrinter);
|
||||
void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter);
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
230 148 98
|
||||
255 255 222
|
||||
230 230 197
|
||||
213 205 172
|
||||
189 180 148
|
||||
172 156 123
|
||||
156 131 106
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
142 204 143
|
||||
123 180 122
|
||||
112 165 99
|
||||
89 130 87
|
||||
67 114 65
|
||||
55 91 56
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.0 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 510 B |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 441 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user