Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const getAverageTitaniumPerTrade = () => {
- let standingRatio = this.game.getEffect("standingRatio");
- if (this.game.prestige.getPerk("diplomacy").researched) {
- standingRatio += 10;
- }
- const zebras = game.diplomacy.get("zebras");
- const tradeFailProbability = zebras.attitude === "hostile" ? (1 - zebras.standing - standingRatio / 100) : 0;
- const tradeSuccessProbability = 1 - tradeFailProbability;
- const shipAmount = this.game.resPool.get("ship").value;
- const titaniumProbability = 0.15 + shipAmount * 0.0035;
- const titaniumRatio = 1 + (shipAmount / 100) * 2; // 2% more titanium per ship
- const avgTitaniumPerTrade = Math.min(titaniumProbability, 1) * titaniumRatio * 1.5 * tradeSuccessProbability;
- return avgTitaniumPerTrade;
- }
- const getOptimalZebraTrades = () => {
- const titanium = game.resPool.get("titanium");
- const titaniumBelowMax = titanium.maxValue - titanium.value;
- const avgTitaniumPerTrade = getAverageTitaniumPerTrade();
- const trades = Math.floor(titaniumBelowMax / avgTitaniumPerTrade) + 1;
- return {
- trades,
- totalAfter: trades * avgTitaniumPerTrade + titanium.value,
- currentMax: titanium.maxValue,
- };
- }
- const tradeToCapTitanium = () => {
- const zebras = game.diplomacy.get("zebras");
- game.diplomacy.tradeMultiple(zebras, getOptimalZebraTrades());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement