Add Uppercut

Misty's worst nightmare.

FIGHTING type
55 Power
15 PP
80 Accuracy
Effect: Flinch (30% chance)

Learned by Hitmonchan, Machop, and Mankey at L1. Primeape, Machoke, and Machamp have it in their L1 learnsets as well.

Learned by Carapthor at L10 as an evolution move. Also part of its L1 learnset.
This commit is contained in:
Llinos Evans 2023-11-25 16:57:55 +00:00
parent e6119651d8
commit f4b5e1d2f5
16 changed files with 35 additions and 16 deletions

View file

@ -136,6 +136,7 @@ DEF FIRST_SE_ID EQU const_value
const SUBANIM_0_SAFARI_BAIT const SUBANIM_0_SAFARI_BAIT
const SUBANIM_0_STAR_HIGH const SUBANIM_0_STAR_HIGH
const SUBANIM_0_FAKE_TEARS const SUBANIM_0_FAKE_TEARS
const SUBANIM_0_STAR_ASCENDING
DEF NUM_SUBANIMS EQU const_value DEF NUM_SUBANIMS EQU const_value
; types of subanimations ; types of subanimations

View file

@ -190,7 +190,8 @@
const KOWTOW_CLEAVE ; b6 const KOWTOW_CLEAVE ; b6
const DISARMING_VOICE ; b7 const DISARMING_VOICE ; b7
const NASTY_PLOT ; b8 const NASTY_PLOT ; b8
const STRUGGLE ; formerly a5, now b9 const UPPERCUT ; b9
const STRUGGLE ; formerly a5, now c0
DEF NUM_ATTACKS EQU const_value - 1 DEF NUM_ATTACKS EQU const_value - 1
; Moves do double duty as animation identifiers. ; Moves do double duty as animation identifiers.

View file

@ -87,6 +87,7 @@ SubanimationPointers:
dw Subanim_0SafariBait dw Subanim_0SafariBait
dw Subanim_0StarHigh dw Subanim_0StarHigh
dw Subanim_0FakeTears dw Subanim_0FakeTears
dw Subanim_0StarAscending ; Uppercut
assert_table_length NUM_SUBANIMS assert_table_length NUM_SUBANIMS
; format: ; format:
@ -256,6 +257,13 @@ Subanim_0StarDescending:
db FRAMEBLOCK_01, BASECOORD_18, FRAMEBLOCKMODE_00 db FRAMEBLOCK_01, BASECOORD_18, FRAMEBLOCKMODE_00
db FRAMEBLOCK_01, BASECOORD_1D, FRAMEBLOCKMODE_00 db FRAMEBLOCK_01, BASECOORD_1D, FRAMEBLOCKMODE_00
Subanim_0StarAscending:
subanim SUBANIMTYPE_HFLIP, 4
db FRAMEBLOCK_01, BASECOORD_1D, FRAMEBLOCKMODE_00
db FRAMEBLOCK_01, BASECOORD_18, FRAMEBLOCKMODE_00
db FRAMEBLOCK_01, BASECOORD_11, FRAMEBLOCKMODE_00
db FRAMEBLOCK_01, BASECOORD_0B, FRAMEBLOCKMODE_00
Subanim_1FlameColumn1: Subanim_1FlameColumn1:
subanim SUBANIMTYPE_HFLIP, 3 subanim SUBANIMTYPE_HFLIP, 3
db FRAMEBLOCK_0C, BASECOORD_20, FRAMEBLOCKMODE_00 db FRAMEBLOCK_0C, BASECOORD_20, FRAMEBLOCKMODE_00

View file

@ -184,6 +184,7 @@ AttackAnimationPointers:
dw KowtowCleaveAnim dw KowtowCleaveAnim
dw DisarmingVoiceAnim dw DisarmingVoiceAnim
dw NastyPlotAnim dw NastyPlotAnim
dw UppercutAnim
dw StruggleAnim dw StruggleAnim
assert_table_length NUM_ATTACKS assert_table_length NUM_ATTACKS
dw ShowPicAnim dw ShowPicAnim
@ -261,6 +262,10 @@ KarateChopAnim:
battle_anim KARATE_CHOP, SUBANIM_0_STAR_DESCENDING, 0, 8 battle_anim KARATE_CHOP, SUBANIM_0_STAR_DESCENDING, 0, 8
db -1 ; end db -1 ; end
UppercutAnim:
battle_anim UPPERCUT, SUBANIM_0_STAR_ASCENDING, 0, 8
db -1 ; end
DoubleSlapAnim: DoubleSlapAnim:
battle_anim DOUBLESLAP, SUBANIM_0_STAR_TWICE, 0, 5 battle_anim DOUBLESLAP, SUBANIM_0_STAR_TWICE, 0, 5
battle_anim DOUBLESLAP, SUBANIM_0_STAR_TWICE, 0, 5 battle_anim DOUBLESLAP, SUBANIM_0_STAR_TWICE, 0, 5

