MediaWiki:Common.js

/*

=
========================================= Clicker 1 Calculator

=
========================================= $(function {	$('#Clicker1_EndDate').html('');	$('#Clicker1_XP').html('');	$('#Clicker1_Level').html('');	$('#Clicker1_Aphro').html(''); });

var clicker1Intimacy = [ {		power: 5, // points per click cost: 1, // stamina cost ahpro: 0 // cost to unlock this intimacy level },	{		power: 20, cost: 2, aphro:400 },		{		power: 60, cost: 3, aphro: 1200 },	{		power: 240, cost: 6, aphro: 1800 },	{		power: 1000, cost: 10, aphro: 2400 }, ];

function calcClicker1 {	var endDateDiv = document.getElementById("Click1EndDate"); if (endDateDiv == null) return; var endDate = new Date(endDateDiv.value); var curDate = Date.now; var diffDate = endDate-curDate; var days = Math.floor(diffDate/1000/60/60/24); var hours = Math.floor(diffDate/1000/60/60) % 24; var minutes = Math.floor(diffDate/1000/60) % 60; document.getElementById("Clicker1_Countdown").innerText = "Event ends in: " + days + "d " + hours + "h " + minutes + "m "; var xp = parseInt(document.getElementById("XPInput").value); var level = parseInt(document.getElementById("LevelInput").value); var aphro = parseInt(document.getElementById("AphroInput").value); var content_totals = document.getElementById("Clicker1_Totals"); var content = document.getElementById("Clicker1_Content"); if (document.getElementById("LevelInput").value !== "") {		if (level < 1) {			level = 1; }		if (level > 5) {			level = 5; }		document.getElementById("LevelInput").value = level; }	//var endDate = new Date(document.getElementById("Clicker1_EndDate").innerText); //var curDate = Date.now; //var diffDate = endDate-curDate; var eventEndTime = diffDate/1000/60; var requiredXP = 814000; var minPerAphro = 2.5; var outputText = ""; var currentPointsEarned = xp; var totalRequiredTime = 0; var powerPerStamina = 0; for (var i=level; i<5; i++) {		outputText +="### Intimacy Level " + i + " ###\n"; powerPerStamina = clicker1Intimacy[i-1].power/clicker1Intimacy[i-1].cost; var levelUpCost = clicker1Intimacy[i].aphro; var remainingAphro = levelUpCost-aphro; if (remainingAphro <= 0) {			outputText += "Enough aphro, skipping this intimacy level\n\n"; aphro -= levelUpCost; continue; }		else {			aphro = 0; }		var timeToNextLevel = Math.ceil(remainingAphro * minPerAphro); var pointsEarned = timeToNextLevel * powerPerStamina; outputText += "Aphrodisiac required: " + remainingAphro + " --- " + formatTime(timeToNextLevel/60) + "\n"; outputText += "Points Earned: " + pointsEarned + " (" + ((pointsEarned/requiredXP)*100).toFixed(2) + "% xp)\n\n"; currentPointsEarned += pointsEarned; totalRequiredTime += timeToNextLevel; }	var remainingXP = requiredXP - currentPointsEarned; powerPerStamina = clicker1Intimacy[4].power/clicker1Intimacy[4].cost; var minutesTillComplete = remainingXP/powerPerStamina; outputText += "### Intimacy Level 5 ###\n"; outputText += "Remaining XP: " + remainingXP + " --- " + formatTime(minutesTillComplete/60); content.innerText = outputText; totalRequiredTime += minutesTillComplete; var output = ""; if (eventEndTime < totalRequiredTime) {       output += 'Total Time Required: ' + formatTime(totalRequiredTime/60) + ''; }   else {       output += 'Total Time Required: '+ formatTime(totalRequiredTime/60); }	content_totals.innerHTML = output; }

/*

=
========================================= Clicker 2 Calculator

=
=========================================

$(function {	$('#Clicker2_EndDate').html('');	$('#Clicker2_Stage').html('');	$('#Clicker2_XP').html('');

$('#Clicker2_Brewer2').html('Brewer level 2 '); $('#Clicker2_Brewer3').html('Brewer level 3 '); $('#Clicker2_Brewer4').html('Brewer level 4 '); $('#Clicker2_Shunga2').html('<label for="Clicker2_Shunga2_label">Shunga level 2 '); $('#Clicker2_Shunga3').html('<input type="checkbox" onclick="calcClicker2" id="Clicker2_Shunga3_checkbox"><label for="Clicker2_Shunga3_label">Shunga level 3 '); $('#Clicker2_Shunga4').html('<input type="checkbox" onclick="calcClicker2" id="Clicker2_Shunga4_checkbox"><label for="Clicker2_Shunga4_label">Shunga level 4 '); });

var clicker2StageInfo = [ {       xp: 8000, unlockRatio: [0, 0.5], xpForUnlock: [4000, 4000], storyWine: 16, },   {        xp: 28000, unlockRatio: [0, 0.5], xpForUnlock: [14000, 14000], storyWine: 30, },   {        xp: 58000, unlockRatio: [0, 0.2, 0.6], xpForUnlock: [11600, 23200, 23200], storyWine: 50, },   {        xp: 173000, unlockRatio: [0, 0.2, 0.5, 0.7], xpForUnlock: [34600, 51900, 34600, 51900], storyWine: 120, } ];

function calcClicker2 {	var endDateDiv = document.getElementById("Click2EndDate"); if (endDateDiv == null) return; var endDate = new Date(endDateDiv.value); var curDate = Date.now; var diffDate = endDate-curDate; var days = Math.floor(diffDate/1000/60/60/24); var hours = Math.floor(diffDate/1000/60/60) % 24; var minutes = Math.floor(diffDate/1000/60) % 60; document.getElementById("Clicker2_Countdown").innerText = "Event ends in: " + days + "d " + hours + "h " + minutes + "m "; var stage = parseInt(document.getElementById("StageInput").value); var xp = parseInt(document.getElementById("XPInput").value); var content_totals = document.getElementById("Clicker2_Totals"); var content = document.getElementById("Clicker2_Content");

for (var i=2; i<5; i++) {       document.getElementById('Clicker2_Brewer' + i + '_checkbox').disabled = false; document.getElementById('Clicker2_Shunga' + i + '_checkbox').disabled = false; }

for (var i=1; i<stage; i++) {       var checkbox = document.getElementById('Clicker2_Brewer' + (i+1) + '_checkbox'); checkbox.disabled = true; }	var winePerHour = [24, 30, 42, 54]; // wine cost per shuga is 1, 2, 4, 6 and click power 10,40,120, 360 var xpPerWine = [10, 20, 30, 60]; var endDate = new Date(document.getElementById("Clicker2_EndDate").innerText); var curDate = Date.now; var diffDate = endDate-curDate; var eventEndTime = diffDate/1000/60/60; var stageInfo = clicker2StageInfo[stage-1]; // progress percent var progress = xp / stageInfo.xp; // find the current clicking power var index = 0; for (var i=0; i < stageInfo.unlockRatio.length; i++) {		if (progress >= stageInfo.unlockRatio[i]) {			index = i;           if (i > 0) {               var checkbox = document.getElementById('Clicker2_Shunga' + (i+1) + '_checkbox'); checkbox.disabled = true; }		}	}

var currentBrewing = stage; for (var i = 4; i>stage; i--) {       if (document.getElementById('Clicker2_Brewer' + i + '_checkbox').checked) {           currentBrewing = i;            break; }   }

var currentShunga = index+1; for (var i = stageInfo.unlockRatio.length; i>(index+1); i--) {       if (document.getElementById('Clicker2_Shunga' + i + '_checkbox').checked) {           currentShunga = i;            break; }   }

var output =''; var totalWine = 0; var totalBrewTime = 0;

var wineRate = winePerHour[currentBrewing-1]; var clickPower = xpPerWine[currentShunga-1];

output += '### Current Chapter ###\n\n' output += 'Active Brew Level: ' + currentBrewing + ' ('+wineRate+'/h)\n\n';

// get the progress made twards the next shuga var xpTillNextShunga = stageInfo.xpForUnlock[index] - ((progress - stageInfo.unlockRatio[index]) * stageInfo.xp);

var chapterWine = 0; //output += 'Story Wine Costs: ' + stageInfo.storyWine + ' wine\n'; //chapterWine += stageInfo.storyWine;

var wine = Math.ceil(xpTillNextShunga/clickPower); chapterWine += wine; output += 'Shunga ' + currentShunga + ' ('+ Math.floor(stageInfo.unlockRatio[currentShunga-1]*100) +'%): '+xpTillNextShunga+'p ---> '+wine+' wine\n';

for(var i=index+1; i<stageInfo.unlockRatio.length; i++) {       wine = Math.ceil(stageInfo.xpForUnlock[i]/xpPerWine[i]); output += 'Shunga ' + (i+1) + ' ('+ Math.floor(stageInfo.unlockRatio[i]*100) +'%): ' + stageInfo.xpForUnlock[i] + 'p ---> ' + wine + ' wine\n'; chapterWine += wine; }

var time = chapterWine/wineRate; totalBrewTime += time; totalWine += chapterWine; output += 'Total: ' + chapterWine + ' wine --- ' + formatTime(time);

for(var s = stage+1; s<=4; s++) {       var chapterWine = 0;

if (currentBrewing < s)       { currentBrewing = s;       }

stageInfo = clicker2StageInfo[s-1]; wineRate = winePerHour[currentBrewing-1];

output += '\n\n### Chapter '+s+' ###\n\n' output += 'Active Brew Level: ' + currentBrewing + ' ('+wineRate+'/h)\n\n';

output += 'Story Wine Costs: ' + stageInfo.storyWine + ' wine\n'; chapterWine += stageInfo.storyWine;

for(var i=0; i<stageInfo.unlockRatio.length; i++) {           wine = Math.ceil(stageInfo.xpForUnlock[i]/xpPerWine[i]); output += 'Shunga ' + (i+1) + ' ('+ Math.floor(stageInfo.unlockRatio[i]*100) +'%): ' + stageInfo.xpForUnlock[i] + 'p ---> ' + wine + ' wine\n'; chapterWine += wine; }

var time = chapterWine/wineRate; totalBrewTime += time; totalWine += chapterWine;

output += 'Total: ' + chapterWine + ' wine --- ' + formatTime(time); }

content.innerText = output;

output = '';

if (eventEndTime < totalBrewTime) {       output += 'Grand Total: '+ totalWine +' wine --- ' + formatTime(totalBrewTime) + '</b>'; }   else {       output += 'Grand Total: '+ totalWine +' wine --- ' + formatTime(totalBrewTime); }

content_totals.innerHTML = output; }

function formatTime (timeInHours) {   var days = Math.floor(timeInHours / 24); var hours = Math.floor(timeInHours % 24); var minutes = Math.floor(timeInHours*60 % 60); return days + 'd ' + hours + 'h ' + minutes + 'm'; }

/*

=
========================================= Hero Search

=
========================================= var classFilter = ''; var factionFilter = ''; var tierFilter = ''; var summonsFilter = '';

$(function {	$('#HeroSearch').html('<input style="width:200px" id="HeroSearchBox" type="text" onkeyup="FilterHeroes" placeholder="Hero name...">'); });

$('#ClassSearch').children('div').on('click', function(e) {	var value = this.children[0].title;	if (classFilter === value)	{		classFilter = ;	}	else	{		classFilter = value;	}	var p = document.getElementById("ClassSearch");	for(var i=0; i<p.children.length; i++)	{		var c = p.children[i];		if(classFilter === )		{			c.style.opacity = 1;				} 		else if (c.children[0].title === classFilter)		{			c.style.opacity = 1;		}		else		{			c.style.opacity = 0.5;			}	}	FilterHeroes; });

$('#FactionSearch').children('div').on('click', function(e) {	var value = this.children[0].title;	if (factionFilter === value)	{		factionFilter = ;	}	else	{		factionFilter = value;	}	var p = document.getElementById("FactionSearch");	for(var i=0; i<p.children.length; i++)	{		var c = p.children[i];		if(factionFilter === )		{			c.style.opacity = 1;				} 		else if (c.children[0].title === factionFilter)		{			c.style.opacity = 1;		}		else		{			c.style.opacity = 0.5;			}	}	FilterHeroes; });

$('#TierSearch').children('div').on('click', function(e) {	var value = this.children[0].title;	if (tierFilter === value)	{		tierFilter = ;	}	else	{		tierFilter = value;	}	var p = document.getElementById("TierSearch");	for(var i=0; i<p.children.length; i++)	{		var c = p.children[i];		if(tierFilter == )		{			c.style.opacity = 1;				} 		else if (c.children[0].title == tierFilter)		{			c.style.opacity = 1;		}		else		{			c.style.opacity = 0.5;			}	}	FilterHeroes; });

$('#SummonsSearch').children('div').on('click', function(e) {	var value = this.children[0].title;	if (summonsFilter === value)	{		summonsFilter = ;	}	else	{		summonsFilter = value;	}	var p = document.getElementById("SummonsSearch");	for(var i=0; i<p.children.length; i++)	{		var c = p.children[i];		if(summonsFilter === )		{			c.style.opacity = 1;				} 		else if (c.children[0].title === summonsFilter)		{			c.style.opacity = 1;		}		else		{			c.style.opacity = 0.5;			}	}	FilterHeroes; });

function FilterHeroes {	var heroListDiv = document.getElementById("HeroList"); if (heroListDiv == null) return; var heroes = heroListDiv; var filter = document.getElementById("HeroSearchBox").value.toUpperCase; for(var i=0; i<heroes.children.length; i++) {		var validText = false; var validClass = false; var validFaction = false; var validTier = false; var validSummons = false; var child = heroes.children[i]; validText = filter === '' || child.children["name"].innerText.toUpperCase.indexOf(filter) > -1; validClass = classFilter === '' || child.children["class"].innerText.toUpperCase.indexOf(classFilter.toUpperCase) > -1; validFaction = factionFilter === '' || child.children["faction"].innerText.toUpperCase.indexOf(factionFilter.toUpperCase) > -1; validTier = tierFilter === '' || child.children["tier"].innerText.toUpperCase == tierFilter.toUpperCase; validSummons = summonsFilter === '' || child.children["summoningPool"].innerText.toUpperCase.indexOf(summonsFilter.toUpperCase) > -1; if (validText && validClass && validFaction && validTier && validSummons) {			child.style.display = ''; }		else {			child.style.display = 'none'; }	} }

/*

=
========================================= Skill search function below

=
=========================================

var parsingData = [ {     type: "priority", name: "Front Row", keywords: ["FRONT ROW"], }, {      type: "priority", name: "Back Row", keywords: ["BACK ROW"], }, {      type: "priority", name: "Reaction", keywords: [ "TAKING DAMAGE", "TAKING MAGIC DAMAGE", "TAKING PHYSICAL DAMAGE", "TAKING ELEMENTAL DAMAGE", "TAKING DIRECT DAMAGE", "TAKING NORMAL ATTACK", "TAKEN DAMAGE", "TAKEN MAGIC DAMAGE", "TAKEN PHYSICAL DAMAGE", "TAKEN ELEMENTAL DAMAGE", "TAKEN DIRECT DAMAGE", "TAKEN NORMAL ATTACK", "EFFECTED TARGETS LOSES HP IMMEDIATELY AFTER USING ULTIMATE SKILL" ], },  {      type: "target", name: "Self", keywords: ["SELF", "OWN"], }, {      type: "target", name: "Random", keywords: ["RANDOM"], }, {      type: "target", name: "Ally", keywords: ["PARTY"], }, {      type: "target", name: "Enemy", keywords: ["ENEMY", "ENEMIES"], }, {      type: "target", name: "All", keywords: ["ALL ", "EXCEPT SELF"], }, {    type: "target", name: "Same Job", keywords: ["SAME JOB"], }, {    type: "target", name: "Same Faction", keywords: ["SAME FACTION"], }, {    type: "target", name: "With Curse", keywords: ["WITH CURSED EFFECT"], }, {    type: "target", name: "With Weaken", keywords: ["WITH WEAKEN EFFECT"], }, {    type: "target", name: "With Electrocute", keywords: ["WITH ELECTROCUTE EFFECT"], }, {    type: "target", name: "With Burn", keywords: ["WITH BURN EFFECT"], }, {    type: "target", name: "With Holy Shield", keywords: ["WITH HOLY SHIELD EFFECT"], }, {      type: "target", name: "Mage", keywords: [" MAGE"], }, {      type: "target", name: "Support", keywords: ["SUPPORT"], }, {      type: "target", name: "Ranger", keywords: ["RANGER"], }, {      type: "target", name: "Tank", keywords: ["TANK"], }, {      type: "target", name: "Assassin", keywords: ["ASSASSIN"], }, {      type: "target", name: "Warrior", keywords: ["WARRIOR"], }, {      type: "target", name: "Penglai", keywords: ["PENGLAI"], }, {      type: "target", name: "Kingdom of Clouds", keywords: ["KINGDOM OF CLOUDS"], }, {      type: "target", name: "Western Alliance", keywords: ["WESTERN ALLIANCE"], }, {      type: "target", name: "Lowest HP", keywords: ["LOWEST HP"], }, {      type: "target", name: "Highest HP", keywords: ["HIGHEST HP", "HIGHEST MAXIMUM HP"], }, {      type: "target", name: "Highest ATK", keywords: ["HIGHEST ATK"], }, {      type: "target", name: "Highest Speed", keywords: ["HIGHEST SPEED"], }, {      type: "target", name: "Lowest Speed", keywords: ["LOWEST SPEED"], }, {      type: "target", name: "Highest Energy", keywords: ["HIGHEST ENERGY", "HIGHEST ENERGIES"], }, {      type: "target", name: "Lowest Energy", keywords: ["LOWEST ENERGY", "LOWEST ENERGIES"], }, {      type: "target", name: "Lowest PDEF", keywords: ["LOWEST PDEF", "LOWEST PHYSICAL DEFENSE"], }, {      type: "damageType", name: "True", keywords: ["TRUE DAMAGE"], }, {      type: "damageType", name: "Physical", keywords: ["PHYSICAL DAMAGE"], }, {      type: "damageType", name: "Magic", keywords: ["MAGIC DAMAGE"], }, {      type: "damageType", name: "Elemental", keywords: ["ELEMENTAL DAMAGE"], }, {      type: "damageType", name: "Crit", keywords: ["CRIT DAMAGE"], }, {      type: "damageType", name: "Direct", keywords: ["DIRECT DAMAGE"], }, {      type: "statusEffect", name: "Weaken", keywords: ["WEAKEN"], }, {      type: "statusEffect", name: "Strengthen", keywords: ["STRENGTHEN"], }, {      type: "statusEffect", name: "Wound Deepening", keywords: ["WOUND DEEPENING"], }, {      type: "statusEffect", name: "Taunt", keywords: ["TAUNT"], }, {      type: "statusEffect", name: "Stun", keywords: ["STUN"], }, {      type: "statusEffect", name: "Halt", keywords: ["HALT"], }, {      type: "statusEffect", name: "Silence", keywords: ["SILENCE"], }, {      type: "statusEffect", name: "Steal", keywords: ["STEAL"], }, {      type: "statusEffect", name: " Seal ", keywords: ["SEAL"], }, {      type: "statusEffect", name: "Paralysis", keywords: ["PARALYSIS"], }, {      type: "statusEffect", name: "Petrify", keywords: ["PETRIFY"], }, {      type: "statusEffect", name: "Charm", keywords: ["CHARM"], }, {      type: "statusEffect", name: "Poison", keywords: ["POISON"], }, {      type: "statusEffect", name: "Burn", keywords: ["BURN"], }, {      type: "statusEffect", name: "Electrocute", keywords: ["ELECTROCUTE"], }, {      type: "statusEffect", name: "Hidden", keywords: ["HIDING"], }, {      type: "statusEffect", name: "Immune", keywords: ["IMMUNE"], }, {      type: "statusEffect", name: "Dispel", keywords: ["DISPEL"], }, {      type: "statusEffect", name: "Purify", keywords: ["PURIFY"], }, {      type: "statusEffect", name: "Guard", keywords: ["GUARD"], }, {      type: "statusEffect", name: "Holy Shield", keywords: ["HOLY SHIELD"], }, {    type: "statusEffect", name: "Absorb", keywords: ["ABSORB"], }, {      type: "statusEffect", name: "Heal", keywords: ["CAST HEALING", "CASTS HEALING", "CAST A HEALING", "CASTS A HEALING", "CASTING A HEALING", "CAST A RECOVERY", "CASTS A RECOVERY", "RECOVER HP", "RECOVERS HP"], }, {      type: "statusEffect", name: "Heal up", keywords: ["INCREASE THE RATE OF HEALING", "INCREASES THE RATE OF HEALING"], }, {      type: "statusEffect", name: "Heal down", keywords: ["HEALING EFFECTS ON THE TARGET IS REDUCED", "HEALING EFFECT ON THE AFFECTED TARGET IS REDUCED", "DECREASE THE HEALING", "DECREASES THE HEALING", "DECREASING THE HEALING"], }, {      type: "statusEffect", name: "HP up", keywords: [ "INCREASE THE HP", "INCREASES THE HP", "INCREASING THE HP", "INCREASE OWN HP", "INCREASES OWN HP", "INCREASING OWN HP", "INCREASE SELF HP", "INCREASES SELF HP", "INCREASING SELF HP", "INCREASE SELFS HP", "INCREASES SELFS HP", "INCREASING SELFS HP", "INCREASE THEIR HP", "INCREASES THEIR HP", "INCREASING THEIR HP", "INCREASE THE TARGETS HP", "INCREASES THE TARGETS HP", "INCREASING THE TARGETS HP", "INCREASE THE AFFECTED TARGETS HP", "INCREASES THE AFFECTED TARGETS HP", "INCREASING THE AFFECTED TARGETS HP", ], },  {      type: "statusEffect", name: "HP down", keywords: ["CONSUMES HP", "DEDUCTS OF SELFs HP"], }, {      type: "statusEffect", name: "Energy up", keywords: [ "ADDITIONAL ENERGY", "ADDITIONAL ENERGIES", "CAST AN ENERGY GRANT", "CASTS AN ENERGY GRANT", "INCREASES SELFS ENERGIES", "INCREASES ENERGIES", "INCREASES THE AFFECTED TARGETS ENERGIES" ], },  {      type: "statusEffect", name: "Energy down", keywords: ["REDUCES ENERGIES", "REDUCES ENERGY", "ENERGY REDUCTION"], }, {      type: "statusEffect", name: "Speed up", keywords: [ "INCREASE THE SPEED", "INCREASES THE SPEED", "INCREASING THE SPEED", "INCREASE OWN SPEED", "INCREASES OWN SPEED", "INCREASING OWN SPEED", "INCREASE SELF SPEED", "INCREASES SELF SPEED", "INCREASING SELF SPEED", "INCREASE SELFS SPEED", "INCREASES SELFS SPEED", "INCREASING SELFS SPEED", "INCREASE THEIR SPEED", "INCREASES THEIR SPEED", "INCREASING THEIR SPEED", "INCREASE THE TARGETS SPEED", "INCREASES THE TARGETS SPEED", "INCREASING THE TARGETS SPEED", "INCREASE THE AFFECTED TARGETS SPEED", "INCREASES THE AFFECTED TARGETS SPEED", "INCREASING THE AFFECTED TARGETS SPEED", ], },  {      type: "statusEffect", name: "Speed down", keywords: [ "DECREASE THE SPEED", "DECREASES THE SPEED", "DECREASING THE SPEED", "REDUCING THE SPEED", "DECREASE OWN SPEED", "DECREASES OWN SPEED", "DECREASING OWN SPEED", "REDUCING OWN SPEED", "DECREASE SELF SPEED", "DECREASES SELF SPEED", "DECREASING SELF SPEED", "REDUCING SELF SPEED", "DECREASE SELFS SPEED", "DECREASES SELFS SPEED", "DECREASING SELFS SPEED", "REDUCING SELFS SPEED", "DECREASE THEIR SPEED", "DECREASES THEIR SPEED", "DECREASING THEIR SPEED", "REDUCING THEIR SPEED", "DECREASE THE TARGETS SPEED", "DECREASES THE TARGETS SPEED", "DECREASING THE TARGETS SPEED", "REDUCING THE TARGETS SPEED", "DECREASE THE AFFECTED TARGETS SPEED", "DECREASES THE AFFECTED TARGETS SPEED", "DECREASING THE AFFECTED TARGETS SPEED", "REDUCING THE AFFECTED TARGETS SPEED", "DECREASES THE AFFECTED TARGETS MAGIC DEFENSE BY FOR ROUNDS SPEED BY" // because clairs weapon ], },  {      type: "statusEffect", name: "Hit up", keywords: [ "INCREASE THE HIT RATE", "INCREASES THE HIT RATE", "INCREASING THE HIT RATE", "INCREASE OWN HIT RATE", "INCREASES OWN HIT RATE", "INCREASING OWN HIT RATE", "INCREASE SELF HIT RATE", "INCREASES SELF HIT RATE", "INCREASING SELF HIT RATE", "INCREASE SELFS HIT RATE", "INCREASES SELFS HIT RATE", "INCREASING SELFS HIT RATE", "INCREASE THEIR HIT RATE", "INCREASES THEIR HIT RATE", "INCREASING THEIR HIT RATE", "INCREASE THE TARGETS HIT RATE", "INCREASES THE TARGETS HIT RATE", "INCREASING THE TARGETS HIT RATE", "INCREASE THE AFFECTED TARGETS HIT RATE", "INCREASES THE AFFECTED TARGETS HIT RATE", "INCREASING THE AFFECTED TARGETS HIT RATE", ], },  {      type: "statusEffect", name: "Hit down", keywords: [ "DECREASE THE HIT RATE", "DECREASES THE HIT RATE", "DECREASING THE HIT RATE", "REDUCING THE HIT RATE", "DECREASE OWN HIT RATE", "DECREASES OWN HIT RATE", "DECREASING OWN HIT RATE", "REDUCING OWN HIT RATE", "DECREASE SELF HIT RATE", "DECREASES SELF HIT RATE", "DECREASING SELF HIT RATE", "REDUCING SELF HIT RATE", "DECREASE SELFS HIT RATE", "DECREASES SELFS HIT RATE", "DECREASING SELFS HIT RATE", "REDUCING SELFS HIT RATE", "DECREASE THEIR HIT RATE", "DECREASES THEIR HIT RATE", "DECREASING THEIR HIT RATE", "REDUCING THEIR HIT RATE", "DECREASE THE TARGETS HIT RATE", "DECREASES THE TARGETS HIT RATE", "DECREASING THE TARGETS HIT RATE", "REDUCING THE TARGETS HIT RATE", "DECREASE THE AFFECTED TARGETS HIT RATE", "DECREASES THE AFFECTED TARGETS HIT RATE", "DECREASING THE AFFECTED TARGETS HIT RATE", "REDUCING THE AFFECTED TARGETS HIT RATE", ], },  {      type: "statusEffect", name: "CRIT up", keywords: [ "INCREASES CRIT CHANCE", "INCREASES CRITICAL RATE", "INCREASE THE CRIT RATE", "INCREASES THE CRIT RATE", "INCREASING THE CRIT RATE", "INCREASE OWN CRIT RATE", "INCREASES OWN CRIT RATE", "INCREASING OWN CRIT RATE", "INCREASE SELF CRIT RATE", "INCREASES SELF CRIT RATE", "INCREASING SELF CRIT RATE", "INCREASE SELFS CRIT RATE", "INCREASES SELFS CRIT RATE", "INCREASING SELFS CRIT RATE", "INCREASE THEIR CRIT RATE", "INCREASES THEIR CRIT RATE", "INCREASING THEIR CRIT RATE", "INCREASE THE TARGETS CRIT RATE", "INCREASES THE TARGETS CRIT RATE", "INCREASING THE TARGETS CRIT RATE", "INCREASE THE AFFECTED TARGETS CRIT RATE", "INCREASES THE AFFECTED TARGETS CRIT RATE", "INCREASING THE AFFECTED TARGETS CRIT RATE", ], },  {      type: "statusEffect", name: "CRIT down", keywords: [ "DECREASE THE CRIT RATE", "DECREASES THE CRIT RATE", "DECREASING THE CRIT RATE", "REDUCING THE CRIT RATE", "DECREASE OWN CRIT RATE", "DECREASES OWN CRIT RATE", "DECREASING OWN CRIT RATE", "REDUCING OWN CRIT RATE", "DECREASE SELF CRIT RATE", "DECREASES SELF CRIT RATE", "DECREASING SELF CRIT RATE", "REDUCING SELF CRIT RATE", "DECREASE SELFS CRIT RATE", "DECREASES SELFS CRIT RATE", "DECREASING SELFS CRIT RATE", "REDUCING SELFS CRIT RATE", "DECREASE THEIR CRIT RATE", "DECREASES THEIR CRIT RATE", "DECREASING THEIR CRIT RATE", "REDUCING THEIR CRIT RATE", "DECREASE THE TARGETS CRIT RATE", "DECREASES THE TARGETS CRIT RATE", "DECREASING THE TARGETS CRIT RATE", "REDUCING THE TARGETS CRIT RATE", "DECREASE THE AFFECTED TARGETS CRIT RATE", "DECREASES THE AFFECTED TARGETS CRIT RATE", "DECREASING THE AFFECTED TARGETS CRIT RATE", "REDUCING THE AFFECTED TARGETS CRIT RATE", ], },  {      type: "statusEffect", name: "CDMG up", keywords: [ "ACCUMULATES SELFS CRIT DAMAGE", "INCREASE SELF CRIT DAMAGE", "INCREASES SELF CRIT DAMAGE", "INCREASING SELF CRIT DAMAGE", "INCREASE SELFS CRIT DAMAGE", "INCREASES SELFS CRIT DAMAGE", "INCREASING SELFS CRIT DAMAGE", "INCREASES SELFS CRIT RATE BY AND CRIT DAMAGE", "INCREASE OWN CRIT DAMAGE", "INCREASES OWN CRIT DAMAGE", "INCREASING OWN CRIT DAMAGE", "INCREASE THEIR CRIT DAMAGE", "INCREASES THEIR CRIT DAMAGE", "INCREASING THEIR CRIT DAMAGE", "INCREASE THE TARGETS CRIT DAMAGE", "INCREASES THE TARGETS CRIT DAMAGE", "INCREASING THE TARGETS CRIT DAMAGE", "INCREASE THE AFFECTED TARGETS CRIT DAMAGE", "INCREASES THE AFFECTED TARGETS CRIT DAMAGE", "INCREASING THE AFFECTED TARGETS CRIT DAMAGE", "INCREASE SELF CDMG", "INCREASES SELF CDMG", "INCREASING SELF CDMG", "INCREASE SELFS CDMG", "INCREASES SELFS CDMG", "INCREASING SELFS CDMG", "INCREASE OWN CDMG", "INCREASES OWN CDMG", "INCREASING OWN CDMG", "INCREASE THEIR CDMG", "INCREASES THEIR CDMG", "INCREASING THEIR CDMG", "INCREASE THE TARGETS CDMG", "INCREASES THE TARGETSTHE TARGETS CDMG", "INCREASING THE TARGETS CDMG", "INCREASE THE AFFECTED TARGETS CDMG", "INCREASES THE AFFECTED TARGETS CDMG", "INCREASING THE AFFECTED TARGETS CDMG", ], },  {      type: "statusEffect", name: "CDMG down", keywords: [ "DECREASE SELF CRIT DAMAGE", "DECREASES SELF CRIT DAMAGE", "DECREASING SELF CRIT DAMAGE", "REDUCING SELF CRIT DAMAGE", "DECREASE SELFS CRIT DAMAGE", "DECREASES SELFS CRIT DAMAGE", "DECREASING SELFS CRIT DAMAGE", "REDUCING SELFS CRIT DAMAGE", "DECREASE OWN CRIT DAMAGE", "DECREASES OWN CRIT DAMAGE", "DECREASING OWN CRIT DAMAGE", "REDUCING OWN CRIT DAMAGE", "DECREASE THEIR CRIT DAMAGE", "DECREASES THEIR CRIT DAMAGE", "DECREASING THEIR CRIT DAMAGE", "REDUCING THEIR CRIT DAMAGE", "DECREASE THE TARGETS CRIT DAMAGE", "DECREASES THE TARGETS CRIT DAMAGE", "DECREASING THE TARGETS CRIT DAMAGE", "REDUCING THE TARGETS CRIT DAMAGE", "DECREASE THE AFFECTED TARGETS CRIT DAMAGE", "DECREASES THE AFFECTED TARGETS CRIT DAMAGE", "DECREASING THE AFFECTED TARGETS CRIT DAMAGE", "REDUCING THE AFFECTED TARGETS CRIT DAMAGE",

"DECREASE SELF CDMG", "DECREASES SELF CDMG", "DECREASING SELF CDMG", "REDUCING SELF CDMG", "DECREASE OWN CDMG", "DECREASES OWN CDMG", "DECREASING OWN CDMG", "REDUCING OWN CDMG", "DECREASE THEIR CDMG", "DECREASES THEIR CDMG", "DECREASING THEIR CDMG", "REDUCING THEIR CDMG", "DECREASE THE TARGETS CDMG", "DECREASES THE TARGETS CDMG", "DECREASING THE TARGETS CDMG", "REDUCING THE TARGETS CDMG", "DECREASE THE AFFECTED TARGETS CDMG", "DECREASES THE AFFECTED TARGETS CDMG", "DECREASING THE AFFECTED TARGETS CDMG", "REDUCING THE AFFECTED TARGETS CDMG", ], },  {      type: "statusEffect", name: "ATK up", keywords: [ "INCREASE ATK", "INCREASES ATK", "INCREASING ATK", "INCREASE SELF ATK", "INCREASES SELF ATK", "INCREASING SELF ATK", "INCREASE SELFS ATK", "INCREASES SELFS ATK", "INCREASING SELFS ATK", "INCREASES SELFS DAMAGE DEALT", "INCREASE OWN ATK", "INCREASES OWN ATK", "INCREASING OWN ATK", "INCREASE THEIR ATK", "INCREASES THEIR ATK", "INCREASING THEIR ATK", "INCREASE THE TARGETS ATK", "INCREASES THE TARGETS ATK", "INCREASING THE TARGETS ATK", "INCREASE THE AFFECTED TARGETS ATK", "INCREASES THE AFFECTED TARGETS ATK", "INCREASING THE AFFECTED TARGETS ATK", "INCREASE THE AFFECTED HEROS ATK", "INCREASES THE AFFECTED HEROS ATK", "INCREASING THE AFFECTED HEROS ATK", "ATK WILL BE INCREASED" ], },  {      type: "statusEffect", name: "PATK up", keywords: [ "INCREASE THE PHYSICAL DAMAGE", "INCREASES THE PHYSICAL DAMAGE", "INCREASING THE PHYSICAL DAMAGE", "INCREASE OWN PHYSICAL DAMAGE", "INCREASES OWN PHYSICAL DAMAGE", "INCREASING OWN PHYSICAL DAMAGE", "INCREASE SELF PHYSICAL DAMAGE", "INCREASES SELF PHYSICAL DAMAGE", "INCREASING SELF PHYSICAL DAMAGE", "INCREASE SELFS PHYSICAL DAMAGE", "INCREASES SELFS PHYSICAL DAMAGE", "INCREASING SELFS PHYSICAL DAMAGE", "INCREASE THEIR PHYSICAL DAMAGE", "INCREASES THEIR PHYSICAL DAMAGE", "INCREASING THEIR PHYSICAL DAMAGE", "INCREASE THE TARGETS PHYSICAL DAMAGE", "INCREASES THE TARGETS PHYSICAL DAMAGE", "INCREASING THE TARGETS PHYSICAL DAMAGE", "INCREASE THE AFFECTED TARGETS PHYSICAL DAMAGE", "INCREASES THE AFFECTED TARGETS PHYSICAL DAMAGE", "INCREASING THE AFFECTED TARGETS PHYSICAL DAMAGE",

"INCREASE THE PDMG", "INCREASES THE PDMG", "INCREASING THE PDMG", "INCREASE OWN PDMG", "INCREASES OWN PDMG", "INCREASING OWN PDMG", "INCREASE SELF PDMG", "INCREASES SELF PDMG", "INCREASING SELF PDMG", "INCREASE THEIR PDMG", "INCREASES THEIR PDMG", "INCREASING THEIR PDMG", "INCREASE THE TARGETS PDMG", "INCREASES THE TARGETS PDMG", "INCREASING THE TARGETS PDMG", "INCREASE THE AFFECTED TARGETS PDMG", "INCREASES THE AFFECTED TARGETS PDMG", "INCREASING THE AFFECTED TARGETS PDMG", ], },  {      type: "statusEffect", name: "MATK up", keywords: [ "INCREASE THE MAGIC DAMAGE", "INCREASES THE MAGIC DAMAGE", "INCREASING THE MAGIC DAMAGE", "INCREASE OWN MAGIC DAMAGE", "INCREASES OWN MAGIC DAMAGE", "INCREASING OWN MAGIC DAMAGE", "INCREASE SELF MAGIC DAMAGE", "INCREASES SELF MAGIC DAMAGE", "INCREASING SELF MAGIC DAMAGE", "INCREASE SELFS MAGIC DAMAGE", "INCREASES SELFS MAGIC DAMAGE", "INCREASING SELFS MAGIC DAMAGE", "INCREASE THEIR MAGIC DAMAGE", "INCREASES THEIR MAGIC DAMAGE", "INCREASING THEIR MAGIC DAMAGE", "INCREASE THE TARGETS MAGIC DAMAGE", "INCREASES THE TARGETS MAGIC DAMAGE", "INCREASING THE TARGETS MAGIC DAMAGE", "INCREASE THE AFFECTED TARGETS MAGIC DAMAGE", "INCREASES THE AFFECTED TARGETS MAGIC DAMAGE", "INCREASING THE AFFECTED TARGETS MAGIC DAMAGE",

"INCREASE THE MDMG", "INCREASES THE MDMG", "INCREASING THE MDMG", "INCREASE OWN MDMG", "INCREASES OWN MDMG", "INCREASING OWN MDMG", "INCREASE SELF MDMG", "INCREASES SELF MDMG", "INCREASING SELF MDMG", "INCREASE THEIR MDMG", "INCREASES THEIR MDMG", "INCREASING THEIR MDMG", "INCREASE THE TARGETS MDMG", "INCREASES THE TARGETS MDMG", "INCREASING THE TARGETS MDMG", "INCREASE THE AFFECTED TARGETS MDMG", "INCREASES THE AFFECTED TARGETS MDMG", "INCREASING THE AFFECTED TARGETS MDMG", ], },  {      type: "statusEffect", name: "EATK up", keywords: [ "INCREASE THE ELEMENTAL DAMAGE", "INCREASES THE ELEMENTAL DAMAGE", "INCREASING THE ELEMENTAL DAMAGE", "INCREASE OWN ELEMENTAL DAMAGE", "INCREASES OWN ELEMENTAL DAMAGE", "INCREASING OWN ELEMENTAL DAMAGE", "INCREASE SELF ELEMENTAL DAMAGE", "INCREASES SELF ELEMENTAL DAMAGE", "INCREASING SELF ELEMENTAL DAMAGE", "INCREASE SELFS ELEMENTAL DAMAGE", "INCREASES SELFS ELEMENTAL DAMAGE", "INCREASING SELFS ELEMENTAL DAMAGE", "INCREASE THEIR ELEMENTAL DAMAGE", "INCREASES THEIR ELEMENTAL DAMAGE", "INCREASING THEIR ELEMENTAL DAMAGE", "INCREASE THE TARGETS ELEMENTAL DAMAGE", "INCREASES THE TARGETS ELEMENTAL DAMAGE", "INCREASING THE TARGETS ELEMENTAL DAMAGE", "INCREASE THE AFFECTED TARGETS ELEMENTAL DAMAGE", "INCREASES THE AFFECTED TARGETS ELEMENTAL DAMAGE", "INCREASING THE AFFECTED TARGETS ELEMENTAL DAMAGE",

"INCREASE THE EDMG", "INCREASES THE EDMG", "INCREASING THE EDMG", "INCREASE OWN EDMG", "INCREASES OWN EDMG", "INCREASING OWN EDMG", "INCREASE SELF EDMG", "INCREASES SELF EDMG", "INCREASING SELF EDMG", "INCREASE THEIR EDMG", "INCREASES THEIR EDMG", "INCREASING THEIR EDMG", "INCREASE THE TARGETS EDMG", "INCREASES THE TARGETS EDMG", "INCREASING THE TARGETS EDMG", "INCREASE THE AFFECTED TARGETS EDMG", "INCREASES THE AFFECTED TARGETS EDMG", "INCREASING THE AFFECTED TARGETS EDMG", ], },  {      type: "statusEffect", name: "ATK down", keywords: [ "DECREASE THEIR ATTACK", "DECREASES THEIR ATTACK", "DECREASING THEIR ATTACK", "REDUCING THEIR ATTACK", "DECREASE THE TARGETS ATTACK", "DECREASES THE TARGETS ATTACK", "DECREASING THE TARGETS ATTACK", "REDUCING THE TARGETS ATTACK", "DECREASE THE AFFECTED TARGETS ATTACK", "DECREASES THE AFFECTED TARGETS ATTACK", "DECREASING THE AFFECTED TARGETS ATTACK", "REDUCING THE AFFECTED TARGETS ATTACK",

"DECREASE THEIR ATK", "DECREASES THEIR ATK", "DECREASING THEIR ATK", "REDUCING THEIR ATK", "DECREASE THE TARGETS ATK", "DECREASES THE TARGETS ATK", "DECREASING THE TARGETS ATK", "REDUCING THE TARGETS ATK", "DECREASE THE AFFECTED TARGETS ATK", "DECREASES THE AFFECTED TARGETS ATK", "DECREASING THE AFFECTED TARGETS ATK", "REDUCING THE AFFECTED TARGETS ATK", ], },  {      type: "statusEffect", name: "PATK down", keywords: [ "DECREASE THEIR PHYSICAL DAMAGE", "DECREASES THEIR PHYSICAL DAMAGE", "DECREASING THEIR PHYSICAL DAMAGE", "REDUCING THEIR PHYSICAL DAMAGE", "DECREASE THE TARGETS PHYSICAL DAMAGE", "DECREASES THE TARGETS PHYSICAL DAMAGE", "DECREASING THE TARGETS PHYSICAL DAMAGE", "REDUCING THE TARGETS PHYSICAL DAMAGE", "DECREASE THE AFFECTED TARGETS PHYSICAL DAMAGE", "DECREASES THE AFFECTED TARGETS PHYSICAL DAMAGE", "DECREASING THE AFFECTED TARGETS PHYSICAL DAMAGE", "REDUCING THE AFFECTED TARGETS PHYSICAL DAMAGE",

"DECREASE THEIR PDMG", "DECREASES THEIR PDMG", "DECREASING THEIR PDMG", "REDUCING THEIR PDMG", "DECREASE THE TARGETS PDMG", "DECREASES THE TARGETS PDMG", "DECREASING THE TARGETS PDMG", "REDUCING THE TARGETS PDMG", "DECREASE THE AFFECTED TARGETS PDMG", "DECREASES THE AFFECTED TARGETS PDMG", "DECREASING THE AFFECTED TARGETS PDMG", "REDUCING THE AFFECTED TARGETS PDMG", ], },  {      type: "statusEffect", name: "MATK down", keywords: [ "DECREASE THEIR MAGIC DAMAGE", "DECREASES THEIR MAGIC DAMAGE", "DECREASING THEIR MAGIC DAMAGE", "REDUCING THEIR MAGIC DAMAGE", "DECREASE THE TARGETS MAGIC DAMAGE", "DECREASES THE TARGETS MAGIC DAMAGE", "DECREASING THE TARGETS MAGIC DAMAGE", "REDUCING THE TARGETS MAGIC DAMAGE", "DECREASE THE AFFECTED TARGETS MAGIC DAMAGE", "DECREASES THE AFFECTED TARGETS MAGIC DAMAGE", "DECREASING THE AFFECTED TARGETS MAGIC DAMAGE", "REDUCING THE AFFECTED TARGETS MAGIC DAMAGE",

"DECREASE THEIR MDMG", "DECREASES THEIR MDMG", "DECREASING THEIR MDMG", "REDUCING THEIR MDMG", "DECREASE THE TARGETS MDMG", "DECREASES THE TARGETS MDMG", "DECREASING THE TARGETS MDMG", "REDUCING THE TARGETS MDMG", "DECREASE THE AFFECTED TARGETS MDMG", "DECREASES THE AFFECTED TARGETS MDMG", "DECREASING THE AFFECTED TARGETS MDMG", "REDUCING THE AFFECTED TARGETS MDMG", ], },  {      type: "statusEffect", name: "EATK down", keywords: [ "DECREASE THEIR ELEMENTAL DAMAGE", "DECREASES THEIR ELEMENTAL DAMAGE", "DECREASING THEIR ELEMENTAL DAMAGE", "REDUCING THEIR ELEMENTAL DAMAGE", "DECREASE THE TARGETS ELEMENTAL DAMAGE", "DECREASES THE TARGETS ELEMENTAL DAMAGE", "DECREASING THE TARGETS ELEMENTAL DAMAGE", "REDUCING THE TARGETS ELEMENTAL DAMAGE", "DECREASE THE AFFECTED TARGETS ELEMENTAL DAMAGE", "DECREASES THE AFFECTED TARGETS ELEMENTAL DAMAGE", "DECREASING THE AFFECTED TARGETS ELEMENTAL DAMAGE", "REDUCING THE AFFECTED TARGETS ELEMENTAL DAMAGE",

"DECREASE THEIR EDMG", "DECREASES THEIR EDMG", "DECREASING THEIR EDMG", "REDUCING THEIR EDMG", "DECREASE THE TARGETS EDMG", "DECREASES THE TARGETS EDMG", "DECREASING THE TARGETS EDMG", "REDUCING THE TARGETS EDMG", "DECREASE THE AFFECTED TARGETS EDMG", "DECREASES THE AFFECTED TARGETS EDMG", "DECREASING THE AFFECTED TARGETS EDMG", "REDUCING THE AFFECTED TARGETS EDMG", ], },  {      type: "statusEffect", name: "ARMOR up", keywords: [ "INCREASE THE ARMOR", "INCREASES THE ARMOR", "INCREASING THE ARMOR", "INCREASE OWN ARMOR", "INCREASES OWN ARMOR", "INCREASING OWN ARMOR", "INCREASE SELF ARMOR", "INCREASES SELF ARMOR", "INCREASING SELF ARMOR", "INCREASE SELFS ARMOR", "INCREASES SELFS ARMOR", "INCREASING SELFS ARMOR", "INCREASE THEIR ARMOR", "INCREASES THEIR ARMOR", "INCREASING THEIR ARMOR", "INCREASE THE TARGETS ARMOR", "INCREASES THE TARGETS ARMOR", "INCREASING THE TARGETS ARMOR", "INCREASE THE AFFECTED TARGETS ARMOR", "INCREASES THE AFFECTED TARGETS ARMOR", "INCREASING THE AFFECTED TARGETS ARMOR", ], },  {      type: "statusEffect", name: "PDEF up", keywords: [ "INCREASE THE PHYSICAL DEFENSE", "INCREASES THE PHYSICAL DEFENSE", "INCREASING THE PHYSICAL DEFENSE", "INCREASE OWN PHYSICAL DEFENSE", "INCREASES OWN PHYSICAL DEFENSE", "INCREASING OWN PHYSICAL DEFENSE", "INCREASE SELF PHYSICAL DEFENSE", "INCREASES SELF PHYSICAL DEFENSE", "INCREASING SELF PHYSICAL DEFENSE", "INCREASE SELFS PHYSICAL DEFENSE", "INCREASES SELFS PHYSICAL DEFENSE", "INCREASING SELFS PHYSICAL DEFENSE", "INCREASE THEIR PHYSICAL DEFENSE", "INCREASES THEIR PHYSICAL DEFENSE", "INCREASING THEIR PHYSICAL DEFENSE", "INCREASE THE TARGETS PHYSICAL DEFENSE", "INCREASES THE TARGETS PHYSICAL DEFENSE", "INCREASING THE TARGETS PHYSICAL DEFENSE", "INCREASE THE AFFECTED TARGETS PHYSICAL DEFENSE", "INCREASES THE AFFECTED TARGETS PHYSICAL DEFENSE", "INCREASING THE AFFECTED TARGETS PHYSICAL DEFENSE",

"INCREASES ALL PARTY HEROESS PHYSICAL DEFENSE",

"INCREASE THE PDEF", "INCREASES THE PDEF", "INCREASING THE PDEF", "INCREASE OWN PDEF", "INCREASES OWN PDEF", "INCREASING OWN PDEF", "INCREASE SELF PDEF", "INCREASES SELF PDEF", "INCREASING SELF PDEF", "INCREASE THEIR PDEF", "INCREASES THEIR PDEF", "INCREASING THEIR PDEF", "INCREASE THE TARGETS PDEF", "INCREASES THE TARGETS PDEF", "INCREASING THE TARGETS PDEF", "INCREASE THE AFFECTED TARGETS PDEF", "INCREASES THE AFFECTED TARGETS PDEF", "INCREASING THE AFFECTED TARGETS PDEF", ], },  {      type: "statusEffect", name: "MDEF up", keywords: [ "INCREASE THE MAGIC DEFENSE", "INCREASES THE MAGIC DEFENSE", "INCREASING THE MAGIC DEFENSE", "INCREASES THE MAGIC DEFENSE OF THE AFFECTED TARGET", "INCREASE OWN MAGIC DEFENSE", "INCREASES OWN MAGIC DEFENSE", "INCREASING OWN MAGIC DEFENSE", "INCREASE SELF MAGIC DEFENSE", "INCREASES SELF MAGIC DEFENSE", "INCREASING SELF MAGIC DEFENSE", "INCREASE SELFS MAGIC DEFENSE", "INCREASES SELFS MAGIC DEFENSE", "INCREASING SELFS MAGIC DEFENSE", "INCREASE THEIR MAGIC DEFENSE", "INCREASES THEIR MAGIC DEFENSE", "INCREASING THEIR MAGIC DEFENSE", "INCREASE THE TARGETS MAGIC DEFENSE", "INCREASES THE TARGETS MAGIC DEFENSE", "INCREASING THE TARGETS MAGIC DEFENSE", "INCREASE THE AFFECTED TARGETS MAGIC DEFENSE", "INCREASES THE AFFECTED TARGETS MAGIC DEFENSE", "INCREASING THE AFFECTED TARGETS MAGIC DEFENSE",

"INCREASE THE MDEF", "INCREASES THE MDEF", "INCREASING THE MDEF", "INCREASE OWN MDEF", "INCREASES OWN MDEF", "INCREASING OWN MDEF", "INCREASE SELF MDEF", "INCREASES SELF MDEF", "INCREASING SELF MDEF", "INCREASE THEIR MDEF", "INCREASES THEIR MDEF", "INCREASING THEIR MDEF", "INCREASE THE TARGETS MDEF", "INCREASES THE TARGETS MDEF", "INCREASING THE TARGETS MDEF", "INCREASE THE AFFECTED TARGETS MDEF", "INCREASES THE AFFECTED TARGETS MDEF", "INCREASING THE AFFECTED TARGETS MDEF", ], },  {      type: "statusEffect", name: "EDEF up", keywords: [ "INCREASE THE ELEMENTAL DEFENSE", "INCREASES THE ELEMENTAL DEFENSE", "INCREASING THE ELEMENTAL DEFENSE", "INCREASE OWN ELEMENTAL DEFENSE", "INCREASES OWN ELEMENTAL DEFENSE", "INCREASING OWN ELEMENTAL DEFENSE", "INCREASE SELF ELEMENTAL DEFENSE", "INCREASES SELF ELEMENTAL DEFENSE", "INCREASING SELF ELEMENTAL DEFENSE", "INCREASE SELFS ELEMENTAL DEFENSE", "INCREASES SELFS ELEMENTAL DEFENSE", "INCREASING SELFS ELEMENTAL DEFENSE", "INCREASE THEIR ELEMENTAL DEFENSE", "INCREASES THEIR ELEMENTAL DEFENSE", "INCREASING THEIR ELEMENTAL DEFENSE", "INCREASE THE TARGETS ELEMENTAL DEFENSE", "INCREASES THE TARGETS ELEMENTAL DEFENSE", "INCREASING THE TARGETS ELEMENTAL DEFENSE", "INCREASE THE AFFECTED TARGETS ELEMENTAL DEFENSE", "INCREASES THE AFFECTED TARGETS ELEMENTAL DEFENSE", "INCREASING THE AFFECTED TARGETS ELEMENTAL DEFENSE",

"INCREASE THE EDEF", "INCREASES THE EDEF", "INCREASING THE EDEF", "INCREASE OWN EDEF", "INCREASES OWN EDEF", "INCREASING OWN EDEF", "INCREASE SELF EDEF", "INCREASES SELF EDEF", "INCREASING SELF EDEF", "INCREASE THEIR EDEF", "INCREASES THEIR EDEF", "INCREASING THEIR EDEF", "INCREASE THE TARGETS EDEF", "INCREASES THE TARGETS EDEF", "INCREASING THE TARGETS EDEF", "INCREASE THE AFFECTED TARGETS EDEF", "INCREASES THE AFFECTED TARGETS EDEF", "INCREASING THE AFFECTED TARGETS EDEF", ], },  {      type: "statusEffect", name: "ARMOR down", keywords: [ "DECREASE THE ARMOR", "DECREASES THE ARMOR", "DECREASING THE ARMOR", "REDUCING THE ARMOR", "DECREASE OWN ARMOR", "DECREASES OWN ARMOR", "DECREASING OWN ARMOR", "REDUCING OWN ARMOR", "DECREASE SELF ARMOR", "DECREASES SELF ARMOR", "DECREASING SELF ARMOR", "REDUCING SELF ARMOR", "DECREASE SELFS ARMOR", "DECREASES SELFS ARMOR", "DECREASING SELFS ARMOR", "REDUCING SELFS ARMOR", "DECREASE THEIR ARMOR", "DECREASES THEIR ARMOR", "DECREASING THEIR ARMOR", "REDUCING THEIR ARMOR", "DECREASE THE TARGETS ARMOR", "DECREASES THE TARGETS ARMOR", "DECREASING THE TARGETS ARMOR", "REDUCING THE TARGETS ARMOR", "DECREASE THE AFFECTED TARGETS ARMOR", "DECREASES THE AFFECTED TARGETS ARMOR", "DECREASING THE AFFECTED TARGETS ARMOR", "REDUCING THE AFFECTED TARGETS ARMOR", ], },  {      type: "statusEffect", name: "PDEF down", keywords: [ "DECREASE THE PHYSICAL DEFENSE", "DECREASES THE PHYSICAL DEFENSE", "DECREASING THE PHYSICAL DEFENSE", "REDUCING THE PHYSICAL DEFENSE", "DECREASE OWN PHYSICAL DEFENSE", "DECREASES OWN PHYSICAL DEFENSE", "DECREASING OWN PHYSICAL DEFENSE", "REDUCING OWN PHYSICAL DEFENSE", "DECREASE SELF PHYSICAL DEFENSE", "DECREASES SELF PHYSICAL DEFENSE", "DECREASING SELF PHYSICAL DEFENSE", "REDUCING SELF PHYSICAL DEFENSE", "DECREASE SELFS PHYSICAL DEFENSE", "DECREASES SELFS PHYSICAL DEFENSE", "DECREASING SELFS PHYSICAL DEFENSE", "REDUCING SELFS PHYSICAL DEFENSE", "DECREASE THEIR PHYSICAL DEFENSE", "DECREASES THEIR PHYSICAL DEFENSE", "DECREASING THEIR PHYSICAL DEFENSE", "REDUCING THEIR PHYSICAL DEFENSE", "DECREASE THE TARGETS PHYSICAL DEFENSE", "DECREASES THE TARGETS PHYSICAL DEFENSE", "DECREASING THE TARGETS PHYSICAL DEFENSE", "REDUCING THE TARGETS PHYSICAL DEFENSE", "DECREASE THE AFFECTED TARGETS PHYSICAL DEFENSE", "DECREASES THE AFFECTED TARGETS PHYSICAL DEFENSE", "DECREASING THE AFFECTED TARGETS PHYSICAL DEFENSE", "REDUCING THE AFFECTED TARGETS PHYSICAL DEFENSE",

"DECREASE THE PDEF", "DECREASES THE PDEF", "DECREASING THE PDEF", "REDUCING THE PDEF", "DECREASE OWN PDEF", "DECREASES OWN PDEF", "DECREASING OWN PDEF", "REDUCING OWN PDEF", "DECREASE SELF PDEF", "DECREASES SELF PDEF", "DECREASING SELF PDEF", "REDUCING SELF PDEF", "DECREASE THEIR PDEF", "DECREASES THEIR PDEF", "DECREASING THEIR PDEF", "REDUCING THEIR PDEF", "DECREASE THE TARGETS PDEF", "DECREASES THE TARGETS PDEF", "DECREASING THE TARGETS PDEF", "REDUCING THE TARGETS PDEF", "DECREASE THE AFFECTED TARGETS PDEF", "DECREASES THE AFFECTED TARGETS PDEF", "DECREASING THE AFFECTED TARGETS PDEF", "REDUCING THE AFFECTED TARGETS PDEF", ], },  {      type: "statusEffect", name: "MDEF down", keywords: [ "DECREASE THE MAGIC DEFENSE", "DECREASES THE MAGIC DEFENSE", "DECREASING THE MAGIC DEFENSE", "REDUCING THE MAGIC DEFENSE", "DECREASE OWN MAGIC DEFENSE", "DECREASES OWN MAGIC DEFENSE", "DECREASING OWN MAGIC DEFENSE", "REDUCING OWN MAGIC DEFENSE", "DECREASE SELF MAGIC DEFENSE", "DECREASES SELF MAGIC DEFENSE", "DECREASING SELF MAGIC DEFENSE", "REDUCING SELF MAGIC DEFENSE", "DECREASE SELFS MAGIC DEFENSE", "DECREASES SELFS MAGIC DEFENSE", "DECREASING SELFS MAGIC DEFENSE", "REDUCING SELFS MAGIC DEFENSE", "DECREASE THEIR MAGIC DEFENSE", "DECREASES THEIR MAGIC DEFENSE", "DECREASING THEIR MAGIC DEFENSE", "REDUCING THEIR MAGIC DEFENSE", "DECREASE THE TARGETS MAGIC DEFENSE", "DECREASES THE TARGETS MAGIC DEFENSE", "DECREASING THE TARGETS MAGIC DEFENSE", "REDUCING THE TARGETS MAGIC DEFENSE", "DECREASE THE AFFECTED TARGETS MAGIC DEFENSE", "DECREASES THE AFFECTED TARGETS MAGIC DEFENSE", "DECREASING THE AFFECTED TARGETS MAGIC DEFENSE", "REDUCING THE AFFECTED TARGETS MAGIC DEFENSE",

"DECREASE THE MDEF", "DECREASES THE MDEF", "DECREASING THE MDEF", "REDUCING THE MDEF", "DECREASE OWN MDEF", "DECREASES OWN MDEF", "DECREASING OWN MDEF", "REDUCING OWN MDEF", "DECREASE SELF MDEF", "DECREASES SELF MDEF", "DECREASING SELF MDEF", "REDUCING SELF MDEF", "DECREASE THEIR MDEF", "DECREASES THEIR MDEF", "DECREASING THEIR MDEF", "REDUCING THEIR MDEF", "DECREASE THE TARGETS MDEF", "DECREASES THE TARGETS MDEF", "DECREASING THE TARGETS MDEF", "REDUCING THE TARGETS MDEF", "DECREASE THE AFFECTED TARGETS MDEF", "DECREASES THE AFFECTED TARGETS MDEF", "DECREASING THE AFFECTED TARGETS MDEF", "REDUCING THE AFFECTED TARGETS MDEF", ], },  {      type: "statusEffect", name: "EDEF down", keywords: [ "DECREASE THE ELEMENTAL DEFENSE", "DECREASES THE ELEMENTAL DEFENSE", "DECREASING THE ELEMENTAL DEFENSE", "REDUCING THE ELEMENTAL DEFENSE", "DECREASE OWN ELEMENTAL DEFENSE", "DECREASES OWN ELEMENTAL DEFENSE", "DECREASING OWN ELEMENTAL DEFENSE", "REDUCING OWN ELEMENTAL DEFENSE", "DECREASE SELF ELEMENTAL DEFENSE", "DECREASES SELF ELEMENTAL DEFENSE", "DECREASING SELF ELEMENTAL DEFENSE", "REDUCING SELF ELEMENTAL DEFENSE", "DECREASE SELFS ELEMENTAL DEFENSE", "DECREASES SELFS ELEMENTAL DEFENSE", "DECREASING SELFS ELEMENTAL DEFENSE", "REDUCING SELFS ELEMENTAL DEFENSE", "DECREASE THEIR ELEMENTAL DEFENSE", "DECREASES THEIR ELEMENTAL DEFENSE", "DECREASING THEIR ELEMENTAL DEFENSE", "REDUCING THEIR ELEMENTAL DEFENSE", "DECREASE THE TARGETS ELEMENTAL DEFENSE", "DECREASES THE TARGETS ELEMENTAL DEFENSE", "DECREASING THE TARGETS ELEMENTAL DEFENSE", "REDUCING THE TARGETS ELEMENTAL DEFENSE", "DECREASE THE AFFECTED TARGETS ELEMENTAL DEFENSE", "DECREASES THE AFFECTED TARGETS ELEMENTAL DEFENSE", "DECREASING THE AFFECTED TARGETS ELEMENTAL DEFENSE", "REDUCING THE AFFECTED TARGETS ELEMENTAL DEFENSE",

"DECREASE THE EDEF", "DECREASES THE EDEF", "DECREASING THE EDEF", "REDUCING THE EDEF", "DECREASE OWN EDEF", "DECREASES OWN EDEF", "DECREASING OWN EDEF", "REDUCING OWN EDEF", "DECREASE SELF EDEF", "DECREASES SELF EDEF", "DECREASING SELF EDEF", "REDUCING SELF EDEF", "DECREASE THEIR EDEF", "DECREASES THEIR EDEF", "DECREASING THEIR EDEF", "REDUCING THEIR EDEF", "DECREASE THE TARGETS EDEF", "DECREASES THE TARGETS EDEF", "DECREASING THE TARGETS EDEF", "REDUCING THE TARGETS EDEF", "DECREASE THE AFFECTED TARGETS EDEF", "DECREASES THE AFFECTED TARGETS EDEF", "DECREASING THE AFFECTED TARGETS EDEF", "REDUCING THE AFFECTED TARGETS EDEF", ], },  {      type: "statusEffect", name: "PRES up", keywords: [ "INCREASING PHYSICAL RESISTANCE", "INCREASE THE PHYSICAL RESISTANCE", "INCREASES THE PHYSICAL RESISTANCE", "INCREASING THE PHYSICAL RESISTANCE", "INCREASE OWN PHYSICAL RESISTANCE", "INCREASES OWN PHYSICAL RESISTANCE", "INCREASING OWN PHYSICAL RESISTANCE", "INCREASE SELF PHYSICAL RESISTANCE", "INCREASES SELF PHYSICAL RESISTANCE", "INCREASING SELF PHYSICAL RESISTANCE", "INCREASE SELFS PHYSICAL RESISTANCE", "INCREASES SELFS PHYSICAL RESISTANCE", "INCREASING SELFS PHYSICAL RESISTANCE", "INCREASE THEIR PHYSICAL RESISTANCE", "INCREASES THEIR PHYSICAL RESISTANCE", "INCREASING THEIR PHYSICAL RESISTANCE", "INCREASE THE TARGETS PHYSICAL RESISTANCE", "INCREASES THE TARGETS PHYSICAL RESISTANCE", "INCREASING THE TARGETS PHYSICAL RESISTANCE", "INCREASE THE AFFECTED TARGETS PHYSICAL RESISTANCE", "INCREASES THE AFFECTED TARGETS PHYSICAL RESISTANCE", "INCREASING THE AFFECTED TARGETS PHYSICAL RESISTANCE",

"DECREASES SELFS PHYSICAL DAMAGE TAKEN", "INCREASES ITS PHYSICAL RESISTANCE", "INCREASES ALL PARTY HEROESS PHYSICAL RESISTANCE",

"INCREASE THE PRES", "INCREASES THE PRES", "INCREASING THE PRES", "INCREASE OWN PRES", "INCREASES OWN PRES", "INCREASING OWN PRES", "INCREASE SELF PRES", "INCREASES SELF PRES", "INCREASING SELF PRES", "INCREASE SELFS PRES", "INCREASES SELFS PRES", "INCREASING SELFS PRES", "INCREASE THEIR PRES", "INCREASES THEIR PRES", "INCREASING THEIR PRES", "INCREASE THE TARGETS PRES", "INCREASES THE TARGETS PRES", "INCREASING THE TARGETS PRES", "INCREASE THE AFFECTED TARGETS PRES", "INCREASES THE AFFECTED TARGETS PRES", "INCREASING THE AFFECTED TARGETS PRES", ], },  {      type: "statusEffect", name: "MRES up", keywords: [ "INCREASE THE MAGIC RESISTANCE", "INCREASES THE MAGIC RESISTANCE", "INCREASING THE MAGIC RESISTANCE", "INCREASE OWN MAGIC RESISTANCE", "INCREASES OWN MAGIC RESISTANCE", "INCREASING OWN MAGIC RESISTANCE", "INCREASE SELF MAGIC RESISTANCE", "INCREASES SELF MAGIC RESISTANCE", "INCREASING SELF MAGIC RESISTANCE", "INCREASE SELFS MAGIC RESISTANCE", "INCREASES SELFS MAGIC RESISTANCE", "INCREASING SELFS MAGIC RESISTANCE", "INCREASE THEIR MAGIC RESISTANCE", "INCREASES THEIR MAGIC RESISTANCE", "INCREASING THEIR MAGIC RESISTANCE", "INCREASE THE TARGETS MAGIC RESISTANCE", "INCREASES THE TARGETS MAGIC RESISTANCE", "INCREASING THE TARGETS MAGIC RESISTANCE", "INCREASE THE AFFECTED TARGETS MAGIC RESISTANCE", "INCREASES THE AFFECTED TARGETS MAGIC RESISTANCE", "INCREASING THE AFFECTED TARGETS MAGIC RESISTANCE",

"INCREASE THE MRES", "INCREASES THE MRES", "INCREASING THE MRES", "INCREASE OWN MRES", "INCREASES OWN MRES", "INCREASING OWN MRES", "INCREASE SELF MRES", "INCREASES SELF MRES", "INCREASING SELF MRES", "INCREASE THEIR MRES", "INCREASES THEIR MRES", "INCREASING THEIR MRES", "INCREASE THE TARGETS MRES", "INCREASES THE TARGETS MRES", "INCREASING THE TARGETS MRES", "INCREASE THE AFFECTED TARGETS MRES", "INCREASES THE AFFECTED TARGETS MRES", "INCREASING THE AFFECTED TARGETS MRES", ], },  {      type: "statusEffect", name: "ERES up", keywords: [ "INCREASE THE ELEMENTAL RESISTANCE", "INCREASES THE ELEMENTAL RESISTANCE", "INCREASING THE ELEMENTAL RESISTANCE", "INCREASE OWN ELEMENTAL RESISTANCE", "INCREASES OWN ELEMENTAL RESISTANCE", "INCREASING OWN ELEMENTAL RESISTANCE", "INCREASE SELF ELEMENTAL RESISTANCE", "INCREASES SELF ELEMENTAL RESISTANCE", "INCREASING SELF ELEMENTAL RESISTANCE", "INCREASE SELFS ELEMENTAL RESISTANCE", "INCREASES SELFS ELEMENTAL RESISTANCE", "INCREASING SELFS ELEMENTAL RESISTANCE", "INCREASE THEIR ELEMENTAL RESISTANCE", "INCREASES THEIR ELEMENTAL RESISTANCE", "INCREASING THEIR ELEMENTAL RESISTANCE", "INCREASE THE TARGETS ELEMENTAL RESISTANCE", "INCREASES THE TARGETS ELEMENTAL RESISTANCE", "INCREASING THE TARGETS ELEMENTAL RESISTANCE", "INCREASE THE AFFECTED TARGETS ELEMENTAL RESISTANCE", "INCREASES THE AFFECTED TARGETS ELEMENTAL RESISTANCE", "INCREASING THE AFFECTED TARGETS ELEMENTAL RESISTANCE",

"INCREASE THE ERES", "INCREASES THE ERES", "INCREASING THE ERES", "INCREASE OWN ERES", "INCREASES OWN ERES", "INCREASING OWN ERES", "INCREASE SELF ERES", "INCREASES SELF ERES", "INCREASING SELF ERES", "INCREASE THEIR ERES", "INCREASES THEIR ERES", "INCREASING THEIR ERES", "INCREASE THE TARGETS ERES", "INCREASES THE TARGETS ERES", "INCREASING THE TARGETS ERES", "INCREASE THE AFFECTED TARGETS ERES", "INCREASES THE AFFECTED TARGETS ERES", "INCREASING THE AFFECTED TARGETS ERES", ], },  {      type: "statusEffect", name: "PRES down", keywords: [ "DECREASE THE PHYSICAL RESISTANCE", "DECREASES THE PHYSICAL RESISTANCE", "DECREASING THE PHYSICAL RESISTANCE", "REDUCING THE PHYSICAL RESISTANCE", "DECREASE OWN PHYSICAL RESISTANCE", "DECREASES OWN PHYSICAL RESISTANCE", "DECREASING OWN PHYSICAL RESISTANCE", "REDUCING OWN PHYSICAL RESISTANCE", "DECREASE SELF PHYSICAL RESISTANCE", "DECREASES SELF PHYSICAL RESISTANCE", "DECREASING SELF PHYSICAL RESISTANCE", "REDUCING SELF PHYSICAL RESISTANCE", "DECREASE SELFS PHYSICAL RESISTANCE", "DECREASES SELFS PHYSICAL RESISTANCE", "DECREASING SELFS PHYSICAL RESISTANCE", "REDUCING SELFS PHYSICAL RESISTANCE", "DECREASE THEIR PHYSICAL RESISTANCE", "DECREASES THEIR PHYSICAL RESISTANCE", "DECREASING THEIR PHYSICAL RESISTANCE", "REDUCING THEIR PHYSICAL RESISTANCE", "DECREASE THE TARGETS PHYSICAL RESISTANCE", "DECREASES THE TARGETS PHYSICAL RESISTANCE", "DECREASING THE TARGETS PHYSICAL RESISTANCE", "REDUCING THE TARGETS PHYSICAL RESISTANCE", "DECREASE THE AFFECTED TARGETS PHYSICAL RESISTANCE", "DECREASES THE AFFECTED TARGETS PHYSICAL RESISTANCE", "DECREASING THE AFFECTED TARGETS PHYSICAL RESISTANCE", "REDUCING THE AFFECTED TARGETS PHYSICAL RESISTANCE",

"DECREASES THE AFFECTED TARGETS MAGIC RESISTANCE AND PHYSICAL RESISTANCE",

"DECREASE THE PRES", "DECREASES THE PRES", "DECREASING THE PRES", "REDUCING THE PRES", "DECREASE OWN PRES", "DECREASES OWN PRES", "DECREASING OWN PRES", "REDUCING OWN PRES", "DECREASE SELF PRES", "DECREASES SELF PRES", "DECREASING SELF PRES", "REDUCING SELF PRES", "DECREASE THEIR PRES", "DECREASES THEIR PRES", "DECREASING THEIR PRES", "REDUCING THEIR PRES", "DECREASE THE TARGETS PRES", "DECREASES THE TARGETS PRES", "DECREASING THE TARGETS PRES", "REDUCING THE TARGETS PRES", "DECREASE THE AFFECTED TARGETS PRES", "DECREASES THE AFFECTED TARGETS PRES", "DECREASING THE AFFECTED TARGETS PRES", "REDUCING THE AFFECTED TARGETS PRES", ], },  {      type: "statusEffect", name: "MRES down", keywords: [ "DECREASE THE MAGIC RESISTANCE", "DECREASES THE MAGIC RESISTANCE", "DECREASING THE MAGIC RESISTANCE", "REDUCING THE MAGIC RESISTANCE", "DECREASE OWN MAGIC RESISTANCE", "DECREASES OWN MAGIC RESISTANCE", "DECREASING OWN MAGIC RESISTANCE", "REDUCING OWN MAGIC RESISTANCE", "DECREASE SELF MAGIC RESISTANCE", "DECREASES SELF MAGIC RESISTANCE", "DECREASING SELF MAGIC RESISTANCE", "REDUCING SELF MAGIC RESISTANCE", "DECREASE SELFS MAGIC RESISTANCE", "DECREASES SELFS MAGIC RESISTANCE", "DECREASING SELFS MAGIC RESISTANCE", "REDUCING SELFS MAGIC RESISTANCE", "DECREASE THEIR MAGIC RESISTANCE", "DECREASES THEIR MAGIC RESISTANCE", "DECREASING THEIR MAGIC RESISTANCE", "REDUCING THEIR MAGIC RESISTANCE", "DECREASE THE TARGETS MAGIC RESISTANCE", "DECREASES THE TARGETS MAGIC RESISTANCE", "DECREASING THE TARGETS MAGIC RESISTANCE", "REDUCING THE TARGETS MAGIC RESISTANCE", "DECREASE THE AFFECTED TARGETS MAGIC RESISTANCE", "DECREASES THE AFFECTED TARGETS MAGIC RESISTANCE", "DECREASING THE AFFECTED TARGETS MAGIC RESISTANCE", "REDUCING THE AFFECTED TARGETS MAGIC RESISTANCE",

"DECREASE THE MRES", "DECREASES THE MRES", "DECREASING THE MRES", "REDUCING THE MRES", "DECREASE OWN MRES", "DECREASES OWN MRES", "DECREASING OWN MRES", "REDUCING OWN MRES", "DECREASE SELF MRES", "DECREASES SELF MRES", "DECREASING SELF MRES", "REDUCING SELF MRES", "DECREASE THEIR MRES", "DECREASES THEIR MRES", "DECREASING THEIR MRES", "REDUCING THEIR MRES", "DECREASE THE TARGETS MRES", "DECREASES THE TARGETS MRES", "DECREASING THE TARGETS MRES", "REDUCING THE TARGETS MRES", "DECREASE THE AFFECTED TARGETS MRES", "DECREASES THE AFFECTED TARGETS MRES", "DECREASING THE AFFECTED TARGETS MRES", "REDUCING THE AFFECTED TARGETS MRES", ], },  {      type: "statusEffect", name: "ERES down", keywords: [ "DECREASE THE ELEMENTAL RESISTANCE", "DECREASES THE ELEMENTAL RESISTANCE", "DECREASING THE ELEMENTAL RESISTANCE", "REDUCING THE ELEMENTAL RESISTANCE", "DECREASE OWN ELEMENTAL RESISTANCE", "DECREASES OWN ELEMENTAL RESISTANCE", "DECREASING OWN ELEMENTAL RESISTANCE", "REDUCING OWN ELEMENTAL RESISTANCE", "DECREASE SELF ELEMENTAL RESISTANCE", "DECREASES SELF ELEMENTAL RESISTANCE", "DECREASING SELF ELEMENTAL RESISTANCE", "REDUCING SELF ELEMENTAL RESISTANCE", "DECREASE SELFS ELEMENTAL RESISTANCE", "DECREASES SELFS ELEMENTAL RESISTANCE", "DECREASING SELFS ELEMENTAL RESISTANCE", "REDUCING SELFS ELEMENTAL RESISTANCE", "DECREASE THEIR ELEMENTAL RESISTANCE", "DECREASES THEIR ELEMENTAL RESISTANCE", "DECREASING THEIR ELEMENTAL RESISTANCE", "REDUCING THEIR ELEMENTAL RESISTANCE", "DECREASE THE TARGETS ELEMENTAL RESISTANCE", "DECREASES THE TARGETS ELEMENTAL RESISTANCE", "DECREASING THE TARGETS ELEMENTAL RESISTANCE", "REDUCING THE TARGETS ELEMENTAL RESISTANCE", "DECREASE THE AFFECTED TARGETS ELEMENTAL RESISTANCE", "DECREASES THE AFFECTED TARGETS ELEMENTAL RESISTANCE", "DECREASING THE AFFECTED TARGETS ELEMENTAL RESISTANCE", "REDUCING THE AFFECTED TARGETS ELEMENTAL RESISTANCE",

"DECREASE THE ERES", "DECREASES THE ERES", "DECREASING THE ERES", "REDUCING THE ERES", "DECREASE OWN ERES", "DECREASES OWN ERES", "DECREASING OWN ERES", "REDUCING OWN ERES", "DECREASE SELF ERES", "DECREASES SELF ERES", "DECREASING SELF ERES", "REDUCING SELF ERES", "DECREASE THEIR ERES", "DECREASES THEIR ERES", "DECREASING THEIR ERES", "REDUCING THEIR ERES", "DECREASE THE TARGETS ERES", "DECREASES THE TARGETS ERES", "DECREASING THE TARGETS ERES", "REDUCING THE TARGETS ERES", "DECREASE THE AFFECTED TARGETS ERES", "DECREASES THE AFFECTED TARGETS ERES", "DECREASING THE AFFECTED TARGETS ERES", "REDUCING THE AFFECTED TARGETS ERES", ], }];

function FilterSkills(filterChanged) {	// increment the filter state of the button pressed var callingElement = document.getElementById(filterChanged); var imgValue = callingElement.children[0].src; if (imgValue.toUpperCase.indexOf("NEUTRAL") != -1) {		callingElement.children[0].src = 'https://static.miraheze.org/kingofkinkswiki/4/4d/Icon_Include.png'; }	else if (imgValue.toUpperCase.indexOf("INCLUDE") != -1) {		callingElement.children[0].src = 'https://static.miraheze.org/kingofkinkswiki/d/da/Icon_Exclude.png'; }	else {		callingElement.children[0].src = 'https://static.miraheze.org/kingofkinkswiki/6/61/Icon_Neutral.png'; }	var include = []; var exclude = []; var list = document.getElementById("skills"); var oneIsChecked = false; for(var i=0; i<parsingData.length; i++) {		var ftr = document.getElementById(parsingData[i].name); var img = ftr.children[0].src; if (img.toUpperCase.indexOf("EXCLUDE") != -1) {			exclude.push(parsingData[i].name); oneIsChecked = true; }		else if (img.toUpperCase.indexOf("INCLUDE") != -1) {			include.push(parsingData[i].name); oneIsChecked = true; }	}	for(var i=0; i<list.children.length; i++) {		var keywords = list.children[i].children["skill-keywords"].innerText; if (oneIsChecked) {			var found = false; for (var j=0; j<parsingData.length; j++) {				if (exclude.indexOf(parsingData[j].name) != -1) {					if (keywords.indexOf(parsingData[j].name) > -1) {						found = false; break; }				}				if (include.indexOf(parsingData[j].name) != -1) {					if (keywords.indexOf(parsingData[j].name) > -1) {						found = true; break; }				}			}			if (found) {				list.children[i].style.display = 'flex'; }			else {				list.children[i].style.display = 'none'; }		}		else {			list.children[i].style.display = 'flex'; }	} }

// populate keywords $(function {	var searchPriority = document.getElementById("SearchPriority");	var searchTarget = document.getElementById("SearchTarget");	var searchDamageType = document.getElementById("SearchDamageType");	var searchEffect = document.getElementById("SearchEffect");	if (searchPriority == null) return;	for (var i=0; i<parsingData.length; i++)	{		var data = parsingData[i];		switch(data.type)		{			case "priority":				searchPriority.innerHTML += '<div id="'+data.name+'" onclick="FilterSkills(\+data.name+'\')"><img src="https://static.miraheze.org/kingofkinkswiki/6/61/Icon_Neutral.png" style="width:16px; height:16px; padding-right: 3px;"/>'+data.name+' ';				break;			case "target":				searchTarget.innerHTML += '<div id="'+data.name+'" onclick="FilterSkills(\+data.name+'\')"><img src="https://static.miraheze.org/kingofkinkswiki/6/61/Icon_Neutral.png" style="width:16px; height:16px; padding-right: 3px;"/>'+data.name+' '; break; case "damageType": searchDamageType.innerHTML += '<div id="'+data.name+'" onclick="FilterSkills(\''+data.name+'\')"><img src="https://static.miraheze.org/kingofkinkswiki/6/61/Icon_Neutral.png" style="width:16px; height:16px; padding-right: 3px;"/>'+data.name+' '; break; case "statusEffect": searchEffect.innerHTML += '<div id="'+data.name+'" onclick="FilterSkills(\''+data.name+'\')"><img src="https://static.miraheze.org/kingofkinkswiki/6/61/Icon_Neutral.png" style="width:16px; height:16px; padding-right: 3px;"/>'+data.name+' '; break; }	}	var list = document.getElementById("skills"); for(var i=0; i<list.children.length; i++) {		var content = list.children[i].children["skill-description"].innerText.toUpperCase; var output = list.children[i].children["skill-keywords"]; // remove special characters and clean up whitespaces content = content.replace(/\/|[0-9]|\.|\'|\"|\!|\@|\#|\$|\%|\^|\&|\*|\+|\-|\\|\|/g, );		content = content.replace(/\s+/g, ' ');		for(var j=0; j<parsingData.length; j++)		{			var data = parsingData[j];			for(var k=0; k<data.keywords.length; k++)			{				if(content.indexOf(data.keywords[k]) > -1)				{					if (output.innerText === )					{						output.innerText = data.name;					}					else					{						output.innerText = output.innerText + ", " + data.name;					}					break;				}			}		}	} });

/*

=
========================================= Event List

=
=========================================

$(document).ready(function {	$('div.EventItem').click(function { var thing = this.children['eventDescription']; if (thing.style.display == 'none') {			thing.style.display = ''; }		else {			thing.style.display = 'none'; }	}); });

/*

=
========================================= Summoning Resource Calculations

=
=========================================

// number of perple shards var FreeSpecialDealsInfo = { Daily: { PurpleSoulstone: 60 }, // 2 times 30 days Weekly: { PurpleSoulstone: 20 }, // 5 times 4 weeks Monthly: { PurpleSoulstone: 10 } // 10 per month };

var QuestInfo = { Daily: { BlueSoulstone: 150, // 5 times 30 Ticket: 30 // 1 times 30 },	Weekly: { Ticket: 16, // 4 times 4 PurpleSoulstone: 40, // 10 times 40 } }

var WishingFountainInfo = { Rewards: [{ ItemName: "Purple Shards", Quantity: 5, DropRate: 0.02 },{		ItemName: "Blue Shards", Quantity: 10, DropRate: 0.035 }] }

var LuckyWheelInfo = {	Chips: 150, Coins: 25, Shop: [{ ItemName: "Purple Shards", Price: 4000, Quantity: 20, PurchaseCount: 6 },{		ItemName: "Blue Shards", Price: 900, Quantity: 30, PurchaseCount: 10 },{		ItemName: "Ticket", Price: 1500, Quantity: 1, PurchaseCount: 20 },{		ItemName: "Faction Ticket", Price: 2000, Quantity: 1, PurchaseCount: 10 }],	Rewards: [{ ItemName: "Purple Shards", Quantity: 5, DropRate: 0.04 },{		ItemName: "Blue Shards", Quantity: 10, DropRate: 0.09 }] };

var Clicker1EventInfo = { Rewards: [ {BlueSoulstone: 20}, {BlueSoulstone: 20}, {BlueSoulstone: 20}, {BlueSoulstone: 20}, {BlueSoulstone: 20}, {BlueSoulstone: 20}, {BlueSoulstone: 20},

{BlueSoulstone: 30}, {BlueSoulstone: 30}, {BlueSoulstone: 30}, {BlueSoulstone: 30}, {Ticket: 2, PurpleSoulstone: 15}, {Ticket: 3, PurpleSoulstone: 15}, {Ticket: 4, PurpleSoulstone: 15}, {Ticket: 5, PurpleSoulstone: 15}, {FactionTicket: 10, PurpleSoulstone: 60, FactionLegendary: 1} ] }

var Clicker2EventInfo = { Rewards: [ {BlueSoulstone: 60}, {BlueSoulstone: 60}, {PurpleSoulstone: 30}, {PurpleSoulstone: 60} ] }

// island exploration happens 15 times a month // (180 * 6) + (300 * 8) + 250 + 300 var IsleExplorationInfo = { Shop: [{ ItemName: "Blue Shards", Price: 2400, Quantity: 60, PurchaseCount: 7 },{		ItemName: "4-star Epic", Price: 4800, Quantity: 60, PurchaseCount: 4 },{		ItemName: "5-star Legendary", Price: 45000, Quantity: 60, PurchaseCount: 5 }],	Rewards:{ Ticket: 2, BlueSoulstone: 90, },	Currency: 4030 // assumes best path };

// arena has 15 days in a season 2 seasons per month var ArenaInfo = { Shop: [{ ItemName: "Purple Shards", Price: 18000, Quantity: 60, PurchaseCount: 4 },{		ItemName: "Blue Shards", Price: 2400, Quantity: 60, PurchaseCount: 6 },{		ItemName: "5-star Legendary", Price: 45000, Quantity: 60, PurchaseCount: 2 }],	Income: { Daily: [{ Tier: "C", RankUp: 300, Currency: 1400 },		{			Tier: "B", RankUp: 300, Currency: 1600 },		{			Tier: "A", RankUp: 200, Currency: 1800 },		{			Tier: "S", RankUp: 0, // this is max rank Currency: 2000 }],		Season: [{ Placement: 1, Currency: 15000, Tickets: 20 },		{			Placement: 2, Currency: 12000, Tickets: 15 },		{			Placement: 3, Currency: 10000, Tickets: 14 },		{			Placement: 10, Currency: 8000, Tickets: 12 },		{			Placement: 20, Currency: 7000, Tickets: 10 },		{			Placement: 50, Currency: 6000, Tickets: 8 }]	} };

// happens 2 times a month, 13 day event var AdvancedArenaInfo = { Shop: [{ ItemName: "Purple Shards", Price: 380000, Quantity: 60, PurchaseCount: 4 },{		ItemName: "Blue Faction Token", Price: 120000, Quantity: 2, PurchaseCount: 2 },{		ItemName: "Blue Shards", Price: 50000, Quantity: 60, PurchaseCount: 2 },{		ItemName: "5-star Legendary", Price: 980000, Quantity: 60, PurchaseCount: 2 }],	Currency: { Daily: 2400, Season: [{ AtRank: 1000, Reward: 20000 },{			AtRank: 800, Reward: 25000 },{			AtRank: 600, Reward: 30000 },{			AtRank: 500, Reward: 35000 },{			AtRank: 400, Reward: 40000 },{			AtRank: 300, Reward: 45000 },{			AtRank: 200, Reward: 50000 },{			AtRank: 100, Reward: 55000 },{			AtRank: 50, Reward: 60000 },{			AtRank: 20, Reward: 65000 },{			AtRank: 10, Reward: 70000 },{			AtRank: 3, Reward: 80000 },{			AtRank: 2, Reward: 90000 },{			AtRank: 1, Reward: 100000 }],		Minutely: [{ AtRank: 1000, Rate: 9 },{			AtRank: 800, Rate: 10 },{			AtRank: 600, Rate: 11 },{			AtRank: 500, Rate: 16 },{			AtRank: 450, Rate: 18 },{			AtRank: 400, Rate: 19 },{			AtRank: 350, Rate: 20 },{			AtRank: 300, Rate: 21 },{			AtRank: 250, Rate: 23 },{			AtRank: 200, Rate: 24 },{			AtRank: 150, Rate: 25 },{			AtRank: 100, Rate: 27 },{			AtRank: 50, Rate: 27 },{			AtRank: 30, Rate: 28 },{			AtRank: 24, Rate: 29 },{			AtRank: 21, Rate: 30 },{			AtRank: 16, Rate: 31 },{			AtRank: 11, Rate: 32 },{			AtRank: 8, Rate: 33 },{			AtRank: 5, Rate: 34 },{			AtRank: 3, Rate: 36 },{			AtRank: 2, Rate: 40 },{			AtRank: 1, Rate: 45 }]	},	ClimbRate: [{ AtRank: 1000, Rate: 80, },{		AtRank: 700, Rate: 70, },{		AtRank: 600, Rate: 60, },{		AtRank: 500, Rate: 50, },{		AtRank: 400, Rate: 40, },{		AtRank: 300, Rate: 30, },{		AtRank: 50, Rate: 5, },{		AtRank: 10, Rate: 2, }],

Worship: {		Ticket: 2, PurpleSoulstone: 15, BlueSoulstone: 40 } }

// happens once a month // requires users to enter how many points they get per win. // 2 times a month at 12 days var InvasionInfo = { Shop: [{ ItemName: "Purple Shards", Price: 1500, Quantity: 10, PurchaseCount: 12 },{		ItemName: "Faction Ticket", Price: 1900, Quantity: 1, PurchaseCount: 10 },{		ItemName: "Blue Faction Token", Price: 1800, Quantity: 1, PurchaseCount: 40 },{		ItemName: "5-star Legendary", Price: 7500, Quantity: 20, PurchaseCount: 6 }] }

// vault info per floor // 7 + 5 + 7 + 8 + 4 + 5 + 8 + 7 + 6 + 7 = 6.4 avr blue soulstone // 2 + 2 + 3 + 3 + 3 + 2 + 3 + 3 + 2 + 3 = 2.6 avr tickets // 26 + 28 + 30 + 31 + 25 + 25 + 29 + 29 + 32 + 32 = 28.7 avr keys

var VaultEventInfo = { Shop: [{ ItemName: "Purple Shards", Price: 1, Quantity: 20, PurchaseCount: 10 },{		ItemName: "5-star Legendary", Price: 1, Quantity: 20, PurchaseCount: 220 },{		ItemName: "Faction Tickets", Price: 1, Quantity: 5, PurchaseCount: 5 },{		ItemName: "Blue Faction Token", Price: 1, Quantity: 3, PurchaseCount: 396 },{		ItemName: "Tickets", Price: 1, Quantity: 4, PurchaseCount: 10 }],	Keys: { Mission: 180, PerFloorAverage: 30, // 28.7 true average },	RewardsPerFloor: [{ ItemName: "Ticket", Quantity: 1, DropRate: 0.09 },{		ItemName: "Blue Shards", Quantity: 20, DropRate: 0.223 }] }

var ExplorationInfo = { Rewards: [{ ItemName: "Blue Shards", Quantity: 5, DropRate: 0.0348 },{		ItemName: "Blue Shards", Quantity: 7, DropRate: 0.0436 },{		ItemName: "Blue Shards", Quantity: 10, DropRate: 0.1132 },{		ItemName: "Blue Shards", Quantity: 30, DropRate: 0.0575 },{		ItemName: "Purple Shards", Quantity: 5, DropRate: 0.007 },{		ItemName: "Purple Shards", Quantity: 10, DropRate: 0 // this is not accurate but i dont have a good sample for it	}] }

var MonthlySummonItems = { Ticket: 0, FactionTicket: 0, Friendship: 0, PurpleSoulstone: 0, BlueSoulstone: 0, FactionToken: 0, FactionLegendary: 0, TotalTickets: 0 };

function AddMonthlyItems(items) {	var output = ""; if (items.Ticket != undefined) {		MonthlySummonItems.Ticket += items.Ticket; output += "+" + items.Ticket + " Ticket(s) "; }

if (items.FactionTicket != undefined) {		MonthlySummonItems.FactionTicket += items.FactionTicket; output += "+" + items.FactionTicket + " Faction Ticket(s) "; }	if (items.PurpleSoulstone != undefined) {		MonthlySummonItems.PurpleSoulstone += items.PurpleSoulstone; output += "+" + items.PurpleSoulstone + " Purple Soulstone(s) "; }	if (items.BlueSoulstone != undefined) {		MonthlySummonItems.BlueSoulstone += items.BlueSoulstone; output += "+" + items.BlueSoulstone + " Blue Soulstone(s) "; }	if (items.FactionToken != undefined) {		MonthlySummonItems.FactionToken += items.FactionToken; output += "+" + items.FactionToken + " Faction Token(s) "; }

if (items.FactionLegendary != undefined) {		MonthlySummonItems.FactionLegendary += items.FactionLegendary; output += "+" + items.FactionLegendary + " Faction Legendary Token(s) "; }	if (items.Friendship != undefined) {		MonthlySummonItems.Friendship += items.Friendship; output += "+" + items.Friendship + " Friendship Summons "; }

return output; }

function ConvertNameAndAdd(name, quantity) {	if (name == "Ticket") {		return AddMonthlyItems({Ticket: quantity}); }	if (name == "Faction Ticket") {		return AddMonthlyItems({FactionTicket: quantity}); }

if (name == "Blue Shards" || name == "4-star Epic") {		return AddMonthlyItems({BlueSoulstone: quantity}) }

if (name == "Purple Shards" || name == "5-star Legendary") {		return AddMonthlyItems({PurpleSoulstone: quantity}); }	if (name == "Blue Faction Token") {		return AddMonthlyItems({FactionToken: quantity}); } }

var purchaseLog = ""; function purchase(currency, store) {	purchaseLog = ""; var currencyRemaining = currency; for (var i=0; i<store.length; i++) {		var item = store[i];

var purchasable = Math.floor(currencyRemaining/item.Price); if (purchasable > item.PurchaseCount) {			purchasable = item.PurchaseCount; }

if (purchasable >= 1) {			var price = (purchasable*item.Price); var quantity = (purchasable*item.Quantity);

currencyRemaining -= price; purchaseLog += "\n-" + price + " " + purchasable + " " + item.ItemName + ": "; purchaseLog += ConvertNameAndAdd(item.ItemName, quantity); }	}

return currencyRemaining; }

var gatchaLog = ""; function gatcha(rolls, pool) {	gatchaLog = ""; for(var i=0;i<pool.length;i++) {		var item = pool[i]; var n = Math.floor(item.DropRate * rolls); var quantity = n*item.Quantity;

gatchaLog += "\n"+ item.ItemName + " Drop Chance: " + (item.DropRate*100).toFixed(2) + "% Quantity: " + item.Quantity + " Total: ";

gatchaLog += ConvertNameAndAdd(item.ItemName, quantity); } }

function CalculateSummons {	MonthlySummonItems = { Ticket: 0, FactionTicket: 0, Friendship: 0, PurpleSoulstone: 0, BlueSoulstone: 0, FactionToken: 0, FactionLegendary: 0, TotalTickets: 0 };	var output = document.getElementById("Summons_DailyQuests"); if (output != undefined) {		output.innerText = "Daily: " + AddMonthlyItems(QuestInfo.Daily) + "\nWeekly: " + AddMonthlyItems(QuestInfo.Weekly); }	output = document.getElementById("Summons_FreeSpecialDeals"); if (output != undefined) {		output.innerText = "Daily: " + AddMonthlyItems(FreeSpecialDealsInfo.Daily) + "\nWeekly: " + AddMonthlyItems(FreeSpecialDealsInfo.Weekly) + "\nMonthly: " + AddMonthlyItems(FreeSpecialDealsInfo.Monthly); }	output = document.getElementById("Summons_SecretMandate"); if (output != undefined) {		output.innerText = AddMonthlyItems({BlueSoulstone: 600}); }	output = document.getElementById("Summons_Exploration_Details"); if (output != undefined) {		var quests = document.getElementById("Summons_Exploration_Quests_Input").value; var rerolls = document.getElementById("Summons_Exploration_Rerolls_Input").value; var questsMonth = quests*30; var log = ""; log += "\nQuests/day: " + quests; log += "\nTotal Explorations/mo: " + questsMonth; gatcha(questsMonth, ExplorationInfo.Rewards); log += gatchaLog; output.innerText = log; }

output = document.getElementById("Summons_IslesExploration_Details"); if (output != undefined) {		var currency = document.getElementById("Summons_IslesExploration_Currency_Input").value; var currencyMonth = currency*15; var rewards = { Ticket: IsleExplorationInfo.Rewards.Ticket*15, BlueSoulstone: IsleExplorationInfo.Rewards.BlueSoulstone*15 };		var log = ""; log += "\nBoss Completion Rewards: "; log += AddMonthlyItems(rewards); log += "\nMaximum Monthly Currency: " + currency; var currencyRemaining = purchase(currencyMonth, IsleExplorationInfo.Shop); log += purchaseLog; log += "\nRemaining Monthly Currency: " + currencyRemaining; output.innerText = log; }	output = document.getElementById("Summons_Arena_Details"); if (output != undefined) {		var log = ""; var AverageDailyGrowth = document.getElementById("Summons_Arena_Rank_Input").value; var EndOfSeasonRank = document.getElementById("Summons_Arena_Final_Input").value; var daysPerSeason = 13; log += "\nSeason Duration: " + daysPerSeason + " days"; var totalCurrency = 0; var remainder = 0; var daysUsed = 0; for(var i=0; i<ArenaInfo.Income.Daily.length; i++) {			var tier = ArenaInfo.Income.Daily[i]; var days = Math.ceil((tier.RankUp-remainder)/AverageDailyGrowth); if (days + daysUsed > daysPerSeason || tier.Tier == "S") {				days = daysPerSeason-daysUsed; }			daysUsed += days; remainder = tier.RankUp-(days*AverageDailyGrowth); var c = tier.Currency*days; totalCurrency += c;			log += "\nTier " + tier.Tier + ": " + days + " days - " + c + " White Tiger Coins"; }		for(var i=0; i<ArenaInfo.Income.Season.length; i++) {			var rank = ArenaInfo.Income.Season[i]; if (EndOfSeasonRank <= rank.Placement) {				log += "\nTop: " + rank.Placement + " Currency: " + rank.Currency + " Tickets: " + rank.Tickets; totalCurrency += rank.Currency; log += "\n\nSeason Tickets (2x): " + AddMonthlyItems({Ticket: rank.Tickets*2}); break; }		}		totalCurrency *= 2 log += "\nTotal Currency (2x): " + totalCurrency; var arenaCurrencyRemaining = purchase(totalCurrency, ArenaInfo.Shop); log += purchaseLog; log += "\n Remaining Currency: " + arenaCurrencyRemaining; output.innerText = log; }	output = document.getElementById("Summons_AdvancedArena_Details"); if (output != undefined) {		var log = ""; var EndingRank = document.getElementById("Summons_AdvancedArena_Final_Input").value; var TotalDailyGeneration = 0; var DailyGeneration = 0; var currentRank = 1000; var minutePerDay = 60 * 24; for(var d = 0; d<13; d++) {			var previousRank = currentRank; for(var f=0; f<5; f++) {				var advancement = 0; for (var i=0; i<AdvancedArenaInfo.ClimbRate.length; i++) {					var cr = AdvancedArenaInfo.ClimbRate[i]; if (currentRank <= cr.AtRank) {						advancement = cr.Rate; }					else {						break; }				}				currentRank -= advancement; }			if (currentRank <= EndingRank) {				currentRank = EndingRank; }			var gen = 0; for(var i=0;i<AdvancedArenaInfo.Currency.Minutely.length;i++) {				var m = AdvancedArenaInfo.Currency.Minutely[i]; if (currentRank <= m.AtRank) {					gen = m.Rate; }				else {					break; }			}			DailyGeneration = (gen*minutePerDay) + AdvancedArenaInfo.Currency.Daily; TotalDailyGeneration += DailyGeneration; log += "\nDay " + (d+1) + " Rank Advancement +" + (previousRank-currentRank) + " ("+currentRank+") - " +DailyGeneration + " Currency"; }		var EoSCurrency = 0 for(var i=0;i<AdvancedArenaInfo.Currency.Season.length;i++) {			var s = AdvancedArenaInfo.Currency.Season[i]; if (EndingRank <= s.AtRank) {				EoSCurrency = s.Reward; }		}		log += "\nEnd of Season Currency: " + EoSCurrency; var TotalAACurrency = (TotalDailyGeneration + EoSCurrency)*2; log += "\n\nTotal Currency (2x): " + TotalAACurrency; var AACurrencyRemaining = purchase(TotalAACurrency, AdvancedArenaInfo.Shop); log += purchaseLog; log += "\nRemaining Currency: " + AACurrencyRemaining; log += "\nWorship: " + AddMonthlyItems({Ticket: AdvancedArenaInfo.Worship.Ticket*2}) + AddMonthlyItems({PurpleSoulstone: AdvancedArenaInfo.Worship.PurpleSoulstone*2}) + AddMonthlyItems({BlueSoulstone: AdvancedArenaInfo.Worship.BlueSoulstone*2}); output.innerText = log; }	output = document.getElementById("Summons_Invasion_Details"); if (output != undefined) {		var log = "" var InvasionRate = document.getElementById("Summons_Invasion_Currency_Input").value; var TotalInvasionCurrency = (InvasionRate*3)*12; log += "\nTotal Currency: " + TotalInvasionCurrency; log += "\nTwo times per month"; var InvasionCurrencyRemaining = purchase(TotalInvasionCurrency, InvasionInfo.Shop); log += purchaseLog; log += "\n"; var InvasionCurrencyRemaining = purchase(TotalInvasionCurrency, InvasionInfo.Shop); log += purchaseLog; log += "\nRemaining Currency: " + InvasionCurrencyRemaining; output.innerText = log; }	output = document.getElementById("Summons_Vault"); if (output != undefined) {		var log = ""; log += "\nNumber of keys: " + VaultEventInfo.Keys.Mission; log += "\nKeys per floor: " + VaultEventInfo.Keys.PerFloorAverage; var remaining = VaultEventInfo.Keys.Mission-(VaultEventInfo.Keys.Mission/VaultEventInfo.Keys.PerFloorAverage); gatcha(remaining, VaultEventInfo.RewardsPerFloor); log += gatchaLog; output.innerText = log; }	output = document.getElementById("Summons_WishingFountain_Details"); if (output != undefined) {		var log = ""; var wfCoins = document.getElementById("Summons_WishingFountain_Coins_Input").value; var wfTotalCoins = wfCoins * 6 log += "\nCoins per Month: " + wfTotalCoins; gatcha(wfTotalCoins, WishingFountainInfo.Rewards); log += gatchaLog; output.innerText = log; }	output = document.getElementById("Summons_LuckyWheel_Details"); if (output != undefined) {		var log = ""; var coins = document.getElementById("Summons_LuckyWheel_Coins_Input").value; var chips = coins * LuckyWheelInfo.Chips; log += "\nCoins: " + coins; gatcha(LuckyWheelInfo.Coins, LuckyWheelInfo.Rewards); log += gatchaLog; log += "\nChips: " + chips; purchase(chips, LuckyWheelInfo.Shop); log += purchaseLog; output.innerText = log; }	output = document.getElementById("Summons_ClickerEvent1_Details"); if (output != undefined) {		var log = ""; var stagesComplete = document.getElementById("Summons_ClickerEvent1_Stage_Input").value;

log += "\nStages complete: " + stagesComplete + " out of " + Clicker1EventInfo.Rewards.length; for(var i=0;i<stagesComplete; i++) {			log += "\nStage "+ (i+1) + ": " + AddMonthlyItems(Clicker1EventInfo.Rewards[i]); }		output.innerText = log; }	output = document.getElementById("Summons_ClickerEvent2_Details"); if (output != undefined) {		var log = ""; var stagesComplete = document.getElementById("Summons_ClickerEvent2_Stage_Input").value;

log += "\nStages complete: " + stagesComplete + " out of " + Clicker2EventInfo.Rewards.length; for(var i=0;i<stagesComplete; i++) {			log += "\nStage "+ (i+1) + ": " + AddMonthlyItems(Clicker2EventInfo.Rewards[i]); }		output.innerText = log; }	output = document.getElementById("Summons_Friendship_Details"); if (output != undefined) {		var log = ""; var friendshipTokensPerDay = document.getElementById("Summons_Friendship_Coins_Input").value; var tokensPerMonth = 30 * friendshipTokensPerDay; var tokenSummons = tokensPerMonth/10; log += "\nTokens/mo: " + tokensPerMonth + "\n " + AddMonthlyItems({Friendship: tokenSummons}); output.innerText = log; }	output = document.getElementById("Summons_Pity"); if (output != undefined) {		var log = ""; var totalTickets = MonthlySummonItems.Ticket + MonthlySummonItems.FactionTicket + MonthlySummonItems.Friendship + 30; var pityPurple = ((totalTickets+40)/150) * 30; var pityLegendary = (totalTickets/150); log += AddMonthlyItems({PurpleSoulstone: pityPurple}); log += "\n" + AddMonthlyItems({FactionLegendary: pityLegendary}); MonthlySummonItems.TotalTickets = totalTickets; output.innerText = log; }	output = document.getElementById("Summons_"); if (output != undefined) {		var log = ""; output.innerText = log; }	output = document.getElementById("Summons_TotalMonthlySummons"); if (output != undefined) {		var log = ""; var purpleFiveStarCount = MonthlySummonItems.PurpleSoulstone/60; var blueFiveStarCount = ((MonthlySummonItems.BlueSoulstone/60) + MonthlySummonItems.FactionToken)/8; log += "\nFree Daily Summons: 30"; log += "\nStandard Summoning Tickets: " + MonthlySummonItems.Ticket; log += "\nFaction Summoning Tickets: " + MonthlySummonItems.FactionTicket; log += "\nFriend Summons: " + MonthlySummonItems.Friendship; log += "\nFaction Summoning Tokens (Epics): " + MonthlySummonItems.FactionToken; log += "\nFaction Summoning Tokens (Legendary): " + MonthlySummonItems.FactionLegendary.toFixed(2); log += "\nPurple Soulstone Shards: " + MonthlySummonItems.PurpleSoulstone + " (" + purpleFiveStarCount.toFixed(2) + ")"; log += "\nBlue Soulstone Shards: " + MonthlySummonItems.BlueSoulstone + " (" + (MonthlySummonItems.BlueSoulstone/60).toFixed(2) + ")"; var fiveStarCount = MonthlySummonItems.TotalTickets/30; log += "\n\nConvert Tickets to 5-star random and fodder units (2 per 30 tickets)" log += "\nRandom 5-star: " + fiveStarCount.toFixed(2); log += "\nFodder 5-star:" + fiveStarCount.toFixed(2); log += "\n\n5-star Legendaries: " + MonthlySummonItems.FactionLegendary.toFixed(2); log += "\n5-star Random: " + (fiveStarCount + purpleFiveStarCount).toFixed(2); log += "\n5-star Fodder: " + (fiveStarCount + blueFiveStarCount).toFixed(2); log += "\n\n5-star Grand Total: " + (MonthlySummonItems.FactionLegendary + (fiveStarCount*2) + purpleFiveStarCount + blueFiveStarCount).toFixed(2); output.innerText = log; } }

// quests $(function{	var output = document.getElementById("Summons_Exploration_Quests");	if (output != undefined)	{		output.innerHTML = 'Number of Quests: <input id="Summons_Exploration_Quests_Input" type="text" onkeyup="CalculateSummons" value="7">';	}	var output = document.getElementById("Summons_Exploration_Rerolls");	if (output != undefined)	{		output.innerHTML = 'Rerolls/day (TODO): <input id="Summons_Exploration_Rerolls_Input" type="text" onkeyup="CalculateSummons" placeholder="Not Implemented">';	}	var output = document.getElementById("Summons_IslesExploration_Currency");	if (output != undefined)	{		output.innerHTML = 'Currency: <input id="Summons_IslesExploration_Currency_Input" type="text" onkeyup="CalculateSummons" value="4030">';	}	var output = document.getElementById("Summons_Arena_Rank");	if (output != undefined)	{		output.innerHTML = 'Ranks/day: <input id="Summons_Arena_Rank_Input" type="text" onkeyup="CalculateSummons" value="75">'; }	var output = document.getElementById("Summons_Arena_Final"); if (output != undefined) {		output.innerHTML = 'End of Season Rank: <input id="Summons_Arena_Final_Input" type="text" onkeyup="CalculateSummons" value="20">'; }	var output = document.getElementById("Summons_AdvancedArena_Final"); if (output != undefined) {		output.innerHTML = 'End of Season Rank: <input id="Summons_AdvancedArena_Final_Input" type="text" onkeyup="CalculateSummons" value="40">'; }	var output = document.getElementById("Summons_Invasion_Currency"); if (output != undefined) {		output.innerHTML = 'Currency/win: <input id="Summons_Invasion_Currency_Input" type="text" onkeyup="CalculateSummons" value="650">'; }	var output = document.getElementById("Summons_WishingFountain_Coins"); if (output != undefined) {		output.innerHTML = 'Coins: <input id="Summons_WishingFountain_Coins_Input" type="text" onkeyup="CalculateSummons" value="19">'; }	var output = document.getElementById("Summons_LuckyWheel_Coins"); if (output != undefined) {		output.innerHTML = 'Coins: <input id="Summons_LuckyWheel_Coins_Input" type="text" onkeyup="CalculateSummons" value="25">'; }	var output = document.getElementById("Summons_ClickerEvent1_Stage"); if (output != undefined) {		output.innerHTML = 'Stages Complete (max 16): <input id="Summons_ClickerEvent1_Stage_Input" type="text" onkeyup="CalculateSummons" value="16">'; }	var output = document.getElementById("Summons_ClickerEvent2_Stage"); if (output != undefined) {		output.innerHTML = 'Stages Complete (max 4): <input id="Summons_ClickerEvent2_Stage_Input" type="text" onkeyup="CalculateSummons" value="3">'; }		var output = document.getElementById("Summons_Friendship_Coins"); if (output != undefined) {		output.innerHTML = 'Coins: <input id="Summons_Friendship_Coins_Input" type="text" onkeyup="CalculateSummons" value="25">'; }	CalculateSummons; });

$(function{	var elements = document.getElementsByClassName("VideoSource");	for(var i=0; i<elements.length; i++)	{		elements[i].innerHTML = '<iframe width="'+elements[i].style.width+'" height="'+elements[i].style.height+'" src="'+elements[i].innerText+'" title="Video Player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen> ';	} });

$(function{	$( "div.ReviewPopup" ).each(function(index) { var self = $(this); self.find("#HeroList").remove; self.find("h3:contains('Best Pa')").remove; $(this).parent.mouseenter(function{			self.css("display", "");		}); $(this).parent.mouseleave(function{			self.css("display", "none");		}); }); });