Advertisement
NJ5SkwAg

Gold Quests

Jan 9th, 2016
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // rewardQty * 3600 / (hpOfCurrentZone / (dps * idleDpsMult) + 0.5) * hpOfCurrentZone / 5 * goldHeroUpgradesMult * mammonMult * (1 + chestChance * (chestMult - 1)) * idleGoldMult * fortunaMult * mercLevel * (1 + rarityBonus)
  2.  
  3. public function finishQuest() : Object
  4. {
  5.     //...
  6.     _loc7_ = this.getTotalGoldReward(this.lastQuestGoldRewardQty);
  7.     _loc1_.addGold(_loc7_);
  8.     //...
  9. }
  10.  
  11. // getPurchaseGoldAmount(rewardQty) * mercLevel * (1 + rarityBonus)
  12. public function getTotalGoldReward(param1:Number) : BigDecimal
  13. {
  14.     var _loc3_:BigDecimal = null;
  15.     var _loc2_:UserData = CurrentUser.instance as UserData;
  16.     if(this.statId == BONUS_GOLD)
  17.     {
  18.         _loc3_ = _loc2_.getPurchaseGoldAmount(param1).multiply(new BigDecimal(this.level * (1 + stats[BONUS_GOLD]["baseValue"] * rarities[this.rarity]["multiplier"])));
  19.     }
  20.     else
  21.     {
  22.         _loc3_ = _loc2_.getPurchaseGoldAmount(param1).multiply(new BigDecimal(this.level));
  23.     }
  24.     _loc3_ = _loc3_.ceil();
  25.     return _loc3_;
  26. }
  27.  
  28. // getNumberOfEnemiesKilledInTime * monsterGoldFormula1 * (1 + chestChance * (chestMult - 1)) * idleGoldMult * fortunaMult
  29. // param1 = rewardQty
  30. public function getPurchaseGoldAmount(param1:Number = 8, param2:Boolean = false) : BigDecimal
  31. {
  32.     var _loc3_:Monster = this.getDefaultMonster();
  33.     var _loc4_:Number = this.getNumberOfEnemiesKilledInTime(_loc3_,param1);
  34.     var _loc5_:BigDecimal = Formulas.instance.monsterGoldFormula1(_loc3_,true);
  35.     var _loc6_:BigDecimal = new BigDecimal(_loc4_).multiply(_loc5_);
  36.     var _loc7_:BigDecimal = new BigDecimal(1 + this.getTreasureChestChance() * (this.getTreasureChestMultiplier() - 1));
  37.     _loc6_ = _loc6_.multiply(_loc7_);
  38.     var _loc8_:BigDecimal = new BigDecimal(this.ancients.idleGoldPercent * 0.01 + 1);
  39.     _loc6_ = _loc6_.multiply(_loc8_);
  40.     var _loc9_:Number = this.ancients.tenXGoldChance;
  41.     _loc6_ = _loc6_.multiply(new BigDecimal(1 + _loc9_ * 0.09));
  42.     if(param2)
  43.     {
  44.         if(_loc6_.ltN(1000))
  45.         {
  46.             _loc6_ = new BigDecimal(1000);
  47.         }
  48.     }
  49.     else if(_loc6_.ltN(0))
  50.     {
  51.         _loc6_ = new BigDecimal(0);
  52.     }
  53.     return _loc6_;
  54. }
  55.  
  56. private function getDefaultMonster() : Monster
  57. {
  58.     var _loc1_:Monster = new Monster();
  59.     _loc1_.id = 1;
  60.     _loc1_.level = this.highestFinishedZone + 1;
  61.     return _loc1_;
  62. }
  63.  
  64. // rewardQty * 3600 / (hpOfCurrentZone / (dps * idleDpsMult) + 0.5)
  65. // param2 = rewardQty
  66. public function getNumberOfEnemiesKilledInTime(param1:Monster, param2:Number = 8) : Number
  67. {
  68.     var _loc8_:BigDecimal = null;
  69.     var _loc3_:BigDecimal = this.attributes.currentAttackUnmodified; // current dps
  70.     if(_loc3_.ltN(1) || isNaN(_loc3_.numberValue()))
  71.     {
  72.         _loc3_ = new BigDecimal(1);
  73.     }
  74.     _loc3_ = _loc3_.multiply(new BigDecimal(this.ancients.idleDpsPercent * 0.01 + 1));
  75.     var _loc4_:BigDecimal = new BigDecimal(60 * 60 * param2);
  76.     var _loc5_:Number = 0.5;
  77.     var _loc6_:BigDecimal = Formulas.instance.monsterLifeFormula1(param1); // hp of highestFinishedZone + 1
  78.     var _loc7_:BigDecimal = _loc6_.divide(_loc3_).add(new BigDecimal(_loc5_));
  79.     _loc8_ = _loc4_;
  80.     _loc8_ = _loc8_.divide(_loc7_);
  81.     return _loc8_.numberValue();
  82. }
  83.  
  84. // hpOfCurrentZone / 5 * goldHeroUpgradesMult * mammonMult
  85. // param2 = true
  86. public function monsterGoldFormula1(param1:Monster, param2:Boolean = false) : BigDecimal
  87. {
  88.     var _loc3_:BigDecimal = this.monsterLifeFormula1(param1); // hp of highestFinishedZone + 1
  89.     var _loc4_:Number = 1;
  90.     var _loc5_:Number = 1;
  91.     if(param1.level > 75)
  92.     {
  93.         _loc5_ = Math.min(3,Math.pow(1.025,param1.level - 75));
  94.     }
  95.     if(param1.id == 86)
  96.     {
  97.         _loc4_ = (CurrentUser.instance as UserData).getTreasureChestMultiplier();
  98.     }
  99.     var _loc6_:BigDecimal = _loc3_;
  100.     _loc6_ = _loc6_.divide(new BigDecimal(15));
  101.     _loc6_ = _loc6_.multiply(new BigDecimal((CurrentUser.instance as UserData).goldMultiplier)); // hero upgrades
  102.     _loc6_ = _loc6_.multiply(new BigDecimal(param2?1:(CurrentUser.instance as UserData).getSkillBonus("skillGoldBonus") + 1));
  103.     _loc6_ = _loc6_.multiply(new BigDecimal(_loc4_));
  104.     _loc6_ = _loc6_.multiply(new BigDecimal((CurrentUser.instance as UserData).ancients.goldPercent * 0.01 + 1)); // mammon ancients + relics
  105.     _loc6_ = _loc6_.multiply(new BigDecimal(_loc5_));
  106.     _loc6_ = _loc6_.ceil();
  107.     return _loc6_;
  108. }
  109.  
  110. public function monsterLifeFormula1(param1:Monster) : BigDecimal
  111. {
  112.     var _loc2_:BigDecimal = null;
  113.     var _loc5_:* = NaN;
  114.     var _loc6_:* = NaN;
  115.     var _loc10_:BigDecimal = null;
  116.     var _loc3_:Number = 1.6;
  117.     var _loc4_:Number = 1.15;
  118.     var _loc7_:Number = 140;
  119.     if(param1.level < _loc7_)
  120.     {
  121.         _loc5_ = param1.level;
  122.         _loc6_ = 0;
  123.     }
  124.     else
  125.     {
  126.         _loc5_ = _loc7_;
  127.         _loc6_ = param1.level - _loc7_;
  128.     }
  129.     var _loc8_:Number = 0;
  130.     var _loc9_:BigDecimal = new BigDecimal(_loc3_);
  131.     _loc9_ = _loc9_.pow(new BigDecimal(_loc5_ - 1));
  132.     _loc2_ = param1.baseLife;
  133.     _loc2_ = _loc2_.multiply(_loc9_);
  134.     _loc2_ = _loc2_.add(new BigDecimal((_loc5_ - 1) * 10));
  135.     if(param1.isBoss)
  136.     {
  137.         _loc2_ = _loc2_.multiply(new BigDecimal((CurrentUser.instance as UserData).getBossHpMultiplier()));
  138.     }
  139.     if(_loc6_)
  140.     {
  141.         _loc10_ = new BigDecimal(_loc4_);
  142.         _loc10_ = _loc10_.pow(new BigDecimal(_loc6_));
  143.         _loc2_ = _loc2_.multiply(_loc10_);
  144.     }
  145.     _loc2_ = _loc2_.ceil();
  146.     return _loc2_;
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement