Destiny 2 Verity Calculator – Salvation's Edge Raid Tool
:root {
–d2-bg: #1a1a1d;
–d2-panel: #26262b;
–d2-accent: #4eb1ba;
–d2-text: #f0f0f0;
–d2-border: #3d3d45;
–shape-square: #ff9f43;
–shape-circle: #ff6b6b;
–shape-triangle: #1dd1a1;
}
body {
font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
background-color: #f4f4f4;
color: #333;
line-height: 1.6;
margin: 0;
padding: 20px;
}
.calculator-container {
max-width: 800px;
margin: 0 auto;
background: var(–d2-bg);
color: var(–d2-text);
padding: 30px;
border-radius: 8px;
box-shadow: 0 4px 15px rgba(0,0,0,0.5);
border: 1px solid var(–d2-border);
}
.calc-header {
text-align: center;
margin-bottom: 30px;
border-bottom: 2px solid var(–d2-accent);
padding-bottom: 15px;
}
.calc-header h2 {
margin: 0;
font-size: 2em;
text-transform: uppercase;
letter-spacing: 2px;
color: var(–d2-accent);
}
.input-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
margin-bottom: 25px;
}
.input-group {
background: var(–d2-panel);
padding: 15px;
border-radius: 6px;
border: 1px solid var(–d2-border);
}
.input-group label {
display: block;
margin-bottom: 10px;
font-weight: bold;
font-size: 0.9em;
text-transform: uppercase;
color: #ccc;
}
.input-group select {
width: 100%;
padding: 12px;
background: #111;
border: 1px solid #555;
color: #fff;
border-radius: 4px;
font-size: 16px;
cursor: pointer;
}
.input-group select:focus {
outline: none;
border-color: var(–d2-accent);
}
button.calc-btn {
display: block;
width: 100%;
padding: 15px;
background: var(–d2-accent);
color: #000;
border: none;
border-radius: 4px;
font-size: 1.1em;
font-weight: bold;
text-transform: uppercase;
cursor: pointer;
transition: background 0.3s;
margin-bottom: 20px;
}
button.calc-btn:hover {
background: #3a8e96;
}
#result {
display: none;
background: var(–d2-panel);
border: 1px solid var(–d2-accent);
padding: 20px;
border-radius: 6px;
margin-top: 20px;
}
.result-title {
text-align: center;
font-size: 1.2em;
font-weight: bold;
margin-bottom: 15px;
color: var(–d2-accent);
text-transform: uppercase;
}
.player-card {
background: rgba(0,0,0,0.3);
margin-bottom: 10px;
padding: 15px;
border-left: 4px solid #555;
border-radius: 0 4px 4px 0;
display: flex;
justify-content: space-between;
align-items: center;
}
.player-card.left { border-color: var(–shape-square); } /* Example coloring */
.player-card.middle { border-color: var(–shape-circle); }
.player-card.right { border-color: var(–shape-triangle); }
.player-info h4 {
margin: 0 0 5px 0;
font-size: 1em;
color: #fff;
}
.key-requirement {
text-align: right;
}
.key-name {
font-weight: bold;
font-size: 1.2em;
color: var(–d2-accent);
}
.components {
font-size: 0.85em;
color: #aaa;
}
.shape-icon {
display: inline-block;
width: 10px;
height: 10px;
margin-right: 5px;
border-radius: 50%;
}
/* WordPress Article Styling */
.content-area {
max-width: 800px;
margin: 40px auto;
background: #fff;
padding: 30px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.content-area h2 { color: #2c3e50; border-bottom: 2px solid #eee; padding-bottom: 10px; }
.content-area h3 { color: #34495e; margin-top: 25px; }
.content-area p { color: #555; margin-bottom: 15px; }
.content-area ul { margin-bottom: 20px; padding-left: 20px; }
.content-area li { margin-bottom: 8px; color: #555; }
.highlight {
background-color: #f0f8ff;
padding: 2px 5px;
border-radius: 3px;
font-weight: bold;
color: #2980b9;
}
How to Master the Verity Encounter in Salvation's Edge
The Verity encounter (often called the "4th Encounter" or "The Red Room") in Destiny 2's Salvation's Edge raid is notoriously complex. It requires precise communication and logic puzzle solving between the inside "Solo" team and the outside "Dissection" team. This calculator focuses on the **Inside Room** mechanics to help Guardians determine exactly which shapes they need to collect to escape.
Understanding the Inside Logic
When three players are transported to the solo rooms, they each see a specific 2D shape on the back wall (Square, Circle, or Triangle) held by a statue that looks like their Guardian. To exit the room, you must create a 3D Key on your statue.
The rule for creating your key is strict: Your key must be formed by the shapes held by the OTHER two statues.
- Left Player needs the shapes from the Middle and Right players.
- Middle Player needs the shapes from the Left and Right players.
- Right Player needs the shapes from the Left and Middle players.
How to Use This Calculator
- Identify the shape on the wall for the Left, Middle, and Right solo players.
- Select these shapes in the dropdown menus above.
- Click "Calculate Exit Keys".
- The tool will tell you exactly which 3D Shape you need to build and which two 2D Shapes combine to make it.
3D Shape Combinations Reference
Memorizing the combinations is key to speed. Here is the standard "Shadow" geometry logic used in the encounter:
- Circle + Square = Cylinder
- Circle + Triangle = Cone
- Square + Triangle = Prism (Triangular Prism)
- Square + Square = Cube
- Circle + Circle = Sphere
- Triangle + Triangle = Pyramid (Tetrahedron)
Why Use a Calculator?
While the logic seems simple on paper (get the shapes the others have), the pressure of the Final Shape mechanics, the wiping timer, and the need to juggle knights can cause mental errors. Using this tool allows the raid leader or a designated "scribe" to instantly call out exit requirements: "Left needs Cone, Middle needs Prism, Right needs Cylinder!"
This ensures you don't accidentally pick up your own shape (which often results in death or failure to cleanse) and streamlines the trading phase.
function calculateVerity() {
// Get input elements
var leftSelect = document.getElementById("leftShape");
var middleSelect = document.getElementById("middleShape");
var rightSelect = document.getElementById("rightShape");
var resultDiv = document.getElementById("result");
// Get values
var leftVal = leftSelect.value;
var middleVal = middleSelect.value;
var rightVal = rightSelect.value;
// Validation
if (leftVal === "" || middleVal === "" || rightVal === "") {
resultDiv.style.display = "block";
resultDiv.innerHTML = "Please select a wall shape for all three players.";
return;
}
// Logic:
// Left needs Middle + Right
// Middle needs Left + Right
// Right needs Left + Middle
var leftReq = combineShapes(middleVal, rightVal);
var middleReq = combineShapes(leftVal, rightVal);
var rightReq = combineShapes(leftVal, middleVal);
// Build Output HTML
var html = '
Required Exit Keys
';
// Left Player Card
html += '
';
html += '
LEFT PLAYER
Wall: ' + leftVal + '';
html += '
' + leftReq.shape3D + '
Need: ' + leftReq.components + '
';
html += '
';
// Middle Player Card
html += '
';
html += '
MIDDLE PLAYER
Wall: ' + middleVal + '';
html += '
' + middleReq.shape3D + '
Need: ' + middleReq.components + '
';
html += '
';
// Right Player Card
html += '
';
html += '
RIGHT PLAYER
Wall: ' + rightVal + '';
html += '
' + rightReq.shape3D + '
Need: ' + rightReq.components + '
';
html += '
';
// Display
resultDiv.style.display = "block";
resultDiv.innerHTML = html;
}
function combineShapes(shape1, shape2) {
// Sort shapes alphabetically to handle "Circle + Square" same as "Square + Circle"
var shapes = [shape1, shape2].sort();
var key = shapes[0] + "-" + shapes[1];
var result = {
shape3D: "Unknown",
components: shape1 + " + " + shape2
};
// Logic Mapping
if (key === "Circle-Square") {
result.shape3D = "Cylinder";
} else if (key === "Circle-Triangle") {
result.shape3D = "Cone";
} else if (key === "Square-Triangle") {
result.shape3D = "Prism";
} else if (key === "Square-Square") {
result.shape3D = "Cube";
} else if (key === "Circle-Circle") {
result.shape3D = "Sphere";
} else if (key === "Triangle-Triangle") {
result.shape3D = "Pyramid";
}
return result;
}