Enhancement: MM-Style Static Explosion Radius (#2322)

* Adds Static Explosion Radius Enhancement

* Changed default value

* Update libultraship

* Update CVar Syntax

* Revert "Update libultraship"

This reverts commit d0e243565a.
This commit is contained in:
splemb 2023-01-21 22:45:43 +00:00 committed by GitHub
parent a58705eaf4
commit 643a98244b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 2 deletions

View File

@ -174,7 +174,8 @@ const std::vector<const char*> enhancementsCvars = {
"gBombchuBowlingNoBigCucco",
"gBombchuBowlingAmmunition",
"gCreditsFix",
"gSilverRupeeJingleExtend"
"gSilverRupeeJingleExtend",
"gStaticExplosionRadius"
};
const std::vector<const char*> randomizerCvars = {

View File

@ -400,6 +400,8 @@ namespace GameMenuBar {
UIWidgets::Tooltip("Makes nuts explode bombs, similar to how they interact with bombchus. This does not affect bombflowers.");
UIWidgets::PaddedEnhancementCheckbox("Equip Multiple Arrows at Once", "gSeparateArrows", true, false);
UIWidgets::Tooltip("Allow the bow and magic arrows to be equipped at the same time on different slots");
UIWidgets::PaddedEnhancementCheckbox("Static Explosion Radius", "gStaticExplosionRadius", true, false);
UIWidgets::Tooltip("Explosions are now a static size, like in Majora's Mask and OoT3D. Makes bombchu hovering much easier.");
ImGui::EndMenu();
}

View File

@ -177,7 +177,12 @@ void EnBom_Explode(EnBom* this, PlayState* play) {
func_800AA000(this->actor.xzDistToPlayer, 0xFF, 0x14, 0x96);
}
this->explosionCollider.elements[0].dim.worldSphere.radius += this->actor.shape.rot.z + 8;
if (CVarGetInteger("gStaticExplosionRadius", 0)) {
this->explosionCollider.elements[0].dim.worldSphere.radius = 40;
} else {
this->explosionCollider.elements[0].dim.worldSphere.radius += this->actor.shape.rot.z + 8;
}
if (this->actor.params == BOMB_EXPLOSION) {
CollisionCheck_SetAT(play, &play->colChkCtx, &this->explosionCollider.base);