Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. const getAverageTitaniumPerTrade = () => {
  2. let standingRatio = this.game.getEffect("standingRatio");
  3.  
  4. if (this.game.prestige.getPerk("diplomacy").researched) {
  5. standingRatio += 10;
  6. }
  7.  
  8. const zebras = game.diplomacy.get("zebras");
  9.  
  10. const tradeFailProbability = zebras.attitude === "hostile" ? (1 - zebras.standing - standingRatio / 100) : 0;
  11. const tradeSuccessProbability = 1 - tradeFailProbability;
  12.  
  13. const shipAmount = this.game.resPool.get("ship").value;
  14. const titaniumProbability = 0.15 + shipAmount * 0.0035;
  15. const titaniumRatio = 1 + (shipAmount / 100) * 2; // 2% more titanium per ship
  16.  
  17. const avgTitaniumPerTrade = Math.min(titaniumProbability, 1) * titaniumRatio * 1.5 * tradeSuccessProbability;
  18.  
  19. return avgTitaniumPerTrade;
  20. }
  21.  
  22. const getOptimalZebraTrades = () => {
  23. const titanium = game.resPool.get("titanium");
  24. const titaniumBelowMax = titanium.maxValue - titanium.value;
  25. const avgTitaniumPerTrade = getAverageTitaniumPerTrade();
  26. const trades = Math.floor(titaniumBelowMax / avgTitaniumPerTrade) + 1;
  27. return {
  28. trades,
  29. totalAfter: trades * avgTitaniumPerTrade + titanium.value,
  30. currentMax: titanium.maxValue,
  31. };
  32. }
  33.  
  34. const tradeToCapTitanium = () => {
  35. const zebras = game.diplomacy.get("zebras");
  36. game.diplomacy.tradeMultiple(zebras, getOptimalZebraTrades());
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement