From cfb6c823471c1de102e4f41ac748b01f0d17436f Mon Sep 17 00:00:00 2001 From: Jordan Bursik Date: Wed, 23 Aug 2023 20:22:41 -0500 Subject: [PATCH] tested, bugfixed --- jars/DynamicTariffs.jar | Bin 5358 -> 5375 bytes src/dynamictariffs/util/TariffUtil.java | 27 ++++++++++++------------ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/jars/DynamicTariffs.jar b/jars/DynamicTariffs.jar index b34a3c6db4eb1254ddc845a9b43a91b84c20be2c..6b33bf6248ec3e8e346cdbd79e14eff9c8b4e680 100644 GIT binary patch delta 2710 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 Q0IHLp6iEgr6951J0PM#a$N&HU delta 2693 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 RepLevels = Arrays.asList(RepArr); - Float[] RepValues = new Float[] { -0.25f, -0.10f, 0.10f, 0.25f, 0.50f, 0.75f, 1.0f }; + Float[] RepValues = new Float[] { -0.24f, -0.11f, 0.10f, 0.25f, 0.50f, 0.75f, 1.0f }; String repLevel = market.getFaction().getRelationshipLevel(Factions.PLAYER).toString(); Float repValue = market.getFaction().getRelationship(Factions.PLAYER); @@ -95,19 +95,20 @@ public static void modTariff(MarketAPI market) { Float tariff = 0f; int i = RepLevels.indexOf(repLevel); - - if (SettingsUtil.useGranular) { - float stepAmt = Math.abs(RepValues[i + 1] - RepValues[i]) / Math.abs(percents[i] - percents[i + 1]); - tariff = percents[i] - ((1 / stepAmt) * (repValue - RepValues[i])); - if (isCommissioned(market) && SettingsUtil.commission) { - tariff -= SettingsUtil.commDiscount; - tariff = tariff < 0f ? -0.3f : tariff; + if (i > -1) { + if (SettingsUtil.useGranular) { + float stepAmt = Math.abs(RepValues[i + 1] - RepValues[i]) / Math.abs(percents[i] - percents[i + 1]); + tariff = percents[i] - ((1 / stepAmt) * (repValue - RepValues[i])); + if (isCommissioned(market) && SettingsUtil.commission) { + tariff -= SettingsUtil.commDiscount; + tariff = tariff < 0f ? -0.3f : tariff; + } + tariff = -(0.3f - tariff); + market.getTariff().modifyFlat("dynamictariffs", tariff); + } else { + tariff = -(0.3f - percents[i]); + market.getTariff().modifyFlat("dynamictariffs", tariff); } - tariff = -(0.3f - tariff); - market.getTariff().modifyFlat("dynamictariffs", tariff); - } else { - tariff = -(0.3f - percents[i]); - market.getTariff().modifyFlat("dynamictariffs", tariff); } }