ref: 0261bd2ff5379ced32b59508ed0f9aef9f6abbbb
parent: 14ef9d3066ddf48f392b8afb698d85f0a7583f6f
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Mon Jan 22 19:11:23 EST 2018
Daisy offers "grooming", not "massage"
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -81,7 +81,7 @@
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
--- a/data/special_pointers.asm
+++ b/data/special_pointers.asm
@@ -110,7 +110,7 @@
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
--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -712,12 +712,12 @@
## 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 @@
...
-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 @@
**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
```
--- a/engine/events/special.asm
+++ b/engine/events/special.asm
@@ -157,16 +157,17 @@
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 @@
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 @@
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
--- a/maps/BluesHouse.asm
+++ b/maps/BluesHouse.asm
@@ -26,7 +26,7 @@
iffalse .Refused
writetext DaisyWhichMonText
waitbutton
- special Special_DaisyMassage
+ special Special_DaisysGrooming
if_equal $0, .Refused
if_equal $1, .CantGroomEgg
setflag ENGINE_DAISYS_GROOMING