Advertisement
jakkyjack

Agility Obstacle Costs

Feb 23rd, 2022
632
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function getAgilityObstacleCostReduction(obstacleID) {
  2.   let costMultiplier = 0;
  3.   if (getMasteryPoolProgress(CONSTANTS.skill.Agility) >= masteryCheckpoints[2]) costMultiplier += 10;
  4.   if (getMasteryLevel(CONSTANTS.skill.Agility, obstacleID) >= 80) costMultiplier += 10;
  5.   if (getMasteryLevel(CONSTANTS.skill.Agility, obstacleID) >= 95) costMultiplier += 10;
  6.   costMultiplier += playerModifiers.decreasedAgilityObstacleCost - playerModifiers.increasedAgilityObstacleCost;
  7.   if (costMultiplier > 95) costMultiplier = 95;
  8.   return costMultiplier;
  9. }
  10. function getAgilityObstacleItemCostReduction(obstacleID) {
  11.   let costMultiplier = 0;
  12.   if (getMasteryPoolProgress(CONSTANTS.skill.Agility) >= masteryCheckpoints[3]) costMultiplier += 15;
  13.   let buildCount = agilityObstacleBuildCount[obstacleID];
  14.   if (buildCount > 10) buildCount = 10;
  15.   costMultiplier += 4 * buildCount;
  16.   if (getAgilityObstacleCostReduction(obstacleID) + costMultiplier > 95) return 95 - getAgilityObstacleCostReduction(obstacleID);
  17.   return costMultiplier;
  18. }
  19. function getSelectAgilityObstacleCost(obstacleID, agilityArray = agilityObstacles, reduceCosts = true) {
  20.   let html = '';
  21.   let textClass;
  22.   let costs = '';
  23.   let costMultiplier = 0;
  24.   if (reduceCosts) costMultiplier -= getAgilityObstacleCostReduction(obstacleID);
  25.   if (applyModifier(agilityArray[obstacleID].cost.gp, costMultiplier) > 0) {
  26.     textClass = 'text-success';
  27.     if (gp < applyModifier(agilityArray[obstacleID].cost.gp, costMultiplier)) textClass = 'text-danger';
  28.     costs += `<span class="font-size-sm font-w400 mr-2 ml-2 ${ textClass }"><img class="skill-icon-xs mr-2" src="assets/media/main/coins.svg">${ numberWithCommas(applyModifier(agilityArray[obstacleID].cost.gp, costMultiplier)) }</span>`;
  29.   }
  30.   if (applyModifier(agilityArray[obstacleID].cost.slayerCoins, costMultiplier) > 0) {
  31.     textClass = 'text-success';
  32.     if (player.slayercoins < applyModifier(agilityArray[obstacleID].cost.slayerCoins, costMultiplier)) textClass = 'text-danger';
  33.     costs += `<span class="font-size-sm font-w400 mr-2 ml-2 ${ textClass }"><img class="skill-icon-xs mr-2" src="assets/media/main/slayer_coins.svg">${ numberWithCommas(applyModifier(agilityArray[obstacleID].cost.slayerCoins, costMultiplier)) }</span>`;
  34.   }
  35.   if (reduceCosts) costMultiplier -= getAgilityObstacleItemCostReduction(obstacleID);
  36.   for (let i = 0; i < agilityArray[obstacleID].cost.items.length; i++) {
  37.     textClass = 'text-success';
  38.     const bankID = getBankId(agilityArray[obstacleID].cost.items[i][0]);
  39.     if (bankID >= 0) {
  40.       if (bank[bankID].qty < applyModifier(agilityArray[obstacleID].cost.items[i][1], costMultiplier)) textClass = 'text-danger';
  41.     } else textClass = 'text-danger';
  42.     costs += `<span class="font-size-sm font-w400 mr-2 ml-2 ${ textClass }"><img class="skill-icon-xs mr-2" src="${ items[agilityArray[obstacleID].cost.items[i][0]].media }" id="agility-cost-item-${ obstacleID }-${ i }">${ numberWithCommas(applyModifier(agilityArray[obstacleID].cost.items[i][1], costMultiplier)) }</span>`;
  43.   }
  44.   html += `<h5 class="font-size-sm font-w600 mb-1">${ getLangString('MENU_TEXT', 'COST') } ${ costs }</h5>`;
  45.   return html;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement