mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-04-28 21:27:58 +03:00
Fix Rando Give for Adult Fishing as Child Glitch (#5349)
* VBVBVB * Update soh/soh/Enhancements/randomizer/hook_handlers.cpp * Update soh/soh/Enhancements/randomizer/hook_handlers.cpp * first try
This commit is contained in:
parent
d40fa00b9e
commit
4a3d60d061
3 changed files with 22 additions and 1 deletions
|
@ -946,6 +946,14 @@ typedef enum {
|
||||||
// - `*VBFishingData`
|
// - `*VBFishingData`
|
||||||
VB_GIVE_RANDO_FISHING_PRIZE,
|
VB_GIVE_RANDO_FISHING_PRIZE,
|
||||||
|
|
||||||
|
// #### `result`
|
||||||
|
// ```c
|
||||||
|
// false
|
||||||
|
// ```
|
||||||
|
// #### `args`
|
||||||
|
// - '*Fishing' (&this)
|
||||||
|
VB_GIVE_RANDO_GLITCH_FISHING_PRIZE,
|
||||||
|
|
||||||
// #### `result`
|
// #### `result`
|
||||||
// ```c
|
// ```c
|
||||||
// true
|
// true
|
||||||
|
|
|
@ -1591,6 +1591,17 @@ void RandomizerOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_l
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case VB_GIVE_RANDO_GLITCH_FISHING_PRIZE: {
|
||||||
|
if (IS_RANDO) {
|
||||||
|
Fishing* fishing = va_arg(args, Fishing*);
|
||||||
|
if (!Flags_GetRandomizerInf(RAND_INF_ADULT_FISHING)) {
|
||||||
|
Flags_SetRandomizerInf(RAND_INF_ADULT_FISHING);
|
||||||
|
}
|
||||||
|
*should = true;
|
||||||
|
fishing->stateAndTimer = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case VB_TRADE_TIMER_EYEDROPS: {
|
case VB_TRADE_TIMER_EYEDROPS: {
|
||||||
EnMk* enMk = va_arg(args, EnMk*);
|
EnMk* enMk = va_arg(args, EnMk*);
|
||||||
Flags_SetRandomizerInf(RAND_INF_ADULT_TRADES_LH_TRADE_FROG);
|
Flags_SetRandomizerInf(RAND_INF_ADULT_TRADES_LH_TRADE_FROG);
|
||||||
|
|
|
@ -5170,7 +5170,9 @@ void Fishing_HandleOwnerDialog(Fishing* this, PlayState* play) {
|
||||||
if (Actor_HasParent(&this->actor, play)) {
|
if (Actor_HasParent(&this->actor, play)) {
|
||||||
this->stateAndTimer = 24;
|
this->stateAndTimer = 24;
|
||||||
} else {
|
} else {
|
||||||
Actor_OfferGetItem(&this->actor, play, GI_SCALE_GOLDEN, 2000.0f, 1000.0f);
|
if (!GameInteractor_Should(VB_GIVE_RANDO_GLITCH_FISHING_PRIZE, false, &this)) {
|
||||||
|
Actor_OfferGetItem(&this->actor, play, GI_SCALE_GOLDEN, 2000.0f, 1000.0f);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue