Merge pull request #34 from briaguya-ai/rolling-gorons

rolling gorons
This commit is contained in:
briaguya 2022-06-01 12:43:06 -04:00 committed by GitHub
commit 485af21726
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 11 deletions

View file

@ -1249,7 +1249,11 @@ GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId)
case PIECE_OF_HEART: case PIECE_OF_HEART:
return GI_HEART_PIECE; return GI_HEART_PIECE;
case BOMBS_5: case BOMBS_5:
return GI_BOMBS_5; return CUR_UPG_VALUE(UPG_BOMB_BAG) ? GI_BOMBS_5 : GI_RUPEE_BLUE;
case BOMBS_10:
return CUR_UPG_VALUE(UPG_BOMB_BAG) ? GI_BOMBS_10 : GI_RUPEE_BLUE;
case BOMBS_20:
return CUR_UPG_VALUE(UPG_BOMB_BAG) ? GI_BOMBS_20 : GI_RUPEE_BLUE;
case DEKU_NUTS_5: case DEKU_NUTS_5:
return GI_NUTS_5; return GI_NUTS_5;
case BOMBCHUS_10: case BOMBCHUS_10:
@ -1303,12 +1307,14 @@ GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId)
return GI_BOOTS_HOVER; return GI_BOOTS_HOVER;
case BOMB_BAG: case BOMB_BAG:
switch (CUR_UPG_VALUE(UPG_BOMB_BAG)) { switch (CUR_UPG_VALUE(UPG_BOMB_BAG)) {
case ITEM_NONE: case 0:
return GI_BOMB_BAG_20; return GI_BOMB_BAG_20;
case ITEM_BOMB_BAG_20: case 1:
return GI_BOMB_BAG_30; return GI_BOMB_BAG_30;
case ITEM_BOMB_BAG_30: case 2:
return GI_BOMB_BAG_40; return GI_BOMB_BAG_40;
case 3:
return GI_RUPEE_BLUE;
} }
case PROGRESSIVE_STRENGTH_UPGRADE: case PROGRESSIVE_STRENGTH_UPGRADE:
switch (CUR_UPG_VALUE(UPG_STRENGTH)) { switch (CUR_UPG_VALUE(UPG_STRENGTH)) {
@ -1416,10 +1422,6 @@ GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId)
return GI_NAYRUS_LOVE; return GI_NAYRUS_LOVE;
case DEKU_NUTS_10: case DEKU_NUTS_10:
return GI_NUTS_10; return GI_NUTS_10;
case BOMBS_10:
return GI_BOMBS_10;
case BOMBS_20:
return GI_BOMBS_20;
case DEKU_SEEDS_30: case DEKU_SEEDS_30:
return GI_SEEDS_30; return GI_SEEDS_30;
case BOTTLE_WITH_BIG_POE: case BOTTLE_WITH_BIG_POE:

View file

@ -324,7 +324,7 @@ u16 EnGo2_GoronFireGenericGetTextId(EnGo2* this) {
u16 EnGo2_GetTextIdGoronCityRollingBig(GlobalContext* globalCtx, EnGo2* this) { u16 EnGo2_GetTextIdGoronCityRollingBig(GlobalContext* globalCtx, EnGo2* this) {
if (gSaveContext.infTable[17] & 0x4000) { if (gSaveContext.infTable[17] & 0x4000) {
return 0x3013; return 0x3013;
} else if (CUR_CAPACITY(UPG_BOMB_BAG) >= 20 && this->waypoint > 7 && this->waypoint < 12) { } else if ((CUR_CAPACITY(UPG_BOMB_BAG) >= 20 || gSaveContext.n64ddFlag) && this->waypoint > 7 && this->waypoint < 12) {
return 0x3012; return 0x3012;
} else { } else {
return 0x3011; return 0x3011;
@ -341,7 +341,11 @@ s16 EnGo2_GetStateGoronCityRollingBig(GlobalContext* globalCtx, EnGo2* this) {
if (Message_ShouldAdvance(globalCtx)) { if (Message_ShouldAdvance(globalCtx)) {
if (this->actor.textId == 0x3012) { if (this->actor.textId == 0x3012) {
this->actionFunc = EnGo2_SetupGetItem; this->actionFunc = EnGo2_SetupGetItem;
bombBagUpgrade = CUR_CAPACITY(UPG_BOMB_BAG) == 30 ? GI_BOMB_BAG_40 : GI_BOMB_BAG_30; if(!gSaveContext.n64ddFlag) {
bombBagUpgrade = CUR_CAPACITY(UPG_BOMB_BAG) == 30 ? GI_BOMB_BAG_40 : GI_BOMB_BAG_30;
} else {
bombBagUpgrade = GetRandomizedItemIdFromKnownCheck(GC_ROLLING_GORON_AS_CHILD, GI_BOMB_BAG_40);
}
EnGo2_GetItem(this, globalCtx, bombBagUpgrade); EnGo2_GetItem(this, globalCtx, bombBagUpgrade);
Message_CloseTextbox(globalCtx); Message_CloseTextbox(globalCtx);
gSaveContext.infTable[17] |= 0x4000; gSaveContext.infTable[17] |= 0x4000;
@ -509,7 +513,7 @@ s16 EnGo2_GetStateGoronCityLink(GlobalContext* globalCtx, EnGo2* this) {
case TEXT_STATE_CLOSING: case TEXT_STATE_CLOSING:
switch (this->actor.textId) { switch (this->actor.textId) {
case 0x3036: case 0x3036:
EnGo2_GetItem(this, globalCtx, GI_TUNIC_GORON); EnGo2_GetItem(this, globalCtx, gSaveContext.n64ddFlag ? GetRandomizedItemIdFromKnownCheck(GC_ROLLING_GORON_AS_ADULT, GI_TUNIC_GORON) : GI_TUNIC_GORON);
this->actionFunc = EnGo2_SetupGetItem; this->actionFunc = EnGo2_SetupGetItem;
return 2; return 2;
case 0x3037: case 0x3037: