summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2013-04-08 02:23:32 -0400
committeryenatch <yenatch@gmail.com>2013-04-08 13:12:58 -0400
commit48f5e7dfb8c94144170085959e2e2dd414f20514 (patch)
treed04c8bf0d8c119f6cde98176f437b01505ad56bb
parent5f4fcbfba2742a04bd0dff37b8d0d5a90e56e3c3 (diff)
Shuckle special
-rw-r--r--constants.asm2
-rw-r--r--main.asm85
-rw-r--r--maps/ManiasHouse.asm2
3 files changed, 86 insertions, 3 deletions
diff --git a/constants.asm b/constants.asm
index 5f620f34b..5b5c5ba50 100644
--- a/constants.asm
+++ b/constants.asm
@@ -3328,6 +3328,8 @@ SPECIAL_BIKESURFMUSIC EQU $003c
SPECIAL_LOADFACESTEP EQU $003f
+SPECIAL_GIVESHUCKLE EQU $004b
+
SPECIAL_SNORLAXAWAKE EQU $0060
SPECIAL_GAMEBOYCHECK EQU $0066
diff --git a/main.asm b/main.asm
index 106a76a2b..8dcf49f70 100644
--- a/main.asm
+++ b/main.asm
@@ -4384,7 +4384,88 @@ DrawGraphic: ; 6eef
ret
; 6f07
-INCBIN "baserom.gbc", $6f07, $747b - $6f07
+
+INCBIN "baserom.gbc", $6f07, $7305 - $6f07
+
+
+SpecialGiveShuckle: ; 7305
+
+; Adding to the party.
+ xor a
+ ld [MonType], a
+
+; Level 15 Shuckle.
+ ld a, SHUCKLE
+ ld [CurPartySpecies], a
+ ld a, 15
+ ld [CurPartyLevel], a
+
+ ld a, PREDEF_ADDPARTYMON
+ call Predef
+ jr nc, .NotGiven
+
+; Caught data.
+ ld b, 0
+ ld a, $13
+ ld hl, $5ba3
+ rst $8
+
+; Holding a Berry.
+ ld bc, PartyMon2 - PartyMon1
+ ld a, [PartyCount]
+ dec a
+ push af
+ push bc
+ ld hl, PartyMon1Item
+ call AddNTimes
+ ld [hl], BERRY
+ pop bc
+ pop af
+
+; OT ID.
+ ld hl, PartyMon1ID
+ call AddNTimes
+ ld a, $2
+ ld [hli], a
+ ld [hl], $6
+
+; Nickname.
+ ld a, [PartyCount]
+ dec a
+ ld hl, PartyMon1Nickname
+ call SkipNames
+ ld de, .Shuckie
+ call CopyName2
+
+; OT.
+ ld a, [PartyCount]
+ dec a
+ ld hl, PartyMon1OT
+ call SkipNames
+ ld de, .Mania
+ call CopyName2
+
+; Bittable2 flag for this event.
+ ld hl, $dc1e
+ set 5, [hl]
+
+ ld a, 1
+ ld [ScriptVar], a
+ ret
+
+.NotGiven
+ xor a
+ ld [ScriptVar], a
+ ret
+
+.Mania
+ db "MANIA@"
+.Shuckie
+ db "SHUCKIE@"
+; 737e
+
+
+INCBIN "baserom.gbc", $737e, $747b - $737e
SECTION "bank2",DATA,BANK[$2]
@@ -4697,7 +4778,7 @@ SpecialsPointers: ; 0xc029
dbw $03, $43fc
dbw $09, $6feb
dbw $09, $7043
- dbw $01, $7305
+ dbw BANK(SpecialGiveShuckle), SpecialGiveShuckle
dbw $01, $737e
dbw $01, $73f7
dbw BANK(SpecialCheckPokerus),SpecialCheckPokerus
diff --git a/maps/ManiasHouse.asm b/maps/ManiasHouse.asm
index a3847e4fc..ce4d58b8e 100644
--- a/maps/ManiasHouse.asm
+++ b/maps/ManiasHouse.asm
@@ -16,7 +16,7 @@ UnknownScript_0x9d278: ; 0x9d278
2writetext UnknownText_0x9d303
yesorno
iffalse UnknownScript_0x9d2b6
- special $004b
+ special SPECIAL_GIVESHUCKLE
iffalse UnknownScript_0x9d2b0
2writetext UnknownText_0x9d3ed
keeptextopen