Daisy offers "grooming", not "massage"

This commit is contained in:
Rangi 2018-01-23 00:11:23 -05:00
parent 14ef9d3066
commit 0261bd2ff5
5 changed files with 19 additions and 18 deletions

View File

@ -81,7 +81,7 @@ const_value = 1
const HAPPINESS_BITTERPOWDER ; 0f const HAPPINESS_BITTERPOWDER ; 0f
const HAPPINESS_ENERGYROOT ; 10 const HAPPINESS_ENERGYROOT ; 10
const HAPPINESS_REVIVALHERB ; 11 const HAPPINESS_REVIVALHERB ; 11
const HAPPINESS_MASSAGE ; 12 const HAPPINESS_GROOMING ; 12
const HAPPINESS_GAINLEVELATHOME ; 13 const HAPPINESS_GAINLEVELATHOME ; 13
; day-care ; day-care

View File

@ -110,7 +110,7 @@ SpecialsPointers:: ; c029
add_special Special_SnorlaxAwake add_special Special_SnorlaxAwake
add_special Special_YoungerHaircutBrother add_special Special_YoungerHaircutBrother
add_special Special_OlderHaircutBrother add_special Special_OlderHaircutBrother
add_special Special_DaisyMassage add_special Special_DaisysGrooming
add_special Special_PlayCurMonCry add_special Special_PlayCurMonCry
add_special Special_ProfOaksPCBoot add_special Special_ProfOaksPCBoot
add_special Special_GameboyCheck add_special Special_GameboyCheck

View File

@ -712,12 +712,12 @@ This is a bug with `ItemAttributes` in [items/attributes.asm](/items/attributes.
## Daisy's grooming doesn't always increase happiness ## Daisy's grooming doesn't always increase happiness
This is a bug with `MassageOrHaircut` in [engine/events/special.asm](/engine/events/special.asm): This is a bug with `HaircutOrGrooming` in [engine/events/special.asm](/engine/events/special.asm):
```asm ```asm
; Bug: Subtracting $ff from $ff fails to set c. ; Bug: Subtracting $ff from $ff fails to set c.
; This can result in overflow into the next data array. ; This can result in overflow into the next data array.
; In the case of getting a massage from Daisy, we bleed ; In the case of getting a grooming from Daisy, we bleed
; into CopyPokemonName_Buffer1_Buffer3, which passes ; into CopyPokemonName_Buffer1_Buffer3, which passes
; $d0 to ChangeHappiness and returns $73 to the script. ; $d0 to ChangeHappiness and returns $73 to the script.
; The end result is that there is a 0.4% chance your ; The end result is that there is a 0.4% chance your
@ -740,8 +740,8 @@ This is a bug with `MassageOrHaircut` in [engine/events/special.asm](/engine/eve
... ...
Data_DaisyMassage: ; 746b Data_DaisysGrooming: ; 746b
db $ff, 2, HAPPINESS_MASSAGE ; 99.6% chance db $ff, 2, HAPPINESS_GROOMING ; 99.6% chance
CopyPokemonName_Buffer1_Buffer3: ; 746e CopyPokemonName_Buffer1_Buffer3: ; 746e
ld hl, StringBuffer1 ld hl, StringBuffer1
@ -753,9 +753,9 @@ CopyPokemonName_Buffer1_Buffer3: ; 746e
**Fix:** **Fix:**
```asm ```asm
Data_DaisyMassage: ; 746b Data_DaisysGrooming: ; 746b
db $80, 2, HAPPINESS_MASSAGE ; 50% chance db $80, 2, HAPPINESS_GROOMING ; 50% chance
db $ff, 2, HAPPINESS_MASSAGE ; 50% chance db $ff, 2, HAPPINESS_GROOMING ; 50% chance
``` ```

View File

@ -157,16 +157,17 @@ Special_BillsGrandfather: ; 73f7
Special_YoungerHaircutBrother: ; 7413 Special_YoungerHaircutBrother: ; 7413
ld hl, Data_YoungerHaircutBrother ld hl, Data_YoungerHaircutBrother
jr MassageOrHaircut jr HaircutOrGrooming
Special_OlderHaircutBrother: ; 7418 Special_OlderHaircutBrother: ; 7418
ld hl, Data_OlderHaircutBrother ld hl, Data_OlderHaircutBrother
jr MassageOrHaircut jr HaircutOrGrooming
Special_DaisyMassage: ; 741d Special_DaisysGrooming: ; 741d
ld hl, Data_DaisyMassage ld hl, Data_DaisysGrooming
; fallthrough
MassageOrHaircut: ; 7420 HaircutOrGrooming: ; 7420
push hl push hl
farcall SelectMonFromParty farcall SelectMonFromParty
pop hl pop hl
@ -181,7 +182,7 @@ MassageOrHaircut: ; 7420
call Random call Random
; Bug: Subtracting $ff from $ff fails to set c. ; Bug: Subtracting $ff from $ff fails to set c.
; This can result in overflow into the next data array. ; This can result in overflow into the next data array.
; In the case of getting a massage from Daisy, we bleed ; In the case of getting a grooming from Daisy, we bleed
; into CopyPokemonName_Buffer1_Buffer3, which passes ; into CopyPokemonName_Buffer1_Buffer3, which passes
; $d0 to ChangeHappiness and returns $73 to the script. ; $d0 to ChangeHappiness and returns $73 to the script.
; The end result is that there is a 0.4% chance your ; The end result is that there is a 0.4% chance your
@ -222,8 +223,8 @@ Data_OlderHaircutBrother: ; 7462
db $4c, 3, HAPPINESS_OLDERCUT2 ; 10% chance db $4c, 3, HAPPINESS_OLDERCUT2 ; 10% chance
db $ff, 4, HAPPINESS_OLDERCUT3 ; 30% chance db $ff, 4, HAPPINESS_OLDERCUT3 ; 30% chance
Data_DaisyMassage: ; 746b Data_DaisysGrooming: ; 746b
db $ff, 2, HAPPINESS_MASSAGE ; 99.6% chance db $ff, 2, HAPPINESS_GROOMING ; 99.6% chance
CopyPokemonName_Buffer1_Buffer3: ; 746e CopyPokemonName_Buffer1_Buffer3: ; 746e
ld hl, StringBuffer1 ld hl, StringBuffer1

View File

@ -26,7 +26,7 @@ DaisyScript:
iffalse .Refused iffalse .Refused
writetext DaisyWhichMonText writetext DaisyWhichMonText
waitbutton waitbutton
special Special_DaisyMassage special Special_DaisysGrooming
if_equal $0, .Refused if_equal $0, .Refused
if_equal $1, .CantGroomEgg if_equal $1, .CantGroomEgg
setflag ENGINE_DAISYS_GROOMING setflag ENGINE_DAISYS_GROOMING