Ativa o menu
Toggle preferences menu
Alternar menu pessoal
Não autenticado(a)
Your IP address will be publicly visible if you make any edits.

MediaWiki:Common.js

Página de Interface do MediaWiki
Revisão de 23h54min de 31 de outubro de 2022 por Luke Nitole (discussão | contribs) (Created page with "Any JavaScript here will be loaded for all users on every page load.: function updateTable () { updateAbilityTotals (); updatePointCosts (); } function updateMod () { updateAbilityTotals (); } //Updates Total Scores and Ability Modifiers function updateAbilityTotals () { var strBaseScore = Number(document.getElementById("forcaBaseScore").value); var dexBaseScore = Number(document.getElementById("destrezaBaseScore").value); var conBaseScore = Number(do...")
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

Nota: Após publicar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.

  • Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5.
  • Opera: Pressione Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */
	function updateTable () {
		updateAbilityTotals ();
		updatePointCosts ();
	}

	function updateMod () {
		updateAbilityTotals ();
	}

//Updates Total Scores and Ability Modifiers
function updateAbilityTotals () {
	var strBaseScore = Number(document.getElementById("forcaBaseScore").value);
	var dexBaseScore = Number(document.getElementById("destrezaBaseScore").value);
	var conBaseScore = Number(document.getElementById("constituicaoBaseScore").value);
	var intBaseScore = Number(document.getElementById("inteligenciaBaseScore").value);
	var wisBaseScore = Number(document.getElementById("sabedoriaBaseScore").value);
	var chaBaseScore = Number(document.getElementById("carismaBaseScore").value);

	var strMod = Number(document.getElementById("forcaRacialMod").value);
	var dexMod = Number(document.getElementById("destrezaRacialMod").value);
	var conMod = Number(document.getElementById("constituicaoRacialMod").value);
	var intMod = Number(document.getElementById("inteligenciaRacialMod").value);
	var wisMod = Number(document.getElementById("sabedoriaRacialMod").value);
	var chaMod = Number(document.getElementById("carismaRacialMod").value);

	var totalStr = strBaseScore + strMod;
	var totalDex = dexBaseScore + dexMod;
	var totalCon = conBaseScore + conMod;
	var totalInt = intBaseScore + intMod;
	var totalWis = wisBaseScore + wisMod;
	var totalCha = chaBaseScore + chaMod;

	var forcaMod = Math.floor((totalStr - 10) / 2);
	var destrezaMod = Math.floor((totalDex - 10) / 2);
	var constituicaoMod = Math.floor((totalCon - 10) / 2);
	var inteligenciaMod = Math.floor((totalInt - 10) / 2);
	var sabedoriaMod = Math.floor((totalWis - 10) / 2);
	var carismaMod = Math.floor((totalCha - 10) / 2);

	//alert("strBaseScore: "+strBaseScore+" strRaceMod: "+strRaceMod+" totalStr: "+totalStr+" forcaMod: "+forcaMod);

	document.getElementById("forcaTotalScore").innerHTML = totalStr;
	document.getElementById("destrezaTotalScore").innerHTML = totalDex;
	document.getElementById("constituicaoTotalScore").innerHTML = totalCon;
	document.getElementById("inteligenciaTotalScore").innerHTML = totalInt;
	document.getElementById("sabedoriaTotalScore").innerHTML = totalWis;
	document.getElementById("carismaTotalScore").innerHTML = totalCha;

	if (forcaMod < 1) {
		document.getElementById("forcaAbilityMod").innerHTML = forcaMod;
	} else {
		document.getElementById("forcaAbilityMod").innerHTML = "+"+forcaMod;
	}

	if (destrezaMod < 1) {
		document.getElementById("destrezaAbilityMod").innerHTML = destrezaMod;
	} else {
		document.getElementById("destrezaAbilityMod").innerHTML = "+"+destrezaMod;
	}

	if (constituicaoMod < 1) {
		document.getElementById("constituicaoAbilityMod").innerHTML = constituicaoMod;
	} else {
		document.getElementById("constituicaoAbilityMod").innerHTML = "+"+constituicaoMod;
	}

	if (inteligenciaMod < 1) {
		document.getElementById("inteligenciaAbilityMod").innerHTML = inteligenciaMod;
	} else {
		document.getElementById("inteligenciaAbilityMod").innerHTML = "+"+inteligenciaMod;
	}

	if (sabedoriaMod < 1) {
		document.getElementById("sabedoriaAbilityMod").innerHTML = sabedoriaMod;
	} else {
		document.getElementById("sabedoriaAbilityMod").innerHTML = "+"+sabedoriaMod;
	}

	if (carismaMod < 1) {
		document.getElementById("carismaAbilityMod").innerHTML = carismaMod;
	} else {
		document.getElementById("carismaAbilityMod").innerHTML = "+"+carismaMod;
	}
}

//Updates the Point Buy data based on table changes
function updatePointCosts () {
	var strBaseScore = Number(document.getElementById("forcaBaseScore").value);
	var dexBaseScore = Number(document.getElementById("destrezaBaseScore").value);
	var conBaseScore = Number(document.getElementById("constituicaoBaseScore").value);
	var intBaseScore = Number(document.getElementById("inteligenciaBaseScore").value);
	var wisBaseScore = Number(document.getElementById("sabedoriaBaseScore").value);
	var chaBaseScore = Number(document.getElementById("carismaBaseScore").value);

	var strCost = setCost(strBaseScore);
	var dexCost = setCost(dexBaseScore);
	var conCost = setCost(conBaseScore);
	var intCost = setCost(intBaseScore);
	var wisCost = setCost(wisBaseScore);
	var chaCost = setCost(chaBaseScore);
	var totalCost = strCost + dexCost + conCost + intCost + wisCost + chaCost;

	document.getElementById("forcaPointCost").innerHTML = strCost;
	document.getElementById("destrezaPointCost").innerHTML = dexCost;
	document.getElementById("constituicaoPointCost").innerHTML = conCost;
	document.getElementById("inteligenciaPointCost").innerHTML = intCost;
	document.getElementById("sabedoriaPointCost").innerHTML = wisCost;
	document.getElementById("carismaPointCost").innerHTML = chaCost;
	document.getElementById("pointsUsed").innerHTML = "Pontos Usados: "+totalCost+" / 27";

}

//Sets how many points a set ability score costs
function setCost (baseScore) {
	if (baseScore === 8) {
		return 0
	} else if (baseScore === 9) {
		return 1
	} else if (baseScore === 10) {
		return 2
	} else if (baseScore === 11) {
		return 3
	} else if (baseScore === 12) {
		return 4
	} else if (baseScore === 13) {
		return 5
	} else if (baseScore === 14) {
		return 7
	} else if (baseScore === 15) {
		return 9
	}
}

//Resets Base Scores that are out of range to 8
function correctImproperBaseScores () {
	var strBaseScore = Number(document.getElementById("forcaBaseScore").value);
	var dexBaseScore = Number(document.getElementById("destrezaBaseScore").value);
	var conBaseScore = Number(document.getElementById("constituicaoBaseScore").value);
	var intBaseScore = Number(document.getElementById("inteligenciaBaseScore").value);
	var wisBaseScore = Number(document.getElementById("sabedoriaBaseScore").value);
	var chaBaseScore = Number(document.getElementById("carismaBaseScore").value);

	if (!(strBaseScore >= 8 && strBaseScore <= 15)) {
		document.getElementById("forcaBaseScore").value = "8";
	}
	if (!(dexBaseScore >= 8 && dexBaseScore <= 15)) {
		document.getElementById("destrezaBaseScore").value = "8";
	}
	if (!(conBaseScore >= 8 && conBaseScore <= 15)) {
		document.getElementById("constituicaoBaseScore").value = "8";
	}
	if (!(intBaseScore >= 8 && intBaseScore <= 15)) {
		document.getElementById("inteligenciaBaseScore").value = "8";
	}
	if (!(wisBaseScore >= 8 && wisBaseScore <= 15)) {
		document.getElementById("sabedoriaBaseScore").value = "8";
	}
	if (!(chaBaseScore >= 8 && chaBaseScore <= 15)) {
		document.getElementById("carismaBaseScore").value = "8";
	}

}

function correctImproperBaseScores () {
	var strModScore = Number(document.getElementById("forcaBaseScore").value);
	var dexModScore = Number(document.getElementById("destrezaBaseScore").value);
	var conModScore = Number(document.getElementById("constituicaoBaseScore").value);
	var intModScore = Number(document.getElementById("inteligenciaBaseScore").value);
	var wisBaseScore = Number(document.getElementById("sabedoriaBaseScore").value);
	var chaBaseScore = Number(document.getElementById("carismaBaseScore").value);

	if (!(strBaseScore >= 8 && strBaseScore <= 15)) {
		document.getElementById("forcaBaseScore").value = "8";
	}
	if (!(dexBaseScore >= 8 && dexBaseScore <= 15)) {
		document.getElementById("destrezaBaseScore").value = "8";
	}
	if (!(conBaseScore >= 8 && conBaseScore <= 15)) {
		document.getElementById("constituicaoBaseScore").value = "8";
	}
	if (!(intBaseScore >= 8 && intBaseScore <= 15)) {
		document.getElementById("inteligenciaBaseScore").value = "8";
	}
	if (!(wisBaseScore >= 8 && wisBaseScore <= 15)) {
		document.getElementById("sabedoriaBaseScore").value = "8";
	}
	if (!(chaBaseScore >= 8 && chaBaseScore <= 15)) {
		document.getElementById("carismaBaseScore").value = "8";
	}

}

function correctImproperModScores () {
	var strRacialMod = Number(document.getElementById("forcaRacialMod").value);
	var dexRacialMod = Number(document.getElementById("destrezaRacialMod").value);
	var conRacialMod = Number(document.getElementById("constituicaoRacialMod").value);
	var intRacialMod = Number(document.getElementById("inteligenciaRacialMod").value);
	var wisRacialMod = Number(document.getElementById("sabedoriaRacialMod").value);
	var chaRacialMod = Number(document.getElementById("carismaRacialMod").value);

	if (!(strRacialMod >= -4 && strRacialMod <= 2)) {
		document.getElementById("forcaRacialMod").value = "0";
	}
	if (!(dexRacialMod >= -4 && dexRacialMod <= 2)) {
		document.getElementById("destrezaRacialMod").value = "0";
	}
	if (!(conRacialMod >= -4 && conRacialMod <= 2)) {
		document.getElementById("constituicaoRacialMod").value = "0";
	}
	if (!(intRacialMod >= -4 && intRacialMod <= 2)) {
		document.getElementById("inteligenciaRacialMod").value = "0";
	}
	if (!(wisRacialMod >= -4 && wisRacialMod <= 2)) {
		document.getElementById("sabedoriaRacialMod").value = "0";
	}
	if (!(chaRacialMod >= -4 && chaRacialMod <= 2)) {
		document.getElementById("carismaRacialMod").value = "0";
	}

}