Merge pull request #380 from DizzyEggg/frontier_2

More battle frontier
This commit is contained in:
Diegoisawesome
2018-11-12 14:05:40 -06:00
committed by GitHub
66 changed files with 8421 additions and 12980 deletions
-174
View File
@@ -7,180 +7,6 @@
thumb_func_start sub_8195C7C
sub_8195C7C: @ 8195C7C
push {r4-r7,lr}
ldr r4, =gSaveBlock2Ptr
ldr r0, [r4]
ldr r1, =0x00000ca9
adds r0, r1
ldrb r0, [r0]
lsls r0, 30
lsrs r7, r0, 30
ldr r0, =0x000040ce
bl VarGet
lsls r0, 24
ldr r4, [r4]
lsls r1, r7, 1
lsrs r5, r0, 22
adds r1, r5
ldr r3, =0x00000dc8
adds r6, r4, r3
adds r3, r6, r1
ldrh r2, [r3]
ldr r0, =0x0000270e
cmp r2, r0
bhi _08195CCA
adds r2, 0x1
strh r2, [r3]
movs r3, 0xDD
lsls r3, 4
adds r0, r4, r3
adds r1, r0, r1
adds r0, r5, 0
ldrh r3, [r1]
cmp r7, r3
bls _08195CC0
adds r0, 0x2
_08195CC0:
adds r0, r6, r0
ldrh r0, [r0]
cmp r0, 0
beq _08195CCA
strh r2, [r1]
_08195CCA:
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8195C7C
thumb_func_start sub_8195CE4
sub_8195CE4: @ 8195CE4
push {r4,lr}
ldr r4, =gSaveBlock2Ptr
ldr r0, [r4]
ldr r1, =gSpecialVar_0x8005
ldrh r1, [r1]
ldr r2, =0x00000ca8
adds r0, r2
strb r1, [r0]
movs r0, 0x80
lsls r0, 7
movs r1, 0
bl VarSet
ldr r1, [r4]
ldr r0, =0x00000ca9
adds r1, r0
ldrb r0, [r1]
movs r2, 0x4
orrs r0, r2
strb r0, [r1]
bl sub_81A4C30
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8195CE4
thumb_func_start sub_8195D28
sub_8195D28: @ 8195D28
push {r4,r5,lr}
ldr r0, =0x000040ce
bl VarGet
lsls r0, 16
ldr r4, =gSaveBlock2Ptr
ldr r2, [r4]
ldr r3, =0x00000ca9
adds r1, r2, r3
ldrb r1, [r1]
lsls r1, 30
lsrs r1, 29
lsrs r0, 14
adds r1, r0
ldr r0, =0x00000dc8
adds r2, r0
adds r2, r1
ldrh r0, [r2]
cmp r0, 0x29
bls _08195D88
bl Random
ldr r4, [r4]
ldr r5, =gUnknown_0860DE84
lsls r0, 16
lsrs r0, 16
movs r1, 0x9
bl __umodsi3
lsls r0, 16
lsrs r0, 15
adds r0, r5
ldrh r0, [r0]
ldr r1, =0x00000dc6
adds r4, r1
b _08195DA6
.pool
_08195D88:
bl Random
ldr r4, [r4]
ldr r5, =gUnknown_0860DE78
lsls r0, 16
lsrs r0, 16
movs r1, 0x6
bl __umodsi3
lsls r0, 16
lsrs r0, 15
adds r0, r5
ldrh r0, [r0]
ldr r3, =0x00000dc6
adds r4, r3
_08195DA6:
strh r0, [r4]
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8195D28
thumb_func_start sub_8195DB8
sub_8195DB8: @ 8195DB8
push {r4,r5,lr}
ldr r4, =gSaveBlock2Ptr
ldr r0, [r4]
ldr r1, =0x00000dc6
adds r0, r1
ldrh r0, [r0]
movs r1, 0x1
bl AddBagItem
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x1
bne _08195E00
ldr r0, [r4]
ldr r1, =0x00000dc6
adds r0, r1
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
ldr r0, [r4]
ldr r1, =0x00000dc6
adds r0, r1
movs r1, 0
strh r1, [r0]
ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _08195E06
.pool
_08195E00:
ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_08195E06:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end sub_8195DB8
thumb_func_start sub_8195E10 thumb_func_start sub_8195E10
sub_8195E10: @ 8195E10 sub_8195E10: @ 8195E10
push {lr} push {lr}
File diff suppressed because it is too large Load Diff
+13 -13
View File
@@ -1251,20 +1251,20 @@
various \battler, 8 various \battler, 8
.endm .endm
.macro various9 battler .macro arenajudgmentwindow
various \battler, 9 various BS_ATTACKER, VARIOUS_ARENA_JUDGMENT_WINDOW
.endm .endm
.macro various10 battler .macro arenaopponentmonlost
various \battler, 10 various BS_ATTACKER, VARIOUS_ARENA_OPPONENT_MON_LOST
.endm .endm
.macro various11 battler .macro arenaplayermonlost
various \battler, 11 various BS_ATTACKER, VARIOUS_ARENA_PLAYER_MON_LOST
.endm .endm
.macro various12 battler .macro arenabothmonlost
various \battler, 12 various BS_ATTACKER, VARIOUS_ARENA_BOTH_MONS_LOST
.endm .endm
.macro forfeityesnobox battler .macro forfeityesnobox battler
@@ -1279,12 +1279,12 @@
various \battler, 15 various \battler, 15
.endm .endm
.macro various16 battler .macro arenajudmengtstring id
various \battler, 16 various \id, VARIOUS_ARENA_JUDGMENT_STRING
.endm .endm
.macro various17 battler .macro arenawaitmessage id
various \battler, 17 various \id, VARIOUS_ARENA_WAIT_STRING
.endm .endm
.macro waitcry battler .macro waitcry battler
@@ -1307,7 +1307,7 @@
various BS_ATTACKER, VARIOUS_VOLUME_UP various BS_ATTACKER, VARIOUS_VOLUME_UP
.endm .endm
.macro various23 battler .macro setalreadystatusedmoveattempt battler
various \battler, 23 various \battler, 23
.endm .endm
@@ -1,357 +0,0 @@
.align 2
gBattleArenaMoveMindRatings:: @ 8611DC0
.byte 0 @ -
.byte 1 @ Pound
.byte 1 @ Karate Chop
.byte 1 @ Double Slap
.byte 1 @ Comet Punch
.byte 1 @ Mega Punch
.byte 1 @ Pay Day
.byte 1 @ Fire Punch
.byte 1 @ Ice Punch
.byte 1 @ Thunder Punch
.byte 1 @ Scratch
.byte 1 @ Vice Grip
.byte 1 @ Guillotine
.byte 1 @ Razor Wind
.byte 0 @ Swords Dance
.byte 1 @ Cut
.byte 1 @ Gust
.byte 1 @ Wing Attack
.byte 0 @ Whirlwind
.byte 1 @ Fly
.byte 1 @ Bind
.byte 1 @ Slam
.byte 1 @ Vine Whip
.byte 1 @ Stomp
.byte 1 @ Double Kick
.byte 1 @ Mega Kick
.byte 1 @ Jump Kick
.byte 1 @ Rolling Kick
.byte 0 @ Sand-Attack
.byte 1 @ Headbutt
.byte 1 @ Horn Attack
.byte 1 @ Fury Attack
.byte 1 @ Horn Drill
.byte 1 @ Tackle
.byte 1 @ Body Slam
.byte 1 @ Wrap
.byte 1 @ Take Down
.byte 1 @ Thrash
.byte 1 @ Double-Edge
.byte 0 @ Tail Whip
.byte 1 @ Poison Sting
.byte 1 @ Twineedle
.byte 1 @ Pin Missile
.byte 0 @ Leer
.byte 1 @ Bite
.byte 0 @ Growl
.byte 0 @ Roar
.byte 0 @ Sing
.byte 0 @ Supersonic
.byte 1 @ Sonic Boom
.byte 0 @ Disable
.byte 1 @ Acid
.byte 1 @ Ember
.byte 1 @ Flamethrower
.byte 0 @ Mist
.byte 1 @ Water Gun
.byte 1 @ Hydro Pump
.byte 1 @ Surf
.byte 1 @ Ice Beam
.byte 1 @ Blizzard
.byte 1 @ Psybeam
.byte 1 @ Bubble Beam
.byte 1 @ Aurora Beam
.byte 1 @ Hyper Beam
.byte 1 @ Peck
.byte 1 @ Drill Peck
.byte 1 @ Submission
.byte 1 @ Low Kick
.byte 0 @ Counter
.byte 1 @ Seismic Toss
.byte 1 @ Strength
.byte 1 @ Absorb
.byte 1 @ Mega Drain
.byte 0 @ Leech Seed
.byte 0 @ Growth
.byte 1 @ Razor Leaf
.byte 1 @ Solar Beam
.byte 0 @ Poison Powder
.byte 0 @ Stun Spore
.byte 0 @ Sleep Powder
.byte 1 @ Petal Dance
.byte 0 @ String Shot
.byte 1 @ Dragon Rage
.byte 1 @ Fire Spin
.byte 1 @ Thunder Shock
.byte 1 @ Thunderbolt
.byte 0 @ Thunder Wave
.byte 1 @ Thunder
.byte 1 @ Rock Throw
.byte 1 @ Earthquake
.byte 1 @ Fissure
.byte 1 @ Dig
.byte 0 @ Toxic
.byte 1 @ Confusion
.byte 1 @ Psychic
.byte 0 @ Hypnosis
.byte 0 @ Meditate
.byte 0 @ Agility
.byte 1 @ Quick Attack
.byte 1 @ Rage
.byte 0 @ Teleport
.byte 1 @ Night Shade
.byte 0 @ Mimic
.byte 0 @ Screech
.byte 0 @ Double Team
.byte 0 @ Recover
.byte 0 @ Harden
.byte 0 @ Minimize
.byte 0 @ Smokescreen
.byte 0 @ Confuse Ray
.byte 0 @ Withdraw
.byte 0 @ Defense Curl
.byte 0 @ Barrier
.byte 0 @ Light Screen
.byte 0 @ Haze
.byte 0 @ Reflect
.byte 0 @ Focus Energy
.byte 0 @ Bide
.byte 0 @ Metronome
.byte 0 @ Mirror Move
.byte 1 @ Self-Destruct
.byte 1 @ Egg Bomb
.byte 1 @ Lick
.byte 1 @ Smog
.byte 1 @ Sludge
.byte 1 @ Bone Club
.byte 1 @ Fire Blast
.byte 1 @ Waterfall
.byte 1 @ Clamp
.byte 1 @ Swift
.byte 1 @ Skull Bash
.byte 1 @ Spike Cannon
.byte 1 @ Constrict
.byte 0 @ Amnesia
.byte 0 @ Kinesis
.byte 0 @ Soft-Boiled
.byte 1 @ Hi Jump Kick
.byte 0 @ Glare
.byte 1 @ Dream Eater
.byte 0 @ Poison Gas
.byte 1 @ Barrage
.byte 1 @ Leech Life
.byte 0 @ Lovely Kiss
.byte 1 @ Sky Attack
.byte 0 @ Transform
.byte 1 @ Bubble
.byte 1 @ Dizzy Punch
.byte 0 @ Spore
.byte 0 @ Flash
.byte 1 @ Psywave
.byte 0 @ Splash
.byte 0 @ Acid Armor
.byte 1 @ Crabhammer
.byte 1 @ Explosion
.byte 1 @ Fury Swipes
.byte 1 @ Bonemerang
.byte 0 @ Rest
.byte 1 @ Rock Slide
.byte 1 @ Hyper Fang
.byte 0 @ Sharpen
.byte 0 @ Conversion
.byte 1 @ Tri Attack
.byte 1 @ Super Fang
.byte 1 @ Slash
.byte 0 @ Substitute
.byte 1 @ Struggle
.byte 0 @ Sketch
.byte 1 @ Triple Kick
.byte 1 @ Thief
.byte 0 @ Spider Web
.byte 0 @ Mind Reader
.byte 0 @ Nightmare
.byte 1 @ Flame Wheel
.byte 1 @ Snore
.byte 0 @ Curse
.byte 1 @ Flail
.byte 0 @ Conversion 2
.byte 1 @ Aeroblast
.byte 0 @ Cotton Spore
.byte 1 @ Reversal
.byte 0 @ Spite
.byte 1 @ Powder Snow
.byte -1 @ Protect
.byte 1 @ Mach Punch
.byte 0 @ Scary Face
.byte 1 @ Faint Attack
.byte 0 @ Sweet Kiss
.byte 0 @ Belly Drum
.byte 1 @ Sludge Bomb
.byte 1 @ Mud-Slap
.byte 1 @ Octazooka
.byte 0 @ Spikes
.byte 1 @ Zap Cannon
.byte 0 @ Foresight
.byte 0 @ Destiny Bond
.byte 0 @ Perish Song
.byte 1 @ Icy Wind
.byte -1 @ Detect
.byte 1 @ Bone Rush
.byte 0 @ Lock-On
.byte 1 @ Outrage
.byte 0 @ Sandstorm
.byte 1 @ Giga Drain
.byte -1 @ Endure
.byte 0 @ Charm
.byte 1 @ Rollout
.byte 1 @ False Swipe
.byte 0 @ Swagger
.byte 0 @ Milk Drink
.byte 1 @ Spark
.byte 1 @ Fury Cutter
.byte 1 @ Steel Wing
.byte 0 @ Mean Look
.byte 0 @ Attract
.byte 0 @ Sleep Talk
.byte 0 @ Heal Bell
.byte 1 @ Return
.byte 1 @ Present
.byte 1 @ Frustration
.byte 0 @ Safeguard
.byte 0 @ Pain Split
.byte 1 @ Sacred Fire
.byte 1 @ Magnitude
.byte 1 @ Dynamic Punch
.byte 1 @ Megahorn
.byte 1 @ Dragon Breath
.byte 0 @ Baton Pass
.byte 0 @ Encore
.byte 1 @ Pursuit
.byte 1 @ Rapid Spin
.byte 0 @ Sweet Scent
.byte 1 @ Iron Tail
.byte 1 @ Metal Claw
.byte 1 @ Vital Throw
.byte 0 @ Morning Sun
.byte 0 @ Synthesis
.byte 0 @ Moonlight
.byte 1 @ Hidden Power
.byte 1 @ Cross Chop
.byte 1 @ Twister
.byte 0 @ Rain Dance
.byte 0 @ Sunny Day
.byte 1 @ Crunch
.byte 0 @ Mirror Coat
.byte 0 @ Psych Up
.byte 1 @ Extreme Speed
.byte 1 @ Ancient Power
.byte 1 @ Shadow Ball
.byte 1 @ Future Sight
.byte 1 @ Rock Smash
.byte 1 @ Whirlpool
.byte 1 @ Beat Up
.byte -1 @ Fake Out
.byte 1 @ Uproar
.byte 0 @ Stockpile
.byte 1 @ Spit Up
.byte 0 @ Swallow
.byte 1 @ Heat Wave
.byte 0 @ Hail
.byte 0 @ Torment
.byte 0 @ Flatter
.byte 0 @ Will-O-Wisp
.byte 0 @ Memento
.byte 1 @ Facade
.byte 1 @ Focus Punch
.byte 1 @ Smelling Salt
.byte 0 @ Follow Me
.byte 0 @ Nature Power
.byte 0 @ Charge
.byte 0 @ Taunt
.byte 0 @ Helping Hand
.byte 0 @ Trick
.byte 0 @ Role Play
.byte 0 @ Wish
.byte 0 @ Assist
.byte 0 @ Ingrain
.byte 1 @ Superpower
.byte 0 @ Magic Coat
.byte 0 @ Recycle
.byte 1 @ Revenge
.byte 1 @ Brick Break
.byte 0 @ Yawn
.byte 1 @ Knock Off
.byte 1 @ Endeavor
.byte 1 @ Eruption
.byte 0 @ Skill Swap
.byte 0 @ Imprison
.byte 0 @ Refresh
.byte 0 @ Grudge
.byte 0 @ Snatch
.byte 1 @ Secret Power
.byte 1 @ Dive
.byte 1 @ Arm Thrust
.byte 0 @ Camouflage
.byte 0 @ Tail Glow
.byte 1 @ Luster Purge
.byte 1 @ Mist Ball
.byte 0 @ Feather Dance
.byte 0 @ Teeter Dance
.byte 1 @ Blaze Kick
.byte 0 @ Mud Sport
.byte 1 @ Ice Ball
.byte 1 @ Needle Arm
.byte 0 @ Slack Off
.byte 1 @ Hyper Voice
.byte 1 @ Poison Fang
.byte 1 @ Crush Claw
.byte 1 @ Blast Burn
.byte 1 @ Hydro Cannon
.byte 1 @ Meteor Mash
.byte 1 @ Astonish
.byte 1 @ Weather Ball
.byte 0 @ Aromatherapy
.byte 0 @ Fake Tears
.byte 1 @ Air Cutter
.byte 1 @ Overheat
.byte 0 @ Odor Sleuth
.byte 1 @ Rock Tomb
.byte 1 @ Silver Wind
.byte 0 @ Metal Sound
.byte 0 @ Grass Whistle
.byte 0 @ Tickle
.byte 0 @ Cosmic Power
.byte 1 @ Water Spout
.byte 1 @ Signal Beam
.byte 1 @ Shadow Punch
.byte 1 @ Extrasensory
.byte 1 @ Sky Uppercut
.byte 1 @ Sand Tomb
.byte 1 @ Sheer Cold
.byte 1 @ Muddy Water
.byte 1 @ Bullet Seed
.byte 1 @ Aerial Ace
.byte 1 @ Icicle Spear
.byte 0 @ Iron Defense
.byte 0 @ Block
.byte 0 @ Howl
.byte 1 @ Dragon Claw
.byte 1 @ Frenzy Plant
.byte 0 @ Bulk Up
.byte 1 @ Bounce
.byte 1 @ Mud Shot
.byte 1 @ Poison Tail
.byte 1 @ Covet
.byte 1 @ Volt Tackle
.byte 1 @ Magical Leaf
.byte 0 @ Water Sport
.byte 0 @ Calm Mind
.byte 1 @ Leaf Blade
.byte 0 @ Dragon Dance
.byte 1 @ Rock Blast
.byte 1 @ Shock Wave
.byte 1 @ Water Pulse
.byte 1 @ Doom Desire
.byte 1 @ Psycho Boost
@@ -1,191 +0,0 @@
.align 2
gBattleFactoryStyleRequiredMoveCounts:: @ 8611FC0
.byte 3
.byte 3
.byte 3
.byte 2
.byte 2
.byte 2
.byte 2
.align 2
gBattleFactoryStyleMoveList_TotalPreparation:: @ 8611FC8
.2byte MOVE_SWORDS_DANCE
.2byte MOVE_GROWTH
.2byte MOVE_MEDITATE
.2byte MOVE_AGILITY
.2byte MOVE_DOUBLE_TEAM
.2byte MOVE_HARDEN
.2byte MOVE_MINIMIZE
.2byte MOVE_WITHDRAW
.2byte MOVE_DEFENSE_CURL
.2byte MOVE_BARRIER
.2byte MOVE_FOCUS_ENERGY
.2byte MOVE_AMNESIA
.2byte MOVE_ACID_ARMOR
.2byte MOVE_SHARPEN
.2byte MOVE_CONVERSION
.2byte MOVE_CONVERSION_2
.2byte MOVE_BELLY_DRUM
.2byte MOVE_PSYCH_UP
.2byte MOVE_CHARGE
.2byte MOVE_SNATCH
.2byte MOVE_TAIL_GLOW
.2byte MOVE_COSMIC_POWER
.2byte MOVE_IRON_DEFENSE
.2byte MOVE_HOWL
.2byte MOVE_BULK_UP
.2byte MOVE_CALM_MIND
.2byte MOVE_DRAGON_DANCE
.2byte 0
gBattleFactoryStyleMoveList_ImpossibleToPredict:: @ 8612000
.2byte MOVE_MIMIC
.2byte MOVE_METRONOME
.2byte MOVE_MIRROR_MOVE
.2byte MOVE_TRANSFORM
.2byte MOVE_SUBSTITUTE
.2byte MOVE_SKETCH
.2byte MOVE_CURSE
.2byte MOVE_PRESENT
.2byte MOVE_FOLLOW_ME
.2byte MOVE_TRICK
.2byte MOVE_ROLE_PLAY
.2byte MOVE_ASSIST
.2byte MOVE_SKILL_SWAP
.2byte MOVE_CAMOUFLAGE
.2byte 0
gBattleFactoryStyleMoveList_WeakeningTheFoe:: @ 861201E
.2byte MOVE_SAND_ATTACK
.2byte MOVE_TAIL_WHIP
.2byte MOVE_LEER
.2byte MOVE_GROWL
.2byte MOVE_STRING_SHOT
.2byte MOVE_SCREECH
.2byte MOVE_SMOKESCREEN
.2byte MOVE_KINESIS
.2byte MOVE_FLASH
.2byte MOVE_COTTON_SPORE
.2byte MOVE_SPITE
.2byte MOVE_SCARY_FACE
.2byte MOVE_CHARM
.2byte MOVE_KNOCK_OFF
.2byte MOVE_SWEET_SCENT
.2byte MOVE_FEATHER_DANCE
.2byte MOVE_FAKE_TEARS
.2byte MOVE_METAL_SOUND
.2byte MOVE_TICKLE
.2byte 0
gBattleFactoryStyleMoveList_HighRiskHighReturn:: @ 8612046
.2byte MOVE_GUILLOTINE
.2byte MOVE_HORN_DRILL
.2byte MOVE_DOUBLE_EDGE
.2byte MOVE_HYPER_BEAM
.2byte MOVE_COUNTER
.2byte MOVE_FISSURE
.2byte MOVE_BIDE
.2byte MOVE_SELF_DESTRUCT
.2byte MOVE_SKY_ATTACK
.2byte MOVE_EXPLOSION
.2byte MOVE_FLAIL
.2byte MOVE_REVERSAL
.2byte MOVE_DESTINY_BOND
.2byte MOVE_PERISH_SONG
.2byte MOVE_PAIN_SPLIT
.2byte MOVE_MIRROR_COAT
.2byte MOVE_MEMENTO
.2byte MOVE_GRUDGE
.2byte MOVE_FACADE
.2byte MOVE_FOCUS_PUNCH
.2byte MOVE_BLAST_BURN
.2byte MOVE_HYDRO_CANNON
.2byte MOVE_OVERHEAT
.2byte MOVE_FRENZY_PLANT
.2byte MOVE_PSYCHO_BOOST
.2byte MOVE_VOLT_TACKLE
.2byte 0
gBattleFactoryStyleMoveList_Endurance:: @ 861207C
.2byte MOVE_MIST
.2byte MOVE_RECOVER
.2byte MOVE_LIGHT_SCREEN
.2byte MOVE_HAZE
.2byte MOVE_REFLECT
.2byte MOVE_SOFT_BOILED
.2byte MOVE_REST
.2byte MOVE_PROTECT
.2byte MOVE_DETECT
.2byte MOVE_ENDURE
.2byte MOVE_MILK_DRINK
.2byte MOVE_HEAL_BELL
.2byte MOVE_SAFEGUARD
.2byte MOVE_BATON_PASS
.2byte MOVE_MORNING_SUN
.2byte MOVE_SYNTHESIS
.2byte MOVE_MOONLIGHT
.2byte MOVE_SWALLOW
.2byte MOVE_WISH
.2byte MOVE_INGRAIN
.2byte MOVE_MAGIC_COAT
.2byte MOVE_RECYCLE
.2byte MOVE_REFRESH
.2byte MOVE_MUD_SPORT
.2byte MOVE_SLACK_OFF
.2byte MOVE_AROMATHERAPY
.2byte MOVE_WATER_SPORT
.2byte 0
gBattleFactoryStyleMoveList_SlowAndSteady:: @ 86120B4
.2byte MOVE_SING
.2byte MOVE_SUPERSONIC
.2byte MOVE_DISABLE
.2byte MOVE_LEECH_SEED
.2byte MOVE_POISON_POWDER
.2byte MOVE_STUN_SPORE
.2byte MOVE_SLEEP_POWDER
.2byte MOVE_THUNDER_WAVE
.2byte MOVE_TOXIC
.2byte MOVE_HYPNOSIS
.2byte MOVE_CONFUSE_RAY
.2byte MOVE_GLARE
.2byte MOVE_POISON_GAS
.2byte MOVE_LOVELY_KISS
.2byte MOVE_SPORE
.2byte MOVE_SPIDER_WEB
.2byte MOVE_SWEET_KISS
.2byte MOVE_SPIKES
.2byte MOVE_SWAGGER
.2byte MOVE_MEAN_LOOK
.2byte MOVE_ATTRACT
.2byte MOVE_ENCORE
.2byte MOVE_TORMENT
.2byte MOVE_FLATTER
.2byte MOVE_WILL_O_WISP
.2byte MOVE_TAUNT
.2byte MOVE_YAWN
.2byte MOVE_IMPRISON
.2byte MOVE_SNATCH
.2byte MOVE_TEETER_DANCE
.2byte MOVE_GRASS_WHISTLE
.2byte MOVE_BLOCK
.2byte 0
gBattleFactoryStyleMoveList_DependsOnTheBattlesFlow:: @ 86120F6
.2byte MOVE_SANDSTORM
.2byte MOVE_RAIN_DANCE
.2byte MOVE_SUNNY_DAY
.2byte MOVE_HAIL
.2byte MOVE_WEATHER_BALL
.2byte 0
.align 2
gBattleFactoryStyleMoveListPointers:: @ 8612104
.4byte gBattleFactoryStyleMoveList_TotalPreparation
.4byte gBattleFactoryStyleMoveList_SlowAndSteady
.4byte gBattleFactoryStyleMoveList_Endurance
.4byte gBattleFactoryStyleMoveList_HighRiskHighReturn
.4byte gBattleFactoryStyleMoveList_WeakeningTheFoe
.4byte gBattleFactoryStyleMoveList_ImpossibleToPredict
.4byte gBattleFactoryStyleMoveList_DependsOnTheBattlesFlow
-25
View File
@@ -5,31 +5,6 @@
.section .rodata .section .rodata
.align 2
gUnknown_0860DE50:: @ 860DE50
.4byte sub_8195980
.4byte sub_8195A38
.4byte sub_8195AE4
.4byte sub_8195BB0
.4byte sub_8195C20
.4byte sub_8195C50
.4byte sub_8195C7C
.4byte sub_8195CE4
.4byte sub_8195D28
.4byte sub_8195DB8
gUnknown_0860DE78:: @ 860DE78
.2byte 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046
gUnknown_0860DE84:: @ 860DE84
.2byte 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba, 0x0000
gUnknown_0860DE98:: @ 860DE98
.4byte 0x00000010, 0x00000020, 0x00400000, 0x00800000
gUnknown_0860DEA8:: @ 860DEA8
.4byte 0xffffffef, 0xffffffdf, 0xffbfffff, 0xff7fffff
.align 2 .align 2
gUnknown_0860DEB8:: @ 860DEB8 //struct gUnknown_0860DEB8:: @ 860DEB8 //struct
.2byte 0x0025, 0x0000, 0x0108, 0x0208, 0x0308, 0x0103, 0x0008, 0x0108, 0x0208, 0x0000 .2byte 0x0025, 0x0000, 0x0108, 0x0208, 0x0308, 0x0103, 0x0008, 0x0108, 0x0208, 0x0000
-892
View File
@@ -102,895 +102,3 @@ gUnknown_08611DB0:: @ 8611DB0
gUnknown_08611DB8:: @ 8611DB8 gUnknown_08611DB8:: @ 8611DB8
.4byte gUnknown_08611D5C .4byte gUnknown_08611D5C
.4byte gUnknown_08611D94 .4byte gUnknown_08611D94
@ 8611DC0
.include "data/battle_frontier/battle_arena_move_mind_ratings.inc"
.align 2
gUnknown_08611F24:: @ 8611F24
.byte 0x00, 0x00, 0x00, 0x40, 0x00, 0xf0, 0x00, 0x00
.align 2
gUnknown_08611F2C:: @ 8611F2C
.2byte 0x0000, 0x0001, 0xffff, 0x0000
.align 2
gUnknown_08611F34:: @ 8611F34
.2byte 0x0004, 0x0001, 0xffff, 0x0000
.align 2
gUnknown_08611F3C:: @ 8611F3C
.2byte 0x0008, 0x0001, 0xffff, 0x0000
.align 2
gUnknown_08611F44:: @ 8611F44
.2byte 0x000c, 0x0001, 0xffff, 0x0000
.align 2
gUnknown_08611F4C:: @ 8611F4C
.4byte gUnknown_08611F2C
.4byte gUnknown_08611F34
.4byte gUnknown_08611F3C
.4byte gUnknown_08611F44
.align 2
gUnknown_08611F5C:: @ 8611F5C
spr_template 0x03e8, 0xffff, gUnknown_08611F24, gUnknown_08611F4C, NULL, gDummySpriteAffineAnimTable, sub_81A5698
.align 2
gUnknown_08611F74:: @ 8611F74
obj_tiles gUnknown_08D854E8, 0x0200, 0x03e8
null_obj_tiles
.align 2
gUnknown_08611F84:: @ 8611F84
.4byte sub_81A58B4
.4byte sub_81A5964
.4byte sub_81A59FC
.4byte sub_81A5AC4
.4byte sub_81A5B08
.4byte sub_81A5B88
.4byte sub_81A5BE0
.align 1
gUnknown_08611FA0:: @ 8611FA0
.2byte 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046
.align 1
gUnknown_08611FAC:: @ 8611FAC
.2byte 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba, 0x0000
@ 8611FC0
.include "data/battle_frontier/battle_factory_style_move_lists.inc"
.align 2
gUnknown_08612120:: @ 8612120
.4byte sub_81A5E94
.4byte sub_81A5FA8
.4byte sub_81A6054
.4byte sub_81A613C
.4byte nullsub_75
.4byte nullsub_123
.4byte sub_81A6188
.4byte sub_81A6198
.4byte sub_81A61A4
.4byte sub_81A63CC
.4byte sub_81A64C4
.4byte sub_81A63B8
.4byte sub_81A61B0
.4byte sub_81A67EC
.4byte sub_81A6A08
.4byte sub_81A6AEC
.4byte sub_81A6C1C
.align 2
gUnknown_08612164:: @ 8612164
.4byte 0x00000100, 0x00000200, 0x01000000, 0x02000000
.align 2
gUnknown_08612174:: @ 8612174
.4byte 0xfffffeff, 0xfffffdff, 0xfeffffff, 0xfdffffff
gUnknown_08612184:: @ 8612184
.byte 0x03, 0x06, 0x06, 0x09, 0x09, 0x0c, 0x0c, 0x0f, 0x0f, 0x12, 0x15, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f
.align 1
gUnknown_08612194:: @ 8612194
.2byte 0x006e, 0x00c7, 0x00a2, 0x010a, 0x010b, 0x0173, 0x0174, 0x01d3, 0x01d4, 0x0233, 0x0234, 0x0293, 0x0294, 0x02f3, 0x0174, 0x0351
.2byte 0x0174, 0x01d3, 0x01d4, 0x0233, 0x0234, 0x0293, 0x0294, 0x02f3, 0x0174, 0x0371, 0x0174, 0x0371, 0x0174, 0x0371, 0x0174, 0x0371
.align 1
gUnknown_086121D4:: @ 86121D4
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x016a, 0x0005, 0x0105, 0x00d4
.2byte 0x005c, 0x0145
.align 1
gUnknown_086121F8:: @ 86121F8
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0065, 0x0005, 0x0099, 0x0078
.2byte 0x0057, 0x005c
.align 1
gUnknown_0861221C:: @ 861221C
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0133, 0x0005, 0x0093, 0x004e
.2byte 0x004d, 0x00ed
.align 1
gUnknown_08612240:: @ 8612240
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x00ca, 0x0005, 0x0044, 0x00f3
.2byte 0x00db, 0x00c2
.align 2
gUnknown_08612264:: @ 8612264
.4byte gUnknown_086121D4
.4byte gUnknown_086121F8
.4byte gUnknown_0861221C
.4byte gUnknown_08612240
.align 1
gUnknown_08612274:: @ 8612274
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x016a, 0x0005, 0x0105, 0x00d4
.2byte 0x005c, 0x003a
.align 1
gUnknown_08612298:: @ 8612298
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0065, 0x0005, 0x0099, 0x0078
.2byte 0x0057, 0x005c
.align 1
gUnknown_086122BC:: @ 86122BC
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0133, 0x0005, 0x0093, 0x004e
.2byte 0x004d, 0x00ed
.align 1
gUnknown_086122E0:: @ 86122E0
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x00ca, 0x0005, 0x0044, 0x00f3
.2byte 0x00db, 0x00e3
.align 2
gUnknown_08612304:: @ 8612304
.4byte gUnknown_08612274
.4byte gUnknown_08612298
.4byte gUnknown_086122BC
.4byte gUnknown_086122E0
.align 2
gUnknown_08612314:: @ 8612314
.4byte gUnknown_08612264
.4byte gUnknown_08612304
.align 2
gUnknown_0861231C:: @ 861231C
.2byte 0x0012
.byte 0x03, 0x05, 0x06
.align 2
.2byte 0x0005
.byte 0x0d, 0x20, 0x25
.align 2
.2byte 0x0011
.byte 0x08, 0x0b, 0x0c
.align 2
.2byte 0x0024
.byte 0x22, 0x1e, 0x21
.align 2
.2byte 0x0015
.byte 0x00, 0x00, 0x00
.align 2
.2byte 0x001e
.byte 0x01, 0x01, 0x01
.align 2
.2byte 0x002c
.byte 0x16, 0x17, 0x1b
.align 2
.2byte 0x0037
.byte 0x08, 0x16, 0x1f
.align 2
.2byte 0x000e
.byte 0x0d, 0x27, 0x15
.align 2
.2byte 0x0014
.byte 0x02, 0x04, 0x11
.align 2
.2byte 0x0038
.byte 0x1e, 0x14, 0x24
.align 2
.2byte 0x0042
.byte 0x1c, 0x22, 0x19
.align 2
.2byte 0x0026
.byte 0x17, 0x26, 0x1a
.align 2
.2byte 0x0032
.byte 0x17, 0x1e, 0x0b
.align 2
.2byte 0x002f
.byte 0x0f, 0x13, 0x0e
.align 2
.2byte 0x0027
.byte 0x02, 0x1d, 0x1a
.align 2
.2byte 0x0033
.byte 0x25, 0x0c, 0x20
.align 2
.2byte 0x0021
.byte 0x18, 0x17, 0x26
.align 2
.2byte 0x0018
.byte 0x05, 0x16, 0x04
.align 2
.2byte 0x000b
.byte 0x29, 0x25, 0x23
.align 2
.2byte 0x0035
.byte 0x27, 0x0e, 0x0d
.align 2
.2byte 0x0030
.byte 0x0a, 0x07, 0x09
.align 2
.2byte 0x000c
.byte 0x28, 0x14, 0x10
.align 2
.2byte 0x0034
.byte 0x12, 0x0d, 0x15
.align 2
.2byte 0x0013
.byte 0x16, 0x1f, 0x1b
.align 2
gUnknown_086123E4:: @ 86123E4
.byte 0x29, 0x0a, 0x30, 0x06, 0x01, 0x0a, 0x0f, 0x14, 0x20, 0x10, 0x0e, 0x27
.byte 0x2a, 0x0a, 0x1d, 0x08, 0x1b, 0x06, 0x34, 0x10, 0x20, 0x1e, 0x29, 0x0a
.byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1a, 0x1c, 0x03, 0x0c
.byte 0x0f, 0x1e, 0x0b, 0x10, 0x39, 0x10, 0x0f, 0x20, 0x2b, 0x10, 0x14, 0x0a
.byte 0x3b, 0x10, 0x02, 0x0a, 0x1e, 0x16, 0x20, 0x10, 0x3e, 0x14, 0x03, 0x0c
.byte 0x31, 0x0a, 0x02, 0x0e, 0x15, 0x0e, 0x36, 0x14, 0x37, 0x10, 0x0a, 0x1e
.byte 0x29, 0x0a, 0x25, 0x10, 0x2a, 0x14, 0x34, 0x10, 0x0f, 0x1e, 0x1b, 0x0a
.byte 0x01, 0x0a, 0x07, 0x0e, 0x2a, 0x12, 0x0f, 0x1e, 0x1f, 0x06, 0xff, 0xff
.byte 0x35, 0x1a, 0x36, 0x10, 0x0f, 0x0e, 0x01, 0x0a, 0x21, 0x26, 0x0f, 0x1e
.byte 0x25, 0x0e, 0x2f, 0x10, 0x2d, 0x06, 0x1e, 0x20, 0x03, 0x0c, 0xff, 0xff
.byte 0x1d, 0x0c, 0x1d, 0x08, 0x2b, 0x0a, 0x0f, 0x10, 0x02, 0x0a, 0x03, 0x0c
.byte 0x2a, 0x0a, 0x3e, 0x0a, 0x00, 0x20, 0x27, 0x10, 0x08, 0x1c, 0x04, 0x0c
.byte 0x01, 0x0a, 0x12, 0x12, 0x01, 0x0a, 0x00, 0x10, 0x2d, 0x06, 0xff, 0xff
.byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1c, 0x1c, 0x03, 0x0c
.byte 0x01, 0x0a, 0x0b, 0x06, 0x30, 0x10, 0x28, 0x0a, 0x49, 0x25, 0x24, 0x06
.byte 0x14, 0x10, 0x2c, 0x0a, 0x15, 0x04, 0x42, 0x16, 0x1b, 0x1e, 0x03, 0x0c
.byte 0x28, 0x06, 0x0f, 0x1a, 0x0b, 0x10, 0x17, 0x20, 0x00, 0x0c, 0xff, 0xff
.byte 0x01, 0x0a, 0x15, 0x10, 0x47, 0x16, 0x0f, 0x1e, 0x39, 0x0e, 0x36, 0x0e
.byte 0x01, 0x0a, 0x17, 0x10, 0x20, 0x16, 0x19, 0x0e, 0x31, 0x0a, 0x38, 0x0c
.byte 0x1d, 0x0c, 0x1d, 0x08, 0x00, 0x0c, 0x22, 0x10, 0x12, 0x1c, 0x0b, 0x02
.byte 0x29, 0x10, 0x04, 0x14, 0x2f, 0x10, 0x06, 0x10, 0x28, 0x1e, 0x1c, 0x1c
.byte 0x29, 0x10, 0x20, 0x0e, 0x28, 0x10, 0x16, 0x1c, 0x29, 0x1e, 0x03, 0x0c
.byte 0x0f, 0x1e, 0x0b, 0x10, 0x2f, 0x0e, 0x38, 0x06, 0x0c, 0x10, 0xff, 0xff
.byte 0x29, 0x0a, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x06, 0x2c, 0x10, 0xff, 0xff
.byte 0x23, 0x10, 0x0b, 0x10, 0x1d, 0x08, 0x2d, 0x06, 0x37, 0x10, 0x14, 0x0a
.byte 0x29, 0x0a, 0x22, 0x10, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x16, 0x29, 0x10
.byte 0x01, 0x06, 0x2c, 0x10, 0x01, 0x0a, 0x15, 0x10, 0x39, 0x0e, 0x36, 0x0e
.byte 0x20, 0x10, 0x0b, 0x02, 0x3f, 0x10, 0x12, 0x1c, 0x04, 0x0c, 0xff, 0xff
.byte 0x18, 0x10, 0x02, 0x0a, 0x3a, 0x10, 0x46, 0x04, 0x0e, 0x02, 0x03, 0x0c
.byte 0x10, 0x1e, 0x0b, 0x02, 0x0a, 0x1e, 0x0b, 0x10, 0x3a, 0x06, 0xff, 0xff
.byte 0x02, 0x0a, 0x12, 0x12, 0x0f, 0x1e, 0x0b, 0x10, 0x38, 0x06, 0x03, 0x0c
.byte 0x22, 0x1e, 0x00, 0x10, 0x1b, 0x16, 0x3f, 0x10, 0x0f, 0x1e, 0x03, 0x0c
.byte 0x29, 0x0a, 0x1e, 0x0e, 0x25, 0x10, 0x26, 0x1e, 0x00, 0x0c, 0xff, 0xff
.byte 0x01, 0x0a, 0x1e, 0x0e, 0x36, 0x12, 0x2f, 0x10, 0x0b, 0x12, 0x04, 0x0c
.byte 0x05, 0x28, 0x0f, 0x1e, 0x1b, 0x0a, 0x0b, 0x10, 0x20, 0x10, 0x3b, 0x06
.byte 0x01, 0x0a, 0x1f, 0x10, 0x3e, 0x0a, 0x37, 0x10, 0x20, 0x10, 0x28, 0x06
.byte 0x26, 0x10, 0x31, 0x0a, 0x29, 0x1e, 0x1c, 0x1c, 0x01, 0x0a, 0x12, 0x12
.byte 0x0a, 0x0c, 0x00, 0x0c, 0x29, 0x10, 0x1c, 0x10, 0x0f, 0x1e, 0x23, 0x0c
.byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x39, 0x10, 0x2a, 0x14, 0x04, 0x0c
.byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x20, 0x06, 0x2f, 0x10, 0x3c, 0x04
.byte 0x39, 0x0c, 0x39, 0x0c, 0x00, 0x0c, 0x29, 0x0a, 0x17, 0x20, 0x39, 0x0c
.byte 0x5c, 0x26, 0x0b, 0x10, 0x20, 0x10, 0x30, 0x12, 0x05, 0x1e, 0x0c, 0x10
gUnknown_086125DC:: @ 86125DC
.byte 0x23, 0x46, 0x23, 0x01, 0x04, 0x09, 0x05, 0x00, 0x15, 0x2a, 0x15, 0x01, 0x1c, 0x38, 0x1c, 0x01, 0x15, 0x2a, 0x15, 0x01, 0x1c, 0x8c, 0x38, 0x01, 0x15, 0x46, 0x23, 0x00
.align 2
gUnknown_086125F8:: @ 86125F8
.4byte sub_81A705C
.4byte sub_81A7140
.4byte sub_81A7248
.4byte sub_81A73B8
.4byte sub_81A7070
.4byte sub_81A73EC
.4byte sub_81A7400
.4byte sub_81A740C
.4byte sub_81A7418
.4byte nullsub_76
.4byte nullsub_124
.4byte sub_81A7468
.4byte sub_81A74CC
.4byte sub_81A74E0
.4byte sub_81A7508
.4byte sub_81A7580
.4byte sub_81A8090
.4byte sub_81A80DC
.4byte sub_81A825C
.4byte sub_81A827C
.4byte sub_81A84B4
.4byte sub_81A84EC
.4byte sub_81A863C
.4byte sub_81A8658
.4byte sub_81A869C
.4byte sub_81A86C0
.4byte sub_81A8794
.4byte sub_81A87E8
.4byte sub_81A8830
gUnknown_0861266C:: @ 861266C
.byte 0x03, 0x03, 0x01, 0x00, 0x00, 0x02, 0x02, 0x01, 0x04
gUnknown_08612675:: @ 8612675
.byte 0x02, 0x01, 0x00, 0x02, 0x00, 0x01, 0x01, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x01, 0x02, 0x00
.align 2
gUnknown_08612688:: @ 8612688
.4byte sub_81A7D8C
.4byte sub_81A7DE8
.align 2
gUnknown_08612690:: @ 8612690
.4byte 0x00000400, 0x00000800
gUnknown_08612698:: @ 8612698
store_lock_anim
walk_right
free_unlock_anim
step_end
gUnknown_0861269C:: @ 861269C
store_lock_anim
walk_down
free_unlock_anim
step_end
gUnknown_086126A0:: @ 86126A0
store_lock_anim
walk_left
free_unlock_anim
step_end
gUnknown_086126A4:: @ 86126A4
store_lock_anim
walk_up
free_unlock_anim
step_end
gUnknown_086126A8:: @ 86126A8
face_right
step_end
gUnknown_086126AA:: @ 86126AA
face_down
step_end
gUnknown_086126AC:: @ 86126AC
face_left
step_end
gUnknown_086126AE:: @ 86126AE
face_up
step_end
@ 86126B0
.include "data/battle_frontier/battle_pyramid_level_50_wild_mons.inc"
@ 8612E80
.include "data/battle_frontier/battle_pyramid_open_level_wild_mons.inc"
.align 2
gUnknown_08613650:: @ 8613650
.byte 0x07, 0x03, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x80, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00
.byte 0x05, 0x03, 0x00, 0x00, 0x78, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x78, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x00, 0x00, 0x00
.byte 0x04, 0x04, 0x00, 0x01, 0x70, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x00, 0x00, 0x00, 0x03, 0x05, 0x00, 0x02, 0x70, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00
.byte 0x03, 0x05, 0x00, 0x00, 0x68, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x01, 0x68, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x00, 0x00, 0x00
.byte 0x04, 0x05, 0x00, 0x02, 0x60, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x04, 0x60, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00
.byte 0x02, 0x03, 0x00, 0x00, 0x58, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x58, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x00, 0x00, 0x00
.byte 0x03, 0x07, 0x00, 0x00, 0x50, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x50, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x00, 0x00, 0x00
.byte 0x03, 0x06, 0x00, 0x00, 0x50, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x03, 0x08, 0x00, 0x00, 0x50, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00
gUnknown_08613750:: @ 8613750
.byte 0x28, 0x00, 0x46, 0x01, 0x5a, 0x02, 0x64, 0x03, 0x23, 0x01, 0x37, 0x02, 0x4b, 0x03, 0x5a, 0x04, 0x64, 0x0a, 0x23, 0x02, 0x37, 0x03, 0x4b, 0x04, 0x5a, 0x05, 0x64, 0x0b, 0x23, 0x03, 0x37, 0x04
.byte 0x4b, 0x05, 0x5a, 0x06, 0x64, 0x0c, 0x23, 0x04, 0x37, 0x05, 0x4b, 0x06, 0x5a, 0x07, 0x64, 0x0d, 0x23, 0x05, 0x37, 0x06, 0x4b, 0x07, 0x5a, 0x08, 0x64, 0x0e, 0x23, 0x06, 0x37, 0x07, 0x4b, 0x08
.byte 0x5a, 0x09, 0x64, 0x0f
gUnknown_08613794:: @ 8613794
.byte 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00
.align 1
gUnknown_0861379C:: @ 861379C
.2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
.2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022
.2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
.2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
.2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022
.2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
.2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
.align 1
gUnknown_0861392C:: @ 861392C
.2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
.2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022
.2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
.2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
.2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022
.2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
.2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
gUnknown_08613ABC:: @ 8613ABC
.byte 0x1f, 0x00, 0x2e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06, 0x61, 0x07, 0x64, 0x08, 0x0f, 0x00, 0x2e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06
.byte 0x61, 0x08, 0x64, 0x09, 0x0f, 0x00, 0x1e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06, 0x61, 0x07, 0x64, 0x08, 0x1c, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04
.byte 0x58, 0x05, 0x5c, 0x07, 0x60, 0x08, 0x64, 0x09, 0x0f, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04, 0x58, 0x05, 0x5c, 0x06, 0x60, 0x07, 0x64, 0x09, 0x0f, 0x00, 0x1e, 0x01, 0x3a, 0x02
.byte 0x44, 0x03, 0x4e, 0x04, 0x58, 0x05, 0x5c, 0x06, 0x60, 0x07, 0x64, 0x08, 0x1c, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04, 0x58, 0x05, 0x5c, 0x06, 0x60, 0x08, 0x64, 0x09
gUnknown_08613B3A:: @ 8613B3A
.byte 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x00, 0x00, 0x00
.align 2
gUnknown_08613B44:: @ 8613B44
.byte 0x03, 0x06
.align 2
.byte 0x0b, 0x06
.align 2
.byte 0x0d, 0x06
.align 2
.byte 0x0f, 0x01
.align 2
.byte 0x2b, 0x04
.align 2
.byte 0x2d, 0x01
.align 2
.byte 0x24, 0x09
.align 2
.byte 0x29, 0x04
.align 2
.byte 0x05, 0x05
.align 2
.byte 0x18, 0x04
.align 2
.byte 0x2f, 0x00
.align 2
.byte 0x2e, 0x09
.align 2
.byte 0x11, 0x0c
.align 2
.byte 0x10, 0x0b
.align 2
.byte 0x1e, 0x0d
.align 2
.byte 0x08, 0x01
.align 2
.byte 0x17, 0x03
.align 2
.byte 0x0c, 0x04
.align 2
.byte 0x38, 0x04
.align 2
.byte 0x1c, 0x03
.align 2
.byte 0x1a, 0x00
.align 2
.byte 0x19, 0x0b
.align 2
.byte 0x09, 0x07
.align 2
.byte 0x31, 0x07
.align 2
.byte 0x35, 0x07
.align 2
.byte 0x36, 0x01
.align 2
.byte 0x33, 0x00
.align 2
.byte 0x2a, 0x03
.align 2
.byte 0x16, 0x0d
.align 2
.byte 0x0e, 0x03
.align 2
.byte 0x15, 0x01
.align 2
.byte 0x14, 0x01
.align 2
.byte 0x2c, 0x01
.align 2
.byte 0x1b, 0x02
.align 2
.byte 0x04, 0x01
.align 2
.byte 0x07, 0x03
.align 2
.byte 0x34, 0x05
.align 2
.byte 0x32, 0x00
.align 2
.byte 0x37, 0x02
.align 2
.byte 0x1d, 0x04
.align 2
.byte 0x22, 0x09
.align 2
.byte 0x1f, 0x01
.align 2
.byte 0x25, 0x00
.align 2
.byte 0x0a, 0x04
.align 2
.byte 0x28, 0x00
.align 2
.byte 0x06, 0x05
.align 2
.byte 0x27, 0x0b
.align 2
.byte 0x26, 0x00
.align 2
.byte 0x13, 0x00
.align 2
.byte 0x12, 0x02
.align 2
.byte 0x39, 0x08
.align 2
.byte 0x02, 0x0b
.align 2
.byte 0x20, 0x01
.align 2
.byte 0x21, 0x00
.align 2
gUnknown_08613C1C:: @ 8613C1C
.byte 0x0d, 0x03, 0x0e, 0x04, 0x10, 0x01, 0x11, 0x00, 0x03, 0x02, 0x12, 0x03, 0x0c, 0x03, 0x13, 0x03, 0x14, 0x03, 0x15, 0x02, 0x17, 0x02, 0x07, 0x02, 0x0a, 0x04, 0x19, 0x02, 0x1a, 0x02, 0x1b, 0x00
.byte 0x1d, 0x02, 0x1e, 0x02, 0x1f, 0x03, 0x20, 0x04, 0x26, 0x00, 0x27, 0x01, 0x29, 0x04, 0x2a, 0x05, 0x09, 0x04, 0x16, 0x05, 0x2b, 0x00, 0x2d, 0x04, 0x2e, 0x02, 0x30, 0x02, 0x32, 0x02, 0x31, 0x03
.byte 0x2f, 0x03, 0x33, 0x03, 0x34, 0x02, 0x04, 0x02, 0x35, 0x00, 0x36, 0x03, 0x37, 0x03, 0x38, 0x03, 0x1c, 0x01, 0x3a, 0x02, 0x05, 0x02, 0x42, 0x02, 0x02, 0x03, 0x44, 0x02, 0x45, 0x03, 0x47, 0x03
.byte 0x43, 0x00, 0x00, 0x04
.align 2
gUnknown_08613C80:: @ 8613C80
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252D2D
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252D57
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252D81
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252DAB
.align 2
gUnknown_08613C90:: @ 8613C90
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25330B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2532CC
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25328B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253248
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253206
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2531C4
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253183
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253140
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2530FD
.align 2
gUnknown_08613CB4:: @ 8613CB4
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2544A6
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25445A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25440B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2543BA
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25436A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25431A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2542CB
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25427A
.align 2
gUnknown_08613CD4:: @ 8613CD4
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252DD5
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E03
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E31
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E5F
.align 2
gUnknown_08613CE4:: @ 8613CE4
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25362E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2535D4
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253578
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25351A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2534BD
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253460
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253404
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2533A6
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25334D
.align 2
gUnknown_08613D08:: @ 8613D08
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25471E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2546CC
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25467C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25462A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2545D9
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254588
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254538
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2544E6
.align 2
gUnknown_08613D28:: @ 8613D28
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E8D
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252EAA
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252EC7
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252EE4
.align 2
gUnknown_08613D38:: @ 8613D38
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2539EC
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253980
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253915
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2538A8
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25383C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2537D0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253765
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2536F8
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25368B
.align 2
gUnknown_08613D5C:: @ 8613D5C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254A0B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2549AE
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25494D
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2548EB
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25488A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254829
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2547C9
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254767
.align 2
gUnknown_08613D7C:: @ 8613D7C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252F01
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252F3A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252F73
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252FAC
.align 2
gUnknown_08613D8C:: @ 8613D8C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253D3E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253CE0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253C87
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253C2C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253BD2
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253B78
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253B1F
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253AC4
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253A69
.align 2
gUnknown_08613DB0:: @ 8613DB0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254C3E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254BF1
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254BAE
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254B69
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254B25
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254AE1
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254A9E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254A59
.align 2
gUnknown_08613DD0:: @ 8613DD0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252FE5
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253000
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25301B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253036
.align 2
gUnknown_08613DE0:: @ 8613DE0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253F6C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253F34
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253EFA
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253EBE
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253E83
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253E48
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253E0E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253DD2
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253D96
.align 2
gUnknown_08613E04:: @ 8613E04
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254E6E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254E27
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254DE0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254D97
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254D4F
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254D07
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254CC0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254C77
.align 2
gUnknown_08613E24:: @ 8613E24
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253051
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25307C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2530A7
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2530D2
.align 2
gUnknown_08613E34:: @ 8613E34
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25422B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2541DD
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25418D
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25413B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2540EA
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254099
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254049
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253FF7
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253FA5
.align 2
gUnknown_08613E58:: @ 8613E58
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_255068
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25502F
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254FF6
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254FBB
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254F81
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254F47
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254F0E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254ED3
.align 2
gUnknown_08613E78:: @ 8613E78
.4byte gUnknown_08613C80
.4byte gUnknown_08613C90
.4byte gUnknown_08613CB4
.align 2
gUnknown_08613E84:: @ 8613E84
.4byte gUnknown_08613CD4
.4byte gUnknown_08613CE4
.4byte gUnknown_08613D08
.align 2
gUnknown_08613E90:: @ 8613E90
.4byte gUnknown_08613D28
.4byte gUnknown_08613D38
.4byte gUnknown_08613D5C
.align 2
gUnknown_08613E9C:: @ 8613E9C
.4byte gUnknown_08613D7C
.4byte gUnknown_08613D8C
.4byte gUnknown_08613DB0
.align 2
gUnknown_08613EA8:: @ 8613EA8
.4byte gUnknown_08613DD0
.4byte gUnknown_08613DE0
.4byte gUnknown_08613E04
.align 2
gUnknown_08613EB4:: @ 8613EB4
.4byte gUnknown_08613E24
.4byte gUnknown_08613E34
.4byte gUnknown_08613E58
.align 2
gUnknown_08613EC0:: @ 8613EC0
.4byte gUnknown_08613E78
.4byte gUnknown_08613E84
.4byte gUnknown_08613E90
.4byte gUnknown_08613E9C
.4byte gUnknown_08613EA8
.4byte gUnknown_08613EB4
gUnknown_08613ED8:: @ 8613ED8
.byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x03, 0x04
.align 2
gUnknown_08613EE0:: @ 8613EE0
.4byte sub_81A8E9C
.4byte sub_81A8F38
.4byte sub_81A9048
.4byte sub_81A9134
.4byte sub_81A917C
.4byte sub_81A91FC
.4byte sub_81A9254
.4byte CalculateBattlePyramidItemBallItemId
.4byte sub_81A93C8
.4byte sub_81A9414
.4byte sub_81A9424
.4byte sub_81A9618
.4byte sub_81A966C
.4byte sub_81A9684
.4byte sub_81A975C
.4byte sub_81A97C8
.4byte sub_81A9828
.4byte sub_81A9834
.align 1
gUnknown_08613F28:: @ 8613F28
.2byte 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046
.align 2
gUnknown_08613F34:: @ 8613F34
.2byte 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba
gUnknown_08613F46:: @ 8613F46
.byte 0x01, 0x04, 0xff, 0xff, 0x00, 0x02, 0x05, 0xff, 0x01, 0x03, 0x06, 0xff, 0x02, 0x07, 0xff, 0xff, 0x00, 0x05, 0x08, 0xff, 0x01, 0x04, 0x06, 0x09, 0x02, 0x05, 0x07, 0x0a, 0x03, 0x06, 0x0b, 0xff
.byte 0x04, 0x09, 0x0c, 0xff, 0x05, 0x08, 0x0a, 0x0d, 0x06, 0x09, 0x0b, 0x0e, 0x07, 0x0a, 0x0f, 0xff, 0x08, 0x0d, 0xff, 0xff, 0x09, 0x0c, 0x0e, 0xff, 0x0a, 0x0d, 0x0f, 0xff, 0x0b, 0x0e, 0xff, 0xff
gUnknown_08613F86:: @ 8613F86
.byte 0x1e, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x55, 0x5a, 0x5f, 0x64
+547
View File
@@ -0,0 +1,547 @@
#include "constants/moves.h"
#include "constants/species.h"
#include "constants/trainers.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
gUnknown_08612698:: @ 8612698
store_lock_anim
walk_right
free_unlock_anim
step_end
gUnknown_0861269C:: @ 861269C
store_lock_anim
walk_down
free_unlock_anim
step_end
gUnknown_086126A0:: @ 86126A0
store_lock_anim
walk_left
free_unlock_anim
step_end
gUnknown_086126A4:: @ 86126A4
store_lock_anim
walk_up
free_unlock_anim
step_end
gUnknown_086126A8:: @ 86126A8
face_right
step_end
gUnknown_086126AA:: @ 86126AA
face_down
step_end
gUnknown_086126AC:: @ 86126AC
face_left
step_end
gUnknown_086126AE:: @ 86126AE
face_up
step_end
@ 86126B0
.include "data/battle_frontier/battle_pyramid_level_50_wild_mons.inc"
@ 8612E80
.include "data/battle_frontier/battle_pyramid_open_level_wild_mons.inc"
.align 2
gUnknown_08613650:: @ 8613650
.byte 0x07, 0x03, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x80, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00
.byte 0x05, 0x03, 0x00, 0x00, 0x78, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x78, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x00, 0x00, 0x00
.byte 0x04, 0x04, 0x00, 0x01, 0x70, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x00, 0x00, 0x00, 0x03, 0x05, 0x00, 0x02, 0x70, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00
.byte 0x03, 0x05, 0x00, 0x00, 0x68, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x01, 0x68, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x00, 0x00, 0x00
.byte 0x04, 0x05, 0x00, 0x02, 0x60, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x04, 0x60, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00
.byte 0x02, 0x03, 0x00, 0x00, 0x58, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x58, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x00, 0x00, 0x00
.byte 0x03, 0x07, 0x00, 0x00, 0x50, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x50, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x00, 0x00, 0x00
.byte 0x03, 0x06, 0x00, 0x00, 0x50, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x03, 0x08, 0x00, 0x00, 0x50, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00
gUnknown_08613750:: @ 8613750
.byte 0x28, 0x00, 0x46, 0x01, 0x5a, 0x02, 0x64, 0x03, 0x23, 0x01, 0x37, 0x02, 0x4b, 0x03, 0x5a, 0x04, 0x64, 0x0a, 0x23, 0x02, 0x37, 0x03, 0x4b, 0x04, 0x5a, 0x05, 0x64, 0x0b, 0x23, 0x03, 0x37, 0x04
.byte 0x4b, 0x05, 0x5a, 0x06, 0x64, 0x0c, 0x23, 0x04, 0x37, 0x05, 0x4b, 0x06, 0x5a, 0x07, 0x64, 0x0d, 0x23, 0x05, 0x37, 0x06, 0x4b, 0x07, 0x5a, 0x08, 0x64, 0x0e, 0x23, 0x06, 0x37, 0x07, 0x4b, 0x08
.byte 0x5a, 0x09, 0x64, 0x0f
gUnknown_08613794:: @ 8613794
.byte 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00
.align 1
gUnknown_0861379C:: @ 861379C
.2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
.2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022
.2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
.2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
.2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022
.2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
.2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
.align 1
gUnknown_0861392C:: @ 861392C
.2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
.2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022
.2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
.2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
.2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022
.2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
.2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
gUnknown_08613ABC:: @ 8613ABC
.byte 0x1f, 0x00, 0x2e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06, 0x61, 0x07, 0x64, 0x08, 0x0f, 0x00, 0x2e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06
.byte 0x61, 0x08, 0x64, 0x09, 0x0f, 0x00, 0x1e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06, 0x61, 0x07, 0x64, 0x08, 0x1c, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04
.byte 0x58, 0x05, 0x5c, 0x07, 0x60, 0x08, 0x64, 0x09, 0x0f, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04, 0x58, 0x05, 0x5c, 0x06, 0x60, 0x07, 0x64, 0x09, 0x0f, 0x00, 0x1e, 0x01, 0x3a, 0x02
.byte 0x44, 0x03, 0x4e, 0x04, 0x58, 0x05, 0x5c, 0x06, 0x60, 0x07, 0x64, 0x08, 0x1c, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04, 0x58, 0x05, 0x5c, 0x06, 0x60, 0x08, 0x64, 0x09
gUnknown_08613B3A:: @ 8613B3A
.byte 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x00, 0x00, 0x00
.align 2
gUnknown_08613B44:: @ 8613B44
.byte 0x03, 0x06
.align 2
.byte 0x0b, 0x06
.align 2
.byte 0x0d, 0x06
.align 2
.byte 0x0f, 0x01
.align 2
.byte 0x2b, 0x04
.align 2
.byte 0x2d, 0x01
.align 2
.byte 0x24, 0x09
.align 2
.byte 0x29, 0x04
.align 2
.byte 0x05, 0x05
.align 2
.byte 0x18, 0x04
.align 2
.byte 0x2f, 0x00
.align 2
.byte 0x2e, 0x09
.align 2
.byte 0x11, 0x0c
.align 2
.byte 0x10, 0x0b
.align 2
.byte 0x1e, 0x0d
.align 2
.byte 0x08, 0x01
.align 2
.byte 0x17, 0x03
.align 2
.byte 0x0c, 0x04
.align 2
.byte 0x38, 0x04
.align 2
.byte 0x1c, 0x03
.align 2
.byte 0x1a, 0x00
.align 2
.byte 0x19, 0x0b
.align 2
.byte 0x09, 0x07
.align 2
.byte 0x31, 0x07
.align 2
.byte 0x35, 0x07
.align 2
.byte 0x36, 0x01
.align 2
.byte 0x33, 0x00
.align 2
.byte 0x2a, 0x03
.align 2
.byte 0x16, 0x0d
.align 2
.byte 0x0e, 0x03
.align 2
.byte 0x15, 0x01
.align 2
.byte 0x14, 0x01
.align 2
.byte 0x2c, 0x01
.align 2
.byte 0x1b, 0x02
.align 2
.byte 0x04, 0x01
.align 2
.byte 0x07, 0x03
.align 2
.byte 0x34, 0x05
.align 2
.byte 0x32, 0x00
.align 2
.byte 0x37, 0x02
.align 2
.byte 0x1d, 0x04
.align 2
.byte 0x22, 0x09
.align 2
.byte 0x1f, 0x01
.align 2
.byte 0x25, 0x00
.align 2
.byte 0x0a, 0x04
.align 2
.byte 0x28, 0x00
.align 2
.byte 0x06, 0x05
.align 2
.byte 0x27, 0x0b
.align 2
.byte 0x26, 0x00
.align 2
.byte 0x13, 0x00
.align 2
.byte 0x12, 0x02
.align 2
.byte 0x39, 0x08
.align 2
.byte 0x02, 0x0b
.align 2
.byte 0x20, 0x01
.align 2
.byte 0x21, 0x00
.align 2
gUnknown_08613C1C:: @ 8613C1C
.byte 0x0d, 0x03, 0x0e, 0x04, 0x10, 0x01, 0x11, 0x00, 0x03, 0x02, 0x12, 0x03, 0x0c, 0x03, 0x13, 0x03, 0x14, 0x03, 0x15, 0x02, 0x17, 0x02, 0x07, 0x02, 0x0a, 0x04, 0x19, 0x02, 0x1a, 0x02, 0x1b, 0x00
.byte 0x1d, 0x02, 0x1e, 0x02, 0x1f, 0x03, 0x20, 0x04, 0x26, 0x00, 0x27, 0x01, 0x29, 0x04, 0x2a, 0x05, 0x09, 0x04, 0x16, 0x05, 0x2b, 0x00, 0x2d, 0x04, 0x2e, 0x02, 0x30, 0x02, 0x32, 0x02, 0x31, 0x03
.byte 0x2f, 0x03, 0x33, 0x03, 0x34, 0x02, 0x04, 0x02, 0x35, 0x00, 0x36, 0x03, 0x37, 0x03, 0x38, 0x03, 0x1c, 0x01, 0x3a, 0x02, 0x05, 0x02, 0x42, 0x02, 0x02, 0x03, 0x44, 0x02, 0x45, 0x03, 0x47, 0x03
.byte 0x43, 0x00, 0x00, 0x04
.align 2
gUnknown_08613C80:: @ 8613C80
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252D2D
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252D57
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252D81
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252DAB
.align 2
gUnknown_08613C90:: @ 8613C90
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25330B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2532CC
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25328B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253248
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253206
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2531C4
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253183
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253140
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2530FD
.align 2
gUnknown_08613CB4:: @ 8613CB4
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2544A6
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25445A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25440B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2543BA
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25436A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25431A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2542CB
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25427A
.align 2
gUnknown_08613CD4:: @ 8613CD4
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252DD5
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E03
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E31
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E5F
.align 2
gUnknown_08613CE4:: @ 8613CE4
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25362E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2535D4
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253578
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25351A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2534BD
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253460
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253404
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2533A6
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25334D
.align 2
gUnknown_08613D08:: @ 8613D08
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25471E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2546CC
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25467C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25462A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2545D9
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254588
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254538
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2544E6
.align 2
gUnknown_08613D28:: @ 8613D28
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E8D
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252EAA
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252EC7
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252EE4
.align 2
gUnknown_08613D38:: @ 8613D38
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2539EC
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253980
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253915
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2538A8
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25383C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2537D0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253765
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2536F8
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25368B
.align 2
gUnknown_08613D5C:: @ 8613D5C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254A0B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2549AE
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25494D
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2548EB
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25488A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254829
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2547C9
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254767
.align 2
gUnknown_08613D7C:: @ 8613D7C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252F01
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252F3A
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252F73
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252FAC
.align 2
gUnknown_08613D8C:: @ 8613D8C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253D3E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253CE0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253C87
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253C2C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253BD2
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253B78
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253B1F
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253AC4
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253A69
.align 2
gUnknown_08613DB0:: @ 8613DB0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254C3E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254BF1
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254BAE
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254B69
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254B25
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254AE1
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254A9E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254A59
.align 2
gUnknown_08613DD0:: @ 8613DD0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_252FE5
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253000
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25301B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253036
.align 2
gUnknown_08613DE0:: @ 8613DE0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253F6C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253F34
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253EFA
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253EBE
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253E83
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253E48
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253E0E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253DD2
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253D96
.align 2
gUnknown_08613E04:: @ 8613E04
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254E6E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254E27
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254DE0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254D97
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254D4F
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254D07
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254CC0
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254C77
.align 2
gUnknown_08613E24:: @ 8613E24
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253051
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25307C
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2530A7
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2530D2
.align 2
gUnknown_08613E34:: @ 8613E34
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25422B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2541DD
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25418D
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25413B
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_2540EA
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254099
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254049
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253FF7
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_253FA5
.align 2
gUnknown_08613E58:: @ 8613E58
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_255068
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_25502F
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254FF6
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254FBB
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254F81
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254F47
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254F0E
.4byte BattleFrontier_BattlePyramidEmptySquare_Text_254ED3
.align 2
gUnknown_08613E78:: @ 8613E78
.4byte gUnknown_08613C80
.4byte gUnknown_08613C90
.4byte gUnknown_08613CB4
.align 2
gUnknown_08613E84:: @ 8613E84
.4byte gUnknown_08613CD4
.4byte gUnknown_08613CE4
.4byte gUnknown_08613D08
.align 2
gUnknown_08613E90:: @ 8613E90
.4byte gUnknown_08613D28
.4byte gUnknown_08613D38
.4byte gUnknown_08613D5C
.align 2
gUnknown_08613E9C:: @ 8613E9C
.4byte gUnknown_08613D7C
.4byte gUnknown_08613D8C
.4byte gUnknown_08613DB0
.align 2
gUnknown_08613EA8:: @ 8613EA8
.4byte gUnknown_08613DD0
.4byte gUnknown_08613DE0
.4byte gUnknown_08613E04
.align 2
gUnknown_08613EB4:: @ 8613EB4
.4byte gUnknown_08613E24
.4byte gUnknown_08613E34
.4byte gUnknown_08613E58
.align 2
gUnknown_08613EC0:: @ 8613EC0
.4byte gUnknown_08613E78
.4byte gUnknown_08613E84
.4byte gUnknown_08613E90
.4byte gUnknown_08613E9C
.4byte gUnknown_08613EA8
.4byte gUnknown_08613EB4
gUnknown_08613ED8:: @ 8613ED8
.byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x03, 0x04
.align 2
gUnknown_08613EE0:: @ 8613EE0
.4byte sub_81A8E9C
.4byte sub_81A8F38
.4byte sub_81A9048
.4byte sub_81A9134
.4byte sub_81A917C
.4byte sub_81A91FC
.4byte sub_81A9254
.4byte CalculateBattlePyramidItemBallItemId
.4byte sub_81A93C8
.4byte sub_81A9414
.4byte sub_81A9424
.4byte sub_81A9618
.4byte sub_81A966C
.4byte sub_81A9684
.4byte sub_81A975C
.4byte sub_81A97C8
.4byte sub_81A9828
.4byte sub_81A9834
.align 1
gUnknown_08613F28:: @ 8613F28
.2byte 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046
.align 2
gUnknown_08613F34:: @ 8613F34
.2byte 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba
gUnknown_08613F46:: @ 8613F46
.byte 0x01, 0x04, 0xff, 0xff, 0x00, 0x02, 0x05, 0xff, 0x01, 0x03, 0x06, 0xff, 0x02, 0x07, 0xff, 0xff, 0x00, 0x05, 0x08, 0xff, 0x01, 0x04, 0x06, 0x09, 0x02, 0x05, 0x07, 0x0a, 0x03, 0x06, 0x0b, 0xff
.byte 0x04, 0x09, 0x0c, 0xff, 0x05, 0x08, 0x0a, 0x0d, 0x06, 0x09, 0x0b, 0x0e, 0x07, 0x0a, 0x0f, 0xff, 0x08, 0x0d, 0xff, 0xff, 0x09, 0x0c, 0x0e, 0xff, 0x0a, 0x0d, 0x0f, 0xff, 0x0b, 0x0e, 0xff, 0xff
gUnknown_08613F86:: @ 8613F86
.byte 0x1e, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x55, 0x5a, 0x5f, 0x64
+212
View File
@@ -0,0 +1,212 @@
#include "constants/moves.h"
#include "constants/species.h"
#include "constants/trainers.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_086121D4:: @ 86121D4
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x016a, 0x0005, 0x0105, 0x00d4
.2byte 0x005c, 0x0145
.align 1
gUnknown_086121F8:: @ 86121F8
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0065, 0x0005, 0x0099, 0x0078
.2byte 0x0057, 0x005c
.align 1
gUnknown_0861221C:: @ 861221C
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0133, 0x0005, 0x0093, 0x004e
.2byte 0x004d, 0x00ed
.align 1
gUnknown_08612240:: @ 8612240
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x00ca, 0x0005, 0x0044, 0x00f3
.2byte 0x00db, 0x00c2
.align 2
gUnknown_08612264:: @ 8612264
.4byte gUnknown_086121D4
.4byte gUnknown_086121F8
.4byte gUnknown_0861221C
.4byte gUnknown_08612240
.align 1
gUnknown_08612274:: @ 8612274
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x016a, 0x0005, 0x0105, 0x00d4
.2byte 0x005c, 0x003a
.align 1
gUnknown_08612298:: @ 8612298
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0065, 0x0005, 0x0099, 0x0078
.2byte 0x0057, 0x005c
.align 1
gUnknown_086122BC:: @ 86122BC
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0133, 0x0005, 0x0093, 0x004e
.2byte 0x004d, 0x00ed
.align 1
gUnknown_086122E0:: @ 86122E0
.2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x00ca, 0x0005, 0x0044, 0x00f3
.2byte 0x00db, 0x00e3
.align 2
gUnknown_08612304:: @ 8612304
.4byte gUnknown_08612274
.4byte gUnknown_08612298
.4byte gUnknown_086122BC
.4byte gUnknown_086122E0
.align 2
gUnknown_08612314:: @ 8612314
.4byte gUnknown_08612264
.4byte gUnknown_08612304
.align 2
gUnknown_0861231C:: @ 861231C
.2byte 0x0012
.byte 0x03, 0x05, 0x06
.align 2
.2byte 0x0005
.byte 0x0d, 0x20, 0x25
.align 2
.2byte 0x0011
.byte 0x08, 0x0b, 0x0c
.align 2
.2byte 0x0024
.byte 0x22, 0x1e, 0x21
.align 2
.2byte 0x0015
.byte 0x00, 0x00, 0x00
.align 2
.2byte 0x001e
.byte 0x01, 0x01, 0x01
.align 2
.2byte 0x002c
.byte 0x16, 0x17, 0x1b
.align 2
.2byte 0x0037
.byte 0x08, 0x16, 0x1f
.align 2
.2byte 0x000e
.byte 0x0d, 0x27, 0x15
.align 2
.2byte 0x0014
.byte 0x02, 0x04, 0x11
.align 2
.2byte 0x0038
.byte 0x1e, 0x14, 0x24
.align 2
.2byte 0x0042
.byte 0x1c, 0x22, 0x19
.align 2
.2byte 0x0026
.byte 0x17, 0x26, 0x1a
.align 2
.2byte 0x0032
.byte 0x17, 0x1e, 0x0b
.align 2
.2byte 0x002f
.byte 0x0f, 0x13, 0x0e
.align 2
.2byte 0x0027
.byte 0x02, 0x1d, 0x1a
.align 2
.2byte 0x0033
.byte 0x25, 0x0c, 0x20
.align 2
.2byte 0x0021
.byte 0x18, 0x17, 0x26
.align 2
.2byte 0x0018
.byte 0x05, 0x16, 0x04
.align 2
.2byte 0x000b
.byte 0x29, 0x25, 0x23
.align 2
.2byte 0x0035
.byte 0x27, 0x0e, 0x0d
.align 2
.2byte 0x0030
.byte 0x0a, 0x07, 0x09
.align 2
.2byte 0x000c
.byte 0x28, 0x14, 0x10
.align 2
.2byte 0x0034
.byte 0x12, 0x0d, 0x15
.align 2
.2byte 0x0013
.byte 0x16, 0x1f, 0x1b
.align 2
gUnknown_086123E4:: @ 86123E4
.byte 0x29, 0x0a, 0x30, 0x06, 0x01, 0x0a, 0x0f, 0x14, 0x20, 0x10, 0x0e, 0x27
.byte 0x2a, 0x0a, 0x1d, 0x08, 0x1b, 0x06, 0x34, 0x10, 0x20, 0x1e, 0x29, 0x0a
.byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1a, 0x1c, 0x03, 0x0c
.byte 0x0f, 0x1e, 0x0b, 0x10, 0x39, 0x10, 0x0f, 0x20, 0x2b, 0x10, 0x14, 0x0a
.byte 0x3b, 0x10, 0x02, 0x0a, 0x1e, 0x16, 0x20, 0x10, 0x3e, 0x14, 0x03, 0x0c
.byte 0x31, 0x0a, 0x02, 0x0e, 0x15, 0x0e, 0x36, 0x14, 0x37, 0x10, 0x0a, 0x1e
.byte 0x29, 0x0a, 0x25, 0x10, 0x2a, 0x14, 0x34, 0x10, 0x0f, 0x1e, 0x1b, 0x0a
.byte 0x01, 0x0a, 0x07, 0x0e, 0x2a, 0x12, 0x0f, 0x1e, 0x1f, 0x06, 0xff, 0xff
.byte 0x35, 0x1a, 0x36, 0x10, 0x0f, 0x0e, 0x01, 0x0a, 0x21, 0x26, 0x0f, 0x1e
.byte 0x25, 0x0e, 0x2f, 0x10, 0x2d, 0x06, 0x1e, 0x20, 0x03, 0x0c, 0xff, 0xff
.byte 0x1d, 0x0c, 0x1d, 0x08, 0x2b, 0x0a, 0x0f, 0x10, 0x02, 0x0a, 0x03, 0x0c
.byte 0x2a, 0x0a, 0x3e, 0x0a, 0x00, 0x20, 0x27, 0x10, 0x08, 0x1c, 0x04, 0x0c
.byte 0x01, 0x0a, 0x12, 0x12, 0x01, 0x0a, 0x00, 0x10, 0x2d, 0x06, 0xff, 0xff
.byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1c, 0x1c, 0x03, 0x0c
.byte 0x01, 0x0a, 0x0b, 0x06, 0x30, 0x10, 0x28, 0x0a, 0x49, 0x25, 0x24, 0x06
.byte 0x14, 0x10, 0x2c, 0x0a, 0x15, 0x04, 0x42, 0x16, 0x1b, 0x1e, 0x03, 0x0c
.byte 0x28, 0x06, 0x0f, 0x1a, 0x0b, 0x10, 0x17, 0x20, 0x00, 0x0c, 0xff, 0xff
.byte 0x01, 0x0a, 0x15, 0x10, 0x47, 0x16, 0x0f, 0x1e, 0x39, 0x0e, 0x36, 0x0e
.byte 0x01, 0x0a, 0x17, 0x10, 0x20, 0x16, 0x19, 0x0e, 0x31, 0x0a, 0x38, 0x0c
.byte 0x1d, 0x0c, 0x1d, 0x08, 0x00, 0x0c, 0x22, 0x10, 0x12, 0x1c, 0x0b, 0x02
.byte 0x29, 0x10, 0x04, 0x14, 0x2f, 0x10, 0x06, 0x10, 0x28, 0x1e, 0x1c, 0x1c
.byte 0x29, 0x10, 0x20, 0x0e, 0x28, 0x10, 0x16, 0x1c, 0x29, 0x1e, 0x03, 0x0c
.byte 0x0f, 0x1e, 0x0b, 0x10, 0x2f, 0x0e, 0x38, 0x06, 0x0c, 0x10, 0xff, 0xff
.byte 0x29, 0x0a, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x06, 0x2c, 0x10, 0xff, 0xff
.byte 0x23, 0x10, 0x0b, 0x10, 0x1d, 0x08, 0x2d, 0x06, 0x37, 0x10, 0x14, 0x0a
.byte 0x29, 0x0a, 0x22, 0x10, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x16, 0x29, 0x10
.byte 0x01, 0x06, 0x2c, 0x10, 0x01, 0x0a, 0x15, 0x10, 0x39, 0x0e, 0x36, 0x0e
.byte 0x20, 0x10, 0x0b, 0x02, 0x3f, 0x10, 0x12, 0x1c, 0x04, 0x0c, 0xff, 0xff
.byte 0x18, 0x10, 0x02, 0x0a, 0x3a, 0x10, 0x46, 0x04, 0x0e, 0x02, 0x03, 0x0c
.byte 0x10, 0x1e, 0x0b, 0x02, 0x0a, 0x1e, 0x0b, 0x10, 0x3a, 0x06, 0xff, 0xff
.byte 0x02, 0x0a, 0x12, 0x12, 0x0f, 0x1e, 0x0b, 0x10, 0x38, 0x06, 0x03, 0x0c
.byte 0x22, 0x1e, 0x00, 0x10, 0x1b, 0x16, 0x3f, 0x10, 0x0f, 0x1e, 0x03, 0x0c
.byte 0x29, 0x0a, 0x1e, 0x0e, 0x25, 0x10, 0x26, 0x1e, 0x00, 0x0c, 0xff, 0xff
.byte 0x01, 0x0a, 0x1e, 0x0e, 0x36, 0x12, 0x2f, 0x10, 0x0b, 0x12, 0x04, 0x0c
.byte 0x05, 0x28, 0x0f, 0x1e, 0x1b, 0x0a, 0x0b, 0x10, 0x20, 0x10, 0x3b, 0x06
.byte 0x01, 0x0a, 0x1f, 0x10, 0x3e, 0x0a, 0x37, 0x10, 0x20, 0x10, 0x28, 0x06
.byte 0x26, 0x10, 0x31, 0x0a, 0x29, 0x1e, 0x1c, 0x1c, 0x01, 0x0a, 0x12, 0x12
.byte 0x0a, 0x0c, 0x00, 0x0c, 0x29, 0x10, 0x1c, 0x10, 0x0f, 0x1e, 0x23, 0x0c
.byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x39, 0x10, 0x2a, 0x14, 0x04, 0x0c
.byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x20, 0x06, 0x2f, 0x10, 0x3c, 0x04
.byte 0x39, 0x0c, 0x39, 0x0c, 0x00, 0x0c, 0x29, 0x0a, 0x17, 0x20, 0x39, 0x0c
.byte 0x5c, 0x26, 0x0b, 0x10, 0x20, 0x10, 0x30, 0x12, 0x05, 0x1e, 0x0c, 0x10
+52 -52
View File
@@ -318,7 +318,7 @@ BattleScript_EffectSleep::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_AlreadyAsleep:: BattleScript_AlreadyAsleep::
various23 BS_ATTACKER setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20 pause 0x20
printstring STRINGID_PKMNALREADYASLEEP printstring STRINGID_PKMNALREADYASLEEP
waitmessage 0x40 waitmessage 0x40
@@ -731,7 +731,7 @@ BattleScript_EffectToxic::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_AlreadyPoisoned:: BattleScript_AlreadyPoisoned::
various23 BS_ATTACKER setalreadystatusedmoveattempt BS_ATTACKER
pause 0x40 pause 0x40
printstring STRINGID_PKMNALREADYPOISONED printstring STRINGID_PKMNALREADYPOISONED
waitmessage 0x40 waitmessage 0x40
@@ -779,7 +779,7 @@ BattleScript_RestCantSleep::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_RestIsAlreadyAsleep:: BattleScript_RestIsAlreadyAsleep::
various23 BS_ATTACKER setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20 pause 0x20
printstring STRINGID_PKMNALREADYASLEEP2 printstring STRINGID_PKMNALREADYASLEEP2
waitmessage 0x40 waitmessage 0x40
@@ -944,7 +944,7 @@ BattleScript_EffectConfuse::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_AlreadyConfused:: BattleScript_AlreadyConfused::
various23 BS_ATTACKER setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20 pause 0x20
printstring STRINGID_PKMNALREADYCONFUSED printstring STRINGID_PKMNALREADYCONFUSED
waitmessage 0x40 waitmessage 0x40
@@ -1051,7 +1051,7 @@ BattleScript_EffectParalyze::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_AlreadyParalyzed:: BattleScript_AlreadyParalyzed::
various23 BS_ATTACKER setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20 pause 0x20
printstring STRINGID_PKMNISALREADYPARALYZED printstring STRINGID_PKMNISALREADYPARALYZED
waitmessage 0x40 waitmessage 0x40
@@ -1128,7 +1128,7 @@ BattleScript_SubstituteString::
waitmessage 0x40 waitmessage 0x40
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_AlreadyHasSubstitute:: BattleScript_AlreadyHasSubstitute::
various23 BS_ATTACKER setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20 pause 0x20
printstring STRINGID_PKMNHASSUBSTITUTE printstring STRINGID_PKMNHASSUBSTITUTE
waitmessage 0x40 waitmessage 0x40
@@ -2226,7 +2226,7 @@ BattleScript_WaterVeilPrevents::
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
BattleScript_AlreadyBurned:: BattleScript_AlreadyBurned::
various23 BS_ATTACKER setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20 pause 0x20
printstring STRINGID_PKMNALREADYHASBURN printstring STRINGID_PKMNALREADYHASBURN
waitmessage 0x40 waitmessage 0x40
@@ -2643,7 +2643,7 @@ BattleScript_TeeterDanceSubstitutePrevents::
goto BattleScript_TeeterDanceDoMoveEndIncrement goto BattleScript_TeeterDanceDoMoveEndIncrement
BattleScript_TeeterDanceAlreadyConfused:: BattleScript_TeeterDanceAlreadyConfused::
various23 BS_ATTACKER setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20 pause 0x20
printstring STRINGID_PKMNALREADYCONFUSED printstring STRINGID_PKMNALREADYCONFUSED
waitmessage 0x40 waitmessage 0x40
@@ -4487,54 +4487,54 @@ BattleScript_ArenaTurnBeginning::
pause 0x8 pause 0x8
playse SE_HANTEI1 playse SE_HANTEI1
various14 BS_ATTACKER various14 BS_ATTACKER
various16 8 arenajudmengtstring 8
various17 8 arenawaitmessage 8
pause 0x40 pause 0x40
various15 BS_ATTACKER various15 BS_ATTACKER
volumeup volumeup
end2 end2
BattleScript_82DB8E0:: BattleScript_82DB8E0:: @ Unused battlescript
playse SE_PINPON playse SE_PINPON
various14 BS_ATTACKER various14 BS_ATTACKER
various16 BS_TARGET arenajudmengtstring BS_TARGET
various17 BS_TARGET arenawaitmessage BS_TARGET
pause 0x40 pause 0x40
various15 BS_ATTACKER various15 BS_ATTACKER
end2 end2
BattleScript_82DB8F3:: BattleScript_ArenaDoJudgment::
makevisible 11 makevisible BS_PLAYER1
waitstate waitstate
makevisible BS_OPPONENT1 makevisible BS_OPPONENT1
waitstate waitstate
volumedown volumedown
playse 0x109 playse SE_HANTEI1
pause 0x8 pause 0x8
playse 0x109 playse SE_HANTEI1
pause 0x40 pause 0x40
various14 BS_ATTACKER various14 BS_ATTACKER
various16 BS_ATTACKER arenajudmengtstring 1
various17 BS_ATTACKER arenawaitmessage 1
pause 0x40 pause 0x40
setbyte gBattleCommunication, 0x0 setbyte gBattleCommunication, 0x0
various9 BS_ATTACKER arenajudgmentwindow
pause 0x40 pause 0x40
various9 BS_ATTACKER arenajudgmentwindow
various16 BS_EFFECT_BATTLER arenajudmengtstring 2
various17 BS_EFFECT_BATTLER arenawaitmessage 2
various9 BS_ATTACKER arenajudgmentwindow
various16 BS_FAINTED arenajudmengtstring 3
various17 BS_FAINTED arenawaitmessage 3
various9 BS_ATTACKER arenajudgmentwindow
various16 0x4 arenajudmengtstring 4
various17 0x4 arenawaitmessage 4
various9 BS_ATTACKER arenajudgmentwindow
jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x3, BattleScript_82DB973 jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x3, BattleScript_ArenaJudgmentPlayerLoses
jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x4, BattleScript_82DB992 jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x4, BattleScript_ArenaJudgmentDraw
various16 0x5 arenajudmengtstring 5
various17 0x5 arenawaitmessage 5
various9 BS_ATTACKER arenajudgmentwindow
various15 BS_ATTACKER various15 BS_ATTACKER
printstring STRINGID_DEFEATEDOPPONENTBYREFEREE printstring STRINGID_DEFEATEDOPPONENTBYREFEREE
waitmessage 0x40 waitmessage 0x40
@@ -4542,39 +4542,39 @@ BattleScript_82DB8F3::
waitcry BS_ATTACKER waitcry BS_ATTACKER
dofaintanimation BS_OPPONENT1 dofaintanimation BS_OPPONENT1
cleareffectsonfaint BS_OPPONENT1 cleareffectsonfaint BS_OPPONENT1
various10 BS_ATTACKER arenaopponentmonlost
end2 end2
BattleScript_82DB973:: BattleScript_ArenaJudgmentPlayerLoses:
various16 0x6 arenajudmengtstring 6
various17 0x6 arenawaitmessage 6
various9 BS_ATTACKER arenajudgmentwindow
various15 BS_ATTACKER various15 BS_ATTACKER
printstring STRINGID_LOSTTOOPPONENTBYREFEREE printstring STRINGID_LOSTTOOPPONENTBYREFEREE
waitmessage 0x40 waitmessage 0x40
playfaintcry 11 playfaintcry BS_PLAYER1
waitcry BS_ATTACKER waitcry BS_ATTACKER
dofaintanimation 11 dofaintanimation BS_PLAYER1
cleareffectsonfaint 11 cleareffectsonfaint BS_PLAYER1
various11 BS_ATTACKER arenaplayermonlost
end2 end2
BattleScript_82DB992:: BattleScript_ArenaJudgmentDraw:
various16 BS_BATTLER_0 arenajudmengtstring 7
various17 BS_BATTLER_0 arenawaitmessage 7
various9 BS_ATTACKER arenajudgmentwindow
various15 BS_ATTACKER various15 BS_ATTACKER
printstring STRINGID_TIEDOPPONENTBYREFEREE printstring STRINGID_TIEDOPPONENTBYREFEREE
waitmessage 0x40 waitmessage 0x40
playfaintcry 11 playfaintcry BS_PLAYER1
waitcry BS_ATTACKER waitcry BS_ATTACKER
dofaintanimation 11 dofaintanimation BS_PLAYER1
cleareffectsonfaint 11 cleareffectsonfaint BS_PLAYER1
playfaintcry BS_OPPONENT1 playfaintcry BS_OPPONENT1
waitcry BS_ATTACKER waitcry BS_ATTACKER
dofaintanimation BS_OPPONENT1 dofaintanimation BS_OPPONENT1
cleareffectsonfaint BS_OPPONENT1 cleareffectsonfaint BS_OPPONENT1
various12 BS_ATTACKER arenabothmonlost
end2 end2
BattleScript_AskIfWantsToForfeitMatch:: BattleScript_AskIfWantsToForfeitMatch::
+19 -19
View File
@@ -3356,7 +3356,7 @@ EventScript_2736F8:: @ 82736F8
waitmessage waitmessage
waitbuttonpress waitbuttonpress
setvar VAR_0x8004, 16 setvar VAR_0x8004, 16
special sub_81A703C special CallBattlePikeFunction
compare VAR_RESULT, 1 compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222 goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222
setvar VAR_0x8004, 12 setvar VAR_0x8004, 12
@@ -10204,9 +10204,9 @@ BattleFrontier_BattlePikeRandomRoom1_MapScripts_2C3E1B: @ 82C3E1B
BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25: @ 82C3E25 BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25: @ 82C3E25
setvar VAR_0x8004, 4 setvar VAR_0x8004, 4
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 5 setvar VAR_0x8004, 5
special sub_81A703C special CallBattlePikeFunction
switch VAR_RESULT switch VAR_RESULT
case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1 case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1
case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1 case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1
@@ -10251,7 +10251,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8
setvar VAR_OBJ_GFX_ID_1, 28 setvar VAR_OBJ_GFX_ID_1, 28
setvar VAR_OBJ_GFX_ID_0, 28 setvar VAR_OBJ_GFX_ID_0, 28
setvar VAR_0x8004, 5 setvar VAR_0x8004, 5
special sub_81A703C special CallBattlePikeFunction
compare VAR_RESULT, 3 compare VAR_RESULT, 3
goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35 goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
compare VAR_RESULT, 6 compare VAR_RESULT, 6
@@ -10294,12 +10294,12 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64:: @ 82C3F64
BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_81A703C special CallBattlePikeFunction
addvar VAR_RESULT, 1 addvar VAR_RESULT, 1
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT copyvar VAR_0x8006, VAR_RESULT
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
special CallFrontierUtilFunc special CallFrontierUtilFunc
@@ -10309,9 +10309,9 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F
copyvar VAR_0x8006, VAR_RESULT copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc special CallFrontierUtilFunc
setvar VAR_0x8004, 0 setvar VAR_0x8004, 0
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 5 setvar VAR_0x8004, 5
special sub_81A703C special CallBattlePikeFunction
switch VAR_RESULT switch VAR_RESULT
case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030 case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
@@ -10368,19 +10368,19 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D:: @ 82C408D
BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2 BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2
setvar VAR_0x8004, 25 setvar VAR_0x8004, 25
special sub_81A703C special CallBattlePikeFunction
compare VAR_RESULT, 1 compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128 call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128
compare VAR_RESULT, 1 compare VAR_RESULT, 1
call_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136 call_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_81A703C special CallBattlePikeFunction
addvar VAR_RESULT, 1 addvar VAR_RESULT, 1
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT copyvar VAR_0x8006, VAR_RESULT
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
special CallFrontierUtilFunc special CallFrontierUtilFunc
@@ -10390,7 +10390,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2
copyvar VAR_0x8006, VAR_RESULT copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc special CallFrontierUtilFunc
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
special sub_81A703C special CallBattlePikeFunction
compare VAR_RESULT, 1 compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144 call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144
compare VAR_RESULT, 0 compare VAR_RESULT, 0
@@ -10402,14 +10402,14 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128:: @ 82C4128
BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128:: @ 82C4128 BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128:: @ 82C4128
setvar VAR_0x8004, 24 setvar VAR_0x8004, 24
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_81A703C special CallBattlePikeFunction
return return
BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136:: @ 82C4136 BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136:: @ 82C4136
BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136:: @ 82C4136 BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136:: @ 82C4136
setvar VAR_0x8004, 24 setvar VAR_0x8004, 24
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_81A703C special CallBattlePikeFunction
return return
BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144:: @ 82C4144 BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144:: @ 82C4144
@@ -10430,21 +10430,21 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C:: @ 82C415C
BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174 BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174
setvar VAR_0x8004, 7 setvar VAR_0x8004, 7
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 25 setvar VAR_0x8004, 25
special sub_81A703C special CallBattlePikeFunction
compare VAR_RESULT, 1 compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128 call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128
compare VAR_RESULT, 1 compare VAR_RESULT, 1
call_if 5, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136 call_if 5, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_81A703C special CallBattlePikeFunction
addvar VAR_RESULT, 1 addvar VAR_RESULT, 1
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT copyvar VAR_0x8006, VAR_RESULT
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
special CallFrontierUtilFunc special CallFrontierUtilFunc
@@ -10454,7 +10454,7 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174
copyvar VAR_0x8006, VAR_RESULT copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc special CallFrontierUtilFunc
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
special sub_81A703C special CallBattlePikeFunction
compare VAR_RESULT, 1 compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144 call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144
compare VAR_RESULT, 0 compare VAR_RESULT, 0
@@ -73,7 +73,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25752E:: @ 825752E
waitse waitse
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 6 setvar VAR_0x8004, 6
special sub_81A5238 special CallBattleArenaFunction
msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C68, 4 msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C68, 4
closemessage closemessage
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2 applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2
@@ -88,7 +88,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25752E:: @ 825752E
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2 applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 5 setvar VAR_0x8004, 5
special sub_8195960 special CallBattlePalaceFunction
msgbox gStringVar4, 4 msgbox gStringVar4, 4
waitmessage waitmessage
call BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C call BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C
@@ -105,7 +105,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB:: @ 82575DB
waitse waitse
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 6 setvar VAR_0x8004, 6
special sub_81A5238 special CallBattleArenaFunction
msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CCE, 4 msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CCE, 4
BattleFrontier_BattleArenaBattleRoom_EventScript_257615:: @ 8257615 BattleFrontier_BattleArenaBattleRoom_EventScript_257615:: @ 8257615
@@ -266,7 +266,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25789A:: @ 825789A
waitmessage waitmessage
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
special sub_81A5238 special CallBattleArenaFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
fadescreen 1 fadescreen 1
@@ -32,11 +32,11 @@ BattleFrontier_BattleArenaLobby_EventScript_255C88:: @ 8255C88
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_81A5238 special CallBattleArenaFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_81A5238 special CallBattleArenaFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
@@ -78,7 +78,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255D2B:: @ 8255D2B
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_81A5238 special CallBattleArenaFunction
call BattleFrontier_BattleArenaLobby_EventScript_255D59 call BattleFrontier_BattleArenaLobby_EventScript_255D59
msgbox BattleFrontier_BattleArenaLobby_Text_256A74, 4 msgbox BattleFrontier_BattleArenaLobby_Text_256A74, 4
closemessage closemessage
@@ -93,7 +93,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255D59:: @ 8255D59
special HealPlayerParty special HealPlayerParty
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_81A5238 special CallBattleArenaFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
call BattleFrontier_BattleArenaLobby_EventScript_23E8E0 call BattleFrontier_BattleArenaLobby_EventScript_23E8E0
@@ -119,7 +119,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255DC0:: @ 8255DC0
waitmessage waitmessage
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_81A5238 special CallBattleArenaFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
@@ -183,11 +183,11 @@ BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8
setvar VAR_0x8005, 4 setvar VAR_0x8005, 4
special CallFrontierUtilFunc special CallFrontierUtilFunc
setvar VAR_0x8004, 0 setvar VAR_0x8004, 0
special sub_81A5238 special CallBattleArenaFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
setvar VAR_0x8006, 1 setvar VAR_0x8006, 1
special sub_81A5238 special CallBattleArenaFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
setvar VAR_0x8006, 1 setvar VAR_0x8006, 1
@@ -69,7 +69,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67
waitmovement 0 waitmovement 0
call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4 call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4
setvar VAR_0x8004, 11 setvar VAR_0x8004, 11
special sub_81A5E74 special CallBattleFactoryFunction
removeobject 2 removeobject 2
setobjectxyperm 2, 7, 1 setobjectxyperm 2, 7, 1
addobject 2 addobject 2
@@ -80,7 +80,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7:: @ 825AEA7
compare VAR_TEMP_F, 0 compare VAR_TEMP_F, 0
goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C
setvar VAR_0x8004, 5 setvar VAR_0x8004, 5
special sub_8195960 special CallBattlePalaceFunction
lockall lockall
msgbox gStringVar4, 4 msgbox gStringVar4, 4
waitmessage waitmessage
@@ -109,14 +109,14 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25AEF8:: @ 825AEF8
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F:: @ 825AF0F BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F:: @ 825AF0F
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
special sub_81A5E74 special CallBattleFactoryFunction
compare VAR_RESULT, 9999 compare VAR_RESULT, 9999
goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
addvar VAR_RESULT, 1 addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT setorcopyvar VAR_0x8006, VAR_RESULT
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
special sub_81A5E74 special CallBattleFactoryFunction
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E:: @ 825AF3E BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E:: @ 825AF3E
call BattleFrontier_BattleFactoryBattleRoom_EventScript_241EBA call BattleFrontier_BattleFactoryBattleRoom_EventScript_241EBA
@@ -235,24 +235,24 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0:: @ 825B0E0
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105 BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
special sub_81A5E74 special CallBattleFactoryFunction
compare VAR_RESULT, 9999 compare VAR_RESULT, 9999
goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
addvar VAR_RESULT, 1 addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT setorcopyvar VAR_0x8006, VAR_RESULT
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_81A5E74 special CallBattleFactoryFunction
compare VAR_RESULT, 9999 compare VAR_RESULT, 9999
goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43 goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43
addvar VAR_RESULT, 1 addvar VAR_RESULT, 1
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT copyvar VAR_0x8006, VAR_RESULT
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
special CallFrontierUtilFunc special CallFrontierUtilFunc
@@ -30,19 +30,19 @@ BattleFrontier_BattleFactoryLobby_EventScript_25843A:: @ 825843A
msgbox BattleFrontier_BattleFactoryLobby_Text_258ECA, 4 msgbox BattleFrontier_BattleFactoryLobby_Text_258ECA, 4
closemessage closemessage
setvar VAR_0x8004, 8 setvar VAR_0x8004, 8
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
@@ -77,7 +77,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_2584C6:: @ 82584C6
special LoadPlayerParty special LoadPlayerParty
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_81A5E74 special CallBattleFactoryFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
goto BattleFrontier_BattleFactoryLobby_EventScript_25853B goto BattleFrontier_BattleFactoryLobby_EventScript_25853B
@@ -93,10 +93,10 @@ BattleFrontier_BattleFactoryLobby_EventScript_258506:: @ 8258506
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_81A5E74 special CallBattleFactoryFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
@@ -128,7 +128,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_258592:: @ 8258592
waitmessage waitmessage
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_81A5E74 special CallBattleFactoryFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
@@ -193,7 +193,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_258653:: @ 8258653
BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9 BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9
setvar VAR_TEMP_0, 0 setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 0 setvar VAR_0x8004, 0
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
setvar VAR_0x8006, 1 setvar VAR_0x8006, 1
@@ -201,7 +201,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
setvar VAR_0x8006, 1 setvar VAR_0x8006, 1
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
@@ -32,23 +32,23 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9:: @ 8259AF9
compare VAR_0x8006, 2 compare VAR_0x8006, 2
goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69 goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69
setvar VAR_0x8004, 13 setvar VAR_0x8004, 13
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 12 setvar VAR_0x8004, 12
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 14 setvar VAR_0x8004, 14
special sub_81A5E74 special CallBattleFactoryFunction
setorcopyvar VAR_0x8005, VAR_RESULT setorcopyvar VAR_0x8005, VAR_RESULT
setvar VAR_0x8004, 15 setvar VAR_0x8004, 15
special sub_81A5E74 special CallBattleFactoryFunction
setorcopyvar VAR_0x8006, VAR_RESULT setorcopyvar VAR_0x8006, VAR_RESULT
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93 call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004 call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A1C8, 4 msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A1C8, 4
fadescreen 1 fadescreen 1
setvar VAR_0x8004, 8 setvar VAR_0x8004, 8
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 6 setvar VAR_0x8004, 6
special sub_81A5E74 special CallBattleFactoryFunction
waitstate waitstate
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74:: @ 8259B74 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74:: @ 8259B74
@@ -66,9 +66,9 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74:: @ 8259B74
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5:: @ 8259BA5 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5:: @ 8259BA5
setvar VAR_0x8004, 9 setvar VAR_0x8004, 9
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 16 setvar VAR_0x8004, 16
special sub_81A5E74 special CallBattleFactoryFunction
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D, 4 msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D, 4
playfanfare MUS_ME_ASA playfanfare MUS_ME_ASA
waitfanfare waitfanfare
@@ -165,12 +165,12 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66:: @ 8259D66
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98:: @ 8259D98 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98:: @ 8259D98
setvar VAR_0x8004, 12 setvar VAR_0x8004, 12
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 14 setvar VAR_0x8004, 14
special sub_81A5E74 special CallBattleFactoryFunction
setorcopyvar VAR_0x8005, VAR_RESULT setorcopyvar VAR_0x8005, VAR_RESULT
setvar VAR_0x8004, 15 setvar VAR_0x8004, 15
special sub_81A5E74 special CallBattleFactoryFunction
setorcopyvar VAR_0x8006, VAR_RESULT setorcopyvar VAR_0x8006, VAR_RESULT
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93 call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004 call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004
@@ -183,12 +183,12 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98:: @ 8259D98
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2:: @ 8259DF2 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2:: @ 8259DF2
fadescreen 1 fadescreen 1
setvar VAR_0x8004, 7 setvar VAR_0x8004, 7
special sub_81A5E74 special CallBattleFactoryFunction
waitstate waitstate
compare VAR_RESULT, 1 compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
setvar VAR_0x8004, 8 setvar VAR_0x8004, 8
special sub_81A5E74 special CallBattleFactoryFunction
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C, 4 msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C, 4
goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74 goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
@@ -227,7 +227,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47:: @ 8259E47
waitmessage waitmessage
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
special sub_81A5E74 special CallBattleFactoryFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
fadescreen 1 fadescreen 1
@@ -239,7 +239,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69:: @ 8259E69
special SavePlayerParty special SavePlayerParty
setvar VAR_0x8004, 10 setvar VAR_0x8004, 10
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 6 setvar VAR_0x8005, 6
setvar VAR_0x8006, 1 setvar VAR_0x8006, 1
@@ -381,39 +381,39 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004:: @ 825A004
return return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068:: @ 825A068 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068:: @ 825A068
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAE6, 4 msgbox Text_StyleUnrestrained, 4
return return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071:: @ 825A071 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071:: @ 825A071
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A9CE, 4 msgbox Text_StyleTotalPreparation, 4
return return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A:: @ 825A07A BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A:: @ 825A07A
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A8D9, 4 msgbox Text_StyleSlowAndSteady, 4
return return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083:: @ 825A083 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083:: @ 825A083
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A912, 4 msgbox Text_StyleEndurance, 4
return return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C:: @ 825A08C BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C:: @ 825A08C
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A94C, 4 msgbox Text_StyleHighRisk, 4
return return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095:: @ 825A095 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095:: @ 825A095
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA16, 4 msgbox Text_StyleWeakenFoe, 4
return return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E:: @ 825A09E BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E:: @ 825A09E
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAA7, 4 msgbox Text_StyleImpossibleToPredict, 4
return return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7:: @ 825A0A7 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7:: @ 825A0A7
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A98C, 4 msgbox Text_StyleDependsOnFlow, 4
return return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0:: @ 825A0B0 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0:: @ 825A0B0
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA5A, 4 msgbox Text_StyleFlexible, 4
return return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9:: @ 825A0B9 BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9:: @ 825A0B9
@@ -642,39 +642,39 @@ BattleFrontier_BattleFactoryPreBattleRoom_Text_25A893: @ 825A893
.string "The TRAINER appears to have no clear\n" .string "The TRAINER appears to have no clear\n"
.string "favorites when it comes to type.$" .string "favorites when it comes to type.$"
BattleFrontier_BattleFactoryPreBattleRoom_Text_25A8D9: @ 825A8D9 Text_StyleSlowAndSteady: @ 825A8D9
.string "The favorite battle style appears to\n" .string "The favorite battle style appears to\n"
.string "be slow and steady.$" .string "be slow and steady.$"
BattleFrontier_BattleFactoryPreBattleRoom_Text_25A912: @ 825A912 Text_StyleEndurance: @ 825A912
.string "The favorite battle style appears to\n" .string "The favorite battle style appears to\n"
.string "be one of endurance.$" .string "be one of endurance.$"
BattleFrontier_BattleFactoryPreBattleRoom_Text_25A94C: @ 825A94C Text_StyleHighRisk: @ 825A94C
.string "The favorite battle style appears to\n" .string "The favorite battle style appears to\n"
.string "be high risk, high return.$" .string "be high risk, high return.$"
BattleFrontier_BattleFactoryPreBattleRoom_Text_25A98C: @ 825A98C Text_StyleDependsOnFlow: @ 825A98C
.string "The favorite battle style appears to\n" .string "The favorite battle style appears to\n"
.string "depend on the battles flow.$" .string "depend on the battles flow.$"
BattleFrontier_BattleFactoryPreBattleRoom_Text_25A9CE: @ 825A9CE Text_StyleTotalPreparation: @ 825A9CE
.string "The favorite battle style appears to\n" .string "The favorite battle style appears to\n"
.string "be one based on total preparation.$" .string "be one based on total preparation.$"
BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA16: @ 825AA16 Text_StyleWeakenFoe: @ 825AA16
.string "The favorite battle style appears\n" .string "The favorite battle style appears\n"
.string "to be weakening the foe to start.$" .string "to be weakening the foe to start.$"
BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA5A: @ 825AA5A Text_StyleFlexible: @ 825AA5A
.string "The favorite battle style appears to\n" .string "The favorite battle style appears to\n"
.string "be flexibly adaptable to the situation.$" .string "be flexibly adaptable to the situation.$"
BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAA7: @ 825AAA7 Text_StyleImpossibleToPredict: @ 825AAA7
.string "The favorite battle style appears to\n" .string "The favorite battle style appears to\n"
.string "be impossible to predict.$" .string "be impossible to predict.$"
BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAE6: @ 825AAE6 Text_StyleUnrestrained: @ 825AAE6
.string "The favorite battle style appears to\n" .string "The favorite battle style appears to\n"
.string "be free-spirited and unrestrained.$" .string "be free-spirited and unrestrained.$"
@@ -60,7 +60,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8BF:: @ 824F8BF
applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1 applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 5 setvar VAR_0x8004, 5
special sub_8195960 special CallBattlePalaceFunction
msgbox gStringVar4, 4 msgbox gStringVar4, 4
waitmessage waitmessage
call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7 call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
@@ -189,7 +189,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F:: @ 824FB3F
waitmessage waitmessage
setvar VAR_0x8004, 7 setvar VAR_0x8004, 7
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
special sub_8195960 special CallBattlePalaceFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
fadescreen 1 fadescreen 1
@@ -263,7 +263,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA:: @ 824FCAA
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7 BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7
setvar VAR_0x8004, 6 setvar VAR_0x8004, 6
special sub_8195960 special CallBattlePalaceFunction
setvar VAR_0x8004, 12 setvar VAR_0x8004, 12
special CallFrontierUtilFunc special CallFrontierUtilFunc
compare VAR_RESULT, 0 compare VAR_RESULT, 0
@@ -306,7 +306,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67:: @ 824FD67
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84 BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84
setvar VAR_0x8004, 6 setvar VAR_0x8004, 6
special sub_8195960 special CallBattlePalaceFunction
setvar VAR_0x8004, 12 setvar VAR_0x8004, 12
special CallFrontierUtilFunc special CallFrontierUtilFunc
compare VAR_RESULT, 2 compare VAR_RESULT, 2
@@ -13,7 +13,7 @@ BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3
waitmovement 0 waitmovement 0
lockall lockall
setvar VAR_0x8004, 3 setvar VAR_0x8004, 3
special sub_8195960 special CallBattlePalaceFunction
compare VAR_RESULT, 0 compare VAR_RESULT, 0
call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F58B call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F58B
compare VAR_RESULT, 1 compare VAR_RESULT, 1
@@ -32,11 +32,11 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D7D0:: @ 824D7D0
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_8195960 special CallBattlePalaceFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_8195960 special CallBattlePalaceFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
@@ -78,7 +78,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D873:: @ 824D873
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_8195960 special CallBattlePalaceFunction
call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1 call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1
msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4 msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4
closemessage closemessage
@@ -93,7 +93,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D8A1:: @ 824D8A1
special HealPlayerParty special HealPlayerParty
setvar VAR_0x8004, 7 setvar VAR_0x8004, 7
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_8195960 special CallBattlePalaceFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
call BattleFrontier_BattlePalaceLobby_EventScript_23E8E0 call BattleFrontier_BattlePalaceLobby_EventScript_23E8E0
@@ -120,7 +120,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D908:: @ 824D908
waitmessage waitmessage
setvar VAR_0x8004, 7 setvar VAR_0x8004, 7
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_8195960 special CallBattlePalaceFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
@@ -149,7 +149,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D956:: @ 824D956
BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968 BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_8195960 special CallBattlePalaceFunction
compare VAR_RESULT, 0 compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePalaceLobby_EventScript_24D817 goto_if 5, BattleFrontier_BattlePalaceLobby_EventScript_24D817
special SavePlayerParty special SavePlayerParty
@@ -207,11 +207,11 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87
setvar VAR_0x8005, 4 setvar VAR_0x8005, 4
special CallFrontierUtilFunc special CallFrontierUtilFunc
setvar VAR_0x8004, 0 setvar VAR_0x8004, 0
special sub_8195960 special CallBattlePalaceFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
setvar VAR_0x8006, 1 setvar VAR_0x8006, 1
special sub_8195960 special CallBattlePalaceFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
setvar VAR_0x8006, 1 setvar VAR_0x8006, 1
@@ -14,10 +14,10 @@ BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786
setvar VAR_0x8006, 1 setvar VAR_0x8006, 1
special CallFrontierUtilFunc special CallFrontierUtilFunc
setvar VAR_0x8004, 20 setvar VAR_0x8004, 20
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 24 setvar VAR_0x8004, 24
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_81A703C special CallBattlePikeFunction
applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80B applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80B
applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_25C812 applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_25C812
waitmovement 0 waitmovement 0
@@ -27,18 +27,18 @@ BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707
BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710 BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710
special HealPlayerParty special HealPlayerParty
setvar VAR_0x8004, 27 setvar VAR_0x8004, 27
special sub_81A703C special CallBattlePikeFunction
lockall lockall
msgbox BattleFrontier_BattlePikeLobby_Text_25C2E0, 4 msgbox BattleFrontier_BattlePikeLobby_Text_25C2E0, 4
closemessage closemessage
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 4 setvar VAR_0x8005, 4
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
@@ -70,21 +70,21 @@ BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D
special CallFrontierUtilFunc special CallFrontierUtilFunc
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
special sub_81A703C special CallBattlePikeFunction
addvar VAR_RESULT, 1 addvar VAR_RESULT, 1
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
copyvar VAR_0x8006, VAR_RESULT copyvar VAR_0x8006, VAR_RESULT
special sub_81A703C special CallBattlePikeFunction
special LoadPlayerParty special LoadPlayerParty
special HealPlayerParty special HealPlayerParty
setvar VAR_0x8004, 27 setvar VAR_0x8004, 27
special sub_81A703C special CallBattlePikeFunction
message BattleFrontier_BattlePikeLobby_Text_25C1DF message BattleFrontier_BattlePikeLobby_Text_25C1DF
waitmessage waitmessage
setvar VAR_0x8004, 8 setvar VAR_0x8004, 8
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_81A703C special CallBattlePikeFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4 msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4
@@ -106,14 +106,14 @@ BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 4 setvar VAR_0x8005, 4
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
special sub_81A703C special CallBattlePikeFunction
special LoadPlayerParty special LoadPlayerParty
special HealPlayerParty special HealPlayerParty
setvar VAR_0x8004, 27 setvar VAR_0x8004, 27
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 8 setvar VAR_0x8004, 8
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_81A703C special CallBattlePikeFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4 msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4
@@ -177,7 +177,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
setvar VAR_0x8005, 4 setvar VAR_0x8005, 4
special CallFrontierUtilFunc special CallFrontierUtilFunc
setvar VAR_0x8004, 28 setvar VAR_0x8004, 28
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
setvar VAR_0x8006, 1 setvar VAR_0x8006, 1
@@ -185,9 +185,9 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 4 setvar VAR_0x8005, 4
setvar VAR_0x8006, 1 setvar VAR_0x8006, 1
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 26 setvar VAR_0x8004, 26
special sub_81A703C special CallBattlePikeFunction
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 3 setvar VAR_0x8005, 3
setvar VAR_0x8006, 0 setvar VAR_0x8006, 0
@@ -198,7 +198,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
call BattleFrontier_BattlePikeLobby_EventScript_27134F call BattleFrontier_BattlePikeLobby_EventScript_27134F
setvar VAR_TEMP_0, 255 setvar VAR_TEMP_0, 255
setvar VAR_0x8004, 26 setvar VAR_0x8004, 26
special sub_81A703C special CallBattlePikeFunction
compare VAR_RESULT, 0 compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C
special SavePlayerParty special SavePlayerParty
@@ -12,7 +12,7 @@ BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167: @ 825D167
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171:: @ 825D171 BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171:: @ 825D171
setvar VAR_TEMP_0, 1 setvar VAR_TEMP_0, 1
setvar VAR_0x8004, 5 setvar VAR_0x8004, 5
special sub_81A703C special CallBattlePikeFunction
switch VAR_RESULT switch VAR_RESULT
case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6 case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6
case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D50E case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D50E
@@ -29,7 +29,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6:: @ 825D1C6
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 21 setvar VAR_0x8004, 21
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_81A703C special CallBattlePikeFunction
msgbox gStringVar4, 4 msgbox gStringVar4, 4
waitmessage waitmessage
closemessage closemessage
@@ -65,7 +65,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D231:: @ 825D231
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 21 setvar VAR_0x8004, 21
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_81A703C special CallBattlePikeFunction
msgbox gStringVar4, 4 msgbox gStringVar4, 4
waitmessage waitmessage
closemessage closemessage
@@ -103,7 +103,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF:: @ 825D2BF
applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DF applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DF
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 23 setvar VAR_0x8004, 23
special sub_81A703C special CallBattlePikeFunction
switch VAR_RESULT switch VAR_RESULT
case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC
case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4EA case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4EA
@@ -137,7 +137,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E7 applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E7
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 22 setvar VAR_0x8004, 22
special sub_81A703C special CallBattlePikeFunction
switch VAR_RESULT switch VAR_RESULT
case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416 case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416
case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD
@@ -219,12 +219,12 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D:: @ 825D49D
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_81A703C special CallBattlePikeFunction
addvar VAR_RESULT, 1 addvar VAR_RESULT, 1
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT copyvar VAR_0x8006, VAR_RESULT
special sub_81A703C special CallBattlePikeFunction
call BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144 call BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144
waitstate waitstate
end end
@@ -281,7 +281,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 21 setvar VAR_0x8004, 21
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_81A703C special CallBattlePikeFunction
msgbox gStringVar4, 4 msgbox gStringVar4, 4
closemessage closemessage
delay 16 delay 16
@@ -289,7 +289,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 21 setvar VAR_0x8004, 21
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_81A703C special CallBattlePikeFunction
msgbox gStringVar4, 4 msgbox gStringVar4, 4
closemessage closemessage
setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_DOUBLE setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_DOUBLE
@@ -318,7 +318,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D605:: @ 825D605
applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7AA applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7AA
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 12 setvar VAR_0x8004, 12
special sub_81A703C special CallBattlePikeFunction
copyvar VAR_0x8004, VAR_RESULT copyvar VAR_0x8004, VAR_RESULT
compare VAR_0x8004, 0 compare VAR_0x8004, 0
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643 call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643
@@ -336,7 +336,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643
playmoncry SPECIES_KIRLIA, 0 playmoncry SPECIES_KIRLIA, 0
waitmoncry waitmoncry
setvar VAR_0x8004, 11 setvar VAR_0x8004, 11
special sub_81A703C special CallBattlePikeFunction
compare VAR_RESULT, 2 compare VAR_RESULT, 2
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751 call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751
compare VAR_RESULT, 1 compare VAR_RESULT, 1
@@ -346,7 +346,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643
compare VAR_RESULT, 4 compare VAR_RESULT, 4
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766 call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766
setvar VAR_0x8004, 15 setvar VAR_0x8004, 15
special sub_81A703C special CallBattlePikeFunction
waitstate waitstate
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2 applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2
waitmovement 0 waitmovement 0
@@ -373,13 +373,13 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5:: @ 825D6D5
playmoncry SPECIES_DUSCLOPS, 0 playmoncry SPECIES_DUSCLOPS, 0
waitmoncry waitmoncry
setvar VAR_0x8004, 11 setvar VAR_0x8004, 11
special sub_81A703C special CallBattlePikeFunction
compare VAR_RESULT, 0 compare VAR_RESULT, 0
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D
compare VAR_RESULT, 1 compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774 call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774
setvar VAR_0x8004, 15 setvar VAR_0x8004, 15
special sub_81A703C special CallBattlePikeFunction
waitstate waitstate
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2 applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2
waitmovement 0 waitmovement 0
@@ -579,7 +579,7 @@ BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA: @ 825D7EA
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED:: @ 825D7ED BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED:: @ 825D7ED
setvar VAR_0x8004, 5 setvar VAR_0x8004, 5
special sub_81A703C special CallBattlePikeFunction
switch VAR_RESULT switch VAR_RESULT
case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B
case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831 case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831
@@ -589,7 +589,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B:: @ 825D81B
lock lock
faceplayer faceplayer
setvar VAR_0x8004, 14 setvar VAR_0x8004, 14
special sub_81A703C special CallBattlePikeFunction
msgbox gStringVar4, 4 msgbox gStringVar4, 4
waitmessage waitmessage
closemessage closemessage
@@ -606,7 +606,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831:: @ 825D831
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E:: @ 825D83E BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E:: @ 825D83E
setvar VAR_0x8004, 13 setvar VAR_0x8004, 13
special sub_81A703C special CallBattlePikeFunction
compare VAR_RESULT, 2 compare VAR_RESULT, 2
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881 call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881
compare VAR_RESULT, 1 compare VAR_RESULT, 1
@@ -12,7 +12,7 @@ BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A: @ 825E42A
BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C:: @ 825E43C BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C:: @ 825E43C
setvar VAR_TEMP_0, 1 setvar VAR_TEMP_0, 1
setvar VAR_0x8004, 6 setvar VAR_0x8004, 6
special sub_81A703C special CallBattlePikeFunction
end end
BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A:: @ 825E44A BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A:: @ 825E44A
@@ -37,7 +37,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4:: @ 825C8A4
waitmessage waitmessage
setvar VAR_0x8004, 8 setvar VAR_0x8004, 8
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_81A703C special CallBattlePikeFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
@@ -139,7 +139,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD:: @ 825C9FD
special LoadPlayerParty special LoadPlayerParty
setvar VAR_0x8004, 8 setvar VAR_0x8004, 8
setvar VAR_0x8005, 2 setvar VAR_0x8005, 2
special sub_81A703C special CallBattlePikeFunction
playse SE_SAVE playse SE_SAVE
waitse waitse
fadescreen 1 fadescreen 1
@@ -167,7 +167,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A:: @ 825CA5A
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78 BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78
setvar VAR_0x8004, 17 setvar VAR_0x8004, 17
special sub_81A703C special CallBattlePikeFunction
compare VAR_RESULT, 1 compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91 goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91
setvar VAR_TEMP_5, 255 setvar VAR_TEMP_5, 255
@@ -190,7 +190,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97:: @ 825CA97
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB
setvar VAR_0x8004, 19 setvar VAR_0x8004, 19
special sub_81A703C special CallBattlePikeFunction
compare VAR_RESULT, 4 compare VAR_RESULT, 4
goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2 goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2
lock lock
@@ -210,7 +210,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00:: @ 825CB00
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A:: @ 825CB0A BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A:: @ 825CB0A
setvar VAR_0x8004, 18 setvar VAR_0x8004, 18
special sub_81A703C special CallBattlePikeFunction
switch VAR_RESULT switch VAR_RESULT
case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39 case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46 case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46
@@ -231,7 +231,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB53:: @ 825CB53
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60:: @ 825CB60 BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60:: @ 825CB60
setvar VAR_0x8004, 19 setvar VAR_0x8004, 19
special sub_81A703C special CallBattlePikeFunction
switch VAR_RESULT switch VAR_RESULT
case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBA4 case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBA4
@@ -162,14 +162,14 @@ FallarborTown_BattleTentBattleRoom_EventScript_200AF3:: @ 8200AF3
waitstate waitstate
setvar VAR_0x8004, 1 setvar VAR_0x8004, 1
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
special sub_81A5238 special CallBattleArenaFunction
compare VAR_RESULT, 9999 compare VAR_RESULT, 9999
goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2009B3 goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2009B3
addvar VAR_RESULT, 1 addvar VAR_RESULT, 1
setvar VAR_0x8004, 2 setvar VAR_0x8004, 2
setvar VAR_0x8005, 1 setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT copyvar VAR_0x8006, VAR_RESULT
special sub_81A5238 special CallBattleArenaFunction
FallarborTown_BattleTentBattleRoom_EventScript_200B43:: @ 8200B43 FallarborTown_BattleTentBattleRoom_EventScript_200B43:: @ 8200B43
message FallarborTown_BattleTentBattleRoom_Text_257D17 message FallarborTown_BattleTentBattleRoom_Text_257D17
@@ -42,7 +42,7 @@ SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE
applymovement 3, SlateportCity_BattleTentBattleRoom_Movement_209A99 applymovement 3, SlateportCity_BattleTentBattleRoom_Movement_209A99
waitmovement 0 waitmovement 0
setvar VAR_0x8004, 11 setvar VAR_0x8004, 11
special sub_81A5E74 special CallBattleFactoryFunction
setobjectxyperm 2, 5, 1 setobjectxyperm 2, 5, 1
removeobject 2 removeobject 2
addobject 2 addobject 2
@@ -59,9 +59,9 @@ SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4
SlateportCity_BattleTentCorridor_EventScript_208EEE:: @ 8208EEE SlateportCity_BattleTentCorridor_EventScript_208EEE:: @ 8208EEE
setvar VAR_0x8004, 9 setvar VAR_0x8004, 9
special sub_81A5E74 special CallBattleFactoryFunction
setvar VAR_0x8004, 16 setvar VAR_0x8004, 16
special sub_81A5E74 special CallBattleFactoryFunction
msgbox SlateportCity_BattleTentCorridor_Text_25A22D, 4 msgbox SlateportCity_BattleTentCorridor_Text_25A22D, 4
playfanfare MUS_ME_ASA playfanfare MUS_ME_ASA
waitfanfare waitfanfare
@@ -143,7 +143,7 @@ SlateportCity_BattleTentCorridor_EventScript_209044:: @ 8209044
special SavePlayerParty special SavePlayerParty
setvar VAR_0x8004, 10 setvar VAR_0x8004, 10
setvar VAR_0x8005, 0 setvar VAR_0x8005, 0
special sub_81A5E74 special CallBattleFactoryFunction
goto SlateportCity_BattleTentCorridor_EventScript_208F0D goto SlateportCity_BattleTentCorridor_EventScript_208F0D
SlateportCity_BattleTentCorridor_Movement_209059: @ 8209059 SlateportCity_BattleTentCorridor_Movement_209059: @ 8209059
+4 -4
View File
@@ -245,12 +245,12 @@ gSpecials:: @ 81DBA64
def_special CallFrontierUtilFunc def_special CallFrontierUtilFunc
def_special sub_8161F74 def_special sub_8161F74
def_special CallBattleDomeFunction def_special CallBattleDomeFunction
def_special sub_8195960 def_special CallBattlePalaceFunction
def_special CopyEReaderTrainerGreeting def_special CopyEReaderTrainerGreeting
def_special DoSpecialTrainerBattle def_special DoSpecialTrainerBattle
def_special sub_81A5238 def_special CallBattleArenaFunction
def_special sub_81A5E74 def_special CallBattleFactoryFunction
def_special sub_81A703C def_special CallBattlePikeFunction
def_special sub_81A8E7C def_special sub_81A8E7C
def_special StopMapMusic def_special StopMapMusic
def_special sub_81B99B4 def_special sub_81B99B4
+6 -4
View File
@@ -498,10 +498,12 @@ struct BattleStruct
struct BattleTv tv; struct BattleTv tv;
u8 notSureWhatFieldLol[0x28]; u8 notSureWhatFieldLol[0x28];
u8 AI_monToSwitchIntoId[MAX_BATTLERS_COUNT]; u8 AI_monToSwitchIntoId[MAX_BATTLERS_COUNT];
u8 field_298[8]; s8 arenaMindPoints[2];
u8 field_2A0; s8 arenaSkillPoints[2];
u8 field_2A1; u16 arenaStartHp[2];
u8 field_2A2; u8 arenaLostPlayerMons; // Bits for party member, lost as in referee's decision, not by fainting.
u8 arenaLostOpponentMons;
u8 alreadyStatusedMoveAttempt; // As bits for battlers; For example when using Thunder Wave on an already paralyzed pokemon.
}; };
#define GET_MOVE_TYPE(move, typeArg) \ #define GET_MOVE_TYPE(move, typeArg) \
+14
View File
@@ -0,0 +1,14 @@
#ifndef GUARD_BATTLE_ARENA_H
#define GUARD_BATTLE_ARENA_H
void CallBattleArenaFunction(void);
u8 BattleArena_ShowJudgmentWindow(u8 *state);
void BattleArena_InitPoints(void);
void BattleArena_AddMindPoints(u8 battler);
void BattleArena_AddSkillPoints(u8 battler);
void BattleArena_DeductMindPoints(u8 battler, u16 stringId);
void sub_81A586C(u8 battler);
void sub_81A5BF8(void);
void sub_81A5D44(void);
#endif //GUARD_BATTLE_ARENA_H
+7 -2
View File
@@ -1,7 +1,12 @@
#ifndef GUARD_BATTLE_FACTORY_H #ifndef GUARD_BATTLE_FACTORY_H
#define GUARD_BATTLE_FACTORY_H #define GUARD_BATTLE_FACTORY_H
void DoBattleFactorySelectScreen(void); void CallBattleFactoryFunction(void);
void DoBattleFactorySwapScreen(void); bool8 sub_81A6BF4(void);
u8 GetFactoryMonFixedIV(u8 arg0, u8 arg1);
void FillFactoryBrainParty(void);
u8 sub_81A6F70(u8 battleMode, u8 lvlMode);
u32 GetAiScriptsInBattleFactory(void);
void SetMonMoveAvoidReturn(struct Pokemon *mon, u16 moveArg, u8 moveSlot);
#endif // GUARD_BATTLE_FACTORY_H #endif // GUARD_BATTLE_FACTORY_H
+7
View File
@@ -0,0 +1,7 @@
#ifndef GUARD_BATTLE_FACTORY_SCREEN_H
#define GUARD_BATTLE_FACTORY_SCREEN_H
void DoBattleFactorySelectScreen(void);
void DoBattleFactorySwapScreen(void);
#endif // GUARD_BATTLE_FACTORY_SCREEN_H
+9
View File
@@ -0,0 +1,9 @@
#ifndef GUARD_BATTLE_PIKE_H
#define GUARD_BATTLE_PIKE_H
void CallBattlePikeFunction(void);
u8 GetBattlePikeWildMonHeaderId(void);
bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate);
bool8 InBattlePike(void);
#endif // GUARD_BATTLE_PIKE_H
+1 -1
View File
@@ -206,7 +206,7 @@ extern const u8 BattleScript_BerryFocusEnergyEnd2[];
extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[]; extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[];
extern const u8 BattleScript_ArenaTurnBeginning[]; extern const u8 BattleScript_ArenaTurnBeginning[];
extern const u8 BattleScript_82DB881[]; extern const u8 BattleScript_82DB881[];
extern const u8 BattleScript_82DB8F3[]; extern const u8 BattleScript_ArenaDoJudgment[];
extern const u8 BattleScript_82DAA0B[]; extern const u8 BattleScript_82DAA0B[];
extern const u8 BattleScript_AskIfWantsToForfeitMatch[]; extern const u8 BattleScript_AskIfWantsToForfeitMatch[];
extern const u8 BattleScript_PrintPlayerForfeited[]; extern const u8 BattleScript_PrintPlayerForfeited[];
+2 -2
View File
@@ -21,7 +21,7 @@ struct BattleFrontierTrainer
u16 speechBefore[6]; u16 speechBefore[6];
u16 speechWin[6]; u16 speechWin[6];
u16 speechLose[6]; u16 speechLose[6];
const u16 *bfMonPool; const u16 *monSets;
}; };
struct FacilityMon struct FacilityMon
@@ -52,7 +52,7 @@ u8 GetFrontierOpponentClass(u16 trainerId);
void GetFrontierTrainerName(u8 *dst, u16 trainerId); void GetFrontierTrainerName(u8 *dst, u16 trainerId);
void FillFrontierTrainerParty(u8 monsCount); void FillFrontierTrainerParty(u8 monsCount);
void FillFrontierTrainersParties(u8 monsCount); void FillFrontierTrainersParties(u8 monsCount);
u16 RandomizeFacilityTrainerMonId(u16 trainerId); u16 RandomizeFacilityTrainerMonSet(u16 trainerId);
void FrontierSpeechToString(const u16 *words); void FrontierSpeechToString(const u16 *words);
void DoSpecialTrainerBattle(void); void DoSpecialTrainerBattle(void);
void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *record); void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *record);
@@ -68,12 +68,19 @@
#define VARIOUS_GET_MOVE_TARGET 3 #define VARIOUS_GET_MOVE_TARGET 3
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5 #define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6 #define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
#define VARIOUS_ARENA_JUDGMENT_WINDOW 9
#define VARIOUS_ARENA_OPPONENT_MON_LOST 10
#define VARIOUS_ARENA_PLAYER_MON_LOST 11
#define VARIOUS_ARENA_BOTH_MONS_LOST 12
#define VARIOUS_EMIT_YESNOBOX 13 #define VARIOUS_EMIT_YESNOBOX 13
#define VARIOUS_ARENA_JUDGMENT_STRING 16
#define VARIOUS_ARENA_WAIT_STRING 17
#define VARIOUS_WAIT_CRY 18 #define VARIOUS_WAIT_CRY 18
#define VARIOUS_RETURN_OPPONENT_MON1 19 #define VARIOUS_RETURN_OPPONENT_MON1 19
#define VARIOUS_RETURN_OPPONENT_MON2 20 #define VARIOUS_RETURN_OPPONENT_MON2 20
#define VARIOUS_VOLUME_DOWN 21 #define VARIOUS_VOLUME_DOWN 21
#define VARIOUS_VOLUME_UP 22 #define VARIOUS_VOLUME_UP 22
#define VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT 23
#define VARIOUS_SET_TELEPORT_OUTCOME 25 #define VARIOUS_SET_TELEPORT_OUTCOME 25
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26 #define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
+1
View File
@@ -35,6 +35,7 @@ bool8 sub_8088BF0(u16*, u16, u8);
struct MapConnection *sub_8088950(u8 direction, int x, int y); struct MapConnection *sub_8088950(u8 direction, int x, int y);
bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection); bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection);
bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset); bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset);
void save_serialize_map(void);
void SpriteCB_PokeballGlow(struct Sprite *); void SpriteCB_PokeballGlow(struct Sprite *);
void SpriteCB_PokecenterMonitor(struct Sprite *); void SpriteCB_PokecenterMonitor(struct Sprite *);
+1
View File
@@ -15,6 +15,7 @@ u8 GetPlayerSymbolCountForFacility(u8 facility);
void ShowRankingHallRecordsWindow(void); void ShowRankingHallRecordsWindow(void);
void ScrollRankingHallRecordsWindow(void); void ScrollRankingHallRecordsWindow(void);
void ClearRankingHallRecords(void); void ClearRankingHallRecords(void);
void sub_81A4C30(void);
u8 GetFrontierBrainTrainerPicIndex(void); u8 GetFrontierBrainTrainerPicIndex(void);
u8 GetFrontierBrainTrainerClass(void); u8 GetFrontierBrainTrainerClass(void);
void CopyFrontierBrainTrainerName(u8 *dst); void CopyFrontierBrainTrainerName(u8 *dst);
+6 -2
View File
@@ -424,7 +424,8 @@ struct BattleFrontier
/*0xD1C*/ u16 domeTotalChampionships[2][2]; /*0xD1C*/ u16 domeTotalChampionships[2][2];
/*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT]; /*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT];
/*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][3]; /*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][3];
/*0xD64*/ u16 field_DC4[2]; /*0xDC4*/ u16 field_DC4;
/*0xDC6*/ u16 field_DC6;
/*0xDC8*/ u16 palaceWinStreaks[2][2]; /*0xDC8*/ u16 palaceWinStreaks[2][2];
/*0xDD0*/ u16 palaceRecordWinStreaks[2][2]; /*0xDD0*/ u16 palaceRecordWinStreaks[2][2];
/*0xDD8*/ u16 field_DD8; /*0xDD8*/ u16 field_DD8;
@@ -438,7 +439,10 @@ struct BattleFrontier
/*0xE04*/ u16 pikeWinStreaks[2]; /*0xE04*/ u16 pikeWinStreaks[2];
/*0xE08*/ u16 pikeRecordStreaks[2]; /*0xE08*/ u16 pikeRecordStreaks[2];
/*0xE0C*/ u16 pikeTotalStreaks[2]; /*0xE0C*/ u16 pikeTotalStreaks[2];
/*0xE10*/ u16 field_E10[5]; /*0xE10*/ u8 field_E10_1:3;
/*0xE10*/ u8 field_E10_2:4;
/*0xE10*/ u8 field_E10_3:1;
/*0xE12*/ u16 field_E12[4];
/*0xE1A*/ u16 pyramidWinStreaks[2]; /*0xE1A*/ u16 pyramidWinStreaks[2];
/*0xE1E*/ u16 pyramidRecordStreaks[2]; /*0xE1E*/ u16 pyramidRecordStreaks[2];
/*0xE1E*/ u16 field_E1F[5]; /*0xE1E*/ u16 field_E1F[5];
+1 -1
View File
@@ -486,7 +486,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI
void sub_806819C(struct Pokemon *mon, struct UnknownPokemonStruct *src); void sub_806819C(struct Pokemon *mon, struct UnknownPokemonStruct *src);
void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lvl50); void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lvl50);
void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId); void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId);
void CreateMonWithEVSpreadPersonalityOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId); void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId);
void sub_80686FC(struct Pokemon *mon, struct UnknownPokemonStruct *dest); void sub_80686FC(struct Pokemon *mon, struct UnknownPokemonStruct *dest);
void CreateObedientMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId); void CreateObedientMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId);
bool8 sub_80688F8(u8 caseId, u8 battlerId); bool8 sub_80688F8(u8 caseId, u8 battlerId);
+12 -3
View File
@@ -259,12 +259,15 @@ SECTIONS {
src/trainer_pokemon_sprites.o(.text); src/trainer_pokemon_sprites.o(.text);
src/lilycove_lady.o(.text); src/lilycove_lady.o(.text);
src/battle_dome.o(.text); src/battle_dome.o(.text);
src/battle_frontier_1.o(.text); src/battle_palace.o(.text);
asm/battle_frontier_1.o(.text); asm/battle_frontier_1.o(.text);
src/menu.o(.text); src/menu.o(.text);
src/battle_factory.o(.text); src/battle_factory_screen.o(.text);
src/apprentice.o(.text); src/apprentice.o(.text);
src/frontier_util.o(.text); src/frontier_util.o(.text);
src/battle_arena.o(.text);
src/battle_factory.o(.text);
src/battle_pike.o(.text);
asm/battle_frontier_2.o(.text); asm/battle_frontier_2.o(.text);
src/item_menu.o(.text); src/item_menu.o(.text);
src/list_menu.o(.text); src/list_menu.o(.text);
@@ -564,12 +567,18 @@ SECTIONS {
src/trainer_pokemon_sprites.o(.rodata); src/trainer_pokemon_sprites.o(.rodata);
src/lilycove_lady.o(.rodata); src/lilycove_lady.o(.rodata);
src/battle_dome.o(.rodata); src/battle_dome.o(.rodata);
src/battle_palace.o(.rodata);
data/battle_frontier_1.o(.rodata); data/battle_frontier_1.o(.rodata);
src/menu.o(.rodata); src/menu.o(.rodata);
src/battle_factory.o(.rodata); src/battle_factory_screen.o(.rodata);
src/apprentice.o(.rodata); src/apprentice.o(.rodata);
src/frontier_util.o(.rodata); src/frontier_util.o(.rodata);
data/battle_frontier_2.o(.rodata); data/battle_frontier_2.o(.rodata);
src/battle_arena.o(.rodata);
src/battle_factory.o(.rodata);
data/battle_pike.o(.rodata);
src/battle_pike.o(.rodata);
data/battle_frontier_3.o(.rodata);
src/item_menu.o(.rodata); src/item_menu.o(.rodata);
src/list_menu.o(.rodata); src/list_menu.o(.rodata);
src/save_location.o(.rodata); src/save_location.o(.rodata);
+4 -5
View File
@@ -4,13 +4,14 @@
#include "battle.h" #include "battle.h"
#include "battle_setup.h" #include "battle_setup.h"
#include "recorded_battle.h" #include "recorded_battle.h"
#include "constants/species.h"
#include "constants/abilities.h"
#include "random.h" #include "random.h"
#include "item.h" #include "item.h"
#include "util.h"
#include "battle_factory.h"
#include "constants/species.h"
#include "constants/abilities.h"
#include "constants/battle_move_effects.h" #include "constants/battle_move_effects.h"
#include "constants/moves.h" #include "constants/moves.h"
#include "util.h"
#include "constants/battle_ai.h" #include "constants/battle_ai.h"
#define AI_ACTION_DONE 0x0001 #define AI_ACTION_DONE 0x0001
@@ -44,8 +45,6 @@ AI scripts.
extern const u8 *const gBattleAI_ScriptsTable[]; extern const u8 *const gBattleAI_ScriptsTable[];
extern u32 GetAiScriptsInBattleFactory();
static u8 ChooseMoveOrAction_Singles(void); static u8 ChooseMoveOrAction_Singles(void);
static u8 ChooseMoveOrAction_Doubles(void); static u8 ChooseMoveOrAction_Doubles(void);
static void RecordLastUsedMoveByTarget(void); static void RecordLastUsedMoveByTarget(void);
+928
View File
@@ -0,0 +1,928 @@
#include "global.h"
#include "battle_arena.h"
#include "event_data.h"
#include "palette.h"
#include "gpu_regs.h"
#include "decompress.h"
#include "battle.h"
#include "battle_message.h"
#include "text.h"
#include "bg.h"
#include "sound.h"
#include "m4a.h"
#include "util.h"
#include "battle_setup.h"
#include "overworld.h"
#include "frontier_util.h"
#include "random.h"
#include "item.h"
#include "battle_tower.h"
#include "constants/songs.h"
#include "constants/battle_string_ids.h"
#include "constants/battle_frontier.h"
#include "constants/moves.h"
extern u16 gBattle_WIN0H;
extern u16 gBattle_WIN0V;
extern const u32 gUnknown_08D854E8[];
extern const u16 gUnknown_08D855E8[];
// This file's functions.
static void sub_81A58B4(void);
static void sub_81A5964(void);
static void sub_81A59FC(void);
static void sub_81A5AC4(void);
static void sub_81A5B08(void);
static void sub_81A5B88(void);
static void sub_81A5BE0(void);
static void SpriteCb_JudgmentIcon(struct Sprite *sprite);
static void ShowJudgmentSprite(u8 x, u8 y, u8 arg2, u8 battler);
// Const rom data.
static const s8 sMindRatings[] =
{
[MOVE_NONE] = 0,
[MOVE_POUND] = 1,
[MOVE_KARATE_CHOP] = 1,
[MOVE_DOUBLE_SLAP] = 1,
[MOVE_COMET_PUNCH] = 1,
[MOVE_MEGA_PUNCH] = 1,
[MOVE_PAY_DAY] = 1,
[MOVE_FIRE_PUNCH] = 1,
[MOVE_ICE_PUNCH] = 1,
[MOVE_THUNDER_PUNCH] = 1,
[MOVE_SCRATCH] = 1,
[MOVE_VICE_GRIP] = 1,
[MOVE_GUILLOTINE] = 1,
[MOVE_RAZOR_WIND] = 1,
[MOVE_SWORDS_DANCE] = 0,
[MOVE_CUT] = 1,
[MOVE_GUST] = 1,
[MOVE_WING_ATTACK] = 1,
[MOVE_WHIRLWIND] = 0,
[MOVE_FLY] = 1,
[MOVE_BIND] = 1,
[MOVE_SLAM] = 1,
[MOVE_VINE_WHIP] = 1,
[MOVE_STOMP] = 1,
[MOVE_DOUBLE_KICK] = 1,
[MOVE_MEGA_KICK] = 1,
[MOVE_JUMP_KICK] = 1,
[MOVE_ROLLING_KICK] = 1,
[MOVE_SAND_ATTACK] = 0,
[MOVE_HEADBUTT] = 1,
[MOVE_HORN_ATTACK] = 1,
[MOVE_FURY_ATTACK] = 1,
[MOVE_HORN_DRILL] = 1,
[MOVE_TACKLE] = 1,
[MOVE_BODY_SLAM] = 1,
[MOVE_WRAP] = 1,
[MOVE_TAKE_DOWN] = 1,
[MOVE_THRASH] = 1,
[MOVE_DOUBLE_EDGE] = 1,
[MOVE_TAIL_WHIP] = 0,
[MOVE_POISON_STING] = 1,
[MOVE_TWINEEDLE] = 1,
[MOVE_PIN_MISSILE] = 1,
[MOVE_LEER] = 0,
[MOVE_BITE] = 1,
[MOVE_GROWL] = 0,
[MOVE_ROAR] = 0,
[MOVE_SING] = 0,
[MOVE_SUPERSONIC] = 0,
[MOVE_SONIC_BOOM] = 1,
[MOVE_DISABLE] = 0,
[MOVE_ACID] = 1,
[MOVE_EMBER] = 1,
[MOVE_FLAMETHROWER] = 1,
[MOVE_MIST] = 0,
[MOVE_WATER_GUN] = 1,
[MOVE_HYDRO_PUMP] = 1,
[MOVE_SURF] = 1,
[MOVE_ICE_BEAM] = 1,
[MOVE_BLIZZARD] = 1,
[MOVE_PSYBEAM] = 1,
[MOVE_BUBBLE_BEAM] = 1,
[MOVE_AURORA_BEAM] = 1,
[MOVE_HYPER_BEAM] = 1,
[MOVE_PECK] = 1,
[MOVE_DRILL_PECK] = 1,
[MOVE_SUBMISSION] = 1,
[MOVE_LOW_KICK] = 1,
[MOVE_COUNTER] = 0,
[MOVE_SEISMIC_TOSS] = 1,
[MOVE_STRENGTH] = 1,
[MOVE_ABSORB] = 1,
[MOVE_MEGA_DRAIN] = 1,
[MOVE_LEECH_SEED] = 0,
[MOVE_GROWTH] = 0,
[MOVE_RAZOR_LEAF] = 1,
[MOVE_SOLAR_BEAM] = 1,
[MOVE_POISON_POWDER] = 0,
[MOVE_STUN_SPORE] = 0,
[MOVE_SLEEP_POWDER] = 0,
[MOVE_PETAL_DANCE] = 1,
[MOVE_STRING_SHOT] = 0,
[MOVE_DRAGON_RAGE] = 1,
[MOVE_FIRE_SPIN] = 1,
[MOVE_THUNDER_SHOCK] = 1,
[MOVE_THUNDERBOLT] = 1,
[MOVE_THUNDER_WAVE] = 0,
[MOVE_THUNDER] = 1,
[MOVE_ROCK_THROW] = 1,
[MOVE_EARTHQUAKE] = 1,
[MOVE_FISSURE] = 1,
[MOVE_DIG] = 1,
[MOVE_TOXIC] = 0,
[MOVE_CONFUSION] = 1,
[MOVE_PSYCHIC] = 1,
[MOVE_HYPNOSIS] = 0,
[MOVE_MEDITATE] = 0,
[MOVE_AGILITY] = 0,
[MOVE_QUICK_ATTACK] = 1,
[MOVE_RAGE] = 1,
[MOVE_TELEPORT] = 0,
[MOVE_NIGHT_SHADE] = 1,
[MOVE_MIMIC] = 0,
[MOVE_SCREECH] = 0,
[MOVE_DOUBLE_TEAM] = 0,
[MOVE_RECOVER] = 0,
[MOVE_HARDEN] = 0,
[MOVE_MINIMIZE] = 0,
[MOVE_SMOKESCREEN] = 0,
[MOVE_CONFUSE_RAY] = 0,
[MOVE_WITHDRAW] = 0,
[MOVE_DEFENSE_CURL] = 0,
[MOVE_BARRIER] = 0,
[MOVE_LIGHT_SCREEN] = 0,
[MOVE_HAZE] = 0,
[MOVE_REFLECT] = 0,
[MOVE_FOCUS_ENERGY] = 0,
[MOVE_BIDE] = 0,
[MOVE_METRONOME] = 0,
[MOVE_MIRROR_MOVE] = 0,
[MOVE_SELF_DESTRUCT] = 1,
[MOVE_EGG_BOMB] = 1,
[MOVE_LICK] = 1,
[MOVE_SMOG] = 1,
[MOVE_SLUDGE] = 1,
[MOVE_BONE_CLUB] = 1,
[MOVE_FIRE_BLAST] = 1,
[MOVE_WATERFALL] = 1,
[MOVE_CLAMP] = 1,
[MOVE_SWIFT] = 1,
[MOVE_SKULL_BASH] = 1,
[MOVE_SPIKE_CANNON] = 1,
[MOVE_CONSTRICT] = 1,
[MOVE_AMNESIA] = 0,
[MOVE_KINESIS] = 0,
[MOVE_SOFT_BOILED] = 0,
[MOVE_HI_JUMP_KICK] = 1,
[MOVE_GLARE] = 0,
[MOVE_DREAM_EATER] = 1,
[MOVE_POISON_GAS] = 0,
[MOVE_BARRAGE] = 1,
[MOVE_LEECH_LIFE] = 1,
[MOVE_LOVELY_KISS] = 0,
[MOVE_SKY_ATTACK] = 1,
[MOVE_TRANSFORM] = 0,
[MOVE_BUBBLE] = 1,
[MOVE_DIZZY_PUNCH] = 1,
[MOVE_SPORE] = 0,
[MOVE_FLASH] = 0,
[MOVE_PSYWAVE] = 1,
[MOVE_SPLASH] = 0,
[MOVE_ACID_ARMOR] = 0,
[MOVE_CRABHAMMER] = 1,
[MOVE_EXPLOSION] = 1,
[MOVE_FURY_SWIPES] = 1,
[MOVE_BONEMERANG] = 1,
[MOVE_REST] = 0,
[MOVE_ROCK_SLIDE] = 1,
[MOVE_HYPER_FANG] = 1,
[MOVE_SHARPEN] = 0,
[MOVE_CONVERSION] = 0,
[MOVE_TRI_ATTACK] = 1,
[MOVE_SUPER_FANG] = 1,
[MOVE_SLASH] = 1,
[MOVE_SUBSTITUTE] = 0,
[MOVE_STRUGGLE] = 1,
[MOVE_SKETCH] = 0,
[MOVE_TRIPLE_KICK] = 1,
[MOVE_THIEF] = 1,
[MOVE_SPIDER_WEB] = 0,
[MOVE_MIND_READER] = 0,
[MOVE_NIGHTMARE] = 0,
[MOVE_FLAME_WHEEL] = 1,
[MOVE_SNORE] = 1,
[MOVE_CURSE] = 0,
[MOVE_FLAIL] = 1,
[MOVE_CONVERSION_2] = 0,
[MOVE_AEROBLAST] = 1,
[MOVE_COTTON_SPORE] = 0,
[MOVE_REVERSAL] = 1,
[MOVE_SPITE] = 0,
[MOVE_POWDER_SNOW] = 1,
[MOVE_PROTECT] = -1,
[MOVE_MACH_PUNCH] = 1,
[MOVE_SCARY_FACE] = 0,
[MOVE_FAINT_ATTACK] = 1,
[MOVE_SWEET_KISS] = 0,
[MOVE_BELLY_DRUM] = 0,
[MOVE_SLUDGE_BOMB] = 1,
[MOVE_MUD_SLAP] = 1,
[MOVE_OCTAZOOKA] = 1,
[MOVE_SPIKES] = 0,
[MOVE_ZAP_CANNON] = 1,
[MOVE_FORESIGHT] = 0,
[MOVE_DESTINY_BOND] = 0,
[MOVE_PERISH_SONG] = 0,
[MOVE_ICY_WIND] = 1,
[MOVE_DETECT] = -1,
[MOVE_BONE_RUSH] = 1,
[MOVE_LOCK_ON] = 0,
[MOVE_OUTRAGE] = 1,
[MOVE_SANDSTORM] = 0,
[MOVE_GIGA_DRAIN] = 1,
[MOVE_ENDURE] = -1,
[MOVE_CHARM] = 0,
[MOVE_ROLLOUT] = 1,
[MOVE_FALSE_SWIPE] = 1,
[MOVE_SWAGGER] = 0,
[MOVE_MILK_DRINK] = 0,
[MOVE_SPARK] = 1,
[MOVE_FURY_CUTTER] = 1,
[MOVE_STEEL_WING] = 1,
[MOVE_MEAN_LOOK] = 0,
[MOVE_ATTRACT] = 0,
[MOVE_SLEEP_TALK] = 0,
[MOVE_HEAL_BELL] = 0,
[MOVE_RETURN] = 1,
[MOVE_PRESENT] = 1,
[MOVE_FRUSTRATION] = 1,
[MOVE_SAFEGUARD] = 0,
[MOVE_PAIN_SPLIT] = 0,
[MOVE_SACRED_FIRE] = 1,
[MOVE_MAGNITUDE] = 1,
[MOVE_DYNAMIC_PUNCH] = 1,
[MOVE_MEGAHORN] = 1,
[MOVE_DRAGON_BREATH] = 1,
[MOVE_BATON_PASS] = 0,
[MOVE_ENCORE] = 0,
[MOVE_PURSUIT] = 1,
[MOVE_RAPID_SPIN] = 1,
[MOVE_SWEET_SCENT] = 0,
[MOVE_IRON_TAIL] = 1,
[MOVE_METAL_CLAW] = 1,
[MOVE_VITAL_THROW] = 1,
[MOVE_MORNING_SUN] = 0,
[MOVE_SYNTHESIS] = 0,
[MOVE_MOONLIGHT] = 0,
[MOVE_HIDDEN_POWER] = 1,
[MOVE_CROSS_CHOP] = 1,
[MOVE_TWISTER] = 1,
[MOVE_RAIN_DANCE] = 0,
[MOVE_SUNNY_DAY] = 0,
[MOVE_CRUNCH] = 1,
[MOVE_MIRROR_COAT] = 0,
[MOVE_PSYCH_UP] = 0,
[MOVE_EXTREME_SPEED] = 1,
[MOVE_ANCIENT_POWER] = 1,
[MOVE_SHADOW_BALL] = 1,
[MOVE_FUTURE_SIGHT] = 1,
[MOVE_ROCK_SMASH] = 1,
[MOVE_WHIRLPOOL] = 1,
[MOVE_BEAT_UP] = 1,
[MOVE_FAKE_OUT] = -1,
[MOVE_UPROAR] = 1,
[MOVE_STOCKPILE] = 0,
[MOVE_SPIT_UP] = 1,
[MOVE_SWALLOW] = 0,
[MOVE_HEAT_WAVE] = 1,
[MOVE_HAIL] = 0,
[MOVE_TORMENT] = 0,
[MOVE_FLATTER] = 0,
[MOVE_WILL_O_WISP] = 0,
[MOVE_MEMENTO] = 0,
[MOVE_FACADE] = 1,
[MOVE_FOCUS_PUNCH] = 1,
[MOVE_SMELLING_SALT] = 1,
[MOVE_FOLLOW_ME] = 0,
[MOVE_NATURE_POWER] = 0,
[MOVE_CHARGE] = 0,
[MOVE_TAUNT] = 0,
[MOVE_HELPING_HAND] = 0,
[MOVE_TRICK] = 0,
[MOVE_ROLE_PLAY] = 0,
[MOVE_WISH] = 0,
[MOVE_ASSIST] = 0,
[MOVE_INGRAIN] = 0,
[MOVE_SUPERPOWER] = 1,
[MOVE_MAGIC_COAT] = 0,
[MOVE_RECYCLE] = 0,
[MOVE_REVENGE] = 1,
[MOVE_BRICK_BREAK] = 1,
[MOVE_YAWN] = 0,
[MOVE_KNOCK_OFF] = 1,
[MOVE_ENDEAVOR] = 1,
[MOVE_ERUPTION] = 1,
[MOVE_SKILL_SWAP] = 0,
[MOVE_IMPRISON] = 0,
[MOVE_REFRESH] = 0,
[MOVE_GRUDGE] = 0,
[MOVE_SNATCH] = 0,
[MOVE_SECRET_POWER] = 1,
[MOVE_DIVE] = 1,
[MOVE_ARM_THRUST] = 1,
[MOVE_CAMOUFLAGE] = 0,
[MOVE_TAIL_GLOW] = 0,
[MOVE_LUSTER_PURGE] = 1,
[MOVE_MIST_BALL] = 1,
[MOVE_FEATHER_DANCE] = 0,
[MOVE_TEETER_DANCE] = 0,
[MOVE_BLAZE_KICK] = 1,
[MOVE_MUD_SPORT] = 0,
[MOVE_ICE_BALL] = 1,
[MOVE_NEEDLE_ARM] = 1,
[MOVE_SLACK_OFF] = 0,
[MOVE_HYPER_VOICE] = 1,
[MOVE_POISON_FANG] = 1,
[MOVE_CRUSH_CLAW] = 1,
[MOVE_BLAST_BURN] = 1,
[MOVE_HYDRO_CANNON] = 1,
[MOVE_METEOR_MASH] = 1,
[MOVE_ASTONISH] = 1,
[MOVE_WEATHER_BALL] = 1,
[MOVE_AROMATHERAPY] = 0,
[MOVE_FAKE_TEARS] = 0,
[MOVE_AIR_CUTTER] = 1,
[MOVE_OVERHEAT] = 1,
[MOVE_ODOR_SLEUTH] = 0,
[MOVE_ROCK_TOMB] = 1,
[MOVE_SILVER_WIND] = 1,
[MOVE_METAL_SOUND] = 0,
[MOVE_GRASS_WHISTLE] = 0,
[MOVE_TICKLE] = 0,
[MOVE_COSMIC_POWER] = 0,
[MOVE_WATER_SPOUT] = 1,
[MOVE_SIGNAL_BEAM] = 1,
[MOVE_SHADOW_PUNCH] = 1,
[MOVE_EXTRASENSORY] = 1,
[MOVE_SKY_UPPERCUT] = 1,
[MOVE_SAND_TOMB] = 1,
[MOVE_SHEER_COLD] = 1,
[MOVE_MUDDY_WATER] = 1,
[MOVE_BULLET_SEED] = 1,
[MOVE_AERIAL_ACE] = 1,
[MOVE_ICICLE_SPEAR] = 1,
[MOVE_IRON_DEFENSE] = 0,
[MOVE_BLOCK] = 0,
[MOVE_HOWL] = 0,
[MOVE_DRAGON_CLAW] = 1,
[MOVE_FRENZY_PLANT] = 1,
[MOVE_BULK_UP] = 0,
[MOVE_BOUNCE] = 1,
[MOVE_MUD_SHOT] = 1,
[MOVE_POISON_TAIL] = 1,
[MOVE_COVET] = 1,
[MOVE_VOLT_TACKLE] = 1,
[MOVE_MAGICAL_LEAF] = 1,
[MOVE_WATER_SPORT] = 0,
[MOVE_CALM_MIND] = 0,
[MOVE_LEAF_BLADE] = 1,
[MOVE_DRAGON_DANCE] = 0,
[MOVE_ROCK_BLAST] = 1,
[MOVE_SHOCK_WAVE] = 1,
[MOVE_WATER_PULSE] = 1,
[MOVE_DOOM_DESIRE] = 1,
[MOVE_PSYCHO_BOOST] = 1,
};
static const struct OamData sOamData_8611F24 =
{
.y = 0,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 1,
.tileNum = 0,
.priority = 0,
.paletteNum = 15,
.affineParam = 0
};
static const union AnimCmd sSpriteAnim_8611F2C[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8611F34[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8611F3C[] =
{
ANIMCMD_FRAME(8, 1),
ANIMCMD_END
};
static const union AnimCmd sSpriteAnim_8611F44[] =
{
ANIMCMD_FRAME(12, 1),
ANIMCMD_END
};
static const union AnimCmd *const sSpriteAnimTable_8611F4C[] =
{
sSpriteAnim_8611F2C,
sSpriteAnim_8611F34,
sSpriteAnim_8611F3C,
sSpriteAnim_8611F44
};
static const struct SpriteTemplate sSpriteTemplate_JudgmentIcon =
{
.tileTag = 0x3E8,
.paletteTag = 0xFFFF,
.oam = &sOamData_8611F24,
.anims = sSpriteAnimTable_8611F4C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCb_JudgmentIcon,
};
static const struct CompressedSpriteSheet gUnknown_08611F74[] =
{
{gUnknown_08D854E8, 0x200, 0x3E8},
{0}
};
static void (* const sArenaFunctions[])(void) =
{
sub_81A58B4,
sub_81A5964,
sub_81A59FC,
sub_81A5AC4,
sub_81A5B08,
sub_81A5B88,
sub_81A5BE0,
};
static const u16 gUnknown_08611FA0[6] =
{
0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046
};
static const u16 gUnknown_08611FAC[9] =
{
0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba
};
// code
void CallBattleArenaFunction(void)
{
sArenaFunctions[gSpecialVar_0x8004]();
}
u8 BattleArena_ShowJudgmentWindow(u8 *state)
{
s32 i;
u8 ret = 0;
switch (*state)
{
case 0:
BeginNormalPaletteFade(0x7FFFFF1C, 4, 0, 8, 0);
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
LoadCompressedObjectPic(gUnknown_08611F74);
LoadCompressedPalette(gUnknown_08D855E8, 0x1F0, 0x20);
gBattle_WIN0H = 0xFF;
gBattle_WIN0V = 0x70;
(*state)++;
break;
case 1:
if (!gPaletteFade.active)
{
HandleBattleWindow(5, 0, 24, 13, 0);
(*state)++;
}
break;
case 2:
if (!IsDma3ManagerBusyWithBgCopy())
{
gBattleTextBuff1[0] = CHAR_0;
gBattleTextBuff1[1] = EOS;
gBattleTextBuff2[0] = CHAR_0;
gBattleTextBuff2[1] = EOS;
BattleStringExpandPlaceholdersToDisplayedString(gText_PlayerMon1Name);
BattlePutTextOnWindow(gDisplayedStringBattle, 15);
BattlePutTextOnWindow(gText_Vs, 16);
BattleStringExpandPlaceholdersToDisplayedString(gText_OpponentMon1Name);
BattlePutTextOnWindow(gDisplayedStringBattle, 17);
BattlePutTextOnWindow(gText_Mind, 18);
BattlePutTextOnWindow(gText_Skill, 19);
BattlePutTextOnWindow(gText_Body, 20);
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
(*state)++;
}
break;
case 3:
if (!IsDma3ManagerBusyWithBgCopy())
{
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
for (i = 0; i < 8; i++)
{
u8 spriteId = CreateSprite(&sSpriteTemplate_JudgmentIcon, 0x40 + (i * 0x10), 84, 0);
StartSpriteAnim(&gSprites[spriteId], 3);
}
ret = 1;
(*state)++;
}
break;
case 4:
PlaySE(SE_HANTEI1);
ShowJudgmentSprite(80, 40, 0, 0);
ShowJudgmentSprite(160, 40, 0, 1);
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
(*state)++;
ret = 1;
break;
case 5:
PlaySE(SE_HANTEI1);
ShowJudgmentSprite(80, 56, 1, 0);
ShowJudgmentSprite(160, 56, 1, 1);
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
(*state)++;
ret = 1;
break;
case 6:
PlaySE(SE_HANTEI1);
ShowJudgmentSprite(80, 72, 2, 0);
ShowJudgmentSprite(160, 72, 2, 1);
BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
BattlePutTextOnWindow(gDisplayedStringBattle, 21);
(*state)++;
ret = 1;
break;
case 7:
PlaySE(SE_HANTEI2);
if (gBattleTextBuff1[0] > gBattleTextBuff2[0])
{
ret = 2;
gBattleScripting.battler = 0;
}
else if (gBattleTextBuff1[0] < gBattleTextBuff2[0])
{
ret = 3;
gBattleScripting.battler = 1;
}
else
{
ret = 4;
}
(*state)++;
break;
case 8:
(*state)++;
break;
case 9:
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
HandleBattleWindow(5, 0, 24, 13, WINDOW_CLEAR);
CopyBgTilemapBufferToVram(0);
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256);
BeginNormalPaletteFade(0x7FFFFF1C, 4, 8, 0, 0);
(*state)++;
break;
case 10:
if (!gPaletteFade.active)
{
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
FreeSpriteTilesByTag(0x3E8);
ret = 1;
(*state)++;
}
break;
}
return ret;
}
static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler)
{
s32 animNum = 0;
s32 pointsPlayer = 0;
s32 pointsOpponent = 0;
s8 *mindPoints = gBattleStruct->arenaMindPoints;
s8 *skillPoints = gBattleStruct->arenaSkillPoints;
u16 *hpAtStart = gBattleStruct->arenaStartHp;
switch (category)
{
case 0:
pointsPlayer = mindPoints[battler];
pointsOpponent = mindPoints[BATTLE_OPPOSITE(battler)];
break;
case 1:
pointsPlayer = skillPoints[battler];
pointsOpponent = skillPoints[BATTLE_OPPOSITE(battler)];
break;
case 2:
pointsPlayer = (gBattleMons[battler].hp * 100) / hpAtStart[battler];
pointsOpponent = (gBattleMons[BATTLE_OPPOSITE(battler)].hp * 100) / hpAtStart[BATTLE_OPPOSITE(battler)];
break;
}
if (pointsPlayer > pointsOpponent)
{
animNum = 2;
if (battler != 0)
gBattleTextBuff2[0] += 2;
else
gBattleTextBuff1[0] += 2;
}
else if (pointsPlayer == pointsOpponent)
{
animNum = 1;
if (battler != 0)
gBattleTextBuff2[0] += 1;
else
gBattleTextBuff1[0] += 1;
}
else
{
animNum = 0;
}
pointsPlayer = CreateSprite(&sSpriteTemplate_JudgmentIcon, x, y, 0);
StartSpriteAnim(&gSprites[pointsPlayer], animNum);
}
static void SpriteCb_JudgmentIcon(struct Sprite *sprite)
{
if (gBattleCommunication[0] > 8)
DestroySprite(sprite);
}
void BattleArena_InitPoints(void)
{
s8 *mindPoints = gBattleStruct->arenaMindPoints;
s8 *skillPoints = gBattleStruct->arenaSkillPoints;
u16 *hpAtStart = gBattleStruct->arenaStartHp;
mindPoints[0] = 0;
mindPoints[1] = 0;
skillPoints[0] = 0;
skillPoints[1] = 0;
hpAtStart[0] = gBattleMons[0].hp;
hpAtStart[1] = gBattleMons[1].hp;
}
void BattleArena_AddMindPoints(u8 battler)
{
s8 *mindPoints = gBattleStruct->arenaMindPoints;
mindPoints[battler] += sMindRatings[gCurrentMove];
}
void BattleArena_AddSkillPoints(u8 battler)
{
s8 *skillPoints = gBattleStruct->arenaSkillPoints;
if (gHitMarker & HITMARKER_OBEYS)
{
u8 *failedMoveBits = &gBattleStruct->alreadyStatusedMoveAttempt;
if (*failedMoveBits & gBitTable[battler])
{
*failedMoveBits &= ~(gBitTable[battler]);
skillPoints[battler] -= 2;
}
else if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
{
if (!(gMoveResultFlags & MOVE_RESULT_MISSED) || gBattleCommunication[6] != 1)
skillPoints[battler] -= 2;
}
else if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE && gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE)
{
skillPoints[battler] += 1;
}
else if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE)
{
skillPoints[battler] += 2;
}
else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE)
{
skillPoints[battler] -= 1;
}
else if (!gProtectStructs[battler].protected)
{
skillPoints[battler] += 1;
}
}
}
void BattleArena_DeductMindPoints(u8 battler, u16 stringId)
{
s8 *skillPoints = gBattleStruct->arenaSkillPoints;
switch (stringId)
{
case STRINGID_PKMNSXMADEYUSELESS:
case STRINGID_PKMNSXMADEITINEFFECTIVE:
case STRINGID_PKMNSXPREVENTSFLINCHING:
case STRINGID_PKMNSXBLOCKSY2:
case STRINGID_PKMNSXPREVENTSYLOSS:
case STRINGID_PKMNSXMADEYINEFFECTIVE:
case STRINGID_PKMNSXPREVENTSBURNS:
case STRINGID_PKMNSXBLOCKSY:
case STRINGID_PKMNPROTECTEDBY:
case STRINGID_PKMNPREVENTSUSAGE:
case STRINGID_PKMNRESTOREDHPUSING:
case STRINGID_PKMNPREVENTSPARALYSISWITH:
case STRINGID_PKMNPREVENTSROMANCEWITH:
case STRINGID_PKMNPREVENTSPOISONINGWITH:
case STRINGID_PKMNPREVENTSCONFUSIONWITH:
case STRINGID_PKMNRAISEDFIREPOWERWITH:
case STRINGID_PKMNANCHORSITSELFWITH:
case STRINGID_PKMNPREVENTSSTATLOSSWITH:
case STRINGID_PKMNSTAYEDAWAKEUSING:
skillPoints[battler] -= 3;
break;
}
}
void sub_81A586C(u8 battler) // Unused.
{
u16 *hpAtStart = gBattleStruct->arenaStartHp;
hpAtStart[battler] = gBattleMons[battler].hp;
if (hpAtStart[BATTLE_OPPOSITE(battler)] > gBattleMons[BATTLE_OPPOSITE(battler)].hp)
hpAtStart[BATTLE_OPPOSITE(battler)] = gBattleMons[BATTLE_OPPOSITE(battler)].hp;
}
static void sub_81A58B4(void)
{
bool32 isCurrent;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
gSaveBlock2Ptr->frontier.field_CA8 = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
if (lvlMode != FRONTIER_LVL_50)
isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x80;
else
isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x40;
if (!isCurrent)
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = 0;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
gTrainerBattleOpponent_A = 0;
}
static void sub_81A5964(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
switch (gSpecialVar_0x8005)
{
case 0:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DD8;
break;
case 1:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
break;
case 2:
if (lvlMode != FRONTIER_LVL_50)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x80;
else
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x40;
break;
}
}
static void sub_81A59FC(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
switch (gSpecialVar_0x8005)
{
case 0:
gSaveBlock2Ptr->frontier.field_DD8 = gSpecialVar_0x8006;
break;
case 1:
gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = gSpecialVar_0x8006;
break;
case 2:
if (lvlMode != FRONTIER_LVL_50)
{
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= 0x80;
else
gSaveBlock2Ptr->frontier.field_CDC &= ~(0x80);
}
else
{
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= 0x40;
else
gSaveBlock2Ptr->frontier.field_CDC &= ~(0x40);
}
break;
}
}
static void sub_81A5AC4(void)
{
gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = 1;
sub_81A4C30();
}
static void sub_81A5B08(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] > 41)
gSaveBlock2Ptr->frontier.field_DD8 = gUnknown_08611FAC[Random() % ARRAY_COUNT(gUnknown_08611FAC)];
else
gSaveBlock2Ptr->frontier.field_DD8 = gUnknown_08611FA0[Random() % ARRAY_COUNT(gUnknown_08611FA0)];
}
static void sub_81A5B88(void)
{
if (AddBagItem(gSaveBlock2Ptr->frontier.field_DD8, 1) == TRUE)
{
CopyItemName(gSaveBlock2Ptr->frontier.field_DD8, gStringVar1);
gSaveBlock2Ptr->frontier.field_DD8 = 0;
gSpecialVar_Result = TRUE;
}
else
{
gSpecialVar_Result = FALSE;
}
}
static void sub_81A5BE0(void)
{
GetFrontierTrainerName(gStringVar1, gTrainerBattleOpponent_A);
}
void sub_81A5BF8(void)
{
u8 width = 27;
u8 palNum = 7;
FillBgTilemapBufferRect(0, 0, 254, 14, 1, 6, palNum);
FillBgTilemapBufferRect(0, 0, 32, 14, 1, 6, palNum);
FillBgTilemapBufferRect(0, 0x31, 0, 14, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x33, 1, 14, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x34, 2, 14, width, 1, palNum);
width++;
FillBgTilemapBufferRect(0, 0x35, 28, 14, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x36, 29, 14, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x37, 0, 15, 1, 5, palNum);
FillBgTilemapBufferRect(0, 0x39, 1, 15, width, 5, palNum);
FillBgTilemapBufferRect(0, 0x3A, 29, 15, 1, 5, palNum);
FillBgTilemapBufferRect(0, 0x831, 0, 19, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x833, 1, 19, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x834, 2, 19, width - 2, 1, palNum);
FillBgTilemapBufferRect(0, 0x835, 28, 19, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x836, 29, 19, 1, 1, palNum);
}
void sub_81A5D44(void)
{
u8 width;
u8 height;
u8 palNum = 0;
FillBgTilemapBufferRect(0, 3, 0, 14, 1, 1, palNum);
height = 4;
FillBgTilemapBufferRect(0, 4, 1, 14, 1, 1, palNum);
width = 27;
FillBgTilemapBufferRect(0, 5, 2, 14, width, 1, palNum);
FillBgTilemapBufferRect(0, 6, 28, 14, 1, 1, palNum);
FillBgTilemapBufferRect(0, 7, 29, 14, 1, 1, palNum);
FillBgTilemapBufferRect(0, 8, 0, 15, 1, height, palNum);
FillBgTilemapBufferRect(0, 9, 1, 15, 1, height, palNum);
FillBgTilemapBufferRect(0, 0xA, 2, 15, width, height, palNum);
FillBgTilemapBufferRect(0, 0xB, 28, 15, 1, height, palNum);
FillBgTilemapBufferRect(0, 0xC, 29, 15, 1, height, palNum);
FillBgTilemapBufferRect(0, 0xD, 0, 19, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0xE, 1, 19, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0xF, 2, 19, width, 1, palNum);
FillBgTilemapBufferRect(0, 0x10, 28, 19, 1, 1, palNum);
FillBgTilemapBufferRect(0, 0x11, 29, 19, 1, 1, palNum);
}
+4 -5
View File
@@ -29,6 +29,9 @@
#include "pokeball.h" #include "pokeball.h"
#include "data2.h" #include "data2.h"
#include "battle_setup.h" #include "battle_setup.h"
#include "battle_arena.h"
#include "battle_tower.h"
#include "frontier_util.h"
extern u16 gBattle_BG0_X; extern u16 gBattle_BG0_X;
extern u16 gBattle_BG0_Y; extern u16 gBattle_BG0_Y;
@@ -38,11 +41,7 @@ extern struct UnusedControllerStruct gUnknown_02022D0C;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
extern void sub_81A57E4(u8 battlerId, u16 stringId);
extern u8 GetFrontierBrainTrainerPicIndex(void);
extern u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId); extern u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId);
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
extern u8 GetEreaderTrainerFrontSpriteId(void);
// this file's functions // this file's functions
static void OpponentHandleGetMonData(void); static void OpponentHandleGetMonData(void);
@@ -1513,7 +1512,7 @@ static void OpponentHandlePrintString(void)
BufferStringBattle(*stringId); BufferStringBattle(*stringId);
BattlePutTextOnWindow(gDisplayedStringBattle, 0); BattlePutTextOnWindow(gDisplayedStringBattle, 0);
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter;
sub_81A57E4(gActiveBattler, *stringId); BattleArena_DeductMindPoints(gActiveBattler, *stringId);
} }
static void OpponentHandlePrintSelectionString(void) static void OpponentHandlePrintSelectionString(void)
+6 -4
View File
@@ -32,6 +32,7 @@
#include "recorded_battle.h" #include "recorded_battle.h"
#include "party_menu.h" #include "party_menu.h"
#include "battle_dome.h" #include "battle_dome.h"
#include "battle_arena.h"
extern u8 gUnknown_0203CEE8; extern u8 gUnknown_0203CEE8;
extern u8 gUnknown_0203CEE9; extern u8 gUnknown_0203CEE9;
@@ -46,7 +47,6 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
extern void sub_81AABB0(void); extern void sub_81AABB0(void);
extern void sub_81A57E4(u8 battlerId, u16 stringId);
extern void sub_81851A8(u8 *); extern void sub_81851A8(u8 *);
// this file's functions // this file's functions
@@ -2537,7 +2537,7 @@ static void PlayerHandlePrintString(void)
BattlePutTextOnWindow(gDisplayedStringBattle, 0); BattlePutTextOnWindow(gDisplayedStringBattle, 0);
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2; gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2;
BattleTv_SetDataBasedOnString(*stringId); BattleTv_SetDataBasedOnString(*stringId);
sub_81A57E4(gActiveBattler, *stringId); BattleArena_DeductMindPoints(gActiveBattler, *stringId);
} }
static void PlayerHandlePrintSelectionString(void) static void PlayerHandlePrintSelectionString(void)
@@ -2600,9 +2600,11 @@ static void HandleChooseMoveAfterDma3(void)
} }
} }
// arenaMindPoints is used here as a placeholder for a timer.
static void PlayerChooseMoveInBattlePalace(void) static void PlayerChooseMoveInBattlePalace(void)
{ {
if (--*(gBattleStruct->field_298 + gActiveBattler) == 0) if (--*(gBattleStruct->arenaMindPoints + gActiveBattler) == 0)
{ {
gBattlePalaceMoveSelectionRngValue = gRngValue; gBattlePalaceMoveSelectionRngValue = gRngValue;
BtlController_EmitTwoReturnValues(1, 10, ChooseMoveAndTargetInBattlePalace()); BtlController_EmitTwoReturnValues(1, 10, ChooseMoveAndTargetInBattlePalace());
@@ -2614,7 +2616,7 @@ static void PlayerHandleChooseMove(void)
{ {
if (gBattleTypeFlags & BATTLE_TYPE_PALACE) if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{ {
*(gBattleStruct->field_298 + gActiveBattler) = 8; *(gBattleStruct->arenaMindPoints + gActiveBattler) = 8;
gBattlerControllerFuncs[gActiveBattler] = PlayerChooseMoveInBattlePalace; gBattlerControllerFuncs[gActiveBattler] = PlayerChooseMoveInBattlePalace;
} }
else else
+18 -18
View File
@@ -2555,7 +2555,7 @@ static void InitDomeTrainers(void)
s32 species[3]; s32 species[3];
s32 monTypesBits, monTypesCount; s32 monTypesBits, monTypesCount;
s32 trainerId; s32 trainerId;
s32 monTournamentId; s32 monSetId;
u16 *statSums; u16 *statSums;
s32 *statValues; s32 *statValues;
u8 ivs = 0; u8 ivs = 0;
@@ -2618,20 +2618,20 @@ static void InitDomeTrainers(void)
// Make sure the mon is valid. // Make sure the mon is valid.
do do
{ {
monTournamentId = RandomizeFacilityTrainerMonId(trainerId); monSetId = RandomizeFacilityTrainerMonSet(trainerId);
for (k = 0; k < j; k++) for (k = 0; k < j; k++)
{ {
s32 checkingMonId = gSaveBlock2Ptr->frontier.domeMonIds[i][k]; s32 checkingMonSetId = gSaveBlock2Ptr->frontier.domeMonIds[i][k];
if (checkingMonId == monTournamentId if (checkingMonSetId == monSetId
|| species[0] == gFacilityTrainerMons[monTournamentId].species || species[0] == gFacilityTrainerMons[monSetId].species
|| species[1] == gFacilityTrainerMons[monTournamentId].species || species[1] == gFacilityTrainerMons[monSetId].species
|| gFacilityTrainerMons[checkingMonId].itemTableId == gFacilityTrainerMons[monTournamentId].itemTableId) || gFacilityTrainerMons[checkingMonSetId].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
break; break;
} }
} while (k != j); } while (k != j);
gSaveBlock2Ptr->frontier.domeMonIds[i][j] = monTournamentId; gSaveBlock2Ptr->frontier.domeMonIds[i][j] = monSetId;
species[j] = gFacilityTrainerMons[monTournamentId].species; species[j] = gFacilityTrainerMons[monSetId].species;
} }
gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated = 0; gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated = 0;
@@ -2828,7 +2828,7 @@ static void CreateDomeMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentM
u8 happiness = 0xFF; u8 happiness = 0xFF;
u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Should be using trainerId instead of tournamentTrainerId. As a result, all Pokemon have ivs of 3. u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Should be using trainerId instead of tournamentTrainerId. As a result, all Pokemon have ivs of 3.
u8 level = SetFacilityPtrsGetLevel(); u8 level = SetFacilityPtrsGetLevel();
CreateMonWithEVSpreadPersonalityOTID(&gEnemyParty[monPartyId], CreateMonWithEVSpreadNatureOTID(&gEnemyParty[monPartyId],
gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].species, gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].species,
level, level,
gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].nature, gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].nature,
@@ -6143,7 +6143,7 @@ static void sub_8194F58(void)
s32 species[3]; s32 species[3];
s32 monTypesBits; s32 monTypesBits;
s32 trainerId; s32 trainerId;
s32 monTournamentId; s32 monSetId;
u8 lvlMode; u8 lvlMode;
u16 *statSums; u16 *statSums;
s32 *statValues; s32 *statValues;
@@ -6190,20 +6190,20 @@ static void sub_8194F58(void)
// Make sure the mon is valid. // Make sure the mon is valid.
do do
{ {
monTournamentId = RandomizeFacilityTrainerMonId(trainerId); monSetId = RandomizeFacilityTrainerMonSet(trainerId);
for (k = 0; k < j; k++) for (k = 0; k < j; k++)
{ {
s32 checkingMonId = gSaveBlock2Ptr->frontier.domeMonIds[i][k]; s32 checkingMonId = gSaveBlock2Ptr->frontier.domeMonIds[i][k];
if (checkingMonId == monTournamentId if (checkingMonId == monSetId
|| species[0] == gFacilityTrainerMons[monTournamentId].species || species[0] == gFacilityTrainerMons[monSetId].species
|| species[1] == gFacilityTrainerMons[monTournamentId].species || species[1] == gFacilityTrainerMons[monSetId].species
|| gFacilityTrainerMons[checkingMonId].itemTableId == gFacilityTrainerMons[monTournamentId].itemTableId) || gFacilityTrainerMons[checkingMonId].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
break; break;
} }
} while (k != j); } while (k != j);
gSaveBlock2Ptr->frontier.domeMonIds[i][j] = monTournamentId; gSaveBlock2Ptr->frontier.domeMonIds[i][j] = monSetId;
species[j] = gFacilityTrainerMons[monTournamentId].species; species[j] = gFacilityTrainerMons[monSetId].species;
} }
gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated = 0; gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated = 0;
gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt = 0; gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt = 0;
+689 -3940
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-118
View File
@@ -1,118 +0,0 @@
#include "global.h"
#include "event_data.h"
#include "battle_setup.h"
#include "overworld.h"
#include "random.h"
#include "battle_tower.h"
extern void SetBattleFacilityTrainerGfxId(u16, u8);
extern void (* const gUnknown_0860DE50[])(void);
extern const u32 gUnknown_0860DE98[][2];
extern const u32 gUnknown_0860DEA8[][2];
// code
void sub_8195960(void)
{
gUnknown_0860DE50[gSpecialVar_0x8004]();
}
void sub_8195980(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
gSaveBlock2Ptr->frontier.field_CA8 = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]))
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = 0;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
gTrainerBattleOpponent_A = 0;
}
void sub_8195A38(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
case 0:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC4[1];
break;
case 1:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
break;
case 2:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]) != 0);
break;
}
}
void sub_8195AE4(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
case 0:
gSaveBlock2Ptr->frontier.field_DC4[1] = gSpecialVar_0x8006;
break;
case 1:
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
case 2:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860DE98[battleMode][lvlMode];
else
gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860DEA8[battleMode][lvlMode];
break;
}
}
void sub_8195BB0(void)
{
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 50)
gSpecialVar_Result = Random() % 3;
else if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 99)
gSpecialVar_Result = 3;
else
gSpecialVar_Result = 4;
}
void sub_8195C20(void)
{
gTrainerBattleOpponent_A = 5 *(Random() % 255) / 64u;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
void sub_8195C50(void)
{
if (gTrainerBattleOpponent_A < 300)
FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
}
/*
void sub_8195C7C(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 9999)
{
u16 wat = 0;
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]++;
if (lvlMode < gSaveBlock2Ptr->frontier.field_DD0[battleMode][lvlMode])
wat = 1;
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][wat] != 0)
gSaveBlock2Ptr->frontier.field_DD0[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
}
}
*/
+2 -2
View File
@@ -1610,7 +1610,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
{ {
gSprites[ballIconSpritesIds[i]].oam.tileNum += 3; gSprites[ballIconSpritesIds[i]].oam.tileNum += 3;
} }
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_2A0 & gBitTable[j]) // hmm...? else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostPlayerMons & gBitTable[j])
{ {
gSprites[ballIconSpritesIds[i]].oam.tileNum += 3; gSprites[ballIconSpritesIds[i]].oam.tileNum += 3;
} }
@@ -1659,7 +1659,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
{ {
gSprites[ballIconSpritesIds[5 - var]].oam.tileNum += 3; gSprites[ballIconSpritesIds[5 - var]].oam.tileNum += 3;
} }
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_2A1 & gBitTable[j]) // hmm...? else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostOpponentMons & gBitTable[j]) // hmm...?
{ {
gSprites[ballIconSpritesIds[5 - var]].oam.tileNum += 3; gSprites[ballIconSpritesIds[5 - var]].oam.tileNum += 3;
} }
+5 -6
View File
@@ -53,6 +53,7 @@
#include "pokeball.h" #include "pokeball.h"
#include "party_menu.h" #include "party_menu.h"
#include "battle_tower.h" #include "battle_tower.h"
#include "battle_arena.h"
struct UnknownPokemonStruct4 struct UnknownPokemonStruct4
{ {
@@ -109,9 +110,7 @@ extern const u8 gText_Love[];
// functions // functions
extern void sub_81B9150(void); extern void sub_81B9150(void);
extern void sub_80B3AF8(u8 taskId); // cable club extern void sub_80B3AF8(u8 taskId); // cable club
extern void sub_81A56B4(void); // battle frontier 2
extern u8 sub_81A9E28(void); // battle frontier 2 extern u8 sub_81A9E28(void); // battle frontier 2
extern void sub_81A56E8(u8 battlerId); // battle frontier 2
extern void sub_81B8FB0(u8, u8); // party menu extern void sub_81B8FB0(u8, u8); // party menu
extern u8 pokemon_order_func(u8); // party menu extern u8 pokemon_order_func(u8); // party menu
extern bool8 InBattlePyramid(void); extern bool8 InBattlePyramid(void);
@@ -3085,8 +3084,8 @@ static void BattleStartClearSetData(void)
gBattleResults.shinyWildMon = IsMonShiny(&gEnemyParty[0]); gBattleResults.shinyWildMon = IsMonShiny(&gEnemyParty[0]);
gBattleStruct->field_2A0 = 0; gBattleStruct->arenaLostPlayerMons = 0;
gBattleStruct->field_2A1 = 0; gBattleStruct->arenaLostOpponentMons = 0;
} }
void SwitchInClearSetData(void) void SwitchInClearSetData(void)
@@ -3423,7 +3422,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
} }
if (gBattleTypeFlags & BATTLE_TYPE_ARENA) if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
sub_81A56B4(); BattleArena_InitPoints();
} }
gBattleMainFunc = BattleIntroDrawPartySummaryScreens; gBattleMainFunc = BattleIntroDrawPartySummaryScreens;
} }
@@ -5479,7 +5478,7 @@ static void HandleAction_UseMove(void)
} }
if (gBattleTypeFlags & BATTLE_TYPE_ARENA) if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
sub_81A56E8(gBattlerAttacker); BattleArena_AddMindPoints(gBattlerAttacker);
gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT;
} }
+187
View File
@@ -0,0 +1,187 @@
#include "global.h"
#include "event_data.h"
#include "battle_setup.h"
#include "overworld.h"
#include "random.h"
#include "battle_tower.h"
#include "frontier_util.h"
#include "item.h"
#include "constants/items.h"
// This file's functions.
static void sub_8195980(void);
static void sub_8195A38(void);
static void sub_8195AE4(void);
static void sub_8195BB0(void);
static void sub_8195C20(void);
static void sub_8195C50(void);
static void sub_8195C7C(void);
static void sub_8195CE4(void);
static void sub_8195D28(void);
static void sub_8195DB8(void);
// Const rom data.
static void (* const sBattlePalaceFunctions[])(void) =
{
sub_8195980,
sub_8195A38,
sub_8195AE4,
sub_8195BB0,
sub_8195C20,
sub_8195C50,
sub_8195C7C,
sub_8195CE4,
sub_8195D28,
sub_8195DB8,
};
static const u16 gUnknown_0860DE78[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
static const u16 gUnknown_0860DE84[] = {ITEM_BRIGHT_POWDER, ITEM_WHITE_HERB, ITEM_QUICK_CLAW, ITEM_LEFTOVERS, ITEM_MENTAL_HERB, ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, ITEM_CHOICE_BAND};
static const u32 gUnknown_0860DE98[][2] =
{
{0x10, 0x20},
{0x400000, 0x800000},
};
static const u32 gUnknown_0860DEA8[][2] =
{
{~0x10, ~0x20},
{~0x400000, ~0x800000},
};
// code
void CallBattlePalaceFunction(void)
{
sBattlePalaceFunctions[gSpecialVar_0x8004]();
}
static void sub_8195980(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
gSaveBlock2Ptr->frontier.field_CA8 = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]))
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = 0;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
gTrainerBattleOpponent_A = 0;
}
static void sub_8195A38(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
case 0:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC6;
break;
case 1:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
break;
case 2:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]) != 0);
break;
}
}
static void sub_8195AE4(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
switch (gSpecialVar_0x8005)
{
case 0:
gSaveBlock2Ptr->frontier.field_DC6 = gSpecialVar_0x8006;
break;
case 1:
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
case 2:
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860DE98[battleMode][lvlMode];
else
gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860DEA8[battleMode][lvlMode];
break;
}
}
static void sub_8195BB0(void)
{
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 50)
gSpecialVar_Result = Random() % 3;
else if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 99)
gSpecialVar_Result = 3;
else
gSpecialVar_Result = 4;
}
static void sub_8195C20(void)
{
gTrainerBattleOpponent_A = 5 *(Random() % 255) / 64u;
SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
static void sub_8195C50(void)
{
if (gTrainerBattleOpponent_A < 300)
FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
}
static void sub_8195C7C(void)
{
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 9999)
{
gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]++;
// Whatever GF planned to do here, they messed up big time.
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][(lvlMode > gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[battleMode][lvlMode]) ? 1 : 0])
gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
}
}
static void sub_8195CE4(void)
{
gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = 1;
sub_81A4C30();
}
static void sub_8195D28(void)
{
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] > 41)
gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE84[Random() % ARRAY_COUNT(gUnknown_0860DE84)];
else
gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE78[Random() % ARRAY_COUNT(gUnknown_0860DE78)];
}
static void sub_8195DB8(void)
{
if (AddBagItem(gSaveBlock2Ptr->frontier.field_DC6, 1) == TRUE)
{
CopyItemName(gSaveBlock2Ptr->frontier.field_DC6, gStringVar1);
gSaveBlock2Ptr->frontier.field_DC6 = 0;
gSpecialVar_Result = TRUE;
}
else
{
gSpecialVar_Result = FALSE;
}
}
+1271
View File
File diff suppressed because it is too large Load Diff
+20 -23
View File
@@ -43,6 +43,8 @@
#include "battle_setup.h" #include "battle_setup.h"
#include "overworld.h" #include "overworld.h"
#include "party_menu.h" #include "party_menu.h"
#include "battle_arena.h"
#include "battle_pike.h"
extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_X;
extern u16 gBattle_BG1_Y; extern u16 gBattle_BG1_Y;
@@ -54,20 +56,15 @@ extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern const u8* const gBattleScriptsForMoveEffects[]; extern const u8* const gBattleScriptsForMoveEffects[];
// functions // functions
extern void sub_81A5718(u8 battlerId); // battle frontier 2
extern void sub_81A56B4(void); // battle frontier 2
extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon* party, u8 monPartyId, u8 monCount, void (*callback)(void), u16 move); // pokemon summary screen extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon* party, u8 monPartyId, u8 monCount, void (*callback)(void), u16 move); // pokemon summary screen
extern u8 sub_81C1B94(void); // pokemon summary screen extern u8 sub_81C1B94(void); // pokemon summary screen
extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s
extern void sub_81D3640(u8 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s extern void sub_81D3640(u8 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s
extern void sub_81D3784(u8 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s extern void sub_81D3784(u8 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s
extern u8* GetMonNickname(struct Pokemon* mon, u8* dst); // party_menu extern u8* GetMonNickname(struct Pokemon* mon, u8* dst); // party_menu
extern u8 sub_81A5258(u8* arg0); // battle frontier 2 extern u8 BattleArena_ShowJudgmentWindow(u8* arg0); // battle frontier 2
extern void sub_81A5BF8(void); // battle frontier 2
extern void sub_81A5D44(void); // battle frontier 2
extern void sub_81B8E80(u8 battlerId, u8, u8); // party menu extern void sub_81B8E80(u8 battlerId, u8, u8); // party menu
extern bool8 sub_81B1250(void); // ? extern bool8 sub_81B1250(void); // ?
extern bool8 InBattlePike(void);
extern bool8 InBattlePyramid(void); extern bool8 InBattlePyramid(void);
extern u16 GetBattlePyramidPickupItemId(void); extern u16 GetBattlePyramidPickupItemId(void);
extern u8 sub_813B21C(void); extern u8 sub_813B21C(void);
@@ -3549,7 +3546,7 @@ static void atk24(void)
for (i = 0; i < 6; i++) for (i = 0; i < 6; i++)
{ {
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)
&& (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->field_2A0 & gBitTable[i]))) && (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->arenaLostPlayerMons & gBitTable[i])))
{ {
HP_count += GetMonData(&gPlayerParty[i], MON_DATA_HP); HP_count += GetMonData(&gPlayerParty[i], MON_DATA_HP);
} }
@@ -3562,7 +3559,7 @@ static void atk24(void)
for (HP_count = 0, i = 0; i < 6; i++) for (HP_count = 0, i = 0; i < 6; i++)
{ {
if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES) && !GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES) && !GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG)
&& (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->field_2A1 & gBitTable[i]))) && (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->arenaLostOpponentMons & gBitTable[i])))
{ {
HP_count += GetMonData(&gEnemyParty[i], MON_DATA_HP); HP_count += GetMonData(&gEnemyParty[i], MON_DATA_HP);
} }
@@ -4243,7 +4240,7 @@ static void atk3C_return(void)
static void atk3D_end(void) static void atk3D_end(void)
{ {
if (gBattleTypeFlags & BATTLE_TYPE_ARENA) if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
sub_81A5718(gBattlerAttacker); BattleArena_AddSkillPoints(gBattlerAttacker);
gMoveResultFlags = 0; gMoveResultFlags = 0;
gActiveBattler = 0; gActiveBattler = 0;
@@ -5000,7 +4997,7 @@ static void atk4E_switchinanim(void)
gBattlescriptCurrInstr += 3; gBattlescriptCurrInstr += 3;
if (gBattleTypeFlags & BATTLE_TYPE_ARENA) if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
sub_81A56B4(); BattleArena_InitPoints();
} }
static void atk4F_jumpifcantswitch(void) static void atk4F_jumpifcantswitch(void)
@@ -6697,34 +6694,34 @@ static void atk76_various(void)
gBattleCommunication[MULTISTRING_CHOOSER] = sUnknown_0831C4F8[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)]; gBattleCommunication[MULTISTRING_CHOOSER] = sUnknown_0831C4F8[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)];
} }
break; break;
case 9: case VARIOUS_ARENA_JUDGMENT_WINDOW:
i = sub_81A5258(gBattleCommunication); i = BattleArena_ShowJudgmentWindow(&gBattleCommunication[0]);
if (i == 0) if (i == 0)
return; return;
gBattleCommunication[1] = i; gBattleCommunication[1] = i;
break; break;
case 10: case VARIOUS_ARENA_OPPONENT_MON_LOST:
gBattleMons[1].hp = 0; gBattleMons[1].hp = 0;
gHitMarker |= HITMARKER_FAINTED(1); gHitMarker |= HITMARKER_FAINTED(1);
gBattleStruct->field_2A1 |= gBitTable[gBattlerPartyIndexes[1]]; gBattleStruct->arenaLostOpponentMons |= gBitTable[gBattlerPartyIndexes[1]];
gDisableStructs[1].truantUnknownBit = 1; gDisableStructs[1].truantUnknownBit = 1;
break; break;
case 11: case VARIOUS_ARENA_PLAYER_MON_LOST:
gBattleMons[0].hp = 0; gBattleMons[0].hp = 0;
gHitMarker |= HITMARKER_FAINTED(0); gHitMarker |= HITMARKER_FAINTED(0);
gHitMarker |= HITMARKER_x400000; gHitMarker |= HITMARKER_x400000;
gBattleStruct->field_2A0 |= gBitTable[gBattlerPartyIndexes[0]]; gBattleStruct->arenaLostPlayerMons |= gBitTable[gBattlerPartyIndexes[0]];
gDisableStructs[0].truantUnknownBit = 1; gDisableStructs[0].truantUnknownBit = 1;
break; break;
case 12: case VARIOUS_ARENA_BOTH_MONS_LOST:
gBattleMons[0].hp = 0; gBattleMons[0].hp = 0;
gBattleMons[1].hp = 0; gBattleMons[1].hp = 0;
gHitMarker |= HITMARKER_FAINTED(0); gHitMarker |= HITMARKER_FAINTED(0);
gHitMarker |= HITMARKER_FAINTED(1); gHitMarker |= HITMARKER_FAINTED(1);
gHitMarker |= HITMARKER_x400000; gHitMarker |= HITMARKER_x400000;
gBattleStruct->field_2A0 |= gBitTable[gBattlerPartyIndexes[0]]; gBattleStruct->arenaLostPlayerMons |= gBitTable[gBattlerPartyIndexes[0]];
gBattleStruct->field_2A1 |= gBitTable[gBattlerPartyIndexes[1]]; gBattleStruct->arenaLostOpponentMons |= gBitTable[gBattlerPartyIndexes[1]];
gDisableStructs[0].truantUnknownBit = 1; gDisableStructs[0].truantUnknownBit = 1;
gDisableStructs[1].truantUnknownBit = 1; gDisableStructs[1].truantUnknownBit = 1;
break; break;
@@ -6738,11 +6735,11 @@ static void atk76_various(void)
case 15: case 15:
sub_81A5D44(); sub_81A5D44();
break; break;
case 16: case VARIOUS_ARENA_JUDGMENT_STRING:
BattleStringExpandPlaceholdersToDisplayedString(gRefereeStringsTable[gBattlescriptCurrInstr[1]]); BattleStringExpandPlaceholdersToDisplayedString(gRefereeStringsTable[gBattlescriptCurrInstr[1]]);
BattlePutTextOnWindow(gDisplayedStringBattle, 0x16); BattlePutTextOnWindow(gDisplayedStringBattle, 0x16);
break; break;
case 17: case VARIOUS_ARENA_WAIT_STRING:
if (IsTextPrinterActive(0x16)) if (IsTextPrinterActive(0x16))
return; return;
break; break;
@@ -6775,8 +6772,8 @@ static void atk76_various(void)
case VARIOUS_VOLUME_UP: case VARIOUS_VOLUME_UP:
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100); m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100);
break; break;
case 23: case VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT:
gBattleStruct->field_2A2 |= gBitTable[gActiveBattler]; gBattleStruct->alreadyStatusedMoveAttempt |= gBitTable[gActiveBattler];
break; break;
case 24: case 24:
if (sub_805725C(gActiveBattler)) if (sub_805725C(gActiveBattler))
+1 -1
View File
@@ -33,6 +33,7 @@
#include "field_weather.h" #include "field_weather.h"
#include "battle_tower.h" #include "battle_tower.h"
#include "gym_leader_rematch.h" #include "gym_leader_rematch.h"
#include "battle_pike.h"
#include "constants/map_types.h" #include "constants/map_types.h"
#include "constants/battle_frontier.h" #include "constants/battle_frontier.h"
@@ -54,7 +55,6 @@ struct TrainerBattleParameter
}; };
extern bool8 InBattlePyramid(void); extern bool8 InBattlePyramid(void);
extern bool8 InBattlePike(void);
extern bool32 InTrainerHill(void); extern bool32 InTrainerHill(void);
extern bool32 FieldPoisonEffectIsRunning(void); extern bool32 FieldPoisonEffectIsRunning(void);
extern void RestartWildEncounterImmunitySteps(void); extern void RestartWildEncounterImmunitySteps(void);
+31 -225
View File
@@ -8,7 +8,7 @@
#include "battle_tower.h" #include "battle_tower.h"
#include "random.h" #include "random.h"
#include "item.h" #include "item.h"
#include "battle_factory.h" #include "battle_factory_screen.h"
#include "frontier_util.h" #include "frontier_util.h"
#include "constants/items.h" #include "constants/items.h"
#include "constants/region_map_sections.h" #include "constants/region_map_sections.h"
@@ -280,17 +280,17 @@ bool8 sub_81B9E94(void)
&& ((gMapHeader.mapLayoutId == 385) | (gMapHeader.mapLayoutId == 386))); && ((gMapHeader.mapLayoutId == 385) | (gMapHeader.mapLayoutId == 386)));
} }
// This function was written very...oddly.
#ifdef NONMATCHING
static void sub_81B9EC0(void) static void sub_81B9EC0(void)
{ {
s32 i, j; s32 i, j;
u16 currMonId = 0, currSpecies = 0; u8 firstMonId;
u16 monSetId;
u16 currSpecies;
u16 species[PARTY_SIZE]; u16 species[PARTY_SIZE];
u16 monIds[PARTY_SIZE]; u16 monIds[PARTY_SIZE];
u16 heldItems[PARTY_SIZE]; u16 heldItems[PARTY_SIZE];
s32 zero = 0;
firstMonId = 0;
gFacilityTrainers = gSlateportBattleTentTrainers; gFacilityTrainers = gSlateportBattleTentTrainers;
for (i = 0; i < PARTY_SIZE; i++) for (i = 0; i < PARTY_SIZE; i++)
{ {
@@ -300,250 +300,56 @@ static void sub_81B9EC0(void)
} }
gFacilityTrainerMons = gSlateportBattleTentMons; gFacilityTrainerMons = gSlateportBattleTentMons;
currSpecies = 0; currSpecies = 0;
for (i = 0; i != PARTY_SIZE;) i = 0;
while (i != PARTY_SIZE)
{ {
// Cannot have two pokemon of the same species. // Cannot have two pokemon of the same species.
currMonId = Random() % 70; monSetId = Random() % 70;
for (j = zero; j < i + zero; j++) for (j = firstMonId; j < firstMonId + i; j++)
{ {
if (monIds[j] == currMonId) u16 monId = monIds[j];
if (monIds[j] == monSetId)
break; break;
if (species[j] == gFacilityTrainerMons[currMonId].species) if (species[j] == gFacilityTrainerMons[monSetId].species)
{ {
if (currSpecies == 0) if (currSpecies == 0)
currSpecies = gFacilityTrainerMons[currMonId].species; currSpecies = gFacilityTrainerMons[monSetId].species;
else else
break; break;
} }
} }
if (j != i + zero) if (j != i + firstMonId)
continue; continue;
// Cannot have two same held items. // Cannot have two same held items.
for (j = zero; j < i + zero; j++) for (j = firstMonId; j < i + firstMonId; j++)
{ {
if (heldItems[j] == 0) if (heldItems[j] != 0 && heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
continue;
if (heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[currMonId].itemTableId])
{ {
if (gFacilityTrainerMons[currMonId].species == currSpecies) if (gFacilityTrainerMons[monSetId].species == currSpecies)
currSpecies = 0; currSpecies = 0;
else break;
break;
} }
} }
if (j != i + zero) if (j != i + firstMonId)
continue; continue;
gSaveBlock2Ptr->frontier.field_E70[i].monId = currMonId; gSaveBlock2Ptr->frontier.field_E70[i].monId = monSetId;
species[i] = gFacilityTrainerMons[currMonId].species; species[i] = gFacilityTrainerMons[monSetId].species;
heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[currMonId].itemTableId]; heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId];
monIds[i] = currMonId; monIds[i] = monSetId;
i++; i++;
} }
} }
#else
NAKED
static void sub_81B9EC0(void)
{
asm_unified("\n\
push {r4-r7,lr}\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
push {r5-r7}\n\
sub sp, 0x3C\n\
ldr r1, =gFacilityTrainers\n\
ldr r0, =gSlateportBattleTentTrainers\n\
str r0, [r1]\n\
add r0, sp, 0xC\n\
mov r9, r0\n\
mov r1, sp\n\
adds r1, 0x18\n\
str r1, [sp, 0x2C]\n\
ldr r5, =gFacilityTrainerMons\n\
ldr r4, =gSlateportBattleTentMons\n\
movs r2, 0\n\
adds r3, r1, 0\n\
mov r1, r9\n\
mov r0, sp\n\
movs r6, 0x5\n\
mov r8, r6\n\
_081B9EEC:\n\
strh r2, [r0]\n\
strh r2, [r1]\n\
strh r2, [r3]\n\
adds r3, 0x2\n\
adds r1, 0x2\n\
adds r0, 0x2\n\
movs r7, 0x1\n\
negs r7, r7\n\
add r8, r7\n\
mov r6, r8\n\
cmp r6, 0\n\
bge _081B9EEC\n\
str r4, [r5]\n\
movs r7, 0\n\
mov r10, r7\n\
movs r0, 0\n\
mov r8, r0\n\
ldr r1, [sp, 0x2C]\n\
str r1, [sp, 0x30]\n\
mov r2, sp\n\
str r2, [sp, 0x34]\n\
lsls r6, r0, 1\n\
str r6, [sp, 0x24]\n\
add r6, r9\n\
str r6, [sp, 0x28]\n\
_081B9F1E:\n\
bl Random\n\
lsls r0, 16\n\
lsrs r0, 16\n\
movs r1, 0x46\n\
bl __umodsi3\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
movs r2, 0\n\
mov r7, r8\n\
adds r6, r2, r7\n\
cmp r2, r6\n\
bge _081B9F7C\n\
ldr r1, [sp, 0x28]\n\
ldrh r0, [r1]\n\
cmp r0, r5\n\
beq _081B9F7C\n\
ldr r0, =gFacilityTrainerMons\n\
ldr r1, [r0]\n\
lsls r0, r5, 4\n\
adds r4, r0, r1\n\
ldrh r7, [r4]\n\
mov r12, r7\n\
lsls r3, r2, 1\n\
ldr r1, [sp, 0x24]\n\
add r1, sp\n\
str r6, [sp, 0x38]\n\
_081B9F56:\n\
ldrh r0, [r1]\n\
cmp r0, r12\n\
bne _081B9F66\n\
mov r0, r10\n\
cmp r0, 0\n\
bne _081B9F7C\n\
ldrh r7, [r4]\n\
mov r10, r7\n\
_081B9F66:\n\
adds r3, 0x2\n\
adds r1, 0x2\n\
adds r2, 0x1\n\
ldr r0, [sp, 0x38]\n\
cmp r2, r0\n\
bge _081B9F7C\n\
mov r7, r9\n\
adds r0, r7, r3\n\
ldrh r0, [r0]\n\
cmp r0, r5\n\
bne _081B9F56\n\
_081B9F7C:\n\
cmp r2, r6\n\
bne _081BA01C\n\
movs r2, 0\n\
cmp r2, r6\n\
bge _081B9FD4\n\
ldr r0, =gBattleFrontierHeldItems\n\
mov r12, r0\n\
ldr r7, =gFacilityTrainerMons\n\
ldr r1, [sp, 0x24]\n\
ldr r0, [sp, 0x2C]\n\
adds r4, r1, r0\n\
_081B9F92:\n\
ldrh r3, [r4]\n\
cmp r3, 0\n\
beq _081B9FCC\n\
ldr r1, [r7]\n\
lsls r0, r5, 4\n\
adds r1, r0, r1\n\
ldrb r0, [r1, 0xA]\n\
lsls r0, 1\n\
add r0, r12\n\
ldrh r0, [r0]\n\
cmp r3, r0\n\
bne _081B9FCC\n\
ldrh r0, [r1]\n\
cmp r0, r10\n\
bne _081B9FD4\n\
movs r1, 0\n\
mov r10, r1\n\
b _081B9FD4\n\
.pool\n\
_081B9FCC:\n\
adds r4, 0x2\n\
adds r2, 0x1\n\
cmp r2, r6\n\
blt _081B9F92\n\
_081B9FD4:\n\
cmp r2, r6\n\
bne _081BA01C\n\
ldr r0, =gSaveBlock2Ptr\n\
ldr r1, [r0]\n\
mov r2, r8\n\
lsls r3, r2, 1\n\
adds r0, r3, r2\n\
lsls r0, 2\n\
adds r1, r0\n\
movs r6, 0xE7\n\
lsls r6, 4\n\
adds r1, r6\n\
strh r5, [r1]\n\
ldr r0, =gFacilityTrainerMons\n\
ldr r0, [r0]\n\
lsls r1, r5, 4\n\
adds r1, r0\n\
ldrh r0, [r1]\n\
ldr r7, [sp, 0x34]\n\
strh r0, [r7]\n\
ldr r2, =gBattleFrontierHeldItems\n\
ldrb r0, [r1, 0xA]\n\
lsls r0, 1\n\
adds r0, r2\n\
ldrh r0, [r0]\n\
ldr r1, [sp, 0x30]\n\
strh r0, [r1]\n\
add r3, r9\n\
strh r5, [r3]\n\
adds r1, 0x2\n\
str r1, [sp, 0x30]\n\
adds r2, r7, 0\n\
adds r2, 0x2\n\
str r2, [sp, 0x34]\n\
movs r6, 0x1\n\
add r8, r6\n\
_081BA01C:\n\
mov r7, r8\n\
cmp r7, 0x6\n\
beq _081BA024\n\
b _081B9F1E\n\
_081BA024:\n\
add sp, 0x3C\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
.pool\n\
");
}
#endif // NONMATCHING
static void sub_81BA040(void) static void sub_81BA040(void)
{ {
u16 trainerId; u16 trainerId;
s32 i, j, k; s32 i, j, k;
register const u16 *monSetsPool asm("r9"); // Fix me. Compiler insists on moving that variable into stack. register const u16 *monSets asm("r9"); // Fix me. Compiler insists on moving that variable into stack.
u16 species[3]; u16 species[3];
u16 heldItems[3]; u16 heldItems[3];
s32 monPoolCount = 0; s32 setsCount = 0;
gFacilityTrainers = gSlateportBattleTentTrainers; gFacilityTrainers = gSlateportBattleTentTrainers;
gFacilityTrainerMons = gSlateportBattleTentMons; gFacilityTrainerMons = gSlateportBattleTentMons;
@@ -561,21 +367,21 @@ static void sub_81BA040(void)
} while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum); } while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
gTrainerBattleOpponent_A = trainerId; gTrainerBattleOpponent_A = trainerId;
while (gFacilityTrainers[gTrainerBattleOpponent_A].bfMonPool[monPoolCount] != 0xFFFF) while (gFacilityTrainers[gTrainerBattleOpponent_A].monSets[setsCount] != 0xFFFF)
monPoolCount++; setsCount++;
if (monPoolCount > 8) if (setsCount > 8)
break; break;
monPoolCount = 0; setsCount = 0;
} }
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 2) if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 2)
gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A; gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
monSetsPool = gFacilityTrainers[gTrainerBattleOpponent_A].bfMonPool; monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
i = 0; i = 0;
while (i != 3) while (i != 3)
{ {
sRandMonSetId = monSetsPool[Random() % monPoolCount]; sRandMonSetId = monSets[Random() % setsCount];
for (j = 0; j < 6; j++) for (j = 0; j < 6; j++)
{ {
if (gFacilityTrainerMons[sRandMonSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_E70[j].monId].species) if (gFacilityTrainerMons[sRandMonSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_E70[j].monId].species)
+88 -91
View File
@@ -21,6 +21,7 @@
#include "link.h" #include "link.h"
#include "field_message_box.h" #include "field_message_box.h"
#include "tv.h" #include "tv.h"
#include "battle_factory.h"
#include "constants/battle_frontier.h" #include "constants/battle_frontier.h"
#include "constants/trainers.h" #include "constants/trainers.h"
#include "constants/event_objects.h" #include "constants/event_objects.h"
@@ -29,19 +30,16 @@
extern u16 gUnknown_03006298[]; extern u16 gUnknown_03006298[];
extern void sub_81A6CD0(void);
extern void sub_81A4C30(void); extern void sub_81A4C30(void);
extern u8 sub_81A6CA8(u8, u8);
extern void SetMonMoveAvoidReturn(struct Pokemon *mon, u16 move, u8 moveSlot);
extern const u8 *const *const gUnknown_085DD690[]; extern const u8 *const *const gUnknown_085DD690[];
extern const u16 gBattleFrontierHeldItems[]; extern const u16 gBattleFrontierHeldItems[];
extern const u8 sRubyFacilityClassToEmerald[82][2]; extern const u8 sRubyFacilityClassToEmerald[82][2];
extern const u16 gUnknown_085DFA46[]; extern const u16 gUnknown_085DFA46[];
extern const struct FacilityMon gBattleFrontierMons[];
extern const struct FacilityMon gSlateportBattleTentMons[]; extern const struct FacilityMon gSlateportBattleTentMons[];
extern const struct FacilityMon gVerdanturfBattleTentMons[]; extern const struct FacilityMon gVerdanturfBattleTentMons[];
extern const struct FacilityMon gFallarborBattleTentMons[]; extern const struct FacilityMon gFallarborBattleTentMons[];
extern const struct FacilityMon gBattleFrontierMons[];
extern const struct BattleFrontierTrainer gBattleFrontierTrainers[]; extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
extern const struct BattleFrontierTrainer gSlateportBattleTentTrainers[]; extern const struct BattleFrontierTrainer gSlateportBattleTentTrainers[];
extern const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[]; extern const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[];
@@ -983,14 +981,14 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
u8 level = SetFacilityPtrsGetLevel(); u8 level = SetFacilityPtrsGetLevel();
u8 fixedIV = 0; u8 fixedIV = 0;
u8 bfMonCount; u8 bfMonCount;
const u16 *bfMonPool = NULL; const u16 *monSets = NULL;
u32 otID = 0; u32 otID = 0;
if (trainerId < TRAINER_RECORD_MIXING_FRIEND) if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
{ {
// Normal battle frontier trainer. // Normal battle frontier trainer.
fixedIV = GetFrontierTrainerFixedIvs(trainerId); fixedIV = GetFrontierTrainerFixedIvs(trainerId);
bfMonPool = gFacilityTrainers[gTrainerBattleOpponent_A].bfMonPool; monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
} }
else if (trainerId == TRAINER_EREADER) else if (trainerId == TRAINER_EREADER)
{ {
@@ -1028,20 +1026,20 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
// Attempt to fill the trainer's party with random Pokemon until 3 have been // Attempt to fill the trainer's party with random Pokemon until 3 have been
// successfully chosen. The trainer's party may not have duplicate pokemon species // successfully chosen. The trainer's party may not have duplicate pokemon species
// or duplicate held items. // or duplicate held items.
for (bfMonCount = 0; bfMonPool[bfMonCount] != 0xFFFF; bfMonCount++) for (bfMonCount = 0; monSets[bfMonCount] != 0xFFFF; bfMonCount++)
; ;
i = 0; i = 0;
otID = Random32(); otID = Random32();
while (i != monCount) while (i != monCount)
{ {
u16 monPoolId = bfMonPool[Random() % bfMonCount]; u16 monSetId = monSets[Random() % bfMonCount];
if ((level == 50 || level == 20) && monPoolId > 849) if ((level == 50 || level == 20) && monSetId > 849)
continue; continue;
// Ensure this pokemon species isn't a duplicate. // Ensure this pokemon species isn't a duplicate.
for (j = 0; j < i + firstMonId; j++) for (j = 0; j < i + firstMonId; j++)
{ {
if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monPoolId].species) if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monSetId].species)
break; break;
} }
if (j != i + firstMonId) if (j != i + firstMonId)
@@ -1051,7 +1049,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
for (j = 0; j < i + firstMonId; j++) for (j = 0; j < i + firstMonId; j++)
{ {
if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0 if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0
&& GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monPoolId].itemTableId]) && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
break; break;
} }
if (j != i + firstMonId) if (j != i + firstMonId)
@@ -1061,34 +1059,34 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
// because the species and held items were already checked directly above. // because the species and held items were already checked directly above.
for (j = 0; j < i; j++) for (j = 0; j < i; j++)
{ {
if (chosenMonIndices[j] == monPoolId) if (chosenMonIndices[j] == monSetId)
break; break;
} }
if (j != i) if (j != i)
continue; continue;
chosenMonIndices[i] = monPoolId; chosenMonIndices[i] = monSetId;
// Place the chosen pokemon into the trainer's party. // Place the chosen pokemon into the trainer's party.
CreateMonWithEVSpreadPersonalityOTID(&gEnemyParty[i + firstMonId], CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId],
gFacilityTrainerMons[monPoolId].species, gFacilityTrainerMons[monSetId].species,
level, level,
gFacilityTrainerMons[monPoolId].nature, gFacilityTrainerMons[monSetId].nature,
fixedIV, fixedIV,
gFacilityTrainerMons[monPoolId].evSpread, gFacilityTrainerMons[monSetId].evSpread,
otID); otID);
friendship = 255; friendship = 255;
// Give the chosen pokemon its specified moves. // Give the chosen pokemon its specified moves.
for (j = 0; j < 4; j++) for (j = 0; j < 4; j++)
{ {
SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monPoolId].moves[j], j); SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monSetId].moves[j], j);
if (gFacilityTrainerMons[monPoolId].moves[j] == MOVE_FRUSTRATION) if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
friendship = 0; // Frustration is more powerful the lower the pokemon's friendship is. friendship = 0; // Frustration is more powerful the lower the pokemon's friendship is.
} }
SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship); SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship);
SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monPoolId].itemTableId]); SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
// The pokemon was successfully added to the trainer's party, so it's safe to move on to // The pokemon was successfully added to the trainer's party, so it's safe to move on to
// the next party slot. // the next party slot.
@@ -1129,27 +1127,27 @@ static void Unused_CreateApprenticeMons(u16 trainerId, u8 firstMonId)
} }
} }
u16 RandomizeFacilityTrainerMonId(u16 trainerId) u16 RandomizeFacilityTrainerMonSet(u16 trainerId)
{ {
u8 level = SetFacilityPtrsGetLevel(); u8 level = SetFacilityPtrsGetLevel();
const u16 *bfMonPool = gFacilityTrainers[trainerId].bfMonPool; const u16 *monSets = gFacilityTrainers[trainerId].monSets;
u8 bfMonCount = 0; u8 bfMonCount = 0;
u32 monPoolId = bfMonPool[bfMonCount]; u32 monSetId = monSets[bfMonCount];
while (monPoolId != 0xFFFF) while (monSetId != 0xFFFF)
{ {
bfMonCount++; bfMonCount++;
monPoolId = bfMonPool[bfMonCount]; monSetId = monSets[bfMonCount];
if (monPoolId == 0xFFFF) if (monSetId == 0xFFFF)
break; break;
} }
do do
{ {
monPoolId = bfMonPool[Random() % bfMonCount]; monSetId = monSets[Random() % bfMonCount];
} while((level == 50 || level == 20) && monPoolId > 849); } while((level == 50 || level == 20) && monSetId > 849);
return monPoolId; return monSetId;
} }
static void FillFactoryTrainerParty(void) static void FillFactoryTrainerParty(void)
@@ -1175,9 +1173,9 @@ static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId)
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u8 challengeNum = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][0] / 7; u8 challengeNum = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][0] / 7;
if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 6) if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 6)
fixedIV = sub_81A6CA8(challengeNum, 0); fixedIV = GetFactoryMonFixedIV(challengeNum, 0);
else else
fixedIV = sub_81A6CA8(challengeNum, 1); fixedIV = GetFactoryMonFixedIV(challengeNum, 1);
} }
else if (trainerId == TRAINER_EREADER) else if (trainerId == TRAINER_EREADER)
{ {
@@ -1187,7 +1185,7 @@ static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId)
} }
else if (trainerId == TRAINER_FRONTIER_BRAIN) else if (trainerId == TRAINER_FRONTIER_BRAIN)
{ {
sub_81A6CD0(); FillFactoryBrainParty();
return; return;
} }
else else
@@ -1195,26 +1193,25 @@ static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId)
fixedIV = 31; fixedIV = 31;
} }
level = SetFacilityPtrsGetLevel(); level = SetFacilityPtrsGetLevel();
otID = T1_READ_32(gSaveBlock2Ptr->playerTrainerId); otID = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
for (i = 0; i < 3; i++) for (i = 0; i < 3; i++)
{ {
u16 poolId = gUnknown_03006298[i]; u16 monSetId = gUnknown_03006298[i];
CreateMonWithEVSpreadPersonalityOTID(&gEnemyParty[firstMonId + i], CreateMonWithEVSpreadNatureOTID(&gEnemyParty[firstMonId + i],
gFacilityTrainerMons[poolId].species, gFacilityTrainerMons[monSetId].species,
level, level,
gFacilityTrainerMons[poolId].nature, gFacilityTrainerMons[monSetId].nature,
fixedIV, fixedIV,
gFacilityTrainerMons[poolId].evSpread, gFacilityTrainerMons[monSetId].evSpread,
otID); otID);
friendship = 0; friendship = 0;
for (j = 0; j < 4; j++) for (j = 0; j < 4; j++)
SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[poolId].moves[j], j); SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monSetId].moves[j], j);
SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship); SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship);
SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[poolId].itemTableId]); SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
} }
} }
@@ -1228,25 +1225,25 @@ static void FillFactoryTentTrainerParty(u16 trainerId, u8 firstMonId)
for (i = 0; i < 3; i++) for (i = 0; i < 3; i++)
{ {
u16 poolId = gUnknown_03006298[i]; u16 monSetId = gUnknown_03006298[i];
CreateMonWithEVSpreadPersonalityOTID(&gEnemyParty[firstMonId + i], CreateMonWithEVSpreadNatureOTID(&gEnemyParty[firstMonId + i],
gFacilityTrainerMons[poolId].species, gFacilityTrainerMons[monSetId].species,
level, level,
gFacilityTrainerMons[poolId].nature, gFacilityTrainerMons[monSetId].nature,
fixedIV, fixedIV,
gFacilityTrainerMons[poolId].evSpread, gFacilityTrainerMons[monSetId].evSpread,
otID); otID);
friendship = 0; friendship = 0;
for (j = 0; j < 4; j++) for (j = 0; j < 4; j++)
{ {
SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[poolId].moves[j], j); SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monSetId].moves[j], j);
if (gFacilityTrainerMons[poolId].moves[j] == MOVE_FRUSTRATION) if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
friendship = 0; friendship = 0;
} }
SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship); SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship);
SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[poolId].itemTableId]); SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
} }
} }
@@ -1609,7 +1606,7 @@ static void sub_81642A0(void)
u32 spArray[5]; u32 spArray[5];
s32 r10; s32 r10;
u16 trainerId; u16 trainerId;
u16 monPoolId; u16 monSetId;
u32 lvlMode, battleMode; u32 lvlMode, battleMode;
s32 challengeNum; s32 challengeNum;
u32 species1, species2; u32 species1, species2;
@@ -1651,24 +1648,24 @@ static void sub_81642A0(void)
{ {
while (1) while (1)
{ {
monPoolId = RandomizeFacilityTrainerMonId(trainerId); monSetId = RandomizeFacilityTrainerMonSet(trainerId);
if (j % 2 != 0 && gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_CB4[r10 - 1]].itemTableId == gFacilityTrainerMons[monPoolId].itemTableId) if (j % 2 != 0 && gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_CB4[r10 - 1]].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
continue; continue;
for (k = 8; k < r10; k++) for (k = 8; k < r10; k++)
{ {
if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_CB4[k]].species == gFacilityTrainerMons[monPoolId].species) if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_CB4[k]].species == gFacilityTrainerMons[monSetId].species)
break; break;
if (species1 == gFacilityTrainerMons[monPoolId].species) if (species1 == gFacilityTrainerMons[monSetId].species)
break; break;
if (species2 == gFacilityTrainerMons[monPoolId].species) if (species2 == gFacilityTrainerMons[monSetId].species)
break; break;
} }
if (k == r10) if (k == r10)
break; break;
} }
gSaveBlock2Ptr->frontier.field_CB4[r10] = monPoolId; gSaveBlock2Ptr->frontier.field_CB4[r10] = monSetId;
r10++; r10++;
} }
} }
@@ -1749,7 +1746,7 @@ static void sub_81642A0(void)
} }
} }
static void sub_81646BC(u16 trainerId, u16 monPoolId) static void sub_81646BC(u16 trainerId, u16 monSetId)
{ {
u16 move = 0; u16 move = 0;
u16 species = 0; u16 species = 0;
@@ -1759,8 +1756,8 @@ static void sub_81646BC(u16 trainerId, u16 monPoolId)
{ {
if (trainerId < TRAINER_RECORD_MIXING_FRIEND) if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
{ {
move = gFacilityTrainerMons[monPoolId].moves[0]; move = gFacilityTrainerMons[monSetId].moves[0];
species = gFacilityTrainerMons[monPoolId].species; species = gFacilityTrainerMons[monSetId].species;
} }
else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE) else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
{ {
@@ -1787,7 +1784,7 @@ static void sub_81646BC(u16 trainerId, u16 monPoolId)
static void sub_8164828(void) static void sub_8164828(void)
{ {
s32 i, j, arrId; s32 i, j, arrId;
s32 monPoolId; s32 monSetId;
s32 level = SetFacilityPtrsGetLevel(); s32 level = SetFacilityPtrsGetLevel();
u16 winStreak = GetCurrentFacilityWinStreak(); u16 winStreak = GetCurrentFacilityWinStreak();
s32 challengeNum = winStreak / 7; s32 challengeNum = winStreak / 7;
@@ -1825,12 +1822,12 @@ static void sub_8164828(void)
} }
break; break;
case 1: case 1:
monPoolId = gSaveBlock2Ptr->frontier.field_CB4[8 + k * 2]; monSetId = gSaveBlock2Ptr->frontier.field_CB4[8 + k * 2];
sub_81646BC(trainerId, monPoolId); sub_81646BC(trainerId, monSetId);
break; break;
case 2: case 2:
monPoolId = gSaveBlock2Ptr->frontier.field_CB4[9 + k * 2]; monSetId = gSaveBlock2Ptr->frontier.field_CB4[9 + k * 2];
sub_81646BC(trainerId, monPoolId); sub_81646BC(trainerId, monSetId);
break; break;
case 3: case 3:
gPartnerTrainerId = trainerId; gPartnerTrainerId = trainerId;
@@ -2280,7 +2277,7 @@ static void FillPartnerParty(u16 trainerId)
s32 i, j; s32 i, j;
u32 ivs, level; u32 ivs, level;
u32 friendship; u32 friendship;
u16 monPoolId; u16 monSetId;
u32 otID; u32 otID;
u8 trainerName[PLAYER_NAME_LENGTH + 1]; u8 trainerName[PLAYER_NAME_LENGTH + 1];
SetFacilityPtrsGetLevel(); SetFacilityPtrsGetLevel();
@@ -2321,23 +2318,23 @@ static void FillPartnerParty(u16 trainerId)
otID = Random32(); otID = Random32();
for (i = 0; i < 2; i++) for (i = 0; i < 2; i++)
{ {
monPoolId = gSaveBlock2Ptr->frontier.field_CB4[i + 18]; monSetId = gSaveBlock2Ptr->frontier.field_CB4[i + 18];
CreateMonWithEVSpreadPersonalityOTID(&gPlayerParty[3 + i], CreateMonWithEVSpreadNatureOTID(&gPlayerParty[3 + i],
gFacilityTrainerMons[monPoolId].species, gFacilityTrainerMons[monSetId].species,
level, level,
gFacilityTrainerMons[monPoolId].nature, gFacilityTrainerMons[monSetId].nature,
ivs, ivs,
gFacilityTrainerMons[monPoolId].evSpread, gFacilityTrainerMons[monSetId].evSpread,
otID); otID);
friendship = 0xFF; friendship = 0xFF;
for (j = 0; j < 4; j++) for (j = 0; j < 4; j++)
{ {
SetMonMoveSlot(&gPlayerParty[3 + i], gFacilityTrainerMons[monPoolId].moves[j], j); SetMonMoveSlot(&gPlayerParty[3 + i], gFacilityTrainerMons[monSetId].moves[j], j);
if (gFacilityTrainerMons[monPoolId].moves[j] == MOVE_FRUSTRATION) if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
friendship = 0; friendship = 0;
} }
SetMonData(&gPlayerParty[3 + i], MON_DATA_FRIENDSHIP, &friendship); SetMonData(&gPlayerParty[3 + i], MON_DATA_FRIENDSHIP, &friendship);
SetMonData(&gPlayerParty[3 + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monPoolId].itemTableId]); SetMonData(&gPlayerParty[3 + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
for (j = 0; j < PLAYER_NAME_LENGTH + 1; j++) for (j = 0; j < PLAYER_NAME_LENGTH + 1; j++)
trainerName[j] = gFacilityTrainers[trainerId].trainerName[j]; trainerName[j] = gFacilityTrainers[trainerId].trainerName[j];
SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_NAME, &trainerName); SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_NAME, &trainerName);
@@ -2689,19 +2686,19 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
u8 level = SetTentPtrsGetLevel(); u8 level = SetTentPtrsGetLevel();
u8 fixedIV = 0; u8 fixedIV = 0;
u8 bfMonCount; u8 bfMonCount;
const u16 *bfMonPool = NULL; const u16 *monSets = NULL;
u32 otID = 0; u32 otID = 0;
u16 monPoolId; u16 monSetId;
bfMonPool = gFacilityTrainers[gTrainerBattleOpponent_A].bfMonPool; monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
bfMonCount = 0; bfMonCount = 0;
monPoolId = bfMonPool[bfMonCount]; monSetId = monSets[bfMonCount];
while (monPoolId != 0xFFFF) while (monSetId != 0xFFFF)
{ {
bfMonCount++; bfMonCount++;
monPoolId = bfMonPool[bfMonCount]; monSetId = monSets[bfMonCount];
if (monPoolId == 0xFFFF) if (monSetId == 0xFFFF)
break; break;
} }
@@ -2709,12 +2706,12 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
otID = Random32(); otID = Random32();
while (i != monCount) while (i != monCount)
{ {
u16 monPoolId = bfMonPool[Random() % bfMonCount]; u16 monSetId = monSets[Random() % bfMonCount];
// Ensure this pokemon species isn't a duplicate. // Ensure this pokemon species isn't a duplicate.
for (j = 0; j < i + firstMonId; j++) for (j = 0; j < i + firstMonId; j++)
{ {
if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monPoolId].species) if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monSetId].species)
break; break;
} }
if (j != i + firstMonId) if (j != i + firstMonId)
@@ -2724,7 +2721,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
for (j = 0; j < i + firstMonId; j++) for (j = 0; j < i + firstMonId; j++)
{ {
if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0 if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0
&& GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monPoolId].itemTableId]) && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
break; break;
} }
if (j != i + firstMonId) if (j != i + firstMonId)
@@ -2734,34 +2731,34 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
// because the species and held items were already checked directly above. // because the species and held items were already checked directly above.
for (j = 0; j < i; j++) for (j = 0; j < i; j++)
{ {
if (chosenMonIndices[j] == monPoolId) if (chosenMonIndices[j] == monSetId)
break; break;
} }
if (j != i) if (j != i)
continue; continue;
chosenMonIndices[i] = monPoolId; chosenMonIndices[i] = monSetId;
// Place the chosen pokemon into the trainer's party. // Place the chosen pokemon into the trainer's party.
CreateMonWithEVSpreadPersonalityOTID(&gEnemyParty[i + firstMonId], CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId],
gFacilityTrainerMons[monPoolId].species, gFacilityTrainerMons[monSetId].species,
level, level,
gFacilityTrainerMons[monPoolId].nature, gFacilityTrainerMons[monSetId].nature,
fixedIV, fixedIV,
gFacilityTrainerMons[monPoolId].evSpread, gFacilityTrainerMons[monSetId].evSpread,
otID); otID);
friendship = 255; friendship = 255;
// Give the chosen pokemon its specified moves. // Give the chosen pokemon its specified moves.
for (j = 0; j < 4; j++) for (j = 0; j < 4; j++)
{ {
SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monPoolId].moves[j], j); SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monSetId].moves[j], j);
if (gFacilityTrainerMons[monPoolId].moves[j] == MOVE_FRUSTRATION) if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
friendship = 0; // Frustration is more powerful the lower the pokemon's friendship is. friendship = 0; // Frustration is more powerful the lower the pokemon's friendship is.
} }
SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship); SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship);
SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monPoolId].itemTableId]); SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
// The pokemon was successfully added to the trainer's party, so it's safe to move on to // The pokemon was successfully added to the trainer's party, so it's safe to move on to
// the next party slot. // the next party slot.
+2 -2
View File
@@ -1200,8 +1200,8 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
for (i = 0; i < 2; i++) for (i = 0; i < 2; i++)
CancelMultiTurnMoves(i); CancelMultiTurnMoves(i);
gBattlescriptCurrInstr = BattleScript_82DB8F3; gBattlescriptCurrInstr = BattleScript_ArenaDoJudgment;
BattleScriptExecute(BattleScript_82DB8F3); BattleScriptExecute(BattleScript_ArenaDoJudgment);
gBattleStruct->wishPerishSongState++; gBattleStruct->wishPerishSongState++;
return TRUE; return TRUE;
} }
+1 -2
View File
@@ -12,10 +12,9 @@
#include "string_util.h" #include "string_util.h"
#include "strings.h" #include "strings.h"
#include "task.h" #include "task.h"
#include "battle_pike.h"
#include "constants/species.h" #include "constants/species.h"
extern bool8 InBattlePike(void);
static bool32 IsMonValidSpecies(struct Pokemon *pokemon) static bool32 IsMonValidSpecies(struct Pokemon *pokemon)
{ {
u16 species = GetMonData(pokemon, MON_DATA_SPECIES2); u16 species = GetMonData(pokemon, MON_DATA_SPECIES2);
+2 -2
View File
@@ -336,7 +336,8 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
}, },
[FRONTIER_FACILITY_FACTORY] = [FRONTIER_FACILITY_FACTORY] =
{ {
// Silver Symbol. // Because Factory's pokemon are random, this facility's Brain also uses random pokemon.
// What is interesting, this team is actually the one Steven uses in the multi tag battle alongside the player.
{ {
{ {
.species = SPECIES_METANG, .species = SPECIES_METANG,
@@ -363,7 +364,6 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
.moves = {MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW}, .moves = {MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW},
}, },
}, },
// Gold Symbol.
{ {
{ {
.species = SPECIES_METANG, .species = SPECIES_METANG,
+1 -2
View File
@@ -47,8 +47,7 @@
#include "menu_helpers.h" #include "menu_helpers.h"
#include "window.h" #include "window.h"
#include "apprentice.h" #include "apprentice.h"
#include "battle_pike.h"
extern bool8 InBattlePike(void);
void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)()); void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)());
void CB2_Bag(void); void CB2_Bag(void);
+3 -5
View File
@@ -36,6 +36,8 @@
#include "pokemon_storage_system.h" #include "pokemon_storage_system.h"
#include "recorded_battle.h" #include "recorded_battle.h"
#include "apprentice.h" #include "apprentice.h"
#include "battle_pike.h"
#include "battle_tower.h"
struct SpeciesItem struct SpeciesItem
{ {
@@ -80,14 +82,10 @@ extern u8 StorageGetCurrentBox(void);
extern void set_unknown_box_id(u8); extern void set_unknown_box_id(u8);
extern void sub_803FA70(u8 battlerId); extern void sub_803FA70(u8 battlerId);
extern u8 sav1_map_get_name(void); extern u8 sav1_map_get_name(void);
extern u8 GetFrontierEnemyMonLevel(u8);
extern bool8 InBattlePyramid(void); extern bool8 InBattlePyramid(void);
extern bool8 InBattlePike(void);
extern bool8 sub_806F104(void); extern bool8 sub_806F104(void);
extern u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerOpponentId); extern u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerOpponentId);
extern u8 sub_81D63C8(u16 trainerOpponentId); extern u8 sub_81D63C8(u16 trainerOpponentId);
extern u8 GetFrontierOpponentClass(u16 trainerId);
extern void GetFrontierTrainerName(u8* dest, u16 trainerId);
extern void SummaryScreen_SetUnknownTaskId(u8); extern void SummaryScreen_SetUnknownTaskId(u8);
// this file's functions // this file's functions
@@ -2904,7 +2902,7 @@ void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 m
CalculateMonStats(mon); CalculateMonStats(mon);
} }
void CreateMonWithEVSpreadPersonalityOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId) void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId)
{ {
s32 i; s32 i;
s32 statCount = 0; s32 statCount = 0;
+1 -2
View File
@@ -34,8 +34,7 @@
#include "constants/songs.h" #include "constants/songs.h"
#include "field_player_avatar.h" #include "field_player_avatar.h"
#include "battle_pyramid_bag.h" #include "battle_pyramid_bag.h"
#include "battle_pike.h"
extern bool8 InBattlePike(void);
// Menu actions // Menu actions
enum enum
+1 -3
View File
@@ -18,6 +18,7 @@
#include "tv.h" #include "tv.h"
#include "link.h" #include "link.h"
#include "script.h" #include "script.h"
#include "battle_pike.h"
#include "constants/items.h" #include "constants/items.h"
#include "constants/maps.h" #include "constants/maps.h"
@@ -25,10 +26,7 @@ extern const u8 EventScript_RepelWoreOff[];
#define NUM_FEEBAS_SPOTS 6 #define NUM_FEEBAS_SPOTS 6
extern u8 GetBattlePikeWildMonHeaderId(void);
extern bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate);
extern void GenerateBattlePyramidWildMon(void); extern void GenerateBattlePyramidWildMon(void);
extern bool8 InBattlePike(void);
extern bool8 InBattlePyramid(void); extern bool8 InBattlePyramid(void);
// this file's functions // this file's functions
+2 -19
View File
@@ -70,26 +70,9 @@ gUnknown_03001204: @ 3001204
.include "src/battle_transition.o" .include "src/battle_transition.o"
.include "src/pokemon_animation.o" .include "src/pokemon_animation.o"
.include "src/recorded_battle.o" .include "src/recorded_battle.o"
.include "src/battle_factory_screen.o"
.include "src/battle_factory.o" .include "src/battle_factory.o"
.include "src/battle_pike.o"
gUnknown_03001288: @ 3001288
.space 0x4
gUnknown_0300128C: @ 300128C
.space 0x1
gUnknown_0300128D: @ 300128D
.space 0x1
gUnknown_0300128E: @ 300128E
.space 0x2
gUnknown_03001290: @ 3001290
.space 0x4
gUnknown_03001294: @ 3001294
.space 0x4
.include "src/battle_tent.o" .include "src/battle_tent.o"
.include "src/multiboot.o" .include "src/multiboot.o"
+1 -1
View File
@@ -493,7 +493,7 @@ gUnknown_0203CD88: @ 203CD88
.space 0x4 .space 0x4
.include "src/menu.o" .include "src/menu.o"
.include "src/battle_factory.o" .include "src/battle_factory_screen.o"
gUnknown_0203CE50: @ 203CE50 gUnknown_0203CE50: @ 203CE50
.space 0x4 .space 0x4