Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
a4ac40ab02 | |||
8f0fad37ab | |||
25bab2ce55 | |||
d5c4c234cb | |||
789cfde1e5 | |||
0a63394ab1 | |||
db513d7a6a |
16
english.js
16
english.js
@ -9,8 +9,8 @@ function English(str) {
|
|||||||
case 3:{ //Set up your options (Category Title)
|
case 3:{ //Set up your options (Category Title)
|
||||||
return "Parking Configuration"
|
return "Parking Configuration"
|
||||||
}break;
|
}break;
|
||||||
case 4:{ //Selection for event type: Poker/Slots
|
case 4:{ //Selection for event type: Poker/Raid
|
||||||
return "Poker/Slots"
|
return "Poker/Raid"
|
||||||
}break;
|
}break;
|
||||||
case 5:{ //Selection for event type: Bingo
|
case 5:{ //Selection for event type: Bingo
|
||||||
return "Bingo"
|
return "Bingo"
|
||||||
@ -18,12 +18,6 @@ function English(str) {
|
|||||||
case 6:{ //Selection for event type: Medley
|
case 6:{ //Selection for event type: Medley
|
||||||
return "Medley"
|
return "Medley"
|
||||||
}break;
|
}break;
|
||||||
case 24:{ //Selection for event type: Raid
|
|
||||||
return "Raid"
|
|
||||||
}break;
|
|
||||||
case 25:{ //Selection for event type: RaidAnni
|
|
||||||
return "Raid(Special)"
|
|
||||||
}break;
|
|
||||||
case 7:{ //Label for team % selector (Include ":")
|
case 7:{ //Label for team % selector (Include ":")
|
||||||
return "Event Team Bonus:"
|
return "Event Team Bonus:"
|
||||||
}break;
|
}break;
|
||||||
@ -69,12 +63,6 @@ function English(str) {
|
|||||||
case 21:{ //Tip: The "Flexible Team" option gives you the fastest park, but at the expense of more voltage.
|
case 21:{ //Tip: The "Flexible Team" option gives you the fastest park, but at the expense of more voltage.
|
||||||
return "The <b>\"Flexible Team\"</b> option gives you the fastest park, but at the expense of more voltage."
|
return "The <b>\"Flexible Team\"</b> option gives you the fastest park, but at the expense of more voltage."
|
||||||
}break;
|
}break;
|
||||||
case 22:{ //Tip: The maximum score you can get from playing a song using "Free Live" (Use 0 for Rehearsals Only)
|
|
||||||
return "The maximum score you can get from playing a song using <font color=\"aqua\">Free Live</font>.<br> <sub>(Use 0 for Rehearsals Only)</sub>"
|
|
||||||
}break;
|
|
||||||
case 23:{ //See any issues? Contact Mirby#5516 on D4DJ discord
|
|
||||||
return "See any issues? Contact Mirby#5516 on D4DJ discord"
|
|
||||||
}break;
|
|
||||||
case "%INITIAL%":{ //This message is the first thing to display for a normal calculation.
|
case "%INITIAL%":{ //This message is the first thing to display for a normal calculation.
|
||||||
//Sample message:
|
//Sample message:
|
||||||
/*
|
/*
|
||||||
|
16
japanese.js
16
japanese.js
@ -9,8 +9,8 @@ function Japanese(str) {
|
|||||||
case 3:{ //Set up your options (Category Title)
|
case 3:{ //Set up your options (Category Title)
|
||||||
return "Parking Configuration"
|
return "Parking Configuration"
|
||||||
}break;
|
}break;
|
||||||
case 4:{ //Selection for event type: Poker/Slots
|
case 4:{ //Selection for event type: Poker/Raid
|
||||||
return "Poker/Slots"
|
return "Poker/Raid"
|
||||||
}break;
|
}break;
|
||||||
case 5:{ //Selection for event type: Bingo
|
case 5:{ //Selection for event type: Bingo
|
||||||
return "Bingo"
|
return "Bingo"
|
||||||
@ -18,12 +18,6 @@ function Japanese(str) {
|
|||||||
case 6:{ //Selection for event type: Medley
|
case 6:{ //Selection for event type: Medley
|
||||||
return "Medley"
|
return "Medley"
|
||||||
}break;
|
}break;
|
||||||
case 24:{ //Selection for event type: Raid
|
|
||||||
return "Raid"
|
|
||||||
}break;
|
|
||||||
case 25:{ //Selection for event type: RaidAnni
|
|
||||||
return "Raid(Special)"
|
|
||||||
}break;
|
|
||||||
case 7:{ //Label for team % selector (Include ":")
|
case 7:{ //Label for team % selector (Include ":")
|
||||||
return "Event Team Bonus:"
|
return "Event Team Bonus:"
|
||||||
}break;
|
}break;
|
||||||
@ -69,12 +63,6 @@ function Japanese(str) {
|
|||||||
case 21:{ //Tip: The "Flexible Team" option gives you the fastest park, but at the expense of more voltage.
|
case 21:{ //Tip: The "Flexible Team" option gives you the fastest park, but at the expense of more voltage.
|
||||||
return "The <b>\"Flexible Team\"</b> option gives you the fastest park, but at the expense of more voltage."
|
return "The <b>\"Flexible Team\"</b> option gives you the fastest park, but at the expense of more voltage."
|
||||||
}break;
|
}break;
|
||||||
case 22:{ //Tip: The maximum score you can get from playing a song using "Free Live" (Use 0 for Rehearsals Only)
|
|
||||||
return "The maximum score you can get from playing a song using <font color=\"aqua\">Free Live</font>.<br> <sub>(Use 0 for Rehearsals Only)</sub>"
|
|
||||||
}break;
|
|
||||||
case 23:{ //See any issues? Contact Mirby#5516 on D4DJ discord
|
|
||||||
return "See any issues? Contact Mirby#5516 on D4DJ discord"
|
|
||||||
}break;
|
|
||||||
case "%INITIAL%":{ //This message is the first thing to display for a normal calculation.
|
case "%INITIAL%":{ //This message is the first thing to display for a normal calculation.
|
||||||
//Sample message:
|
//Sample message:
|
||||||
/*
|
/*
|
||||||
|
22
muni.css
22
muni.css
@ -25,8 +25,6 @@ textarea {
|
|||||||
|
|
||||||
textarea:disabled {
|
textarea:disabled {
|
||||||
color: black;
|
color: black;
|
||||||
-webkit-text-fill-color: #000000;
|
|
||||||
opacity: 1; /* required on iOS */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tooltip container */
|
/* Tooltip container */
|
||||||
@ -74,3 +72,23 @@ textarea:disabled {
|
|||||||
visibility: visible;
|
visibility: visible;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.grid{
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
grid-gap: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.munigrid{
|
||||||
|
border-left: 1px dotted #000;
|
||||||
|
border-right: 1px dotted #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.munigrid:nth-child(1){
|
||||||
|
border-left:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.munigrid:nth-child(even){
|
||||||
|
border-left:none;
|
||||||
|
border-right:none;
|
||||||
|
}
|
152
muni.js
152
muni.js
@ -40,54 +40,13 @@ const MAXSTEPS= 10000
|
|||||||
document.getElementById("advanced2").style.visibility=document.getElementById("advanced").checked?"visible":"hidden"
|
document.getElementById("advanced2").style.visibility=document.getElementById("advanced").checked?"visible":"hidden"
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleWarning() {
|
|
||||||
setTimeout(() => { document.getElementById("warningparktext").style.visibility=document.getElementById("flexible").checked?"visible":"hidden"},100)
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleBonus() {
|
|
||||||
var bonusOptions = {};
|
|
||||||
bonusOptions['noBonus'] = ['0','20','40','60','80','100','120','140','160'];
|
|
||||||
bonusOptions['bonus'] = ['0','20','40','50','60','70','80','90','100','110','120','140','150','170','200'];
|
|
||||||
|
|
||||||
var isBonus = document.getElementById("teambonus").checked;
|
|
||||||
var bonusList = document.getElementById("bonus");
|
|
||||||
while (bonusList.options.length) {
|
|
||||||
bonusList.remove(0);
|
|
||||||
}
|
|
||||||
if (isBonus) {
|
|
||||||
for (var i = 0; i < bonusOptions['bonus'].length; i++) {
|
|
||||||
var entry = new Option(bonusOptions['bonus'][i] + "%", bonusOptions['bonus'][i] / 100);
|
|
||||||
if (i==bonusOptions['bonus'].length-1) {
|
|
||||||
entry.selected=true;
|
|
||||||
}
|
|
||||||
bonusList.options.add(entry);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for (var i = 0; i < bonusOptions['noBonus'].length; i++) {
|
|
||||||
var entry = new Option(bonusOptions['noBonus'][i] + "%", bonusOptions['noBonus'][i] / 100);
|
|
||||||
if (i==bonusOptions['noBonus'].length-1) {
|
|
||||||
entry.selected=true;
|
|
||||||
}
|
|
||||||
bonusList.options.add(entry);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*function toggleBingo(){
|
|
||||||
setTimeout(() => { document.getElementById("hideBingo").style.visibility=document.getElementById("Bingo").checked?"visible":"hidden"},100)
|
|
||||||
}*/
|
|
||||||
|
|
||||||
function test(){
|
function test(){
|
||||||
|
|
||||||
var start = Math.abs(Math.max(0,Number(document.getElementById("starting").value)))
|
var start = Math.abs(Math.max(0,Number(document.getElementById("starting").value)))
|
||||||
var end = Math.abs(Math.max(0,Number(document.getElementById("ending").value)))
|
var end = Math.abs(Math.max(0,Number(document.getElementById("ending").value)))
|
||||||
var bonus = Number(document.getElementById("bonus").value)
|
var bonus = Number(document.getElementById("team").value)
|
||||||
var isBonus = document.getElementById("teambonus").checked
|
|
||||||
var parameter = Math.abs(Math.max(0,Number(document.getElementById("parameter").value)))
|
|
||||||
var type = (document.getElementById("Bingo").checked?"Bingo":
|
var type = (document.getElementById("Bingo").checked?"Bingo":
|
||||||
document.getElementById("Poker/Slots").checked?"Poker/Slots":
|
document.getElementById("Poker").checked?"Poker/Raid":
|
||||||
document.getElementById("Raid").checked?"Raid":
|
|
||||||
document.getElementById("RaidAnni").checked?"RaidAnni":
|
|
||||||
"Medley")
|
"Medley")
|
||||||
var flexible = document.getElementById("flexible").checked
|
var flexible = document.getElementById("flexible").checked
|
||||||
//document.getElementById("console").value=flexible+"...\n\n"
|
//document.getElementById("console").value=flexible+"...\n\n"
|
||||||
@ -96,12 +55,7 @@ const MAXSTEPS= 10000
|
|||||||
var originalTarget=start
|
var originalTarget=start
|
||||||
document.getElementById("console").value=""
|
document.getElementById("console").value=""
|
||||||
|
|
||||||
var interval = (type=="Medley")?15000:(type=="Poker/Slots")?4000:(type=="RaidAnni")?6000:10000
|
var interval = (type=="Medley")?15000:10000
|
||||||
var special = (type=="RaidAnni");
|
|
||||||
if (special) {
|
|
||||||
bonus = 0;
|
|
||||||
isBonus = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var maxscore = Math.floor(Math.abs(Math.min(5000000,Math.max(0,Number(document.getElementById("maxscore").value))))/interval)*interval
|
var maxscore = Math.floor(Math.abs(Math.min(5000000,Math.max(0,Number(document.getElementById("maxscore").value))))/interval)*interval
|
||||||
|
|
||||||
@ -109,19 +63,13 @@ const MAXSTEPS= 10000
|
|||||||
if (voltage>0) {
|
if (voltage>0) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case "Bingo":{
|
case "Bingo":{
|
||||||
return voltage * Math.floor((1 + bonus) * (Math.max(10, Math.floor(score/interval)) + Math.floor(parameter/600)))
|
return voltage * Math.floor((1 + bonus)*Math.max(10,Math.floor(score/interval)))
|
||||||
}break;
|
}break;
|
||||||
case "Medley":{
|
case "Medley":{
|
||||||
return voltage * Math.floor((1 + bonus) * (10 + Math.floor(score/interval) + Math.floor(parameter/600)))
|
return voltage * Math.floor((1 + bonus)*(10+Math.floor(score/interval)))
|
||||||
}break;
|
}break;
|
||||||
case "Poker/Slots":{
|
case "Poker/Raid":{
|
||||||
return voltage * Math.floor((1 + bonus) * (50 + Math.floor(score/interval) + Math.floor(parameter/600)))
|
return voltage * Math.floor((1 + bonus)*(50 + Math.floor(score/interval)))
|
||||||
}break;
|
|
||||||
case "Raid":{
|
|
||||||
return voltage * Math.floor((1 + bonus) * (50 + Math.floor(score/interval) + Math.floor(parameter/600)))
|
|
||||||
}break;
|
|
||||||
case "RaidAnni":{
|
|
||||||
return voltage * (300 + Math.floor(score/interval))
|
|
||||||
}break;
|
}break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -129,38 +77,6 @@ const MAXSTEPS= 10000
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate a list of possible bonus values the user can have, based on the selected drop down value and whether extra 10% bonus is applied
|
|
||||||
var bonusOptions = [0,.2,.4,.5,.6,.7,.8,.9,1,1.1,1.2,1.4,1.5,1.7,2];
|
|
||||||
function GenerateBonusRange(bonusValue, isBonus) {
|
|
||||||
var array = [];
|
|
||||||
if (isBonus) {
|
|
||||||
for (var i=bonusValue;i>=0;i-=0.1) {
|
|
||||||
i = Math.round(i * 10) / 10 // Eliminate precision problems
|
|
||||||
if (bonusOptions.includes(i)) {
|
|
||||||
array.push(i)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for (var i=bonusValue;i>=0;i-=0.2) {
|
|
||||||
i = Math.round(i * 10) / 10
|
|
||||||
array.push(i)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return array
|
|
||||||
}
|
|
||||||
|
|
||||||
// During rehearsal, we can't use the odd bonus values, so return next lowest even value
|
|
||||||
function GetNextBonus(bonusValue) {
|
|
||||||
for (var i=bonusValue;i>=0;i-=0.1) {
|
|
||||||
i = Math.round(i * 10) / 10
|
|
||||||
if (bonusOptions.includes(i) && ((i*10)%2==0)) {
|
|
||||||
return i
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var bonusRange = GenerateBonusRange(bonus, isBonus)
|
|
||||||
|
|
||||||
function EvenOdd(val) {
|
function EvenOdd(val) {
|
||||||
return val%2==0?"even":"odd"
|
return val%2==0?"even":"odd"
|
||||||
}
|
}
|
||||||
@ -287,47 +203,25 @@ const MAXSTEPS= 10000
|
|||||||
}
|
}
|
||||||
var voltage=0
|
var voltage=0
|
||||||
if ((end-start)%2!==0) {
|
if ((end-start)%2!==0) {
|
||||||
if (isBonus && (end-start >= 21)) {
|
|
||||||
var gain = 0
|
|
||||||
// If rehearsing with an odd gap, use 110% to flip back to even - only exception is 29, need to use 90%
|
|
||||||
if (end-start==29){
|
|
||||||
gain=19
|
|
||||||
} else {
|
|
||||||
gain=21
|
|
||||||
}
|
|
||||||
start+=gain
|
|
||||||
document.getElementById("console").value+=ConvertVariables(LANGUAGE("%REHEARSAL%"),{step:step++,percent:((gain-10)*10),epgain:gain,remaining:end-start})+"\n"
|
|
||||||
return true
|
|
||||||
} else {
|
|
||||||
return undefined
|
return undefined
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (end-start>(10+Math.round(tbonus*10))+10) {
|
if (end-start>(10+Math.round(tbonus*10))+10) {
|
||||||
var gain=(10+Math.round(tbonus*10))
|
var gain=(10+Math.round(tbonus*10))
|
||||||
if (EvenOdd(end-start)!=EvenOdd(gain)) {
|
|
||||||
tbonus = GetNextBonus(tbonus)
|
|
||||||
gain=(10+Math.round(tbonus*10))
|
|
||||||
}
|
|
||||||
start+=gain
|
start+=gain
|
||||||
//document.getElementById("console").value+="1)"
|
//document.getElementById("console").value+="1)"
|
||||||
document.getElementById("console").value+=ConvertVariables(LANGUAGE("%REHEARSAL%"),{step:step++,percent:Math.round(tbonus*100),epgain:gain,remaining:end-start})+"\n"
|
document.getElementById("console").value+=ConvertVariables(LANGUAGE("%REHEARSAL%"),{step:step++,percent:Math.round(tbonus*100),epgain:gain,remaining:end-start})+"\n"
|
||||||
/*"Step "+(step++)+") Use Rehearsal w/"+Math.round(tbonus*100)+"% team. EP +"+gain+". Remaining:"+(end-start)+" EP \n"*/
|
/*"Step "+(step++)+") Use Rehearsal w/"+Math.round(tbonus*100)+"% team. EP +"+gain+". Remaining:"+(end-start)+" EP \n"*/
|
||||||
return true
|
return true
|
||||||
} else
|
} else
|
||||||
for (var j of GenerateBonusRange(tbonus,isBonus)) {
|
for (var j=tbonus;j>=0;j-=0.2) {
|
||||||
result = TryMatchingRehearsal(j)
|
result = TryMatchingRehearsal(j)
|
||||||
if (!result) {
|
if (!result) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (end-start>=20) {
|
if (end-start>=20) {
|
||||||
var gain = 0
|
var gain=end-start-10
|
||||||
if (isBonus && ((end-start)==38 || (end-start)==36)) { // If bonus exists, and gap is 36 or 38, need to do special exception because bonus teams can't reach 160% or 180%
|
|
||||||
gain = 24
|
|
||||||
} else {
|
|
||||||
gain = end-start-10
|
|
||||||
}
|
|
||||||
start+=gain
|
start+=gain
|
||||||
//document.getElementById("console").value+="2)"
|
//document.getElementById("console").value+="2)"
|
||||||
document.getElementById("console").value+=ConvertVariables(LANGUAGE("%REHEARSAL%"),{step:step++,percent:((gain-10)*10),epgain:gain,remaining:end-start})+"\n"
|
document.getElementById("console").value+=ConvertVariables(LANGUAGE("%REHEARSAL%"),{step:step++,percent:((gain-10)*10),epgain:gain,remaining:end-start})+"\n"
|
||||||
@ -341,7 +235,7 @@ const MAXSTEPS= 10000
|
|||||||
document.getElementById("console").value+=ConvertVariables(LANGUAGE("%REHEARSAL%"),{step:step++,percent:0,epgain:gain,remaining:end-start})+"\n"
|
document.getElementById("console").value+=ConvertVariables(LANGUAGE("%REHEARSAL%"),{step:step++,percent:0,epgain:gain,remaining:end-start})+"\n"
|
||||||
/*"Step "+(step++)+") Use Rehearsal w/0% team. EP +"+gain+". Remaining:"+(end-start)+" EP \n"*/
|
/*"Step "+(step++)+") Use Rehearsal w/0% team. EP +"+gain+". Remaining:"+(end-start)+" EP \n"*/
|
||||||
return false
|
return false
|
||||||
} else if (!special)
|
} else
|
||||||
{
|
{
|
||||||
var gain=end-start
|
var gain=end-start
|
||||||
if (((gain-10)*10)>=0) {
|
if (((gain-10)*10)>=0) {
|
||||||
@ -394,7 +288,7 @@ const MAXSTEPS= 10000
|
|||||||
var result=true
|
var result=true
|
||||||
if (maxscore>0) {
|
if (maxscore>0) {
|
||||||
if (flexible) {
|
if (flexible) {
|
||||||
for (var j of bonusRange) {
|
for (var j=bonus;j>=0;j-=0.2) {
|
||||||
while (TryBiggestGain(j)) {
|
while (TryBiggestGain(j)) {
|
||||||
//document.getElementById("console").value+=+start+" EP"+"\n"
|
//document.getElementById("console").value+=+start+" EP"+"\n"
|
||||||
}
|
}
|
||||||
@ -425,18 +319,14 @@ const MAXSTEPS= 10000
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (var j of bonusRange) {
|
for (var j=bonus;j>=0;j-=0.2) {
|
||||||
result = TryMatchingRehearsal(j)
|
result = TryMatchingRehearsal(j)
|
||||||
if (!result) {
|
if (!result) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (result) {
|
if (result) {
|
||||||
var maxBonus = (isBonus)?2.0:1.6;
|
for (var j=1.6;j>=0;j-=0.2) {
|
||||||
if (special) {
|
|
||||||
maxBonus = 0;
|
|
||||||
}
|
|
||||||
for (var j of GenerateBonusRange(maxBonus,isBonus)) {
|
|
||||||
result = TryMatchingRehearsal(j)
|
result = TryMatchingRehearsal(j)
|
||||||
if (!result) {
|
if (!result) {
|
||||||
break;
|
break;
|
||||||
@ -446,7 +336,7 @@ const MAXSTEPS= 10000
|
|||||||
if (result) {
|
if (result) {
|
||||||
do {
|
do {
|
||||||
if (flexible) {
|
if (flexible) {
|
||||||
for (var j of bonusRange) {
|
for (var j=bonus;j>=0;j-=0.2) {
|
||||||
var prevstart = 0
|
var prevstart = 0
|
||||||
result = TryRehearsal(j)
|
result = TryRehearsal(j)
|
||||||
if (start!==prevstart) {
|
if (start!==prevstart) {
|
||||||
@ -459,10 +349,11 @@ const MAXSTEPS= 10000
|
|||||||
} while (result);
|
} while (result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (maxscore>0) {
|
if (maxscore>0) {
|
||||||
if (flexible) {
|
if (flexible) {
|
||||||
for (var i=5;i>0;i--) {
|
for (var i=5;i>0;i--) {
|
||||||
for (var j of bonusRange) {
|
for (var j=bonus;j>=0;j-=0.2) {
|
||||||
while (result = TryEqualGain(i,j)) {
|
while (result = TryEqualGain(i,j)) {
|
||||||
//document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n"
|
//document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n"
|
||||||
}
|
}
|
||||||
@ -479,7 +370,7 @@ const MAXSTEPS= 10000
|
|||||||
|
|
||||||
function ConvertEvent(str) {
|
function ConvertEvent(str) {
|
||||||
switch (str) {
|
switch (str) {
|
||||||
case "Poker/Slots":{
|
case "Poker/Raid":{
|
||||||
return LANGUAGE(4)
|
return LANGUAGE(4)
|
||||||
}break;
|
}break;
|
||||||
case "Bingo":{
|
case "Bingo":{
|
||||||
@ -488,12 +379,6 @@ const MAXSTEPS= 10000
|
|||||||
case "Medley":{
|
case "Medley":{
|
||||||
return LANGUAGE(6)
|
return LANGUAGE(6)
|
||||||
}break;
|
}break;
|
||||||
case "Raid":{
|
|
||||||
return LANGUAGE(24)
|
|
||||||
}break;
|
|
||||||
case "RaidAnni":{
|
|
||||||
return LANGUAGE(25)
|
|
||||||
}break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -506,6 +391,7 @@ const MAXSTEPS= 10000
|
|||||||
start:originalTarget,target:end,event:ConvertEvent(type),steps:(step-1),voltage:flameCount})+"\n\n"+document.getElementById("console").value
|
start:originalTarget,target:end,event:ConvertEvent(type),steps:(step-1),voltage:flameCount})+"\n\n"+document.getElementById("console").value
|
||||||
/*"Calculating from "+originalTarget+" to "+end+" for event type "+type+"...\n\t(All games are done in Free Live)\n\nFound a park! "+(step-1)+" step"+Plural(step-1)+" and "+flameCount+" voltage required!\n\n"+document.getElementById("console").value*/
|
/*"Calculating from "+originalTarget+" to "+end+" for event type "+type+"...\n\t(All games are done in Free Live)\n\nFound a park! "+(step-1)+" step"+Plural(step-1)+" and "+flameCount+" voltage required!\n\n"+document.getElementById("console").value*/
|
||||||
}
|
}
|
||||||
|
//document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n"
|
||||||
|
step++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 792 KiB |
@ -5,48 +5,29 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<link rel="stylesheet" href="muni.css" />
|
<link rel="stylesheet" href="muni.css" />
|
||||||
<title>D4DJ Parking Calculator | Powered by Muni</title>
|
<title class="translate1">D4DJ Parking Calculator | Powered by Muni</title>
|
||||||
<script src="english.js"></script>
|
<script src="english.js"></script>
|
||||||
<script src="japanese.js"></script>
|
<script src="japanese.js"></script>
|
||||||
<script src="muni.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>D4DJ Event Parking Calculator</h1>
|
<h1 class="translate2">D4DJ Event Parking Calculator</h1>
|
||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>Parking Configuration</legend>
|
<legend class="translate3">Parking Configuration</legend>
|
||||||
<!-- There's actually no difference between JP/EN scoring for now. But leaving this here if/when it does change again. -->
|
<input type="radio" id="Poker" name="type" value="Poker" checked />
|
||||||
<label for="serverType">Server:</label>
|
<label for="Poker" class="translate4">Poker/Raid</label>
|
||||||
<input type="radio" id="ServerJP" name="serverType" value="ServerJP" checked />
|
|
||||||
<label for="ServerJP">JP</label>
|
|
||||||
|
|
||||||
<input type="radio" id="ServerEN" name="serverType" value="ServerEN" />
|
|
||||||
<label for="ServerEN">EN</label>
|
|
||||||
<br /><br />
|
|
||||||
<label for="type">Event Type:</label>
|
|
||||||
<input type="radio" id="Poker/Slots" name="type" value="Poker/Slots" checked />
|
|
||||||
<label for="Poker/Slots">Poker/Slots</label>
|
|
||||||
|
|
||||||
<input type="radio" id="Bingo" name="type" value="Bingo" />
|
<input type="radio" id="Bingo" name="type" value="Bingo" />
|
||||||
<label for="Bingo">Bingo</label>
|
<label for="Bingo" class="translate5">Bingo</label>
|
||||||
|
|
||||||
<input type="radio" id="Medley" name="type" value="Medley" />
|
<input type="radio" id="Medley" name="type" value="Medley" />
|
||||||
<label for="Medley">Medley</label>
|
<label for="Medley" class="translate6">Medley</label>
|
||||||
|
|
||||||
<input type="radio" id="Raid" name="type" value="Raid" />
|
|
||||||
<label for="Raid">Raid (D4 FES)</label>
|
|
||||||
|
|
||||||
<input type="radio" id="RaidAnni" name="type" value="RaidAnni" />
|
|
||||||
<label for="RaidAnni">Raid (Special)</label>
|
|
||||||
<hr />
|
<hr />
|
||||||
<label for="team">Event Team Bonus:</label>
|
<div class="grid">
|
||||||
|
<div class="munigrid">
|
||||||
<span onclick="toggleBonus()" class="tooltip">
|
<label for="team" class="translate7">Event Team Bonus:</label>
|
||||||
<label for="teambonus">Matching Bonus?</label>
|
<select id="team" name="team">
|
||||||
<input id="teambonus" type="checkbox">
|
|
||||||
<span class="tooltiptext">Check this box if event gives extra 10% for matching both char and style.</span>
|
|
||||||
</span>
|
|
||||||
<select id="bonus">
|
|
||||||
<option value="0">0%</option>
|
<option value="0">0%</option>
|
||||||
<option value="0.2">20%</option>
|
<option value="0.2">20%</option>
|
||||||
<option value="0.4">40%</option>
|
<option value="0.4">40%</option>
|
||||||
@ -57,33 +38,52 @@
|
|||||||
<option value="1.4">140%</option>
|
<option value="1.4">140%</option>
|
||||||
<option value="1.6" selected>160%</option>
|
<option value="1.6" selected>160%</option>
|
||||||
</select>
|
</select>
|
||||||
|
<span class="tooltip"><label for="flexible" alt="Yes"
|
||||||
<span onClick="toggleWarning()" class="tooltip">
|
><b class="translate17">Flexible Team?</b></label
|
||||||
<label for="flexible" alt="Yes"><b>Flexible Team?</b></label>
|
><input id="flexible" type="checkbox" />
|
||||||
<input id="flexible" type="checkbox" />
|
<span class="tooltiptext translate8">If turned on, calculates scoring options using lower % teams also.</span>
|
||||||
<span class="tooltiptext">If turned on, calculates scoring options using lower % teams also.</span>
|
|
||||||
</span>
|
</span>
|
||||||
<span id="warningparktext" style="visibility:hidden;"><font color="red"><b>WARNING!</b> If your team% changes as you are parking you will have to recalculate the <font color="black"><b><u>PARAMETER</u></b></font> value in the middle of parking!</font></span>
|
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<span class="tooltip"><label for="maxscore"><b>Max Free Live Score: </b></label><input id="maxscore" min="0" type="number" value="620000" /> <span class="tooltiptext translate22">
|
<span class="tooltip"><label for="maxscore"><b class="translate18">Max Free Live Score: </b> </label
|
||||||
|
><input id="maxscore" min="0" type="number" max="5000000" value="650000" /> <span class="tooltiptext translate9">
|
||||||
The maximum score you can get from playing a song using <font color="aqua">Free Live</font>.<br>
|
The maximum score you can get from playing a song using <font color="aqua">Free Live</font>.<br>
|
||||||
<sub>(Use 0 for Rehearsals Only)</sub></span></span>
|
<sub>(Use 0 for Rehearsals Only)</sub></span></span>
|
||||||
<label for="parameter"><b>Parameter: </b></label><input id="parameter" min="0" type="number" value="62000" />
|
</div>
|
||||||
<i><a href="parameterbonus_instructions_small.png" target="_blank">How to find Parameter value???</a></i>
|
<div class="munigrid">
|
||||||
|
<span class="tooltip"><label for="advanced" alt="Yes"
|
||||||
|
><b class="translate10">Advanced Options?</b></label
|
||||||
|
><input id="advanced" type="checkbox" onclick="toggle()" /><span class="tooltiptext translate11">
|
||||||
|
Enable voltage & EP limits.</span></span>
|
||||||
|
<div id="advanced2" style="visibility:hidden">
|
||||||
|
<label for="lowest" class="translate12">
|
||||||
|
Use voltage until:
|
||||||
|
</label><input style="width:96px;" id="lowest" type="number" min="10" step="2" value="80"> EP<br>
|
||||||
|
<label for="maxvolt" class="translate13">
|
||||||
|
Max Voltage to use:
|
||||||
|
</label> <input style="width:64px;" id="maxvolt" type="number" min="0" value="20">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<hr />
|
<hr />
|
||||||
<label for="starting"><b>Starting EP: </b></label><input id="starting" min="0" type="number" value="100000" />
|
<b><label for="starting" class="translate14">Starting EP: </label
|
||||||
|
></b><input id="starting" min="0" type="number" value="100000" />
|
||||||
<span style="font-size: 32px; padding: 0px 10px 0px 10px">➔</span>
|
<span style="font-size: 32px; padding: 0px 10px 0px 10px">➔</span>
|
||||||
<label for="ending"><b>Target EP: </b></label><input id="ending" min="0" type="number" value="104000" />
|
<b><label for="ending" class="translate15">Target EP: </label
|
||||||
|
></b><input id="ending" min="0" type="number" value="104000" />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<button id="calculate" style="
|
<button
|
||||||
|
id="calculate"
|
||||||
|
style="
|
||||||
background-color: #ccddff;
|
background-color: #ccddff;
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
width: 240px;
|
width: 240px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
" onclick="test()">
|
"
|
||||||
|
onclick="test()" class="translate16"
|
||||||
|
>
|
||||||
Calculate
|
Calculate
|
||||||
</button>
|
</button>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
@ -92,16 +92,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<sub><u>Tips</u></sub>
|
<sub><u>Tips</u></sub>
|
||||||
<ul>
|
<ul>
|
||||||
<li>When trying to park during Raid(Special) type events, if you get "Impossible" messages, try lowering the max free live score by 100k increments.</li>
|
|
||||||
<li class="translate19">Here's the Light on EX or Synchrogazer on Hard/EX difficulty are some of the highest scoring songs you can pick.</li>
|
<li class="translate19">Here's the Light on EX or Synchrogazer on Hard/EX difficulty are some of the highest scoring songs you can pick.</li>
|
||||||
<li class="translate20">When you get close to the score you need in Free Live, purposely fail the song. Notes are worth 10% their normal value when you have 0 health so you can finish easily.</li>
|
<li class="translate20">When you get close to the score you need in Free Live, purposely fail the song. Notes are worth 10% their normal value when you have 0 health so you can finish easily.</li>
|
||||||
<li class="translate21">The <b>"Flexible Team"</b> option gives you the fastest park, but at the expense of more voltage.</li>
|
<li class="translate21">The <b>"Flexible Team"</b> option gives you the fastest park, but at the expense of more voltage.</li>
|
||||||
<li class="translate23">See any issues? Contact Mirby#5516 on D4DJ discord.</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
<script src="muni.js"></script>
|
||||||
<script>
|
<script>
|
||||||
document.getElementById("ips").value = ""; //Muni??
|
document.getElementById("ips").value = "";
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user