ref: 48f5e7dfb8c94144170085959e2e2dd414f20514
parent: 5f4fcbfba2742a04bd0dff37b8d0d5a90e56e3c3
author: yenatch <yenatch@gmail.com>
date: Sun Apr 7 22:23:32 EDT 2013
Shuckle special
--- a/constants.asm
+++ b/constants.asm
@@ -3328,6 +3328,8 @@
SPECIAL_LOADFACESTEP EQU $003f
+SPECIAL_GIVESHUCKLE EQU $004b
+
SPECIAL_SNORLAXAWAKE EQU $0060
SPECIAL_GAMEBOYCHECK EQU $0066
--- a/main.asm
+++ b/main.asm
@@ -4384,9 +4384,90 @@
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]
INCBIN "baserom.gbc", $8000, $854b - $8000
@@ -4697,7 +4778,7 @@
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
--- a/maps/ManiasHouse.asm
+++ b/maps/ManiasHouse.asm
@@ -16,7 +16,7 @@
2writetext UnknownText_0x9d303
yesorno
iffalse UnknownScript_0x9d2b6
- special $004b
+ special SPECIAL_GIVESHUCKLE
iffalse UnknownScript_0x9d2b0
2writetext UnknownText_0x9d3ed
keeptextopen
--
⑨