View file

@ -195,5 +195,6 @@ Moves:
move KOWTOW_CLEAVE, SWIFT_EFFECT, 85, DARK, 100, 10 move KOWTOW_CLEAVE, SWIFT_EFFECT, 85, DARK, 100, 10
move DISARMING_VOICE, SWIFT_EFFECT, 40, FAIRY, 100, 10 move DISARMING_VOICE, SWIFT_EFFECT, 40, FAIRY, 100, 10
move NASTY_PLOT, SPECIAL_UP2_EFFECT, 0, DARK, 100, 10 move NASTY_PLOT, SPECIAL_UP2_EFFECT, 0, DARK, 100, 10
move UPPERCUT, FLINCH_SIDE_EFFECT2, 55, FIGHTING, 80, 15
move STRUGGLE, RECOIL_EFFECT, 50, NORMAL, 100, 10 move STRUGGLE, RECOIL_EFFECT, 50, NORMAL, 100, 10
assert_table_length NUM_ATTACKS assert_table_length NUM_ATTACKS

View file

@ -184,5 +184,6 @@ MoveNames:: ; 12chr limit
li "KOWTOWCLEAVE" li "KOWTOWCLEAVE"
li "DISARMVOICE" li "DISARMVOICE"
li "NASTY PLOT" li "NASTY PLOT"
li "UPPERCUT"
li "STRUGGLE" li "STRUGGLE"
assert_list_length NUM_ATTACKS assert_list_length NUM_ATTACKS

View file

@ -185,6 +185,7 @@ MoveSoundTable:
db SFX_NOT_VERY_EFFECTIVE, $11, $ff ; KOWTOW_CLEAVE db SFX_NOT_VERY_EFFECTIVE, $11, $ff ; KOWTOW_CLEAVE
db SFX_BATTLE_37, $10, $60 ; DISARMING_VOICE db SFX_BATTLE_37, $10, $60 ; DISARMING_VOICE
db SFX_BATTLE_09, $e8, $10 ; NASTY_PLOT db SFX_BATTLE_09, $e8, $10 ; NASTY_PLOT
db SFX_SUPER_EFFECTIVE, $00, $e0 ; UPPERCUT
db SFX_BATTLE_0B, $00, $80 ; STRUGGLE db SFX_BATTLE_0B, $00, $80 ; STRUGGLE
assert_table_length NUM_ATTACKS assert_table_length NUM_ATTACKS

View file

@ -10,7 +10,7 @@
INCBIN "gfx/pokemon/front/carapthor.pic", 0, 1 ; sprite dimensions INCBIN "gfx/pokemon/front/carapthor.pic", 0, 1 ; sprite dimensions
dw CarapthorPicFront, CarapthorPicBack dw CarapthorPicFront, CarapthorPicBack
db COMET_PUNCH, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset db COMET_PUNCH, UPPERCUT, NO_MOVE, NO_MOVE ; level 1 learnset
db GROWTH_MEDIUM_FAST ; growth rate db GROWTH_MEDIUM_FAST ; growth rate
; tm/hm learnset ; tm/hm learnset

View file

@ -10,7 +10,7 @@
INCBIN "gfx/pokemon/front/hitmonchan.pic", 0, 1 ; sprite dimensions INCBIN "gfx/pokemon/front/hitmonchan.pic", 0, 1 ; sprite dimensions
dw HitmonchanPicFront, HitmonchanPicBack dw HitmonchanPicFront, HitmonchanPicBack
db COMET_PUNCH, AGILITY, NO_MOVE, NO_MOVE ; level 1 learnset db COMET_PUNCH, AGILITY, UPPERCUT, NO_MOVE ; level 1 learnset
db GROWTH_MEDIUM_FAST ; growth rate db GROWTH_MEDIUM_FAST ; growth rate
; tm/hm learnset ; tm/hm learnset

View file

@ -10,7 +10,7 @@
INCBIN "gfx/pokemon/front/machamp.pic", 0, 1 ; sprite dimensions INCBIN "gfx/pokemon/front/machamp.pic", 0, 1 ; sprite dimensions
dw MachampPicFront, MachampPicBack dw MachampPicFront, MachampPicBack
db KARATE_CHOP, LOW_KICK, LEER, NO_MOVE ; level 1 learnset db KARATE_CHOP, LOW_KICK, LEER, UPPERCUT ; level 1 learnset
db GROWTH_MEDIUM_SLOW ; growth rate db GROWTH_MEDIUM_SLOW ; growth rate
; tm/hm learnset ; tm/hm learnset

View file

@ -10,7 +10,7 @@
INCBIN "gfx/pokemon/front/machoke.pic", 0, 1 ; sprite dimensions INCBIN "gfx/pokemon/front/machoke.pic", 0, 1 ; sprite dimensions
dw MachokePicFront, MachokePicBack dw MachokePicFront, MachokePicBack
db KARATE_CHOP, LOW_KICK, LEER, NO_MOVE ; level 1 learnset db KARATE_CHOP, LOW_KICK, LEER, UPPERCUT ; level 1 learnset
db GROWTH_MEDIUM_SLOW ; growth rate db GROWTH_MEDIUM_SLOW ; growth rate
; tm/hm learnset ; tm/hm learnset

View file

@ -10,7 +10,7 @@
INCBIN "gfx/pokemon/front/machop.pic", 0, 1 ; sprite dimensions INCBIN "gfx/pokemon/front/machop.pic", 0, 1 ; sprite dimensions
dw MachopPicFront, MachopPicBack dw MachopPicFront, MachopPicBack
db KARATE_CHOP, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset db KARATE_CHOP, UPPERCUT, NO_MOVE, NO_MOVE ; level 1 learnset
db GROWTH_MEDIUM_SLOW ; growth rate db GROWTH_MEDIUM_SLOW ; growth rate
; tm/hm learnset ; tm/hm learnset

View file

@ -10,7 +10,7 @@
INCBIN "gfx/pokemon/front/mankey.pic", 0, 1 ; sprite dimensions INCBIN "gfx/pokemon/front/mankey.pic", 0, 1 ; sprite dimensions
dw MankeyPicFront, MankeyPicBack dw MankeyPicFront, MankeyPicBack
db SCRATCH, LEER, NO_MOVE, NO_MOVE ; level 1 learnset db SCRATCH, LEER, UPPERCUT, NO_MOVE ; level 1 learnset
db GROWTH_MEDIUM_FAST ; growth rate db GROWTH_MEDIUM_FAST ; growth rate
; tm/hm learnset ; tm/hm learnset

View file

@ -10,7 +10,7 @@
INCBIN "gfx/pokemon/front/primeape.pic", 0, 1 ; sprite dimensions INCBIN "gfx/pokemon/front/primeape.pic", 0, 1 ; sprite dimensions
dw PrimeapePicFront, PrimeapePicBack dw PrimeapePicFront, PrimeapePicBack
db SCRATCH, LEER, KARATE_CHOP, FURY_SWIPES ; level 1 learnset db SCRATCH, LEER, UPPERCUT, KARATE_CHOP ; level 1 learnset
db GROWTH_MEDIUM_FAST ; growth rate db GROWTH_MEDIUM_FAST ; growth rate
; tm/hm learnset ; tm/hm learnset

View file

@ -2834,6 +2834,7 @@ CarapthorEvosMoves:
; Evolutions ; Evolutions
db 0 db 0
; Learnset ; Learnset
db 10, UPPERCUT
db 12, COMET_PUNCH db 12, COMET_PUNCH
db 16, PIN_MISSILE db 16, PIN_MISSILE
db 20, DEFENSE_CURL db 20, DEFENSE_CURL

View file

@ -108,9 +108,9 @@ TestBattle:
ld [hl], a ld [hl], a
; Player's Pokemon. ; Player's Pokemon.
ld a, MEW ld a, MANKEY
ld [wcf91], a ld [wcf91], a
ld a, 100 ld a, 10
ld [wCurEnemyLVL], a ld [wCurEnemyLVL], a
xor a xor a
ld [wMonDataLocation], a ld [wMonDataLocation], a
@ -120,19 +120,19 @@ TestBattle:
; This function gives you a way to waste a turn, never know when you'll need it. ; This function gives you a way to waste a turn, never know when you'll need it.
; Alternatively, add a move to test. ; Alternatively, add a move to test.
ld hl, wPartyMon1Moves ld hl, wPartyMon1Moves
ld a, POISON_STING ; Something super weak ld a, UPPERCUT ; Something super weak
ld [hli], a ld [hli], a
ld a, LEECH_SEED ; Test new failure text ld a, KARATE_CHOP ; Test new failure text
ld [hli], a ld [hli], a
ld a, FISSURE ; Something that'll miss easily ld a, LOW_KICK ; Something that'll miss easily
ld [hli], a ld [hli], a
ld a, SPLASH ; Skip turn ld a, LEER ; Skip turn
ld [hli], a ld [hli], a
; Opponent's Pokemon. ; Opponent's Pokemon.
ld a, ARTICUNO ; Test new theme ld a, MANKEY ; Test new theme
ld [wCurOpponent], a ld [wCurOpponent], a
ld a, 100 ; Set the level you want here. ld a, 10 ; Set the level you want here.
ld [wCurEnemyLVL], a ld [wCurEnemyLVL], a
predef InitOpponent predef InitOpponent