shithub: pokecrystal

Download patch

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