Implement Crystal Sanctuary combination lock

  • Add CrystalSanctuaryLock and CrystalSanctuaryLockBtn classes for the combination lock puzzle.
  • Check for combination 3 and 7 on the lock rings to trigger opening the door.
  • Update player shelter logic to only grant shelter if the sanctuary door is open.
  • Remove automatic door opening from the guardian’s death trigger.
  • Replace static lock meshes in gameplay.json with the new CrystalSanctuaryLock node.
  • Register CrystalSanctuaryLock node type in assets.cpp.
  • Add btn-ico.xcf texture asset for the interaction button.
  • Expose isOpen member in CrystalSanctuaryBaseDoor to check door status.

Previous