// World Evils - emission on the block's own face.
//
// Colour-agnostic on purpose: strength comes from brightness only, never from a
// channel test. Solas's own torch_lantern.glsl hardcodes an ORANGE test
// (r > 0.8 && g > 0.5 || r > 0.6 && b < 0.2) and scores a green flame at
// exactly zero, which is why the cursed torch could never work on that id.
//
// The small factors are load-bearing. Solas ends with
//     albedo *= ... + emission * EMISSION_STRENGTH        (EMISSION_STRENGTH 5)
// so emission 0.5 multiplies the albedo by 2.5 and pushes every channel past
// 1.0 - white, whatever colour it started as. Reference: Solas's amethyst is
// pow6(lAlbedo) * 0.4, which lands near x1.06 and keeps its colour.
else if (material == 91 || material == 92) {
    // Shadow Orb / Crimson Heart: the whole block glows.
    emission = pow3(lAlbedo) * 0.30;
}
else if (material == 93 || material == 94) {
    // Evil torches and lanterns: the flame only. The stick is dark wood and the
    // cage is grey iron, so bright+saturated separates them without a hue.
    float weMx = max(albedo.r, max(albedo.g, albedo.b));
    float weMn = min(albedo.r, min(albedo.g, albedo.b));
    float weSat = weMx > 0.001 ? (weMx - weMn) / weMx : 0.0;
    emission = float(weMx > 0.55 && weSat > 0.30) * pow2(lAlbedo) * 0.20;
}