mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-22 22:33:43 -07:00
Adds option to stop the game from freezing the player when picking up gold skulltula's
This commit is contained in:
parent
076887e71f
commit
74cc83a6f9
2 changed files with 6 additions and 3 deletions
|
@ -679,6 +679,8 @@ namespace SohImGui {
|
||||||
Tooltip("Allows equiping the tunic and boots to c-buttons");
|
Tooltip("Allows equiping the tunic and boots to c-buttons");
|
||||||
EnhancementCheckbox("MM Bunny Hood", "gMMBunnyHood");
|
EnhancementCheckbox("MM Bunny Hood", "gMMBunnyHood");
|
||||||
Tooltip("Wearing the Bunny Hood grants a speed increase like in Majora's Mask");
|
Tooltip("Wearing the Bunny Hood grants a speed increase like in Majora's Mask");
|
||||||
|
EnhancementCheckbox("No Skulltula Freeze", "gSkulltulaFreeze");
|
||||||
|
Tooltip("Stops the game from freezing the player when picking up Gold Skulltulas");
|
||||||
|
|
||||||
ImGui::EndMenu();
|
ImGui::EndMenu();
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,9 @@ void func_80AFB768(EnSi* this, GlobalContext* globalCtx) {
|
||||||
if (this->collider.base.ocFlags2 & OC2_HIT_PLAYER) {
|
if (this->collider.base.ocFlags2 & OC2_HIT_PLAYER) {
|
||||||
this->collider.base.ocFlags2 &= ~OC2_HIT_PLAYER;
|
this->collider.base.ocFlags2 &= ~OC2_HIT_PLAYER;
|
||||||
Item_Give(globalCtx, ITEM_SKULL_TOKEN);
|
Item_Give(globalCtx, ITEM_SKULL_TOKEN);
|
||||||
player->actor.freezeTimer = 10;
|
if (CVar_GetS32("gSkulltulaFreeze", 0) != 1) {
|
||||||
|
player->actor.freezeTimer = 20;
|
||||||
|
}
|
||||||
Message_StartTextbox(globalCtx, 0xB4, NULL);
|
Message_StartTextbox(globalCtx, 0xB4, NULL);
|
||||||
Audio_PlayFanfare(NA_BGM_SMALL_ITEM_GET);
|
Audio_PlayFanfare(NA_BGM_SMALL_ITEM_GET);
|
||||||
this->actionFunc = func_80AFB950;
|
this->actionFunc = func_80AFB950;
|
||||||
|
@ -116,7 +118,6 @@ void func_80AFB89C(EnSi* this, GlobalContext* globalCtx) {
|
||||||
|
|
||||||
if (!CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_13)) {
|
if (!CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_13)) {
|
||||||
Item_Give(globalCtx, ITEM_SKULL_TOKEN);
|
Item_Give(globalCtx, ITEM_SKULL_TOKEN);
|
||||||
player->actor.freezeTimer = 10;
|
|
||||||
Message_StartTextbox(globalCtx, 0xB4, NULL);
|
Message_StartTextbox(globalCtx, 0xB4, NULL);
|
||||||
Audio_PlayFanfare(NA_BGM_SMALL_ITEM_GET);
|
Audio_PlayFanfare(NA_BGM_SMALL_ITEM_GET);
|
||||||
this->actionFunc = func_80AFB950;
|
this->actionFunc = func_80AFB950;
|
||||||
|
@ -126,7 +127,7 @@ void func_80AFB89C(EnSi* this, GlobalContext* globalCtx) {
|
||||||
void func_80AFB950(EnSi* this, GlobalContext* globalCtx) {
|
void func_80AFB950(EnSi* this, GlobalContext* globalCtx) {
|
||||||
Player* player = GET_PLAYER(globalCtx);
|
Player* player = GET_PLAYER(globalCtx);
|
||||||
|
|
||||||
if (Message_GetState(&globalCtx->msgCtx) != TEXT_STATE_CLOSING) {
|
if (Message_GetState(&globalCtx->msgCtx) != TEXT_STATE_CLOSING && CVar_GetS32("gSkulltulaFreeze", 0) != 1) {
|
||||||
player->actor.freezeTimer = 10;
|
player->actor.freezeTimer = 10;
|
||||||
} else {
|
} else {
|
||||||
SET_GS_FLAGS((this->actor.params & 0x1F00) >> 8, this->actor.params & 0xFF);
|
SET_GS_FLAGS((this->actor.params & 0x1F00) >> 8, this->actor.params & 0xFF);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue