MediaWiki:Common.js: Difference between revisions
From The Jadnix Codex
No edit summary |
No edit summary |
||
| Line 135: | Line 135: | ||
} | } | ||
// FINAL RESULT | |||
let finalBox = $('#crdd-final-output'); | let finalBox = $('#crdd-final-output'); | ||
let finalLabel = $('#crdd-final-label'); | let finalLabel = $('#crdd-final-label'); | ||
| Line 147: | Line 147: | ||
let percent = (totalScore / activeMaxScore) * 100; | let percent = (totalScore / activeMaxScore) * 100; | ||
// 1. CRITICAL OVERRIDE (Panic Mode: White Background, Red Glow) | |||
// Triggered if any single stat was > 24 | |||
if (criticalOverride) { | if (criticalOverride) { | ||
finalLabel.text("CRITICAL THREAT DETECTED"); | finalLabel.text("CRITICAL THREAT DETECTED"); | ||
finalBox.text("NULL (" + percent.toFixed(1) + "% - | // Includes your requested Percentage Fix + LEAVE NOW | ||
finalBox.text("NULL (" + percent.toFixed(1) + "% - LEAVE NOW)"); | |||
finalBox.css({ | finalBox.css({ | ||
'color': '#000000', | 'background-color': '#ffffff', // Blinding White | ||
' | 'color': '#000000', // Black Text | ||
'text-shadow': '0 0 10px red' | 'border-color': '#ff0000', | ||
'text-shadow': '0 0 10px red', | |||
'box-shadow': '0 0 30px rgba(255, 0, 0, 0.8)' | |||
}); | }); | ||
} else { | } | ||
// 2. STANDARD / ORGANIC CALCULATION (Normal Mode) | |||
else { | |||
let finalRating = "ANCHORED"; | let finalRating = "ANCHORED"; | ||
let finalColor = "#00ff9f"; | let finalColor = "#00ff9f"; // Green | ||
let finalMsg = "YOU ARE SAFE"; | let finalMsg = "YOU ARE SAFE"; | ||
let finalShadow = finalColor; | |||
let finalBg = "transparent"; | |||
if (percent > 25) { finalRating = "VOLATILE"; finalColor = "#ffd700"; finalMsg = "PROCEED WITH CAUTION"; } | if (percent > 25) { | ||
if (percent > 50) { finalRating = "FRACTURED"; finalColor = "#ff4500"; finalMsg = "YOU ARE IN DANGER"; } | finalRating = "VOLATILE"; | ||
if (percent > 75) { finalRating = "NULL"; finalColor = "# | finalColor = "#ffd700"; // Gold | ||
finalMsg = "PROCEED WITH CAUTION"; | |||
finalShadow = finalColor; | |||
} | |||
if (percent > 50) { | |||
finalRating = "FRACTURED"; | |||
finalColor = "#ff4500"; // Orange-Red | |||
finalMsg = "YOU ARE IN DANGER"; | |||
finalShadow = finalColor; | |||
} | |||
// 3. ORGANIC NULL (Dead Mode: Grey/Void) | |||
// Triggered if the math is bad, but no single stat broke the scale | |||
if (percent > 75) { | |||
finalRating = "NULL"; | |||
finalColor = "#888888"; // Dead Grey | |||
finalMsg = "REALITY FAILURE"; // The cold, bureaucratic message | |||
finalShadow = "#000000"; // No glow, just void | |||
} | |||
finalLabel.text(finalMsg); | finalLabel.text(finalMsg); | ||
finalBox.text(finalRating + " (" + percent.toFixed(1) + "%)"); | finalBox.text(finalRating + " (" + percent.toFixed(1) + "%)"); | ||
// Apply the Standard/Organic Styles | |||
finalBox.css({ | finalBox.css({ | ||
'background-color': finalBg, | |||
'color': finalColor, | 'color': finalColor, | ||
' | 'border-color': finalColor, | ||
'text-shadow': '0 0 10px ' + | 'text-shadow': '0 0 10px ' + finalShadow, | ||
'box-shadow': 'none' | |||
}); | }); | ||
} | } | ||
// Trigger update on any change | // Trigger update on any change | ||
Revision as of 19:39, 10 February 2026
/* ============================================================
JADNIX CODEX: CORE SCRIPTS (Themes + Calculator + Logos)
============================================================ */
$(function() {
/* --- PART A: LOGO & THEME SYSTEM --- */
// 1. DEFINE LOGOS
const logos = {
still: 'https://files.catbox.moe/0cmhjh.png',
dealer: 'https://files.catbox.moe/73m0cp.png',
skipper: 'https://files.catbox.moe/8gs8n5.png' // <--- FIXED LINK
};
// 2. HELPER: FORCE LOGO SWAP (MONOBOOK VERSION)
function swapLogo(url) {
// MonoBook uses background-image on the link inside p-logo
$('#p-logo a').css('background-image', 'url(' + url + ')');
}
// 3. DETECT FACTION -> APPLY CLASS & LOGO
if ($('.faction-dealer').length) {
$('body').addClass('theme-dealer');
swapLogo(logos.dealer);
}
else if ($('.faction-skipper').length) {
$('body').addClass('theme-skipper');
swapLogo(logos.skipper);
}
else if ($('.faction-still').length) {
$('body').addClass('theme-still');
// Default logo usually handles Still, but this ensures it matches
// swapLogo(logos.still);
}
/* --- PART B: CRDD CALCULATOR LOGIC --- */
// Only run if calculator is present
if ($('#crdd-interface').length) {
// Update number displays instantly
$('.crdd-range').on('input', function() {
$(this).next('.crdd-value-display').text($(this).val());
});
// The Calculation Function
function updateCRDD() {
let totalScore = 0;
let activeMaxScore = 0;
let criticalOverride = false;
// SECTION 1: SUBJECT
let subjSkip = $('#skip-subject').is(':checked');
if (!subjSkip) {
let s1 = parseInt($('#s-strength').val()) || 0;
let s2 = parseInt($('#s-durability').val()) || 0;
let s3 = parseInt($('#s-mobility').val()) || 0;
let s4 = parseInt($('#s-intel').val()) || 0;
let s5 = parseInt($('#s-stamina').val()) || 0;
let s6 = parseInt($('#s-threat').val()) || 0;
let s7 = parseInt($('#s-swarm').val()) || 0;
// Critical Check
if (s6 > 24) criticalOverride = true;
let avg = (s1+s2+s3+s4+s5+s6+s7) / 7;
totalScore += avg;
activeMaxScore += 33;
let rating = "DOCILE";
if (avg > 8) rating = "NEUTRAL";
if (avg > 16) rating = "HOSTILE";
if (avg > 24) rating = "VILE";
$('#result-subject').text(avg.toFixed(1) + " (" + rating + ")");
if (avg > 24) criticalOverride = true;
} else {
$('#result-subject').text("SKIPPED");
}
// SECTION 2: ITEM
let itemSkip = $('#skip-item').is(':checked');
if (!itemSkip) {
let i1 = parseInt($('#i-entropy').val()) || 0;
let i2 = parseInt($('#i-instability').val()) || 0;
let i3 = parseInt($('#i-radiation').val()) || 0;
let i4 = parseInt($('#i-corrupt').val()) || 0;
let i5 = parseInt($('#i-volatility').val()) || 0;
let i6 = parseInt($('#i-unport').val()) || 0;
let i7 = parseInt($('#i-anomalous').val()) || 0;
let i8 = parseInt($('#i-qty').val()) || 0;
if (i7 > 24) criticalOverride = true;
let avg = (i1+i2+i3+i4+i5+i6+i7+i8) / 8;
totalScore += avg;
activeMaxScore += 33;
let rating = "FUNCTIONAL";
if (avg > 8) rating = "ALTERED";
if (avg > 16) rating = "UNSTABLE";
if (avg > 24) rating = "VOID";
$('#result-item').text(avg.toFixed(1) + " (" + rating + ")");
} else {
$('#result-item').text("SKIPPED");
}
// SECTION 3: SEAM
let seamSkip = $('#skip-seam').is(':checked');
if (!seamSkip) {
let m1 = parseInt($('#m-instability').val()) || 0;
let m2 = parseInt($('#m-leakage').val()) || 0;
let m3 = parseInt($('#m-geo').val()) || 0;
let m4 = parseInt($('#m-atmo').val()) || 0;
let m5 = parseInt($('#m-topo').val()) || 0;
let m6 = parseInt($('#m-dead').val()) || 0;
let m7 = parseInt($('#m-laws').val()) || 0;
// Critical Checks
if (m3 > 24 || m4 > 24 || m6 > 24 || m7 > 24) criticalOverride = true;
let avg = (m1+m2+m3+m4+m5+m6+m7) / 7;
totalScore += avg;
activeMaxScore += 33;
let rating = "ANCHORED";
if (avg > 8) rating = "VOLATILE";
if (avg > 16) rating = "FRACTURED";
if (avg > 24) rating = "NULL";
$('#result-seam').text(avg.toFixed(1) + " (" + rating + ")");
if (avg > 24) criticalOverride = true;
} else {
$('#result-seam').text("SKIPPED");
}
// FINAL RESULT
let finalBox = $('#crdd-final-output');
let finalLabel = $('#crdd-final-label');
if (activeMaxScore === 0) {
finalBox.text("ERROR: NO DATA");
finalBox.css('color', 'red');
return;
}
let percent = (totalScore / activeMaxScore) * 100;
// 1. CRITICAL OVERRIDE (Panic Mode: White Background, Red Glow)
// Triggered if any single stat was > 24
if (criticalOverride) {
finalLabel.text("CRITICAL THREAT DETECTED");
// Includes your requested Percentage Fix + LEAVE NOW
finalBox.text("NULL (" + percent.toFixed(1) + "% - LEAVE NOW)");
finalBox.css({
'background-color': '#ffffff', // Blinding White
'color': '#000000', // Black Text
'border-color': '#ff0000',
'text-shadow': '0 0 10px red',
'box-shadow': '0 0 30px rgba(255, 0, 0, 0.8)'
});
}
// 2. STANDARD / ORGANIC CALCULATION (Normal Mode)
else {
let finalRating = "ANCHORED";
let finalColor = "#00ff9f"; // Green
let finalMsg = "YOU ARE SAFE";
let finalShadow = finalColor;
let finalBg = "transparent";
if (percent > 25) {
finalRating = "VOLATILE";
finalColor = "#ffd700"; // Gold
finalMsg = "PROCEED WITH CAUTION";
finalShadow = finalColor;
}
if (percent > 50) {
finalRating = "FRACTURED";
finalColor = "#ff4500"; // Orange-Red
finalMsg = "YOU ARE IN DANGER";
finalShadow = finalColor;
}
// 3. ORGANIC NULL (Dead Mode: Grey/Void)
// Triggered if the math is bad, but no single stat broke the scale
if (percent > 75) {
finalRating = "NULL";
finalColor = "#888888"; // Dead Grey
finalMsg = "REALITY FAILURE"; // The cold, bureaucratic message
finalShadow = "#000000"; // No glow, just void
}
finalLabel.text(finalMsg);
finalBox.text(finalRating + " (" + percent.toFixed(1) + "%)");
// Apply the Standard/Organic Styles
finalBox.css({
'background-color': finalBg,
'color': finalColor,
'border-color': finalColor,
'text-shadow': '0 0 10px ' + finalShadow,
'box-shadow': 'none'
});
}
// Trigger update on any change
$('.crdd-range, input[type=checkbox]').on('input change', updateCRDD);
}
});
/* ============================================================
SPLASH SCREEN RANDOMIZER
============================================================ */
$(function() {
// Only run on the Warning Page
if ($('body').hasClass('page-Warning')) {
// Define the 3 Factions
const factions = [
{
name: 'still',
class: 'splash-purple', // Uses Default CSS
status: 'RECOGNIZED',
pact: 'THE QUIESCENT PACT',
target: 'ALPHA-EARTH'
},
{
name: 'dealer',
class: 'splash-gold',
status: 'PAID IN FULL',
pact: 'HOUSE VOIDSEED TERMS',
target: 'THE GILDED GATE'
},
{
name: 'skipper',
class: 'splash-blue',
status: 'SECURED',
pact: 'R&R SAFETY PROTOCOLS',
target: 'SUB-DIMENSION 00'
}
];
// Roll the Dice (0, 1, or 2)
const roll = Math.floor(Math.random() * factions.length);
const winner = factions[roll];
// Apply the Look
$('body').addClass(winner.class);
// Update the Text
$('#splash-status').text(winner.status);
$('#splash-pact').text(winner.pact);
$('#splash-target').text(winner.target);
console.log("Connection intercepted by: " + winner.name);
}
});