Verity Calculator D2

.verity-calc-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; max-width: 800px; margin: 20px auto; padding: 30px; background-color: #0f1217; color: #e0e0e0; border: 1px solid #30363d; border-radius: 12px; box-shadow: 0 10px 25px rgba(0,0,0,0.5); } .verity-header { text-align: center; border-bottom: 2px solid #ceae33; padding-bottom: 15px; margin-bottom: 25px; } .verity-header h2 { color: #ceae33; margin: 0; text-transform: uppercase; letter-spacing: 2px; } .calc-row { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 20px; } .calc-field { flex: 1; min-width: 200px; } .calc-field label { display: block; margin-bottom: 8px; font-weight: 600; color: #a3a3a3; } .calc-field select { width: 100%; padding: 12px; background: #1c2128; border: 1px solid #444c56; color: #fff; border-radius: 6px; font-size: 16px; } .verity-btn { background-color: #ceae33; color: #000; border: none; padding: 15px 30px; font-size: 18px; font-weight: bold; border-radius: 6px; cursor: pointer; width: 100%; transition: background 0.3s; text-transform: uppercase; } .verity-btn:hover { background-color: #e6c54a; } .verity-result { margin-top: 25px; padding: 20px; background: #1c2128; border-left: 5px solid #ceae33; display: none; } .result-title { color: #ceae33; font-weight: bold; font-size: 20px; margin-bottom: 10px; } .instruction-step { margin: 10px 0; padding-left: 20px; position: relative; } .instruction-step:before { content: "•"; position: absolute; left: 0; color: #ceae33; } .shape-badge { display: inline-block; padding: 2px 8px; border-radius: 4px; background: #30363d; font-weight: bold; } .article-content { margin-top: 40px; line-height: 1.6; color: #d1d5db; } .article-content h3 { color: #ceae33; border-bottom: 1px solid #30363d; padding-bottom: 10px; } .combination-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin: 20px 0; } .combo-card { background: #1c2128; padding: 15px; border-radius: 8px; border: 1px solid #30363d; }

Verity Solver: Salvation's Edge

Inside Room Logistics & Shape Combinations

Circle Square Triangle
Circle Square Triangle
Circle Square Triangle
Target: Cylinder

How the Verity Mechanic Works

The Verity encounter in the Salvation's Edge Raid is a complex logic puzzle. Players are split between "Inside Rooms" (Solo) and the "Main Room" (Dissection). For those inside the solo rooms, the goal is to manipulate the two shapes on their wall until they hold the two shapes that their own statue is NOT holding.

For example, if your statue is holding a Circle, your final goal is to have a Square and a Triangle on your wall. When these two combine, they form a Prism, allowing you to exit through the glass.

Inside Room Logic Steps

To successfully "clean" your room and prepare for exit, you generally follow two phases:

  1. Phase 1 (The Purge): If you have shapes that match your own statue, you must give them away to the players who represent those shapes. If you have two of your own shape, give one to each of the other two players.
  2. Phase 2 (The Combination): Once you have no shapes matching your statue, you trade one of your "incorrect" shapes with the other player who also has an "incorrect" shape to complete your set.
Cylinder: Square + Circle
(Required for Triangle Statue)
Cone: Circle + Triangle
(Required for Square Statue)
Prism: Square + Triangle
(Required for Circle Statue)
Sphere/Cube/Pyramid: Double shapes.
Used to trigger specific mechanic transitions.

Exit Combinations Reference

Use the following table to verify your 3D shape before attempting to walk through the glass wall:

  • Circle Player: Needs Square & Triangle. Final Shape: Prism.
  • Square Player: Needs Circle & Triangle. Final Shape: Cone.
  • Triangle Player: Needs Circle & Square. Final Shape: Cylinder.
function calculateVerity() { var statue = document.getElementById('myStatue').value; var w1 = document.getElementById('wallLeft').value; var w2 = document.getElementById('wallRight').value; var resultBox = document.getElementById('resultBox'); var stepsList = document.getElementById('stepsList'); var finalShapeTitle = document.getElementById('finalShapeTitle'); resultBox.style.display = 'block'; stepsList.innerHTML = "; var targetShapes = []; var target3D = ""; // Determine target state based on statue if (statue === 'circle') { targetShapes = ['square', 'triangle']; target3D = "Prism (Square + Triangle)"; } else if (statue === 'square') { targetShapes = ['circle', 'triangle']; target3D = "Cone (Circle + Triangle)"; } else if (statue === 'triangle') { targetShapes = ['circle', 'square']; target3D = "Cylinder (Circle + Square)"; } finalShapeTitle.innerText = "Goal: " + target3D; // Logic for Instructions var steps = []; // Phase 1: Check for doubles or matching statue if (w1 === statue && w2 === statue) { steps.push("You have a Double " + statue.toUpperCase() + ". Give one to each of the other two players."); } else if (w1 === statue || w2 === statue) { var otherShape = (w1 === statue) ? w2 : w1; steps.push("Give your " + statue.toUpperCase() + " to the player representing that shape."); steps.push("Wait to receive a shape from your teammates."); } else if (w1 === w2) { steps.push("You have a double " + w1.toUpperCase() + ". Give one to the player who needs it (the " + (w1 === 'circle' ? 'Triangle/Square' : w1 === 'square' ? 'Circle/Triangle' : 'Circle/Square') + ")."); } // Phase 2: Completion var currentShapes = [w1, w2]; var isCorrect = true; for (var i = 0; i < targetShapes.length; i++) { if (currentShapes.indexOf(targetShapes[i]) === -1) { isCorrect = false; } } if (isCorrect) { steps.push("READY TO EXIT: Your wall matches the required combination for your statue."); } else { steps.push("After clearing your statue's shape, swap your remaining 'incorrect' shape with the third player to get your " + targetShapes[0] + " and " + targetShapes[1] + "."); } // Handle the "Shadow" logic steps.push("Note: If you see shadows of players on the wall, wait until your teammates have distributed shapes correctly before picking up your 3D combination."); for (var j = 0; j < steps.length; j++) { var div = document.createElement('div'); div.className = 'instruction-step'; div.innerHTML = steps[j]; stepsList.appendChild(div); } }

Leave a Reply

Your email address will not be published. Required fields are marked *