Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function onEdit(e){
- //List of Variables
- //Sheet Variables
- var ws = SpreadsheetApp.getActiveSpreadsheet();
- var ref = ws.getSheets()[0];
- var build = ws.getSheets()[1];
- var mech = ws.getSheets()[2];
- var avg = ws.getSheets()[3];
- var user = ws.getSheets()[4];
- //Column Variables
- var buildList = ref.getRange("A:A");
- var bossList = ref.getRange("D:D");
- //Storage Variables
- var correctBuild = 0;
- var correctBoss = 0;
- var buildCount = 0;
- var bossCount = 0;
- var maxMech = 0;
- var weightMech = 0;
- var valueToChange = 0;
- //Comparison Variables
- var dpsCompare = 0;
- var critCompare = 0;
- var movCompare = 0;
- var schCompare = 0;
- var downCompare = 0;
- //Determining the max amount of Builds there are
- for(var i=1; i<=1000; i++){
- if(ref.getRange(i, 1).isBlank() != true){
- buildCount++;
- }else{
- break;
- }
- }
- //Determining the max amount of Bosses there are
- for(var i=1; i<=1000; i++){
- if(ref.getRange(i, 4).isBlank() != true){
- bossCount++;
- }else{
- break;
- }
- }
- //Finding the Correct Build
- for(var i=1; i<=buildCount; i++){
- var currentBuild = ref.getRange(i, 1).getValue();
- if(currentBuild == user.getRange(3, 3).getValue()){
- correctBuild = i;
- break;
- }
- }
- //Finding the Correct Boss
- for(var i=1; i<=bossCount; i++){
- var currentBoss = ref.getRange(i, 4).getValue();
- if(currentBoss == user.getRange(12, 3).getValue()){
- correctBoss = i;
- break;
- }
- }
- //Finding the maximum amount of mechanics a boss has.
- for(var i=1; i<=30; i++){
- if(ref.getRange(i, 5+correctBoss).isBlank() != true){
- maxMech++;
- }else{
- break;
- }
- }
- //Displaying Build Data
- for(var i=4; i<=9; i++){
- if(i < 8){
- build.getRange(correctBuild+4, i-1).copyTo(user.getRange(i, 3), {contentsOnly:true});
- }else if(i == 9){
- build.getRange(correctBuild+4, i-2).copyTo(user.getRange(i, 3), {contentsOnly:true});
- }
- }
- //Clearing Boss Data
- for(var i=13; i<29; i++){
- if(i >= 18){
- user.getRange(i, 2).clear({contentsOnly:true});
- }
- user.getRange(i, 3).clear({contentsOnly:true});
- user.getRange(i, 4).clear({contentsOnly:true});
- }
- //Displaying Boss Data
- for(var i=13; i<(18+maxMech); i++){
- //Build Average Data
- if(i < 18){
- if(correctBoss <= 5){
- if(i == 13){
- dpsCompare = avg.getRange(3+correctBuild, (correctBoss*35)-32).getValue();
- critCompare = avg.getRange(3+correctBuild, (correctBoss*35)-25).getValue();
- movCompare = avg.getRange(3+correctBuild, (correctBoss*35)-18).getValue();
- schCompare = avg.getRange(3+correctBuild, (correctBoss*35)-11).getValue();
- downCompare = avg.getRange(3+correctBuild, (correctBoss*35)-4).getValue();
- }
- avg.getRange(3+correctBuild, (correctBoss*35)-39+((i-12)*7)).copyTo(user.getRange(i, 3), {contentsOnly:true});
- }
- if(correctBoss > 5 && correctBoss <= 10){
- if(i == 13){
- dpsCompare = avg.getRange(3+correctBuild, ((correctBoss-5)*35)-32).getValue();
- critCompare = avg.getRange(3+correctBuild, ((correctBoss-5)*35)-25).getValue();
- movCompare = avg.getRange(3+correctBuild, ((correctBoss-5)*35)-18).getValue();
- schCompare = avg.getRange(3+correctBuild, ((correctBoss-5)*35)-11).getValue();
- downCompare = avg.getRange(3+correctBuild, ((correctBoss-5)*35)-4).getValue();
- }
- avg.getRange(49+correctBuild, ((correctBoss-5)*35)-39+((i-12)*7)).copyTo(user.getRange(i, 3), {contentsOnly:true});
- }
- if(correctBoss > 10 && correctBoss <= 13){
- if(i == 13){
- dpsCompare = avg.getRange(3+correctBuild, ((correctBoss-10)*35)-32).getValue();
- critCompare = avg.getRange(3+correctBuild, ((correctBoss-10)*35)-25).getValue();
- movCompare = avg.getRange(3+correctBuild, ((correctBoss-10)*35)-18).getValue();
- schCompare = avg.getRange(3+correctBuild, ((correctBoss-10)*35)-11).getValue();
- downCompare = avg.getRange(3+correctBuild, ((correctBoss-10)*35)-4).getValue();
- }
- avg.getRange(95+correctBuild, ((correctBoss-10)*35)-39+((i-12)*7)).copyTo(user.getRange(i, 3), {contentsOnly:true});
- }
- //Weighted Build Average Data
- if(i == 17){
- dpsCompare = (dpsCompare / ref.getRange(correctBuild, 3).getValue())*100;
- switch(correctBoss){
- //All Bosses
- default:
- //Crit Comparison
- if(critCompare >= 92){
- critCompare = (critCompare - 92) * ref.getRange(maxMech+2, 35+correctBoss).getValue();
- user.getRange(14, 4).setValue(critCompare);
- }else{
- user.getRange(14, 4).setValue(0);
- }
- //Moving Rate Comparison
- if(movCompare >= 85){
- movCompare = (movCompare - 85) * ref.getRange(maxMech+3, 35+correctBoss).getValue();
- user.getRange(15, 4).setValue(movCompare);
- }else{
- user.getRange(15, 4).setValue(0);
- }
- //Scholar Rate Comparison
- if(schCompare > 70 && schCompare < 92){
- user.getRange(16, 4).setValue(0);
- }
- if(schCompare >= 92){
- schCompare = (schCompare - 92) * ref.getRange(maxMech+4, 35+correctBoss).getValue();
- user.getRange(16, 4).setValue(schCompare);
- }
- if(schCompare <= 70){
- schCompare = (schCompare - 70) * ref.getRange(maxMech+4, 35+correctBoss).getValue();
- user.getRange(16, 4).setValue(schCompare);
- }
- //Down Comparison
- if(downCompare > 0){
- downCompare = downCompare * ref.getRange(maxMech+5, 35+correctBoss).getValue();
- user.getRange(17, 4).setValue(downCompare);
- }else{
- user.getRange(17, 4).setValue(0);
- }
- //Vale Guardian
- case 1:
- //Dps Comparison
- if(dpsCompare >= 40 && dpsCompare <= 65){
- user.getRange(13, 4).setValue(0);
- }
- if(dpsCompare < 40){
- dpsCompare = (dpsCompare - 40) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- if(dpsCompare > 65){
- dpsCompare = (dpsCompare - 65) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- break;
- //Gorseval
- case 2:
- //Dps Comparison
- if(dpsCompare >= 50 && dpsCompare <= 70){
- user.getRange(13, 4).setValue(0);
- }
- if(dpsCompare < 50){
- dpsCompare = (dpsCompare - 50) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- if(dpsCompare > 70){
- dpsCompare = (dpsCompare - 70) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- break;
- //Sabetha
- case 3:
- //Dps Comparison
- if(dpsCompare >= 40 && dpsCompare <= 70){
- user.getRange(13, 4).setValue(0);
- }
- if(dpsCompare < 40){
- dpsCompare = (dpsCompare - 40) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- if(dpsCompare > 70){
- dpsCompare = (dpsCompare - 70) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- break;
- //Slothasor
- case 4:
- //Dps Comparison
- if(dpsCompare >= 40 && dpsCompare <= 60){
- user.getRange(13, 4).setValue(0);
- }
- if(dpsCompare < 40){
- dpsCompare = (dpsCompare - 40) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- if(dpsCompare > 60){
- dpsCompare = (dpsCompare - 60) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- break;
- //Matthias
- case 6:
- //Dps Comparison
- if(dpsCompare >= 35 && dpsCompare <= 55){
- user.getRange(13, 4).setValue(0);
- }
- if(dpsCompare < 35){
- dpsCompare = (dpsCompare - 35) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- if(dpsCompare > 55){
- dpsCompare = (dpsCompare - 55) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- break;
- //Keep's Construct
- case 8:
- //Dps Comparison
- if(dpsCompare >= 55 && dpsCompare <= 75){
- user.getRange(13, 4).setValue(0);
- }
- if(dpsCompare < 55){
- dpsCompare = (dpsCompare - 55) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- if(dpsCompare > 75){
- dpsCompare = (dpsCompare - 75) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- break;
- //Xera
- case 9:
- //Dps Comparison
- if(dpsCompare >= 45 && dpsCompare <= 70){
- user.getRange(13, 4).setValue(0);
- }
- if(dpsCompare < 45){
- dpsCompare = (dpsCompare - 45) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- if(dpsCompare > 70){
- dpsCompare = (dpsCompare - 70) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- break;
- //Cairn
- case 10:
- //Dps Comparison
- if(dpsCompare >= 45 && dpsCompare <= 70){
- user.getRange(13, 4).setValue(0);
- }
- if(dpsCompare < 45){
- dpsCompare = (dpsCompare - 45) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- if(dpsCompare > 65){
- dpsCompare = (dpsCompare - 65) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- break;
- //Mursaat Overseer
- case 11:
- //Dps Comparison
- if(dpsCompare >= 65 && dpsCompare <= 85){
- user.getRange(13, 4).setValue(0);
- }
- if(dpsCompare < 65){
- dpsCompare = (dpsCompare - 65) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- if(dpsCompare > 85){
- dpsCompare = (dpsCompare - 85) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- break;
- //Samarog
- case 12:
- //Dps Comparison
- if(dpsCompare >= 35 && dpsCompare <= 60){
- user.getRange(13, 4).setValue(0);
- }
- if(dpsCompare < 35){
- dpsCompare = (dpsCompare - 35) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- if(dpsCompare > 60){
- dpsCompare = (dpsCompare - 60) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- break;
- //Deimos
- case 13:
- //Dps Comparison
- if(dpsCompare >= 50 && dpsCompare <= 75){
- user.getRange(13, 4).setValue(0);
- }
- if(dpsCompare < 50){
- dpsCompare = (dpsCompare - 50) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- if(dpsCompare > 75){
- dpsCompare = (dpsCompare - 75) * ref.getRange(maxMech+1, 35+correctBoss).getValue();
- user.getRange(13, 4).setValue(dpsCompare);
- }
- break;
- }
- }
- }
- //Mechanic and Weighted Mechanic Data
- if(i >= 18){
- mech.getRange(i-15, (correctBoss*8)-6).copyTo(user.getRange(i, 2), {contentsOnly:true});
- mech.getRange(i-15, (correctBoss*8)-5).copyTo(user.getRange(i, 3), {contentsOnly:true});
- weightMech = ref.getRange(i-17, 35+correctBoss).getValue();
- valueToChange = user.getRange(i, 3).getValue();
- user.getRange(i, 4).setValue(weightMech*valueToChange);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement