Jump to content

Crab King's celestial tribute teleports due to ice floor


Crestwave
  • Pending

The altar's submersible component checks nearby tiles in order to ensure that the underwater salvageable can be retrieved. Crab King's rework added an ice floor which temporarily blocks the area and causes the checks to fail, which makes the altar teleport to various places, including nearby land shores, nearby ocean spots, or the spawn portal.

To fix this, components/submersible.lua could potentially be changed to consider WORLD_TILES.OCEAN_ICE tiles as an ocean tile for the purposes of its check, since it will melt into ice a few seconds later and does not serve as an actual blocker for retrieval. Here is my proposed patch:

--- a/components/submersible.lua
+++ b/components/submersible.lua
@@ -28,7 +28,7 @@
 		local check_x = x + v.x
 		local check_z = z + v.z
 
-		if TheWorld.Map:IsOceanTileAtPoint(check_x, 0, check_z) then
+		if TheWorld.Map:IsOceanTileAtPoint(check_x, 0, check_z) or TheWorld.Map:IsOceanIceAtPoint(check_x, 0, check_z) then
 			table.insert(waterpoints, { x = check_x, z = check_z })
 		else
 			table.insert(landpoints, { x = check_x, z = check_z })

NOTE: I have not actually tested this change in-game since it is currently late Christmas Eve in my timezone. Happy Winter's Feast!

Previous reports (the first contains a video clip):

 


Steps to Reproduce

1. Go to crab king.

2. Insert a pearl along with other gems.

3. Kill crab king while on the ice floor.

4. Note that the altar teleports around due to the breaking tiles. If you're unlucky, it might spawn somewhere very far away.

  • Like 2
  • Thanks 3



User Feedback




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