Engines Aether Legend of the Lunar Priest NIFE Roadmap
Shatterloop Game Projects Deprecated Starwright
Saepes Mundi Other Projects Blog  

Shatterloop

Caves v2 Checklist

Posted May 1, 2024 by Xhin

I'm migrating literally everything related to the overarching Caves project here, separated by update so it's better-organized. I probably need to rewrite large chunks of it as well.

There are 3 Replies


Update #2: Ropes Update

Basic Stuff

  • Remove rope/grappling rope equipment.

  • Remove rope/grappling rope properties. These are instead homogeneous items that are generated.

  • Simplify the recipe -- 1 of everything instead of 2+.

  • Create a "Supplies" category and move ropes and grappling ropes there.

  • Show how many ropes you have on the Caves menu. Show also how many grappling ropes you have.

  • Create ropes{}.

  • On the overworld cave hole menu, allow you to add a rope to enter the cave. This hooks into the ropes.roping() function.

  • Interacting with a cave hole below the overworld will automatically do the roping function, unless you have no ropes, in which case it'll pop open a small menu telling you as much.

    Roping

  • Take a rope, add a rope-y sym (probably a double vertical pipe), and add data to the cave hole saying which floor you're going to (down by one).

  • Down at the other floor, build a rope in the same position that goes up to this floor instead.

  • Interacting with a roped cave hole will put you down a floor on the other side of the cave hole and also run the cave generation/etc code.

  • May 1, 2024
    Xhin
    Sky's the limit

    Grappling Ropes

    Grappling Ropes

  • In the caves menu, have a button to throw a grappling rope.

  • This fails if you have none or if you're not on a solid (and it indicates this accordingly).

  • Throwing it will do the opposite of the rope -- it'll create a cave hole and rope on both sides and rope them, but the one here will go up while the one there will go down.

  • It should also store the seeding information so going back down will re-generate the same cave.

    OOB

  • If the rope would've moved out of bounds, reduce the bad coords until it's in bounds.

  • If in doing this there's already a rope there, fail and say as much.

  • Because of this change, the coord of the attached cave hole is also important data to store in caved rope holes.

    Terrain Crossing

  • Have a button to "Cross hazard". Activate it if you have a grappling hook, otherwise fail and say as much.

  • This should give you a mouse line at max length that runs orth or diag like the bow.

  • If you're on a floor tile and there's a water or lava tile like that and then a floor tile at the other end on screen (which is the max range here), this works, otherwise give an error.

  • Take the grappling rope, then create a pathway of floors that lead to the other side.

    Misc

  • Swimming Cyborgs should be able to swim in lava too.

  • If there's an explicit lava swimming trait, remove it.

  • May 1, 2024
    Xhin
    Sky's the limit

    Collected{} fix (Needs to be a part of the Ropes update)

    (( might be irrelevant as of the new version of caves v2, but on the other hand this looks like a good general purpose feature ))

  • The add() and check() functions should check a settable prefix.

  • Entering a cave sets the cave hole coordinate prefix.

  • Exiting it unsets it.

    This will make cave resources independent from one another.

  • May 1, 2024
    Xhin
    Sky's the limit

    Reply to: Caves v2 Checklist

    Username
    Password