[Tool] Grim Raynbow (aka Rainbow Filter)

Fixed the mastery indicators once again, now the color break works everywhere including the devotion tooltips for “selected” and “in use” skills:
image

Click to expand, as usual copy/paste the whole thing into your tagsgdx3_uimain.txt
#################################################################################
# Mastery Indicators for Skill Tags - GD 1.3.0.5								#
# Credits: 	SquirrelArmy - original idea and tags								#
#			iyhun - missing tag fixes											#
#			Volek - color codes, fixes and comments								#
# Notes:	Some tags are commented out because they do not appear on items,	#
#			so most players won't need them. Remove the # in front of the tags	#
#			if you still want to see them ingame (eg. on skill tooltips).		#
#################################################################################

############ Soldier ############
tagClass01SkillName01A=Cadence {^S}(Soldier 1){^-}
tagClass01SkillName01B=Fighting Form {^S}(Soldier 15){^-}
tagClass01SkillName01C=Deadly Momentum {^S}(Soldier 40){^-}
#tagClass01SkillName01D=Discord {^S}(Soldier 5){^-}
tagClass01SkillName02A=Forcewave {^S}(Soldier 1){^-}
tagClass01SkillName02B=Rending Force {^S}(Soldier 15){^-}
tagClass01SkillName02C=Internal Trauma {^S}(Soldier 25){^-}
#tagClass01SkillName02D=Tremor {^S}(Soldier 5){^-}
tagClass01SkillName03A=Blitz {^S}(Soldier 10){^-}
tagClass01SkillName03B=Blindside {^S}(Soldier 32){^-}
tagClass01SkillName04A=War Cry {^S}(Soldier 20){^-}
#tagClass01SkillName04C=Terrify {^S}(Soldier 25){^-}
tagClass01SkillName04B=Break Morale {^S}(Soldier 40){^-}
tagClass01SkillName05A=Blade Arc {^S}(Soldier 10){^-}
tagClass01SkillName05B=Laceration {^S}(Soldier 32){^-}
#tagClass01SkillName05C=Clean Sweep {^S}(Soldier 15){^-}
tagClass01SkillName06A=Markovian's Advantage {^S}(Soldier 1){^-}
tagClass01SkillName06B=Zolhan's Technique {^S}(Soldier 10){^-}
tagClass01SkillName07A=Fighting Spirit {^S}(Soldier 5){^-}
tagClass01SkillName08A=Menhir's Will {^S}(Soldier 5){^-}
tagClass01SkillName09A=Field Command {^S}(Soldier 20){^-}
tagClass01SkillName09B=Squad Tactics {^S}(Soldier 32){^-}
tagClass01SkillName10A=Military Conditioning {^S}(Soldier 5){^-}
tagClass01SkillName11A=Veterancy {^S}(Soldier 15){^-}
tagClass01SkillName12A=Decorated Soldier {^S}(Soldier 25){^-}
tagClass01SkillName13A=Menhir's Bulwark {^S}(Soldier 50){^-}
tagClass01SkillName14A=Oleron's Rage {^S}(Soldier 50){^-}
tagClass01SkillName15A=Overguard {^S}(Soldier 10){^-}
#tagClass01SkillName15B=Markovian's Defense {^S}(Soldier 15){^-}
tagClass01SkillName16=Scars of Battle {^S}(Soldier 40){^-}
tagClass01SkillName17=Counter Strike {^S}(Soldier 40){^-}
tagClass01SkillName18=Shield Training {^S}(Soldier 10){^-}

############ Demolitionist ############
tagClass02SkillName01A=Grenado {^S}(Demolitionist 15){^-}
tagClass02SkillName01B=High Impact {^S}(Demolitionist 25){^-}
#tagClass02SkillName01C=Skyfire Grenado {^S}(Demolitionist 20){^-}
tagClass02SkillName01D=Shattering Blast {^S}(Demolitionist 40){^-}
tagClass02SkillName02A=Flashbang {^S}(Demolitionist 1){^-}
tagClass02SkillName02B=Searing Light {^S}(Demolitionist 10){^-}
tagClass02SkillName03A=Fire Strike {^S}(Demolitionist 1){^-}
tagClass02SkillName03B=Explosive Strike {^S}(Demolitionist 10){^-}
tagClass02SkillName03C=Static Strike {^S}(Demolitionist 25){^-}
tagClass02SkillName03D=Brimstone {^S}(Demolitionist 50){^-}
#tagClass02SkillName03E=Searing Strike {^S}(Demolitionist 15){^-}
#tagClass02SkillName03F=Searing Might {^S}(Demolitionist 15){^-}
tagClass02SkillName04A=Canister Bomb {^S}(Demolitionist 20){^-}
tagClass02SkillName04B=Improved Casing {^S}(Demolitionist 40){^-}
#tagClass02SkillName04C=Concussive Bomb {^S}(Demolitionist 25){^-}
tagClass02SkillName05A=Mortar Trap {^S}(Demolitionist 25){^-}
tagClass02SkillName05B=Heavy Ordnance {^S}(Demolitionist 32){^-}
tagClass02SkillName05C="The Big One" {^S}(Demolitionist 50){^-}
tagClass02SkillName06A=Thermite Mine {^S}(Demolitionist 32){^-}
tagClass02SkillName06B=Hellfire Mine {^S}(Demolitionist 50){^-}
tagClass02SkillName07A=Blast Shield {^S}(Demolitionist 32){^-}
tagClass02SkillName07B=Ulzuin's Chosen {^S}(Demolitionist 50){^-}
tagClass02SkillName08A=Blackwater Cocktail {^S}(Demolitionist 5){^-}
tagClass02SkillName08B=Demon Fire {^S}(Demolitionist 20){^-}
tagClass02SkillName08C=Agonizing Flames {^S}(Demolitionist 40){^-}
#tagClass02SkillName08D=High Potency {^S}(Demolitionist 10){^-}
tagClass02SkillName09A=Stun Jacks {^S}(Demolitionist 1){^-}
tagClass02SkillName09B=Full Spread {^S}(Demolitionist 15){^-}
#tagClass02SkillName09C=Quick Jacks {^S}(Demolitionist 5){^-}
tagClass02SkillName12A=Flame Touched {^S}(Demolitionist 5){^-}
tagClass02SkillName12B=Temper {^S}(Demolitionist 20){^-}
tagClass02SkillName13A=Vindictive Flame {^S}(Demolitionist 10){^-}
tagClass02SkillName13B=Ulzuin's Wrath {^S}(Demolitionist 20){^-}
tagClass02SkillName10B=Overload {^S}(Arcanist 10){^-}
tagClass02SkillName11A=Heavy Ordnance {^S}(Demolitionist 32){^-}
tagClass02SkillName14A=High Impact {^S}(Demolitionist 25){^-}

