mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-22 22:33:43 -07:00
chests are working again
This commit is contained in:
parent
5906e71550
commit
974fa03aa4
6 changed files with 54 additions and 7 deletions
|
@ -386,6 +386,9 @@ typedef enum {
|
|||
/* 0x81 */ GI_MEDALLION_WATER,
|
||||
/* 0x82 */ GI_MEDALLION_SHADOW,
|
||||
/* 0x83 */ GI_MEDALLION_SPIRIT,
|
||||
/* 0x81 */ GI_STONE_KOKIRI,
|
||||
/* 0x82 */ GI_STONE_GORON,
|
||||
/* 0x83 */ GI_STONE_ZORA,
|
||||
/* 0x84 */ GI_MAX
|
||||
} GetItemID;
|
||||
|
||||
|
@ -507,6 +510,9 @@ typedef enum {
|
|||
/* 0x72 */ GID_BULLET_BAG_50,
|
||||
/* 0x73 */ GID_SWORD_KOKIRI,
|
||||
/* 0x74 */ GID_SKULL_TOKEN_2,
|
||||
/* 0x74 */ GID_KOKIRI_EMERALD,
|
||||
/* 0x74 */ GID_GORON_RUBY,
|
||||
/* 0x74 */ GID_ZORA_SAPPHIRE,
|
||||
/* 0x75 */ GID_MAX
|
||||
} GetItemDrawID;
|
||||
|
||||
|
|
|
@ -481,7 +481,7 @@ typedef struct Player {
|
|||
/* 0x042D */ s8 doorDirection;
|
||||
/* 0x042E */ s16 doorTimer;
|
||||
/* 0x0430 */ Actor* doorActor;
|
||||
/* 0x0434 */ u8 getItemId;
|
||||
/* 0x0434 */ s16 getItemId;
|
||||
/* 0x0436 */ u16 getItemDirection;
|
||||
/* 0x0438 */ Actor* interactRangeActor;
|
||||
/* 0x043C */ s8 mountSide;
|
||||
|
|
|
@ -1007,6 +1007,12 @@ GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId)
|
|||
return GI_MEDALLION_SHADOW;
|
||||
case SPIRIT_MEDALLION:
|
||||
return GI_MEDALLION_SPIRIT;
|
||||
case KOKIRI_EMERALD:
|
||||
return GI_STONE_KOKIRI;
|
||||
case GORON_RUBY:
|
||||
return GI_STONE_GORON;
|
||||
case ZORA_SAPPHIRE:
|
||||
return GI_STONE_ZORA;
|
||||
default:
|
||||
return ogItemId;
|
||||
}
|
||||
|
@ -1034,6 +1040,20 @@ RandomizerCheck Randomizer::GetCheckFromActor(s16 sceneNum, s16 actorId, s16 act
|
|||
case 93:
|
||||
return QUEEN_GOHMA;
|
||||
}
|
||||
case 18:
|
||||
switch (actorId) {
|
||||
case 95:
|
||||
return DODONGOS_CAVERN_KING_DODONGO_HEART;
|
||||
case 93:
|
||||
return KING_DODONGO;
|
||||
}
|
||||
case 19:
|
||||
switch (actorId) {
|
||||
case 95:
|
||||
return JABU_JABUS_BELLY_BARINADE_HEART;
|
||||
case 93:
|
||||
return BARINADE;
|
||||
}
|
||||
case 40:
|
||||
switch(actorParams) {
|
||||
case 22944:
|
||||
|
|
|
@ -367,6 +367,12 @@ DrawItemTableEntry sDrawItemTable[] = {
|
|||
{ GetItem_DrawOpa0, { gGiKokiriSwordDL } },
|
||||
// gold skulltula token, OBJECT_ST
|
||||
{ GetItem_DrawSkullToken, { object_st_DL_004DB0, object_st_DL_004EB8 } },
|
||||
|
||||
{ GetItem_DrawOpa0Xlu1, { gGiKokiriEmeraldGemDL, gGiKokiriEmeraldSettingDL } },
|
||||
// fire medallion, OBJECT_GI_MEDAL
|
||||
{ GetItem_DrawOpa0Xlu1, { gGiGoronRubySettingDL, gGiGoronRubyGemDL } },
|
||||
// water medallion, OBJECT_GI_MEDAL
|
||||
{ GetItem_DrawOpa0Xlu1, { gGiZoraSapphireSettingDL, gGiZoraSapphireGemDL, } },
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -530,9 +530,14 @@ void DoorWarp1_ChildWarpOut(DoorWarp1* this, GlobalContext* globalCtx) {
|
|||
if (globalCtx->sceneNum == SCENE_DDAN_BOSS) {
|
||||
if (!Flags_GetEventChkInf(0x25)) {
|
||||
Flags_SetEventChkInf(0x25);
|
||||
Item_Give(globalCtx, ITEM_GORON_RUBY);
|
||||
globalCtx->nextEntranceIndex = 0x13D;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
if (gSaveContext.n64ddFlag) {
|
||||
globalCtx->nextEntranceIndex = 0x47A;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
} else {
|
||||
Item_Give(globalCtx, ITEM_GORON_RUBY);
|
||||
globalCtx->nextEntranceIndex = 0x13D;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF1;
|
||||
}
|
||||
} else {
|
||||
globalCtx->nextEntranceIndex = 0x47A;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
|
@ -640,9 +645,16 @@ void DoorWarp1_RutoWarpOut(DoorWarp1* this, GlobalContext* globalCtx) {
|
|||
|
||||
if (this->warpTimer > sWarpTimerTarget && gSaveContext.nextCutsceneIndex == 0xFFEF) {
|
||||
gSaveContext.eventChkInf[3] |= 0x80;
|
||||
Item_Give(globalCtx, ITEM_ZORA_SAPPHIRE);
|
||||
globalCtx->nextEntranceIndex = 0x10E;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
|
||||
if (gSaveContext.n64ddFlag) {
|
||||
globalCtx->nextEntranceIndex = 0x10E;
|
||||
gSaveContext.nextCutsceneIndex = 0;
|
||||
} else {
|
||||
Item_Give(globalCtx, ITEM_ZORA_SAPPHIRE);
|
||||
globalCtx->nextEntranceIndex = 0x10E;
|
||||
gSaveContext.nextCutsceneIndex = 0xFFF0;
|
||||
}
|
||||
|
||||
globalCtx->sceneLoadFlag = 0x14;
|
||||
globalCtx->fadeTransition = 7;
|
||||
}
|
||||
|
|
|
@ -627,6 +627,9 @@ static GetItemEntry sGetItemTable[] = {
|
|||
GET_ITEM(ITEM_MEDALLION_WATER, OBJECT_GI_MEDAL, GID_MEDALLION_WATER, 0x3D, 0x80, CHEST_ANIM_LONG),
|
||||
GET_ITEM(ITEM_MEDALLION_SHADOW, OBJECT_GI_MEDAL, GID_MEDALLION_SHADOW, 0x41, 0x80, CHEST_ANIM_LONG),
|
||||
GET_ITEM(ITEM_MEDALLION_SPIRIT, OBJECT_GI_MEDAL, GID_MEDALLION_SPIRIT, 0x3F, 0x80, CHEST_ANIM_LONG),
|
||||
GET_ITEM(ITEM_KOKIRI_EMERALD, OBJECT_GI_COIN, GID_NCOIN_GREEN, 0x80, 0x80, CHEST_ANIM_LONG),
|
||||
GET_ITEM(ITEM_GORON_RUBY, OBJECT_GI_COIN, GID_NCOIN_RED, 0x81, 0x80, CHEST_ANIM_LONG),
|
||||
GET_ITEM(ITEM_ZORA_SAPPHIRE, OBJECT_GI_COIN, GID_NCOIN_BLUE, 0x82, 0x80, CHEST_ANIM_LONG),
|
||||
GET_ITEM_NONE,
|
||||
GET_ITEM_NONE,
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue