Jump to content

IsWagbossDefeated check in brightmarespawner.lua does nothing on its own


hoxi
  • Pending

This is for an unfinished feature, as there's not even a trigger to set that the final lunar boss was defeated at the moment, but I'm still reporting it before the release happens in two days just to be safe.

 

OnSanityModeChanged and OnPlayerJoined would also need to check for it for gestalts (including the evolved greater ones) to spawn at all times upon defeating the final lunar boss. Example shown below:

local function OnSanityModeChanged(player, data)
	local wagboss_tracker = TheWorld.components.wagboss_tracker

	if (wagboss_tracker ~= nil and wagboss_tracker:IsWagbossDefeated()) or data ~= nil and data.mode == SANITY_MODE_LUNACY then
		_players[player] = {}
	else
		_players[player] = nil
	end

	if next(_players) ~= nil then
		Start()
	else
		Stop()
	end
end

local function OnPlayerJoined(i, player)
	i:ListenForEvent("sanitymodechanged", OnSanityModeChanged, player)

	local wagboss_tracker = TheWorld.components.wagboss_tracker
	if (wagboss_tracker ~= nil and wagboss_tracker:IsWagbossDefeated()) or player.components.sanity:IsLunacyMode() then
		OnSanityModeChanged(player, {mode = player.components.sanity:GetSanityMode()})
	end
end

This is assuming that that's what's intended at least, since between the new gestalts having some issues with their targeting and behavior, and the stuff in this report being a thing, it's hard to tell if it was even finished at that point.

 

There's also the fact that only the forest world has a wagboss_tracker component, despite there being a shard_wagbossinfo component that would allow syncing this to other shards, but it's also unfinished and both components don't account for that. If you wanted this behavior to extend to the caves on defeating the final lunar boss, you'd need the component there and set up the listeners for net var changing accordingly.

 

Keep in mind that even if all this is addressed, if the wagboss defeated check stays and is properly propagated in brightmarespawner.lua, you'd need to add that defeated check to code involving sanity:IsLunacyMode (both component and replica), and gestalts and greater evolved gestalts (greater gestalts too potentially, but they normally don't spawn from there). This includes even for clients. Only then will things match and be consistent.


Steps to Reproduce

Nothing here, as this is unfinished, this is just a heads-up.




User Feedback


Disregard this report, update 674312 addressed some of this.

 

Maybe only this:

Quote

There's also the fact that only the forest world has a wagboss_tracker component, despite there being a shard_wagbossinfo component that would allow syncing this to other shards, but it's also unfinished and both components don't account for that. If you wanted this behavior to extend to the caves on defeating the final lunar boss, you'd need the component there and set up the listeners for net var changing accordingly.

And that the Inimical Gestalts still have some weird behavior is what's still relevant from here.

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...