############ Occultist ############
tagClass03SkillName01A=Summon Familiar {^S}(Occultist 1){^-}
tagClass03SkillName01C=Mend Flesh {^S}(Occultist 5){^-}
tagClass03SkillName01D=Storm Spirit {^S}(Occultist 15){^-}
tagClass03SkillName01E=Lightning Strike {^S}(Occultist 25){^-}
tagClass03SkillName02A=Summon Hellhound {^S}(Occultist 10){^-}
tagClass03SkillName02B=Ember Claw {^S}(Occultist 20){^-}
tagClass03SkillName02C=Hellfire {^S}(Occultist 32){^-}
tagClass03SkillName02D=Infernal Breath {^S}(Occultist 50){^-}
tagClass03SkillName03A=Bonds of Bysmiel {^S}(Occultist 32){^-}
tagClass03SkillName03B=Manipulation {^S}(Occultist 50){^-}
tagClass03SkillName04A=Blood of Dreeg {^S}(Occultist 15){^-}
tagClass03SkillName04B=Aspect of the Guardian {^S}(Occultist 32){^-}
tagClass03SkillName05A=Solael's Witchfire {^S}(Occultist 5){^-}
tagClass03SkillName05B=Second Rite {^S}(Occultist 25){^-}
#tagClass03SkillName05C=Consecrated Blade {^S}(Occultist 15){^-}
tagClass03SkillName06A=Curse of Frailty {^S}(Occultist 1){^-}
tagClass03SkillName06B=Vulnerability {^S}(Occultist 10){^-}
tagClass03SkillName10A=Sigil of Consumption {^S}(Occultist 10){^-}
tagClass03SkillName10B=Destruction {^S}(Occultist 25){^-}
tagClass03SkillName11A=Dreeg's Evil Eye {^S}(Occultist 1){^-}
tagClass03SkillName11B=Blood Burst {^S}(Occultist 5){^-}
tagClass03SkillName11C=Terrifying Gaze {^S}(Occultist 20){^-}
tagClass03SkillName11D=Vile Eruption {^S}(Occultist 40){^-}
#tagClass03SkillName11E=Focused Gaze {^S}(Occultist 10){^-}
tagClass03SkillName12A=Possession {^S}(Occultist 50){^-}
tagClass03SkillName13A=Bloody Pox {^S}(Occultist 5){^-}
tagClass03SkillName13B=Wasting {^S}(Occultist 20){^-}
tagClass03SkillName13C=Black Death {^S}(Occultist 40){^-}
#tagClass03SkillName13D=Fevered Rage {^S}(Occultist 15){^-}
tagClass03SkillName14A=Doom Bolt {^S}(Occultist 40){^-}

############ Nightblade ############
tagClass04SkillName01A=Phantasmal Blades {^S}(Nightblade 5){^-}
tagClass04SkillName01B=Heart Seeker {^S}(Nightblade 15){^-}
tagClass04SkillName01C=Nether Edge {^S}(Nightblade 32){^-}
#tagClass04SkillName01D=Frenetic Throw {^S}(Nightblade 10){^-}
tagClass04SkillName02A=Shadow Strike {^S}(Nightblade 10){^-}
tagClass04SkillName02B=Nidalla's Justifiable Ends {^S}(Nightblade 25){^-}
tagClass04SkillName02C=Nightfall {^S}(Nightblade 50){^-}
tagClass04SkillName03A=Blade Barrier {^S}(Nightblade 20){^-}
tagClass04SkillName04A=Ring of Steel {^S}(Nightblade 20){^-}
tagClass04SkillName04B=Circle of Slaughter {^S}(Nightblade 40){^-}
#tagClass04SkillName04C=Ring of Frost {^S}(Nightblade 25){^-}
tagClass04SkillName05A=Dual Blades {^S}(Nightblade 1){^-}
tagClass04SkillName05B=Belgothian's Shears {^S}(Nightblade 5){^-}
tagClass04SkillName05C=Amarasta's Quick Cut {^S}(Nightblade 15){^-}
tagClass04SkillName05D=Whirling Death {^S}(Nightblade 25){^-}
tagClass04SkillName05E=Nidalla's Hidden Hand {^S}(Nightblade 10){^-}
tagClass04SkillName05F=Execution {^S}(Nightblade 50){^-}
tagClass04SkillName06A=Pneumatic Burst {^S}(Nightblade 5){^-}
tagClass04SkillName06B=Shadow Dance {^S}(Nightblade 15){^-}
tagClass04SkillName06C=Elemental Awakening {^S}(Nightblade 32){^-}
#tagClass04SkillName06D=Breath of Belgothian {^S}(Nightblade 10){^-}
tagClass04SkillName07A=Veil of Shadow {^S}(Nightblade 1){^-}
tagClass04SkillName07B=Night's Chill {^S}(Nightblade 15){^-}
tagClass04SkillName08A=Blade Spirit {^S}(Nightblade 50){^-}
tagClass04SkillName11A=Blade Trap {^S}(Nightblade 25){^-}
tagClass04SkillName11B=Devouring Blades {^S}(Nightblade 40){^-}
tagClass04SkillName13A=Phantasmal Armor {^S}(Nightblade 10){^-}
tagClass04SkillName13B=Anatomy of Murder {^S}(Nightblade 20){^-}
tagClass04SkillName13C=Merciless Repertoire {^S}(Nightblade 32){^-}
tagClass04SkillName04X=Devouring Blades {^S}(Nightblade 40){^-}
tagClass04SkillName13D=Merciless Repertoire {^S}(Nightblade 32){^-}
tagClass04SkillName14A=Amarasta's Blade Burst {^S}(Nightblade 1){^-}
tagClass04SkillName14B=Lethal Assault {^S}(Nightblade 15){^-}

############ Arcanist ############
tagClass05SkillName01A=Panetti's Replicating Missile {^S}(Arcanist 1){^-}
tagClass05SkillName01B=Distortion {^S}(Arcanist 15){^-}
tagClass05SkillName01C=Supercharged {^S}(Arcanist 25){^-}
tagClass05SkillName01D=Proliferation {^S}(Arcanist 40){^-}
tagClass05SkillName02A=Iskandra's Elemental Exchange {^S}(Arcanist 1){^-}
tagClass05SkillName02B=Overload {^S}(Arcanist 10){^-}
tagClass05SkillName02C=Elemental Balance {^S}(Arcanist 25){^-}
#tagClass05SkillName02D=Manifestation {^S}(Arcanist 5){^-}
tagClass05SkillName03A=Trozan's Sky Shard {^S}(Arcanist 10){^-}
tagClass05SkillName03B=Frozen Core {^S}(Arcanist 20){^-}
tagClass05SkillName03C=Shattered Star {^S}(Arcanist 40){^-}
tagClass05SkillName04A=Callidor's Tempest {^S}(Arcanist 5){^-}
tagClass05SkillName04B=Inferno {^S}(Arcanist 20){^-}
#tagClass05SkillName04C=Wrath of Agrivix {^S}(Arcanist 10){^-}
tagClass05SkillName05A=Maiven's Sphere of Protection {^S}(Arcanist 15){^-}
tagClass05SkillName05B=Conversion {^S}(Arcanist 32){^-}
tagClass05SkillName06A=Albrecht's Aether Ray {^S}(Arcanist 25){^-}
tagClass05SkillName06B=Disintegration {^S}(Arcanist 50){^-}
#tagClass05SkillName06C=Tainted Power {^S}(Arcanist 32){^-}
tagClass05SkillName07A=Nullification {^S}(Arcanist 20){^-}
tagClass05SkillName08A=Devastation {^S}(Arcanist 50){^-}
tagClass05SkillName09A=Inner Focus {^S}(Arcanist 1){^-}
tagClass05SkillName10A=Arcane Will {^S}(Arcanist 15){^-}
tagClass05SkillName11A=Mental Alacrity {^S}(Arcanist 32){^-}
tagClass05SkillName12A=Fabric of Reality {^S}(Arcanist 40){^-}
tagClass05SkillName14A=Mirror of Ereoctes {^S}(Arcanist 10){^-}
tagClass05SkillName15A=Reckless Power {^S}(Arcanist 50){^-}
tagClass05SkillName15B=Star Pact {^S}(Arcanist 50){^-}
tagClass05SkillName16A=Olexra's Flash Freeze {^S}(Arcanist 5){^-}
tagClass05SkillName16B=Absolute Zero {^S}(Arcanist 20){^-}

############ Shaman ############
tagClass06SkillName01A=Savagery {^S}(Shaman 1){^-}
tagClass06SkillName01B=Tenacity of the Boar {^S}(Shaman 15){^-}
tagClass06SkillName01C=Storm Touched {^S}(Shaman 32){^-}
#tagClass06SkillName01D=Might of the Bear {^S}(Shaman 5){^-}
tagClass06SkillName02A=Primal Strike {^S}(Shaman 5){^-}
tagClass06SkillName02B=Storm Surge {^S}(Shaman 25){^-}
tagClass06SkillName02C=Torrent {^S}(Shaman 15){^-}
#tagClass06SkillName02D=Thunderous Strike {^S}(Shaman 10){^-}
tagClass06SkillName03A=Wendigo Totem {^S}(Shaman 20){^-}
tagClass06SkillName03B=Blood Pact {^S}(Shaman 40){^-}
tagClass06SkillName04A=Wind Devil {^S}(Shaman 10){^-}
tagClass06SkillName04B=Raging Tempest {^S}(Shaman 20){^-}
tagClass06SkillName04C=Maelstrom {^S}(Shaman 40){^-}
tagClass06SkillName05A=Mogdrogen's Pact {^S}(Shaman 5){^-}
tagClass06SkillName05B=Oak Skin {^S}(Shaman 25){^-}
tagClass06SkillName05C=Heart of the Wild {^S}(Shaman 15){^-}
tagClass06SkillName06A=Summon Briarthorn {^S}(Shaman 10){^-}
tagClass06SkillName06C=Ground Slam {^S}(Shaman 20){^-}
tagClass06SkillName06D=Emboldening Presence {^S}(Shaman 40){^-}
tagClass06SkillName07A=Feral Hunger {^S}(Shaman 10){^-}
tagClass06SkillName08A=Stormcaller's Pact {^S}(Shaman 50){^-}
tagClass06SkillName09A=Conjure Primal Spirit {^S}(Shaman 50){^-}
tagClass06SkillName10A=Brute Force {^S}(Shaman 1){^-}
tagClass06SkillName13A=Primal Bond {^S}(Shaman 50){^-}
tagClass06SkillName14A=Upheaval {^S}(Shaman 15){^-}
tagClass06SkillName15A=Devouring Swarm {^S}(Shaman 1){^-}
tagClass06SkillName15D=Devouring Swarm {^S}(Shaman 1){^-}
tagClass06SkillName16A=Storm Totem {^S}(Shaman 32){^-}
#tagClass06SkillName16B=Corrupted Storm {^S}(Shaman 40){^-}
tagClass06SkillName17A=Grasping Vines {^S}(Shaman 5){^-}
tagClass06SkillName17B=Entangling Vines {^S}(Shaman 25){^-}

############ Inquisitor ############
tagGDX1Class07SkillName01A=Word of Pain {^S}(Inquisitor 1){^-}
tagGDX1Class07SkillName01B=Word of Agony {^S}(Inquisitor 10){^-}
tagGDX1Class07SkillName01C=Death Sentence {^S}(Inquisitor 25){^-}
tagGDX1Class07SkillName02A=Storm Box of Elgoloth {^S}(Inquisitor 1){^-}
tagGDX1Class07SkillName02B=Lightning Tether {^S}(Inquisitor 15){^-}
#tagGDX1Class07SkillName02C=Allagast's Arcane Net {^S}(Inquisitor 5){^-}
tagGDX1Class07SkillName03A=Word of Renewal {^S}(Inquisitor 10){^-}
tagGDX1Class07SkillName03B=Vigor {^S}(Inquisitor 20){^-}
tagGDX1Class07SkillName03C=Steel Resolve {^S}(Inquisitor 32){^-}
#tagGDX1Class07SkillName03D=Word of Arms {^S}(Inquisitor 15){^-}
tagGDX1Class07SkillName04A=Flames of Ignaffar {^S}(Inquisitor 10){^-}
tagGDX1Class07SkillName04B=Intensify {^S}(Inquisitor 20){^-}
tagGDX1Class07SkillName04C=Infernal Purge {^S}(Inquisitor 32){^-}
tagGDX1Class07SkillName04D=Endless Flame {^S}(Inquisitor 50){^-}
#tagGDX1Class07SkillName04E=Tainted Flame {^S}(Inquisitor 15){^-}
tagGDX1Class07SkillName05A=Rune of Hagarrad {^S}(Inquisitor 5){^-}
tagGDX1Class07SkillName05B=Biting Cold {^S}(Inquisitor 15){^-}
tagGDX1Class07SkillName05C=Chillsurge {^S}(Inquisitor 32){^-}
tagGDX1Class07SkillName06A=Inquisitor Seal {^S}(Inquisitor 25){^-}
tagGDX1Class07SkillName06B=Arcane Empowerment {^S}(Inquisitor 40){^-}
#tagGDX1Class07SkillName06C=Runic Seal {^S}(Inquisitor 32){^-}
tagGDX1Class07SkillName07A=Rune of Kalastor {^S}(Inquisitor 15){^-}
tagGDX1Class07SkillName07B=Ignition {^S}(Inquisitor 25){^-}
tagGDX1Class07SkillName08A=Aura of Conviction {^S}(Inquisitor 50){^-}
tagGDX1Class07SkillName09A=Aura of Censure {^S}(Inquisitor 50){^-}
tagGDX1Class07SkillName10A=Horn of Gandarr {^S}(Inquisitor 40){^-}
tagGDX1Class07SkillName11A=Ranged Expertise {^S}(Inquisitor 1){^-}
tagGDX1Class07SkillName12A=Bursting Round {^S}(Inquisitor 5){^-}
tagGDX1Class07SkillName13A=Chilling Rounds {^S}(Inquisitor 20){^-}
tagGDX1Class07SkillName14A=Storm Spread {^S}(Inquisitor 40){^-}
tagGDX1Class07SkillName15A=Deadly Aim {^S}(Inquisitor 10){^-}
tagGDX1Class07SkillName16A=Artifact Handling {^S}(Inquisitor 40){^-}

############ Necromancer ############
tagGDX1Class08SkillName01A=Drain Essence {^S}(Necromancer 1){^-}
tagGDX1Class08SkillName01B=Hungering Reach {^S}(Necromancer 10){^-}
tagGDX1Class08SkillName01C=Decomposition {^S}(Necromancer 20){^-}
#tagGDX1Class08SkillName01D=Gravechill {^S}(Necromancer 5){^-}
tagGDX1Class08SkillName02A=Raise Skeletons {^S}(Necromancer 1){^-}
tagGDX1Class08SkillName02B=Undead Legion {^S}(Necromancer 10){^-}
tagGDX1Class08SkillName02C=Will of the Crypt {^S}(Necromancer 20){^-}
tagGDX1Class08SkillName03A=Bone Harvest {^S}(Necromancer 5){^-}
tagGDX1Class08SkillName03B=Dread {^S}(Necromancer 20){^-}
tagGDX1Class08SkillName03C=Soul Harvest {^S}(Necromancer 32){^-}
#tagGDX1Class08SkillName03D=Harvester of Death {^S}(Necromancer 10){^-}
tagGDX1Class08SkillName04A=Ravenous Earth {^S}(Necromancer 15){^-}
tagGDX1Class08SkillName04B=Decay {^S}(Necromancer 25){^-}
tagGDX1Class08SkillName04C=Foul Eruption {^S}(Necromancer 40){^-}
tagGDX1Class08SkillName05A=Summon Blight Fiend {^S}(Necromancer 15){^-}
tagGDX1Class08SkillName05B=Rotting Fumes {^S}(Necromancer 25){^-}
tagGDX1Class08SkillName05C=Blight Burst {^S}(Necromancer 40){^-}
#tagGDX1Class08SkillName05D=Unstable Anomaly {^S}(Necromancer 20){^-}
tagGDX1Class08SkillName06A=Spectral Binding {^S}(Necromancer 5){^-}
tagGDX1Class08SkillName06B=Spectral Wrath {^S}(Necromancer 15){^-}
tagGDX1Class08SkillName07A=Siphon Souls {^S}(Necromancer 25){^-}
tagGDX1Class08SkillName07B=Blood Boil {^S}(Necromancer 40){^-}
#tagGDX1Class08SkillName07C=Sear Souls {^S}(Necromancer 32){^-}
tagGDX1Class08SkillName08A=Ill Omen {^S}(Necromancer 10){^-}
tagGDX1Class08SkillName09A=Reap Spirit {^S}(Necromancer 50){^-}
tagGDX1Class08SkillName10A=Harbinger of Souls {^S}(Necromancer 50){^-}
tagGDX1Class08SkillName11A=Master of Death {^S}(Necromancer 50){^-}
tagGDX1Class08SkillName12A=Reaping Strike {^S}(Necromancer 1){^-}
tagGDX1Class08SkillName13A=Necrotic Edge {^S}(Necromancer 15){^-}
tagGDX1Class08SkillName14A=Mark of Torment {^S}(Necromancer 32){^-}
tagGDX1Class08SkillName15A=Call of the Grave {^S}(Necromancer 25){^-}

############ Oathkeeper ############
tagGDX2Class09SkillName01A=Aegis of Menhir {^S}(Oathkeeper 1){^-}
tagGDX2Class09SkillName01B=Avenging Shield {^S}(Oathkeeper 5){^-}
tagGDX2Class09SkillName01C=Reprisal {^S}(Oathkeeper 20){^-}
#tagGDX2Class09SkillName01D=Aegis of Thorns {^S}(Oathkeeper 10){^-}
tagGDX2Class09SkillName02A=Righteous Fervor {^S}(Oathkeeper 1){^-}
tagGDX2Class09SkillName02B=Consecration {^S}(Oathkeeper 15){^-}
tagGDX2Class09SkillName02C=Retribution {^S}(Oathkeeper 32){^-}
#tagGDX2Class09SkillName02D=Dreeg's Reproach {^S}(Oathkeeper 5){^-}
tagGDX2Class09SkillName03A=Judgment {^S}(Oathkeeper 15){^-}
tagGDX2Class09SkillName03B=Crushing Verdict {^S}(Oathkeeper 25){^-}
tagGDX2Class09SkillName03C=Heart of Wrath {^S}(Oathkeeper 40){^-}
tagGDX2Class09SkillName04A=Vire's Might {^S}(Oathkeeper 10){^-}
tagGDX2Class09SkillName04B=Volcanic Stride {^S}(Oathkeeper 20){^-}
tagGDX2Class09SkillName04C=Tectonic Shift {^S}(Oathkeeper 32){^-}
#tagGDX2Class09SkillName04D=Volcanic Might {^S}(Oathkeeper 15){^-}
tagGDX2Class09SkillName05A=Presence of Virtue {^S}(Oathkeeper 5){^-}
tagGDX2Class09SkillName05B=Haven {^S}(Oathkeeper 15){^-}
tagGDX2Class09SkillName05C=Rebuke {^S}(Oathkeeper 25){^-}
tagGDX2Class09SkillName06A=Ascension {^S}(Oathkeeper 15){^-}
tagGDX2Class09SkillName06B=Clarity of Purpose {^S}(Oathkeeper 32){^-}
tagGDX2Class09SkillName07A=Eye of Reckoning {^S}(Oathkeeper 25){^-}
tagGDX2Class09SkillName07B=Soulfire {^S}(Oathkeeper 40){^-}
tagGDX2Class09SkillName08A=Summon Guardian of Empyrion {^S}(Oathkeeper 32){^-}
tagGDX2Class09SkillName08B=Celestial Presence {^S}(Oathkeeper 50){^-}
#tagGDX2Class09SkillName08C=Scion of Dreeg {^S}(Oathkeeper 40){^-}
tagGDX2Class09SkillName09A=Path of the Three {^S}(Oathkeeper 50){^-}
tagGDX2Class09SkillName10A=Divine Mandate {^S}(Oathkeeper 50){^-}
tagGDX2Class09SkillName11A=Safeguard {^S}(Oathkeeper 1){^-}
tagGDX2Class09SkillName12A=Smite {^S}(Oathkeeper 5){^-}
tagGDX2Class09SkillName13A=Shattering Smash {^S}(Oathkeeper 20){^-}
tagGDX2Class09SkillName14A=Resilience {^S}(Oathkeeper 10){^-}

############ Berserker ############
tagGDX3Class10SkillName01A=Werewolf {^S}(Berserker 1){^-}
tagGDX3Class10SkillName01B=Voracity {^S}(Berserker 10){^-}
tagGDX3Class10SkillName01C=Recklessness {^S}(Berserker 25){^-}
#tagGDX3Class10SkillName01D=Blight of Ch'thon {^S}(Berserker 5){^-}
tagGDX3Class10SkillName02A=Wereraven {^S}(Berserker 10){^-}
tagGDX3Class10SkillName02B=Glacial Talons {^S}(Berserker 20){^-}
tagGDX3Class10SkillName02C=Everwinter {^S}(Berserker 32){^-}
#tagGDX3Class10SkillName02D=Talons of Ch'thon {^S}(Berserker 15){^-}
tagGDX3Class10SkillName03A=Onslaught {^S}(Berserker 1){^-}
tagGDX3Class10SkillName03B=Open Wounds {^S}(Berserker 15){^-}
tagGDX3Class10SkillName03C=Endless Rage {^S}(Berserker 32){^-}
#tagGDX3Class10SkillName03D=Covenant of Ch'thon {^S}(Berserker 5){^-}
tagGDX3Class10SkillName04A=Leap {^S}(Berserker 25){^-}
tagGDX3Class10SkillName04B=Fault Line {^S}(Berserker 40){^-}
tagGDX3Class10SkillName05A=Rallying Cry {^S}(Berserker 10){^-}
tagGDX3Class10SkillName05B=Impulse {^S}(Berserker 20){^-}
#tagGDX3Class10SkillName05C=Frenzied Cry {^S}(Berserker 15){^-}
tagGDX3Class10SkillName06A=Amatok's Pact {^S}(Berserker 5){^-}
tagGDX3Class10SkillName06B=Bloodfrenzy {^S}(Berserker 20){^-}
tagGDX3Class10SkillName06C=Icebound {^S}(Berserker 40){^-}
tagGDX3Class10SkillName07A=Winds of Asterkarn {^S}(Berserker 25){^-}
tagGDX3Class10SkillName07B=Hailstorm {^S}(Berserker 40){^-}
tagGDX3Class10SkillName08A=Heart of Asterkarn {^S}(Berserker 50){^-}
tagGDX3Class10SkillName09A=Bloodborne {^S}(Berserker 50){^-}
tagGDX3Class10SkillName10A=Battle Surge {^S}(Berserker 5){^-}
tagGDX3Class10SkillName11A=Untamed Rage {^S}(Berserker 15){^-}
tagGDX3Class10SkillName12A=Form of the Beast {^S}(Berserker 50){^-}
tagGDX3Class10SkillName13A=Implements of War {^S}(Berserker 1){^-}
tagGDX3Class10SkillName14A=Bloodfangs {^S}(Berserker 5){^-}
tagGDX3Class10SkillName15A=Avalanche {^S}(Berserker 20){^-}
tagGDX3Class10SkillName16A=Bonechilling Cry {^S}(Berserker 32){^-}

############ Skills used by pets #############
#tagClass02SkillName05D=Fire Mortar {^S}(Demolitionist 25){^-}
#tagClass02SkillName06C=Flame Jet {^S}(Demolitionist 32){^-}
#tagClass03SkillName01B=Storm Orb {^S}(Occultist 1){^-}
#tagClass03SkillName02E=Claw and Fang Attacks {^S}(Occultist 10){^-}
#tagClass06SkillName009C=Claw and Fang Attacks {^S}(Shaman 50){^-}
#tagClass06SkillName06E=Thorned Claws {^S}(Shaman 10){^-}
#tagClass06SkillName03D=Mend Wounds {^S}(Shaman 20){^-}
#tagClass06SkillName03C=Life Tap {^S}(Shaman 20){^-}

############ Unused skills (included for the sake of completeness) #############
tagGDX1Class08SkillName02D=Bones for the Taking {^S}(Necromancer){^-}
tagGDX1Class08SkillName02E=Bone Ritual {^S}(Necromancer){^-}
tagClass06SkillName15B=Crippling Swarm {^S}(Shaman){^-}
tagClass06SkillName05D=Heart of Stone {^S}(Shaman){^-}
tagClass06SkillName12A=Nature’s Wrath {^S}(Shaman){^-}
tagClass06SkillName15C=Voracious Swarm {^S}(Shaman){^-}
tagClass06SkillName06B=Stonebark {^S}(Shaman){^-}
tagClass06SkillName11A=Shamanism {^S}(Shaman){^-}
tagClass04SkillName12A=Pneuma Tap {^S}(Arcanist){^-}
tagClass05SkillName01E=Concussive Missile {^S}(Arcanist){^-}
tagClass05SkillName13A=Olexra’s Barrier {^S}(Arcanist){^-}
tagClass05SkillName13B=Icy Aura {^S}(Arcanist){^-}
tagClass05SkillName13C=Icy End {^S}(Arcanist){^-}
tagClass04SkillName01X=Focused Throw {^S}(Nightblade){^-}
tagClass04SkillName07C=Amarasta’s Unseen Blade {^S}(Nightblade){^-}
tagClass04SkillName07X=Deepening Darkness {^S}(Nightblade){^-}
tagClass04SkillName09A=Life Taker {^S}(Nightblade){^-}
tagClass04SkillName10A=Blade Swarm {^S}(Nightblade){^-}
tagClass04SkillName10B=Amarasta’s Double Edge {^S}(Nightblade){^-}
tagClass03SkillName02F=Blazing Death {^S}(Occultist){^-}
tagClass03SkillName04C=Quills of the Guardian {^S}(Occultist){^-}
tagClass03SkillName07A=Hex of Nullification {^S}(Occultist){^-}
tagClass03SkillName08A=Chaos Bolt {^S}(Occultist){^-}
tagClass03SkillName08B=Energy Burn {^S}(Occultist){^-}
tagClass03SkillName09A=Circle of Protection {^S}(Occultist){^-}
tagClass03SkillName15A=Bysmiel’s Sanctuary {^S}(Occultist){^-}
tagClass02SkillName05E=Electrical Mortar {^S}(Demolitionist){^-}
tagClass02SkillName06D=Detonation {^S}(Demolitionist){^-}
tagClass02SkillName10A=Lightning Charge {^S}(Demolitionist){^-}

btw here’s one more minor fix I made using the color break code (yea I love this thing :smile:):

tagEnchanted={^Q}Augmented {^-}
tagStyleUniqueAwakened={^P}Awakened {^-}
tagStyleAscended={^F}Ascended {^-}

(the tagEnchanted line isn’t in the file by default so you’d have to add it)

This colorizes the Augmented, Awakened and Ascended parts of an item’s type description with different colors and leaves the rest of the line with the default color which imo looks better:

image
image
image
image

3 Likes

That did work! Thank you!

1 Like

Amazing. Thank you!
And ofc thanks to WareBare

1 Like

I pasted this in the tagsgdx3_uimain.txt also used the app for updatebut i’m still missing all the berserker skills. I already removed all old files but yeah sitll the same

image

Thanks for the mastery indicators!
I noticed that the quotation marks you’re using don’t exist in the used font in-game.

tagClass02SkillName05C=“The Big One” {^S}(Demolitionist 50){^-}

image

So I checked by commenting it out and I think " is used instead on both ends.

Vanilla:
image

Adjusted code: tagClass02SkillName05C="The Big One" {^S}(Demolitionist 50){^-}
image

1 Like

Thanks for the report, I edited my post and corrected it :+1:t4:

1 Like

Change Log [v0.0.2]

[Tool] Rainbow Filter (Item Highlighting) - #944 by WareBare

https://grimraynbow.com

Pushing this out to see if everything is working, other presets and settings will follow, as well as style changes. I have more time now, so hopefully it stays that way and I can get this thing finished.

General

  • Mastery Marker made its way into the Website
    • Full Language support. The “?” are gone from DLC Masteries.
    • Added skill point requirement numbers. Thanks @SquirrelArmy
    • New Style due to the addition of the point requirement. (old style by default, new style can be toggled on)
    • Masteries are on by default, they may be toggled off.

Full Rainbow

  • (S) Symbol got a space added after.
  • Mythical is placed into it’s own Block and got its old color back.

Website

  • Tag Block renamed to Keyword Block
  • Mastery Block is at the top, to make it easy understanding what the Mastery Marker buttons do.
  • First style pass has been done.

Tech

  • Filters are now fully data-driven, which opens up complete customization once the UI is ready for it.
  • First iteration for basic settings have been implemented. While temporary it serves its purpose.
    • Language swap
    • Mastery Marker Settings
8 Likes

@WareBare
Hi. I thought I might suggest adding colours to some strong stats. Which I did highlight in the rainbow filter that I made for the Reign of Terror mod which is much harder than the base game. I do think however that the base game has become harder now no matter at how you look at it for both new & returning folks.

When I started making my own filters colour edits I always found it strange than the base game rainbow filter never highlights any of those strong useful stats. At least the last time I’ve used it when I played the base game.

What I did in the ROT filter was:

  • Indigo - Multiplicative Damage increases such as Damage to xyz Race, Reduced Target’s (All) Resistance/s, Total Damage Modified by % (except Crit Damage), +to All Skills, +to All Skills in x class.
  • Grayish Magenta - Chaos damage, but also Powerful defenses related. For example such as: Reduced target’s damage, Less Damage From xyz Race, Damage Absorption, Fumble, Impaired Aim, Dodge, Deflect or Retaliation causing less damage dealt etc.

Now RoT also has like 3 sources of Sundered for the player so they can sunder monsters with. Base game has zero, but maybe, just maybe you would get this one day too, who knows. I made Sundered red. though.

I think highlighting such stats would help players with some look afters.
Cheers,

1 Like

What is “strong” is mostly buld-specific. Also, stuff that doesn’t stack ceases to be strong if you have another source.

1 Like

In what world reduces all resistances, +to all skills or total damage modified are build specific?

As for the defensive stuff all builds can access these either through devotions, items or skills. If someone is not trying to utilize at the very least whichever of such stats they got access to then they are just bad at the game.
Especially nowadays when it became more unforgiving to run around without these. For example any build that doesn’t have a source of % reduced target’s damage simply belongs to a trash can because of how such a strong and useful line it is.

I suppose the question I have is who is this going to help? People that know the game know what stats they need at a given point. People that are less experienced won’t be helped by the implication that there are special stats that are so good that they are always an upgrade, regardless of their current gear or build.

I think the great thing about Rainbow Filter is that it makes it easier to see what properties an item has. Deciding which stats are best, at a particular moment, is a whole different ball game.

2 Likes

Thanks for the feedback, I appreciate it, even if the following wall of text makes it seem otherwise :smiley:


The colors started long before we even had an ingame filter, so the main purpose was to be able to tell if an item on the ground is even worth looking at, the colored stats were just a reading help and even an uncolored stat is still highlighted due to the fact it doesn’t have a color. Fast forward to now where we have an ingame filter and MI have a symbol, I feel like most people just download it, because they are used to their colors and I don’t want to mess with that, however, others would like more or different information. That being said, I will have to take a look at all the stats again, the game has changed since I started this.

Every stat in the game will get matching keywords assigned to it. Let’s say

  • Cold Resistance: [Cold] [Resistance] [Defense]
  • % Cold Damage: [Cold] [Damage] [Modifier]
  • % All Damage: [Global] [Damage] [Modifier]
  • x-y Cold Damage: [Cold] [Damage] [Flat]

I won’t have every stat colored by default, but they will have their Block for easy coloring. I just don’t want to change the presets too much. After all, the three default presets are supposed to be a baseline for customization and examples of how the tool can be used.


New Sharing System... The old tool was always capable of doing all of that, but it wasn't working for a lot and even then sharing anything was not that easy, while there is a way to share presets, I have never seen anybody do that. Not to mention Special Highlighting was a lot of work and still confusing to most. So the Website is supposed to solve all of that. Sharing will be as simple as ticking a checkbox to make it public and it will show up in a list and a link to it can be shared, and even then anything can be recolored without updating the original.

So whether somebody wants to use the old Full Rainbow or have every stat in the game colored will be pretty quick and easy to do. And at the end it won’t matter if people download the old Full Rainbow or a new shared Filter, it’s all going through the same database, they get it from the same spot and place it in the same folder on their system.

Also whoever has the idea and puts in the time to make a custom filter for the community gets their credit from the fact it’s their shared filter for others to download on the website.


Build specific filters. It won't end with stats though, because the same goes for affix/item modifiers, once I'm done with the Website anybody will be able to select keywords and make every affix/item/stat that matches with those keywords to the selected color.

Let’s say you want rare affix/item with cold damage to show in red.
A double rare dropped? well the prefix is red, so you already know it has cold damage on it. You already have good gear, so you only care about both prefix & suffix with useful stats on it, well they are both red on the item and the stats you care about are also red.

4 Likes

That’s great. I was hoping for something like that but thought it was a lot to ask. It will go some way to filling in for the very basic nature of the in-game filter.

1 Like

To keep it without spam. Sounds good. I really want to see what you will come up with :slight_smile: Thanks for the reply!

1 Like

Hello. (sorry for the bad english)
I really like the added function of “mastery belongs to” next to the skill. But I don’t understand how to remove the skill requirement part. On the website I can only change the format to “<'Mastery>[Skill Location]” from “(Mastery Skill Location)” or no mastery function.
In the old program, although not supported for Berserker, it had all masteries next to the skill with no requirement.

Thank you for your attention.

There is no setting for it yet.
The setting will be added when colors are changeable as well, so probably the next update.

1 Like

Please also have the option that removes the skill level requirement in tooltip in the preset file. Everything else is top notch. thank you.

why? you must see the requirement?

The addition of skill level requirements can be confusing for many players, as they may not understand what these numbers mean, especially those playing in languages other than English.

An example of what i whant…(P) showing the stat is a prefix (S) showing the stat is a suffix…This is possible to do?

(P) +22/+32% Aether Damage

(P) +2.8 Energy Regenerated per second

(P) 15/21% Elemental Resistance

(S) +3 to Undead Legion

(S) +3 to Summon Briarthorn

(P) Raise Skeletons

+4 Summon

-100% Skill Energy Cost

(S) Summon Briarthorn

Total Damage Modified by 25%

(P) Bonus to All Pets

+26/+38% to All Damage

+36/+54% Aether Damage

16/24% Elemental Resistance

Required Player Level: 40

Required Physique: 159

Required Spirit: 312

Item Level: 40