mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-23 06:35:33 -07:00
LH sun check done
This commit is contained in:
parent
a065e43455
commit
dad5163825
3 changed files with 34 additions and 4 deletions
|
@ -1242,6 +1242,8 @@ GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId)
|
||||||
return GI_BOMBCHUS_5;
|
return GI_BOMBCHUS_5;
|
||||||
case BOMBCHUS_20:
|
case BOMBCHUS_20:
|
||||||
return GI_BOMBCHUS_20;
|
return GI_BOMBCHUS_20;
|
||||||
|
case POCKET_EGG:
|
||||||
|
return GI_POCKET_EGG;
|
||||||
case ICE_TRAP:
|
case ICE_TRAP:
|
||||||
return GI_ICE_TRAP;
|
return GI_ICE_TRAP;
|
||||||
case PIECE_OF_HEART:
|
case PIECE_OF_HEART:
|
||||||
|
@ -2048,6 +2050,10 @@ RandomizerCheck Randomizer::GetCheckFromActor(s16 sceneNum, s16 actorId, s16 act
|
||||||
return GANONS_TOWER_BOSS_KEY_CHEST;
|
return GANONS_TOWER_BOSS_KEY_CHEST;
|
||||||
}
|
}
|
||||||
case 87:
|
case 87:
|
||||||
|
switch (actorId) {
|
||||||
|
case 271:
|
||||||
|
return LH_SUN;
|
||||||
|
}
|
||||||
switch(actorParams) {
|
switch(actorParams) {
|
||||||
case 7686:
|
case 7686:
|
||||||
return LH_FREESTANDING_POH;
|
return LH_FREESTANDING_POH;
|
||||||
|
|
|
@ -124,9 +124,16 @@ void func_80B85824(ItemEtcetera* this, GlobalContext* globalCtx) {
|
||||||
Flags_SetSwitch(globalCtx, 0xB);
|
Flags_SetSwitch(globalCtx, 0xB);
|
||||||
}
|
}
|
||||||
Actor_Kill(&this->actor);
|
Actor_Kill(&this->actor);
|
||||||
|
} else {
|
||||||
|
if (gSaveContext.n64ddFlag) {
|
||||||
|
s32 getItemId = GetRandomizedItemId(GI_ARROW_FIRE, this->actor.id, this->actor.params, globalCtx->sceneNum);
|
||||||
|
if (func_8002F434(&this->actor, globalCtx, getItemId, 30.0f, 50.0f)) {
|
||||||
|
Flags_SetTreasure(globalCtx, 0x1F);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
func_8002F434(&this->actor, globalCtx, this->getItemId, 30.0f, 50.0f);
|
func_8002F434(&this->actor, globalCtx, this->getItemId, 30.0f, 50.0f);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80B858B4(ItemEtcetera* this, GlobalContext* globalCtx) {
|
void func_80B858B4(ItemEtcetera* this, GlobalContext* globalCtx) {
|
||||||
|
@ -138,7 +145,17 @@ void func_80B858B4(ItemEtcetera* this, GlobalContext* globalCtx) {
|
||||||
Actor_Kill(&this->actor);
|
Actor_Kill(&this->actor);
|
||||||
} else {
|
} else {
|
||||||
if (0) {} // Necessary to match
|
if (0) {} // Necessary to match
|
||||||
|
|
||||||
|
if (gSaveContext.n64ddFlag) {
|
||||||
|
s32 getItemId =
|
||||||
|
GetRandomizedItemId(GI_ARROW_FIRE, this->actor.id, this->actor.params, globalCtx->sceneNum);
|
||||||
|
if (func_8002F434(&this->actor, globalCtx, getItemId, 30.0f, 50.0f)) {
|
||||||
|
Flags_SetTreasure(globalCtx, 0x1F);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
func_8002F434(&this->actor, globalCtx, this->getItemId, 30.0f, 50.0f);
|
func_8002F434(&this->actor, globalCtx, this->getItemId, 30.0f, 50.0f);
|
||||||
|
}
|
||||||
|
|
||||||
if ((globalCtx->gameplayFrames & 0xD) == 0) {
|
if ((globalCtx->gameplayFrames & 0xD) == 0) {
|
||||||
EffectSsBubble_Spawn(globalCtx, &this->actor.world.pos, 0.0f, 0.0f, 10.0f, 0.13f);
|
EffectSsBubble_Spawn(globalCtx, &this->actor.world.pos, 0.0f, 0.0f, 10.0f, 0.13f);
|
||||||
}
|
}
|
||||||
|
@ -211,6 +228,12 @@ void ItemEtcetera_DrawThroughLens(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
void ItemEtcetera_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
void ItemEtcetera_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||||
ItemEtcetera* this = (ItemEtcetera*)thisx;
|
ItemEtcetera* this = (ItemEtcetera*)thisx;
|
||||||
|
s32 type = this->actor.params & 0xFF;
|
||||||
|
|
||||||
|
if (gSaveContext.n64ddFlag && type == ITEM_ETC_ARROW_FIRE) {
|
||||||
|
this->giDrawId = GetItemModelFromId(
|
||||||
|
GetRandomizedItemId(this->getItemId, this->actor.id, this->actor.params, globalCtx->sceneNum));
|
||||||
|
}
|
||||||
|
|
||||||
func_8002EBCC(&this->actor, globalCtx, 0);
|
func_8002EBCC(&this->actor, globalCtx, 0);
|
||||||
func_8002ED80(&this->actor, globalCtx, 0);
|
func_8002ED80(&this->actor, globalCtx, 0);
|
||||||
|
|
|
@ -162,7 +162,8 @@ void ShotSun_UpdateHyliaSun(ShotSun* this, GlobalContext* globalCtx) {
|
||||||
if (this->collider.base.acFlags & AC_HIT) {
|
if (this->collider.base.acFlags & AC_HIT) {
|
||||||
func_80078884(NA_SE_SY_CORRECT_CHIME);
|
func_80078884(NA_SE_SY_CORRECT_CHIME);
|
||||||
osSyncPrintf(VT_FGCOL(CYAN) "SHOT_SUN HIT!!!!!!!\n" VT_RST);
|
osSyncPrintf(VT_FGCOL(CYAN) "SHOT_SUN HIT!!!!!!!\n" VT_RST);
|
||||||
if (INV_CONTENT(ITEM_ARROW_FIRE) == ITEM_NONE) {
|
if ((INV_CONTENT(ITEM_ARROW_FIRE) == ITEM_NONE && !gSaveContext.n64ddFlag) ||
|
||||||
|
!Flags_GetTreasure(globalCtx, 0x1F)) {
|
||||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_ETCETERA, 700.0f, -800.0f, 7261.0f, 0, 0, 0, 7);
|
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_ETCETERA, 700.0f, -800.0f, 7261.0f, 0, 0, 0, 7);
|
||||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gLakeHyliaFireArrowsCS);
|
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gLakeHyliaFireArrowsCS);
|
||||||
if (1) {}
|
if (1) {}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue