From 247b619e9abf12c6790cff72343a8cf8431b0fb9 Mon Sep 17 00:00:00 2001 From: xCrystal Date: Tue, 31 Mar 2015 20:28:42 +0200 Subject: Some wram constants --- wram.asm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'wram.asm') diff --git a/wram.asm b/wram.asm index a08aae74..0a76370c 100755 --- a/wram.asm +++ b/wram.asm @@ -351,6 +351,7 @@ wNPCMovementScriptBank:: ; cc58 ds 2 wHallOfFame:: ; cc5b +wBoostExpByExpAll:: ; cc5b wcc5b:: ds 1 wcc5c:: ds 1 wcc5d:: ds 1 @@ -431,7 +432,7 @@ wccf0:: ds 1 wPlayerUsedMove:: ds 1 wEnemyUsedMove:: ds 1 wccf3:: ds 1 -wccf4:: ds 1 +wMoveDidntMiss:: ds 1 wPartyFoughtCurrentEnemyFlags:: ; flags that indicate which party members have fought the current enemy mon @@ -783,7 +784,9 @@ wcf30:: ds 7 wcf37:: ds 20 wcf4b:: ds 1 wcf4c:: ds 1 -wcf4d:: ds 18 +wGainBoostedExp:: ; cf4d + ds 1 + ds 17 wGymCityName:: ; cf5f wStringBuffer1:: ; cf5f @@ -967,7 +970,14 @@ W_BATTLETYPE:: ; d05a ; in safari battle, this is 2 ds 1 -wd05b:: ds 1 +wDamageMultipliers:: ; d05b +; bits 0-6: Effectiveness + ; $0 = immune + ; $5 = not very effective + ; $a = neutral + ; $14 = super-effective +; bit 7: STAB + ds 1 W_LONEATTACKNO:: ; d05c ; which entry in LoneAttacks to use -- cgit v1.3.1-sl0p From 4ba8dd609065ee118eccdc56a38dc8666b189c2e Mon Sep 17 00:00:00 2001 From: xCrystal Date: Tue, 31 Mar 2015 20:40:22 +0200 Subject: Further document AI stuff --- engine/battle/core.asm | 18 +++++++-------- engine/battle/e.asm | 62 +++++++++++++++++++++++++++----------------------- wram.asm | 8 +++++-- 3 files changed, 48 insertions(+), 40 deletions(-) (limited to 'wram.asm') diff --git a/engine/battle/core.asm b/engine/battle/core.asm index eb4a2fcd..0f9ee548 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -991,7 +991,7 @@ ReplaceFaintedEnemyMon: ; 3c664 (f:4664) xor a ld [W_ENEMYMOVENUM], a ld [wcd6a], a - ld [wccd5], a + ld [wAILayer2Encouragement], a inc a ; reset Z flag ret @@ -3128,7 +3128,7 @@ ExecutePlayerMove: ; 3d65e (f:565e) jp z, ExecutePlayerMoveDone ; for selected move = FF, skip most of player's turn xor a ld [W_MOVEMISSED], a - ld [wcced], a + ld [wMonIsDisobedient], a ld [wMoveDidntMiss], a ld a, $a ld [wDamageMultipliers], a @@ -3251,7 +3251,7 @@ MirrorMoveCheck call MirrorMoveCopyMove jp z,ExecutePlayerMoveDone xor a - ld [wcced],a + ld [wMonIsDisobedient],a jp CheckIfPlayerNeedsToChargeUp ; if Mirror Move was successful go back to damage calculation for copied move .metronomeCheck cp a,METRONOME_EFFECT @@ -3778,7 +3778,7 @@ MonName1Text: ; 3dafb (f:5afb) ld [hl], a ld [wd11e], a call Func_3db85 - ld a, [wcced] + ld a, [wMonIsDisobedient] and a ld hl, Used2Text ret nz @@ -3799,7 +3799,7 @@ Used2Text: ; 3db34 (f:5b34) db $08 ; asm PrintInsteadText: ; 3db39 (f:5b39) - ld a, [wcced] + ld a, [wMonIsDisobedient] and a jr z, PrintCF4BText ld hl, InsteadText @@ -4007,7 +4007,7 @@ OHKOText: ; 3dc83 (f:5c83) ; stores whether the mon will use a move in Z flag CheckForDisobedience: ; 3dc88 (f:5c88) xor a - ld [wcced], a + ld [wMonIsDisobedient], a ld a, [wLinkState] cp LINK_STATE_BATTLING jr nz, .checkIfMonIsTraded @@ -4148,7 +4148,7 @@ CheckForDisobedience: ; 3dc88 (f:5c88) cp b jr z, .monDoesNothing ; mon will not use move if only one move has remaining PP ld a, $1 - ld [wcced], a + ld [wMonIsDisobedient], a ld a, [wMaxMenuItem] ld b, a ld a, [wCurrentMenuItem] @@ -5655,7 +5655,7 @@ ExecuteEnemyMove: ; 3e6bc (f:66bc) cp $4 ret nc .executeEnemyMove - ld hl, wccd5 + ld hl, wAILayer2Encouragement inc [hl] xor a ld [W_MOVEMISSED], a @@ -5693,7 +5693,7 @@ EnemyCanExecuteChargingMove: ; 3e70b (f:670b) call CopyStringToCF4B EnemyCanExecuteMove: ; 3e72b (f:672b) xor a - ld [wcced], a + ld [wMonIsDisobedient], a call PrintMonName1Text ld a, [W_ENEMYMOVEEFFECT] ld hl, ResidualEffects1 diff --git a/engine/battle/e.asm b/engine/battle/e.asm index d124b77a..feb52df1 100755 --- a/engine/battle/e.asm +++ b/engine/battle/e.asm @@ -227,17 +227,17 @@ AIMoveChoiceModificationFunctionPointers: ; 397a3 (e:57a3) AIMoveChoiceModification1: ; 397ab (e:57ab) ld a, [wBattleMonStatus] and a - ret z ; return if no status ailment on player's mon - ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest) - ld de, wEnemyMonMoves ; enemy moves - ld b, $5 + ret z ; return if no status ailment on player's mon + ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest) + ld de, wEnemyMonMoves ; enemy moves + ld b, NUM_MOVES + 1 .nextMove dec b - ret z ; processed all 4 moves + ret z ; processed all 4 moves inc hl ld a, [de] and a - ret z ; no more moves in move set + ret z ; no more moves in move set inc de call ReadMove ld a, [W_ENEMYMOVEPOWER] @@ -255,32 +255,34 @@ AIMoveChoiceModification1: ; 397ab (e:57ab) pop hl jr nc, .nextMove ld a, [hl] - add $5 ; discourage move + add $5 ; heavily discourage move ld [hl], a jr .nextMove StatusAilmentMoveEffects ; 57e2 - db $01 ; some sleep effect? + db $01 ; unused sleep effect db SLEEP_EFFECT db POISON_EFFECT db PARALYZE_EFFECT db $FF -; slightly encourage moves with specific effects +; slightly encourage moves with specific effects. +; in particular, stat-modifying moves and other move effects +; that fall in-bewteen AIMoveChoiceModification2: ; 397e7 (e:57e7) - ld a, [wccd5] - cp $1 + ld a, [wAILayer2Encouragement] + cp $1 ret nz - ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest) - ld de, wEnemyMonMoves ; enemy moves - ld b, $5 + ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest) + ld de, wEnemyMonMoves ; enemy moves + ld b, NUM_MOVES + 1 .nextMove dec b - ret z ; processed all 4 moves + ret z ; processed all 4 moves inc hl ld a, [de] and a - ret z ; no more moves in move set + ret z ; no more moves in move set inc de call ReadMove ld a, [W_ENEMYMOVEEFFECT] @@ -294,21 +296,23 @@ AIMoveChoiceModification2: ; 397e7 (e:57e7) jr c, .preferMove jr .nextMove .preferMove - dec [hl] ; slighly encourage this move + dec [hl] ; sligthly encourage this move jr .nextMove -; encourages moves that are effective against the player's mon +; encourages moves that are effective against the player's mon (even if non-damaging). +; discourage damaging moves that are ineffective or not very effective against the player's mon, +; unless there's no damaging move that deals at least neutral damage AIMoveChoiceModification3: ; 39817 (e:5817) - ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest) - ld de, wEnemyMonMoves ; enemy moves + ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest) + ld de, wEnemyMonMoves ; enemy moves ld b, $5 .nextMove dec b - ret z ; processed all 4 moves + ret z ; processed all 4 moves inc hl ld a, [de] and a - ret z ; no more moves in move set + ret z ; no more moves in move set inc de call ReadMove push hl @@ -322,9 +326,9 @@ AIMoveChoiceModification3: ; 39817 (e:5817) cp $10 jr z, .nextMove jr c, .notEffectiveMove - dec [hl] ; slighly encourage this move + dec [hl] ; sligthly encourage this move jr .nextMove -.notEffectiveMove ; discourages non-effective moves if better moves are available +.notEffectiveMove ; discourages non-effective moves if better moves are available push hl push de push bc @@ -342,17 +346,17 @@ AIMoveChoiceModification3: ; 39817 (e:5817) call ReadMove ld a, [W_ENEMYMOVEEFFECT] cp SUPER_FANG_EFFECT - jr z, .betterMoveFound ; Super Fang is considered to be a better move + jr z, .betterMoveFound ; Super Fang is considered to be a better move cp SPECIAL_DAMAGE_EFFECT - jr z, .betterMoveFound ; any special damage moves are considered to be better moves + jr z, .betterMoveFound ; any special damage moves are considered to be better moves cp FLY_EFFECT - jr z, .betterMoveFound ; Fly is considered to be a better move + jr z, .betterMoveFound ; Fly is considered to be a better move ld a, [W_ENEMYMOVETYPE] cp d jr z, .loopMoves ld a, [W_ENEMYMOVEPOWER] and a - jr nz, .betterMoveFound ; damaging moves of a different type are considered to be better moves + jr nz, .betterMoveFound ; damaging moves of a different type are considered to be better moves jr .loopMoves .betterMoveFound ld c, a @@ -363,7 +367,7 @@ AIMoveChoiceModification3: ; 39817 (e:5817) pop hl and a jr z, .nextMove - inc [hl] ; slighly discourage this move + inc [hl] ; sligthly discourage this move jr .nextMove AIMoveChoiceModification4: ; 39883 (e:5883) ret diff --git a/wram.asm b/wram.asm index 0a76370c..898b5386 100755 --- a/wram.asm +++ b/wram.asm @@ -378,7 +378,11 @@ wSimulatedJoypadStatesEnd:: ; ccd3 wccd3:: ds 1 wccd4:: ds 1 -wccd5:: ds 2 + +; if [ccd5] != 1, the second AI layer is not applied +wAILayer2Encouragement:: ; ccd5 + ds 1 + ds 1 ; current HP of player and enemy substitutes wPlayerSubstituteHP:: ; ccd7 @@ -425,7 +429,7 @@ wSafariBaitFactor:: ; cce9 wcceb:: ds 1 wccec:: ds 1 -wcced:: ds 1 +wMonIsDisobedient:: ds 1 wccee:: ds 1 wccef:: ds 1 wccf0:: ds 1 -- cgit v1.3.1-sl0p From e6185ac358b2e548536485781d6ec584c0b7742d Mon Sep 17 00:00:00 2001 From: xCrystal Date: Tue, 31 Mar 2015 21:09:43 +0200 Subject: Label some attack animation functions --- engine/battle/animations.asm | 14 +++++---- engine/battle/core.asm | 73 ++++++++++++++++++++++---------------------- engine/items/items.asm | 2 +- wram.asm | 3 ++ 4 files changed, 49 insertions(+), 43 deletions(-) (limited to 'wram.asm') diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 17033282..1ed3a725 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -446,7 +446,7 @@ ShareMoveAnimations: ; 78da6 (1e:4da6) ret Func_78dbd: ; 78dbd (1e:4dbd) - ld a,[wcc5b] + ld a,[wAnimationType] and a ret z dec a @@ -469,12 +469,12 @@ PointerTable_78dcf: ; 78dcf (1e:4dcf) dw Func_78dfe Func_78ddb: ; 78ddb (1e:4ddb) - call Func_79e6a + call PlayApplyingAttackSound ld b, $8 jp Func_79209 Func_78de3: ; 78de3 (1e:4de3) - call Func_79e6a + call PlayApplyingAttackSound ld b, $8 jp Func_79210 @@ -483,11 +483,11 @@ Func_78deb: ; 78deb (1e:4deb) jr Func_78e01 Func_78df0: ; 78df0 (1e:4df0) - call Func_79e6a + call PlayApplyingAttackSound jp AnimationBlinkEnemyMon Func_78df6: ; 78df6 (1e:4df6) - call Func_79e6a + call PlayApplyingAttackSound ld b, $2 jp Func_79210 @@ -2929,7 +2929,9 @@ TossBallAnimation: ; 79e16 (1e:5e16) ld [W_ANIMATIONID],a jp PlayAnimation -Func_79e6a: ; 79e6a (1e:5e6a) +PlayApplyingAttackSound: ; 79e6a (1e:5e6a) +; play a different sound depending if move is not very effective, neutral, or super-effective +; don't play any sound at all if move is ineffective call WaitForSoundToFinish ld a, [wDamageMultipliers] and $7f diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 087b0679..678ade24 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -582,7 +582,7 @@ HandlePoisonBurnLeechSeed: ; 3c3bd (f:43bd) .poisoned call PrintText xor a - ld [wcc5b], a + ld [wAnimationType], a ld a,BURN_PSN_ANIM call PlayMoveAnimation ; play burn/poison animation pop hl @@ -603,7 +603,7 @@ HandlePoisonBurnLeechSeed: ; 3c3bd (f:43bd) xor $1 ld [H_WHOSETURN], a xor a - ld [wcc5b], a + ld [wAnimationType], a ld a,ABSORB call PlayMoveAnimation ; play leech seed animation (from opposing mon) pop af @@ -3219,7 +3219,7 @@ asm_3d71e ld b,BANK(Func_79747) call nz,Bankswitch pop af - ld [wcc5b],a + ld [wAnimationType],a ld a,[W_PLAYERMOVENUM] call PlayMoveAnimation call HandleExplodingAnimation @@ -3241,7 +3241,7 @@ asm_3d74b jr MirrorMoveCheck .playAnim xor a - ld [wcc5b],a + ld [wAnimationType],a ld a,STATUS_AFFECTED_ANIM call PlayMoveAnimation MirrorMoveCheck @@ -3386,7 +3386,7 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) jr z,.WakeUp ; if the number of turns hit 0, wake up ; fast asleep xor a - ld [wcc5b],a + ld [wAnimationType],a ld a,SLP_ANIM - 1 call PlayMoveAnimation ld hl,FastAsleepText @@ -3470,7 +3470,7 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) ld hl,IsConfusedText call PrintText xor a - ld [wcc5b],a + ld [wAnimationType],a ld a,CONF_ANIM - 1 call PlayMoveAnimation call BattleRandom @@ -3519,7 +3519,7 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854) .FlyOrChargeEffect xor a - ld [wcc5b],a + ld [wAnimationType],a ld a,STATUS_AFFECTED_ANIM call PlayMoveAnimation .NotFlyOrChargeEffect @@ -3751,7 +3751,7 @@ HandleSelfConfusionDamage: ; 3daad (f:5aad) pop af ld [hl], a xor a - ld [wcc5b], a + ld [wAnimationType], a inc a ld [H_WHOSETURN], a call PlayMoveAnimation @@ -5198,7 +5198,7 @@ ReloadMoveData: ; 3e329 (f:6329) ; function that picks a random move for metronome MetronomePickMove: ; 3e348 (f:6348) xor a - ld [wcc5b],a + ld [wAnimationType],a ld a,METRONOME call PlayMoveAnimation ; play Metronome's animation ; values for player turn @@ -5754,7 +5754,7 @@ asm_3e7a4: ; 3e7a4 (f:67a4) ld b, BANK(Func_79747) call nz, Bankswitch pop af - ld [wcc5b], a + ld [wAnimationType], a ld a, [W_ENEMYMOVENUM] call PlayMoveAnimation call HandleExplodingAnimation @@ -5778,7 +5778,7 @@ Func_3e7d1: ; 3e7d1 (f:67d1) jr asm_3e7ef .asm_3e7e6 xor a - ld [wcc5b], a + ld [wAnimationType], a ld a,STATUS_AFFECTED_ANIM call PlayMoveAnimation asm_3e7ef: ; 3e7ef (f:67ef) @@ -5870,7 +5870,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) ld hl, FastAsleepText call PrintText xor a - ld [wcc5b], a + ld [wAnimationType], a ld a,SLP_ANIM call PlayMoveAnimation jr .next1 @@ -5946,7 +5946,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) ld hl, IsConfusedText call PrintText xor a - ld [wcc5b], a + ld [wAnimationType], a ld a,CONF_ANIM call PlayMoveAnimation call BattleRandom @@ -5989,7 +5989,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) pop af ld [hl], a xor a - ld [wcc5b], a + ld [wAnimationType], a ld [H_WHOSETURN], a ld a, POUND call PlayMoveAnimation @@ -6030,7 +6030,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f) jr .notFlyOrChargeEffect .flyOrChargeEffect xor a - ld [wcc5b], a + ld [wAnimationType], a ld a, STATUS_AFFECTED_ANIM call PlayMoveAnimation .notFlyOrChargeEffect @@ -6803,7 +6803,7 @@ HandleExplodingAnimation: ; 3eed3 (f:6ed3) and a ret nz ld a, 5 - ld [wcc5b], a + ld [wAnimationType], a PlayMoveAnimation: ; 3ef07 (f:6f07) ld [W_ANIMATIONID],a @@ -7239,7 +7239,7 @@ SleepEffect: ; 3f1fc (f:71fc) and $7 jr z, .setSleepCounter ld [de], a - call Func_3fb89 + call StoreCurrentMoveAnimationIDAndType ld hl, FellAsleepText jp PrintText .didntAffect @@ -7325,10 +7325,10 @@ PoisonEffect: ; 3f24f (f:724f) cp POISON_EFFECT jr z, .asm_3f2cd ld a, b - call Func_3fb96 + call StoreAnimationIDAndType jp PrintText .asm_3f2cd - call Func_3fb89 + call StoreCurrentMoveAnimationIDAndType jp PrintText .noEffect ld a, [de] @@ -7373,7 +7373,7 @@ ExplodeEffect: ; 3f2f1 (f:72f1) FreezeBurnParalyzeEffect: ; 3f30c (f:730c) xor a - ld [wcc5b], a + ld [wAnimationType], a call CheckTargetSubstitute ; test bit 4 of d063/d068 flags [target has substitute flag] ret nz ; return if they have a substitute, can't effect them ld a, [H_WHOSETURN] @@ -7854,7 +7854,7 @@ UpdateLoweredStatDone: ; 3f62c (f:762c) ld a, [de] cp $44 jr nc, .ApplyBadgeBoostsAndStatusPenalties - call Func_3fb89 + call StoreCurrentMoveAnimationIDAndType .ApplyBadgeBoostsAndStatusPenalties ld a, [H_WHOSETURN] and a @@ -7977,7 +7977,7 @@ BideEffect: ; 3f6e5 (f:76e5) ld [bc], a ; set Bide counter to 2 or 3 at random ld a, [H_WHOSETURN] add XSTATITEM_ANIM - jp Func_3fb96 + jp StoreAnimationIDAndType ThrashPetalDanceEffect: ; 3f717 (f:7717) ld hl, W_PLAYERBATTSTATUS1 @@ -7996,7 +7996,7 @@ ThrashPetalDanceEffect: ; 3f717 (f:7717) ld [de], a ; set thrash/petal dance counter to 2 or 3 at random ld a, [H_WHOSETURN] add ANIM_B0 - jp Func_3fb96 + jp StoreAnimationIDAndType SwitchAndTeleportEffect: ; 3f739 (f:7739) ld a, [H_WHOSETURN] @@ -8030,7 +8030,7 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739) .asm_3f76e call ReadPlayerMonCurHPAndStatus xor a - ld [wcc5b], a + ld [wAnimationType], a inc a ld [wEscapedFromBattle], a ld a, [W_PLAYERMOVENUM] @@ -8072,7 +8072,7 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739) .asm_3f7c1 call ReadPlayerMonCurHPAndStatus xor a - ld [wcc5b], a + ld [wAnimationType], a inc a ld [wEscapedFromBattle], a ld a, [W_ENEMYMOVENUM] @@ -8213,7 +8213,7 @@ ChargeEffect: ; 3f88c (f:788c) ld b, ANIM_C0 .notDigOrFly xor a - ld [wcc5b], a + ld [wAnimationType], a ld a, b call PlayBattleAnimation ld a, [de] @@ -8345,7 +8345,7 @@ ConfusionSideEffectSuccess: ; 3f96f (f:796f) ld [bc], a ; confusion status will last 2-5 turns pop af cp CONFUSION_SIDE_EFFECT - call nz, Func_3fb89 + call nz, StoreCurrentMoveAnimationIDAndType ld hl, BecameConfusedText jp PrintText @@ -8550,7 +8550,7 @@ DisableEffect: ; 3fa8a (f:7a8a) swap c add c ld [de], a - call Func_3fb89 + call StoreCurrentMoveAnimationIDAndType ld hl, wccee ld a, [H_WHOSETURN] and a @@ -8658,7 +8658,8 @@ CheckTargetSubstitute: ; 3fb79 (f:7b79) pop hl ret -Func_3fb89: ; 3fb89 (f:7b89) +StoreCurrentMoveAnimationIDAndType: ; 3fb89 (f:7b89) +; animation at MOVENUM will be played unless MOVENUM is 0 ld a, [H_WHOSETURN] and a ld a, [W_PLAYERMOVENUM] @@ -8668,20 +8669,20 @@ Func_3fb89: ; 3fb89 (f:7b89) and a ret z -Func_3fb96: ; 3fb96 (f:7b96) +StoreAnimationIDAndType: ; 3fb96 (f:7b96) ld [W_ANIMATIONID], a ld a, [H_WHOSETURN] and a ld a, $6 - jr z, .asm_3fba2 + jr z, .storeAnimationType ld a, $3 -.asm_3fba2 - ld [wcc5b], a - jp Func_3fbbc +.storeAnimationType + ld [wAnimationType], a + jp PlayBattleAnimationGotID PlayCurrentMoveAnimation: ; 3fba8 (f:7ba8) xor a - ld [wcc5b], a + ld [wAnimationType], a ld a, [H_WHOSETURN] and a ld a, [W_PLAYERMOVENUM] @@ -8694,7 +8695,7 @@ PlayCurrentMoveAnimation: ; 3fba8 (f:7ba8) PlayBattleAnimation: ; 3fbb9 (f:7bb9) ld [W_ANIMATIONID], a -Func_3fbbc: ; 3fbbc (f:7bbc) +PlayBattleAnimationGotID: ; 3fbbc (f:7bbc) push hl push de push bc diff --git a/engine/items/items.asm b/engine/items/items.asm index 3dc17010..21e6e924 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -320,7 +320,7 @@ ItemUseBall: ; d687 (3:5687) ld [W_ANIMATIONID],a xor a ld [$fff3],a - ld [wcc5b],a + ld [wAnimationType],a ld [wDamageMultipliers],a ld a,[wWhichPokemon] push af diff --git a/wram.asm b/wram.asm index 898b5386..ee7d2afe 100755 --- a/wram.asm +++ b/wram.asm @@ -352,6 +352,9 @@ wNPCMovementScriptBank:: ; cc58 wHallOfFame:: ; cc5b wBoostExpByExpAll:: ; cc5b +wAnimationType:: ; cc5b +; values between 0-6. Shake screen horizontally, shake screen vertically, blink Pokemon... + wcc5b:: ds 1 wcc5c:: ds 1 wcc5d:: ds 1 -- cgit v1.3.1-sl0p