Jump to content

Gestalt Abigail Fails to Revert to AoE Form in Caves


Argon_18
  • Fixed

Hey devs! First off, let me just say how amazing gestalt abigail is! Seriously, the attention to detail and the sheer creativity behind her transformation mechanics is next level. I’m honestly in awe of how smoothly it all works in most scenarios—truly a masterpiece!

That said, I noticed a small detail in the caves: while Abigail can transform into her gestalt form in cave at any time, she doesn’t seem to revert back to her AoE form, no matter the conditions.

Logically, shouldn’t transformations in the caves either be completely disabled or, at the very least, allow her to revert to aoe form? This seems like it might be a bug, because right now it feels a bit inconsistent with the intended mechanics.

Additionally, I’m curious about how you developers view the Moon Dial as a magical item. How does its behavior differ in the caves compared to the surface world? Is this related to the forces of Lunar and Shadow? Oh, forgive me for asking so many tangential questions, but I’m genuinely very curious!


Steps to Reproduce

1. Start the Game: Launch the game and ensure that Lunar Sisterhood III is unlocked and available for use.

2. Enter the Caves: Navigate to the caves and build a moon dial there.

3. Transform into Gestalt Form: Use the moon dial to change Abigail into her gestalt form while inside the caves.

4. Attempt to Revert to AoE Form: Try to revert Gestalt Abigail back to her AoE form using the transformation mechanic.

5. Observe the Behavior: Notice that Gestalt Abigail remains in her gestalt form and does not revert to her AoE form, regardless of the conditions or attempts to trigger the transformation.

  • Like 1



User Feedback


A developer has marked this issue as fixed. This means that the issue has been addressed in the current development build and will likely be in the next update.

Yeah, this happens because caves have separate variables to keep track of the moon phase (the forest also has these variables and keeps track of them, there's a good reason for this, because if something can exist both in the caves and forest, making it check for a cave world state variable means it'll work consistently in both shards, not just the caves):

-- forest and caves
local function OnCaveMoonPhaseChanged2(src, data)
    SetVariable("iscavewaxingmoon", data.waxing)
    SetVariable("cavemoonphase", data.moonphase)
    SetVariable("iscavefullmoon", self.data.iscavenight and data.moonphase == "full", "fullmoon")
    SetVariable("iscavenewmoon", self.data.iscavenight and data.moonphase == "new", "newmoon")
end

-- forest
local function OnMoonPhaseChanged2(src, data)
    SetVariable("iswaxingmoon", data.waxing)
    SetVariable("moonphase", data.moonphase)
    SetVariable("isfullmoon", self.data.isnight and data.moonphase == "full", "fullmoon")
    SetVariable("isnewmoon", self.data.isnight and data.moonphase == "new", "newmoon")
    OnCaveMoonPhaseChanged2(src, data)
end

-- default variables
self.data.moonphase = "new"
self.data.iswaxingmoon = true
self.data.isfullmoon = false
self.data.isnewmoon = false

And as you can see here:

local function domutatefn(inst,doer)
    if not TheWorld.state.isnight then
        return false, "NOTNIGHT"
    elseif not doer.components.ghostlybond or not doer.components.ghostlybond.ghost then
        return false, "NOGHOST"
    elseif doer.components.ghostlybond.ghost:HasTag("gestalt") then
        if  TheWorld.state.isnewmoon or (not TheWorld.state.isfullmoon and not TheWorld.state.iswaxingmoon) then
            doer.components.ghostlybond.ghost:ChangeToGestalt(false)
        else
           return false, "NONEWMOON"
        end
    else    
        if TheWorld.state.isfullmoon or (not TheWorld.state.isnewmoon and TheWorld.state.iswaxingmoon) then
            doer.components.ghostlybond.ghost:ChangeToGestalt(true)            
        else
            return false, "NOFULLMOON"
        end        
    end

    return true
end

This is checking for the forest variables, leading it to think it's always a waxing moon.

 

I feel like either the mutation function of the Moondial shouldn't work at all given that it's basically impossible for it to track the moon phase from the caves, always been this way.

CAVE = "There's no moon down here to measure.",

Or.. it could instead always work as if there's a new moon and allow to revert from gestalt Abigail at any point. Which would help with something I've seen mentioned around regarding the Moonstorms, where you're just not able to revert her outside of character swapping.

Edited by hoxi
Typo
  • Thanks 1

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...