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_ENERGYROOT ; 10
const HAPPINESS_REVIVALHERB ; 11
const HAPPINESS_MASSAGE ; 12
const HAPPINESS_GROOMING ; 12
const HAPPINESS_GAINLEVELATHOME ; 13
; day-care

View File

@ -110,7 +110,7 @@ SpecialsPointers:: ; c029
add_special Special_SnorlaxAwake
add_special Special_YoungerHaircutBrother
add_special Special_OlderHaircutBrother
add_special Special_DaisyMassage
add_special Special_DaisysGrooming
add_special Special_PlayCurMonCry
add_special Special_ProfOaksPCBoot
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
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
; Bug: Subtracting $ff from $ff fails to set c.
; 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
; $d0 to ChangeHappiness and returns $73 to the script.
; 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
db $ff, 2, HAPPINESS_MASSAGE ; 99.6% chance
Data_DaisysGrooming: ; 746b
db $ff, 2, HAPPINESS_GROOMING ; 99.6% chance
CopyPokemonName_Buffer1_Buffer3: ; 746e
ld hl, StringBuffer1
@ -753,9 +753,9 @@ CopyPokemonName_Buffer1_Buffer3: ; 746e
**Fix:**
```asm
Data_DaisyMassage: ; 746b
db $80, 2, HAPPINESS_MASSAGE ; 50% chance
db $ff, 2, HAPPINESS_MASSAGE ; 50% chance
Data_DaisysGrooming: ; 746b
db $80, 2, HAPPINESS_GROOMING ; 50% chance
db $ff, 2, HAPPINESS_GROOMING ; 50% chance
```

View File

@ -157,16 +157,17 @@ Special_BillsGrandfather: ; 73f7
Special_YoungerHaircutBrother: ; 7413
ld hl, Data_YoungerHaircutBrother
jr MassageOrHaircut
jr HaircutOrGrooming
Special_OlderHaircutBrother: ; 7418
ld hl, Data_OlderHaircutBrother
jr MassageOrHaircut
jr HaircutOrGrooming
Special_DaisyMassage: ; 741d
ld hl, Data_DaisyMassage
Special_DaisysGrooming: ; 741d
ld hl, Data_DaisysGrooming
; fallthrough
MassageOrHaircut: ; 7420
HaircutOrGrooming: ; 7420
push hl
farcall SelectMonFromParty
pop hl
@ -181,7 +182,7 @@ MassageOrHaircut: ; 7420
call Random
; Bug: Subtracting $ff from $ff fails to set c.
; 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
; $d0 to ChangeHappiness and returns $73 to the script.
; 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 $ff, 4, HAPPINESS_OLDERCUT3 ; 30% chance
Data_DaisyMassage: ; 746b
db $ff, 2, HAPPINESS_MASSAGE ; 99.6% chance
Data_DaisysGrooming: ; 746b
db $ff, 2, HAPPINESS_GROOMING ; 99.6% chance
CopyPokemonName_Buffer1_Buffer3: ; 746e
ld hl, StringBuffer1

View File

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