Skip to content

Commit

Permalink
fine
Browse files Browse the repository at this point in the history
  • Loading branch information
nikothedude committed Sep 23, 2024
1 parent 8138a8e commit d594311
Show file tree
Hide file tree
Showing 19 changed files with 117 additions and 51 deletions.
22 changes: 22 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
3.10.0
NOT SAVE COMPATIBLE IF YOU HAVE A OVERGROWN NANOFORGE ITEM - DELETE IT AND READD IT TO UPDATE

Fixes a bug where the Kanta onslaught and atlas could be obtained through arms dealers
Condensed overgrown nanoforge "installed in" into one word

Design types now have proper colors

Overgrown nanoforge rebalanced
Item
All modifiers are now either flat or a mult, no inbetween
Except the production budget mod
Fleet size mult is now 3x, down from 5x
Same for production budget mult
Upkeep reduced
Now increases market hazard rating
Condition
Spreading, culling, etc. now 30% slower
If you want that item, you have to work for it

Fixed a bug where the overgrown nanoforge focus button didnt appear

3.9.0

Added a lunalib setting for condensing all overgrown nanoforge intel into one tab
Expand Down
2 changes: 1 addition & 1 deletion data/campaign/market_conditions.csv
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name,id,planetary,decivRemove,script,desc,icon,order
Domain-Era Anti-Asteroid Satellites,niko_MPC_antiAsteroidSatellites_derelict,TRUE,FALSE,data.scripts.campaign.econ.conditions.defenseSatellite.niko_MPC_derelictAntiAsteroidSatellites,"$market has its orbit dominated by an array of hundreds of thousands of domain-era exploratorium anti-asteroid satellites, presumably placed by survey drones in an attempt to increase terraforming viability. Each one is outfitted with enough weaponry to annihilate a small asteroid field, and enough armor to sustain the impact of their scattered debris. Coincidentally, these characteristics also make them excellent at destroying pre-collapse scavengers and rebels-those whom fleets composed of converted civilian ships with weak shields, unreliable targeting computers, and plentiful missiles. Their effectiveness in the current day is also quite impressive, given how few of these planets are ever explored.",graphics/icons/markets/niko_MPC_antiAsteroidSatellites.png,10
Overgrown Nanoforge,niko_MPC_overgrownNanoforgeCondition,TRUE,FALSE,data.scripts.campaign.econ.conditions.overgrownNanoforge.overgrownNanoforgeCondition,"An old derelict (yet still unnervingly active) nanoforge constantly churns. It's growth safeties disabled, it will produce a significant amount of resources while continuously ""spreading"", with each growth providing some sort of positive and negative at the cost of a structure slot.",graphics/icons/markets/niko_MPC_overgrownNanoforge.png,10
Overgrown Nanoforge,niko_MPC_overgrownNanoforgeCondition,TRUE,FALSE,data.scripts.campaign.econ.conditions.overgrownNanoforge.overgrownNanoforgeCondition,"An old derelict (yet still unnervingly active) nanoforge constantly churns upon the surface of $market. It's growth safeties disabled, it will produce a significant amount of resources while continuously ""spreading"", with each growth providing some sort of positive and negative at the cost of a structure slot.",graphics/icons/markets/niko_MPC_overgrownNanoforge.png,10
Ultramagnetic Field,niko_MPC_ultraMagneticField,TRUE,FALSE,data.scripts.campaign.econ.conditions.terrain.magfield.niko_MPC_hyperMagneticField,"$market is a scientific oddity. The convections of molten metal in the core are energetic past what should be possible, resulting in an extremely powerful magnetic field, the magnetic strength of which nearly reaches a full tesla during the storms that constantly wrack the surface.

On the surface, any loose ferromagnetic object is swiftly pulled to the ground, and any unshielded electronic quickly destroyed, rendering inhabitation a tiring prospect. However, the immense magnetic force inhibits wireless communication between vulnerable communication systems, and scrambles any sensors scanning the surface - meaning hidden weapons installations remain hidden.",graphics/icons/terrain/magnetic_storm.png,10
Expand Down
2 changes: 1 addition & 1 deletion data/campaign/special_items.csv
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name,id,tags,tech/manufacturer,rarity,base price,stack size,cargo space,baseRaidDanger,icon,sound id,sound id drop,plugin,plugin params,desc,order
# industry-slotted items,,,,,,,,,,,,,,,
Overgrown Nanoforge,niko_MPC_overgrownNanoforgeItem,"nanoforge, pather10",Domain Forbidden,,1000000,1000,1,EXTREME,graphics/icons/cargo/nanoforge_decayed.png,ui_cargo_special_industrial_pickup,ui_cargo_special_industrial_drop,com.fs.starfarer.api.campaign.impl.items.GenericSpecialItemPlugin,"heavyindustry, orbitalworks","A powerful and versatile manufacturing ""black box"", capable of building itself out to an industrial scale, given the necessary raw materials and human assistance.
Overgrown Nanoforge,niko_MPC_overgrownNanoforgeItem,"nanoforge, pather10, aotd_ignore_gp",Domain Forbidden,,1000000,1000,1,EXTREME,graphics/icons/cargo/nanoforge_decayed.png,ui_cargo_special_industrial_pickup,ui_cargo_special_industrial_drop,data.scripts.campaign.econ.specialItems.MPC_overgrownNanoforgeItem,"heavyindustry, orbitalworks","A powerful and versatile manufacturing ""black box"", capable of building itself out to an industrial scale, given the necessary raw materials and human assistance.

This one has had its production safeties disabled somehow, and is capable of producing a downright obscene amount of material, provided it is sufficiently supplied.",139
,,,,,,,,,,,,,,,
Expand Down
1 change: 1 addition & 0 deletions data/config/LunaSettings.csv
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ MPC_nanoforgeBudgetMultMax,Budget maximum mult,Double,1.2,,,,,Conditions
MPC_nanoforgeMinTimeBetweenSpreads,Min time between spreading attempts (Days),Int,30,,,,,Conditions
MPC_nanoforgeMaxTimeBetweenSpreads,Max time between spreading attempts (Days),Int,90,,,,,Conditions
MPC_condenseOvergrownNanoforgeIntel,Puts all overgrown nanoforge into one intel tab,Boolean,false,,,,,Conditions
MPC_nanoforgeSpeedMult,Manipulation speed mult,Double,0.6,,"Controls how powerful all the overgrown nanoforge event factors are (higher = faster spread and countermeasures)",,,Conditions
,,,,,,,,
MPC_derelictEscortHeader,Derelict Escort Config,Header,Derelict Escort Config,,,,,Conditions
MPC_derelictEscortSimulateFleets,Force simulation of escorted fleets,Boolean,true,,"If true, escorted fleets will be forcefully spawned (contrary to usual behavior where they are despawned if you are far away to save performance). Disabling will improve performance, but will make escorts return home if the fleet gets too far away from the player.",,,Conditions
Expand Down
Binary file added data/config/Paragon.webp
Binary file not shown.
8 changes: 7 additions & 1 deletion data/config/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,11 @@
"niko_MPC_ecmOptionModThreshTwo":0,
"niko_MPC_ecmOptionModThreshThree":0,
"niko_MPC_ecmOptionModThreshFour":0,
}
},

"designTypeColors":{
"Kanta's Favored":[200,0,0,255],
"Domain Forbidden":[155,155,155,255],

}
}
14 changes: 7 additions & 7 deletions data/hulls/ship_data.csv
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ Outguard,niko_MPC_defenseSatelliteCore_swarm,Satellite Core,Explorarium,MPC_over
Onslaught (XIV) (Kanta),MPC_onslaught_xiv_kanta,Battleship,Kanta's Favored,MPC_acceleratedOrdnanceFeeder,50,20000,1750,17000,15000,600,360,,25,10,10,4,4,3500,PHASE,damper,180,0.4,1,,,750,1500,300,400,15,27,7,900000,3,12,720,0.25,40,40,,,,,,,,no_dealer,,0.4,2,4,,500
Atlas Mk.II (Kanta),MPC_atlas2_kanta,Modified Superfreighter,Kanta's Favored,MPC_acceleratedOrdnanceFeeder,50,9000,750,8000,8750,350,220,,30,8,4,4,2,4000,OMNI,,60,0.5,1,,,250,300,200,400,10,40,7,150000,2,20,720,0.25,50,24,,,,,,,,no_dealer,,0.7,2,4,,502.5
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,MPC_omega_derelict_mothership,Domain-era Survey Mothership,,highenergyfocus,70,40000,1600,6000,2500,1000,40,9,30,200,200,2,2,5000,OMNI,,50,0,0.2,,,0,0,0,0,1,0,0,500000,10,10,,,50,50,,,,,,,"STATION, UNBOARDABLE, HIDE_IN_CODEX","derelict, niko_MPC_omegaDerelict",,0,,,,2001
,MPC_omega_derelict_mothership_pod_s_right,"Gun Pod, Small",,entropyamplifier,1,4500,500,3000,2500,300,28,,0,0,0,10,10,70,NONE,,0,0,0,,,0,0,0,0,1,0,,500000,,1,,,0,0,,,,,,,"UNBOARDABLE, HIDE_IN_CODEX","derelict, niko_MPC_omegaDerelict",,0.5,2,2,,2101
,MPC_omega_derelict_mothership_pod_m_right,"Gun Pod, Medium",,highenergyfocus,1,7000,500,2500,5000,500,44,,0,0,0,10,10,120,NONE,,0,0,0,,,0,0,0,0,1,0,,500000,,1,,,0,0,,,,,,,"UNBOARDABLE, HIDE_IN_CODEX","derelict, niko_MPC_omegaDerelict",,0.5,2,2,,2102
,MPC_omega_derelict_mothership_pod_m_left,"Gun Pod, Medium",,highenergyfocus,1,6500,500,2500,5000,500,52,,0,0,0,10,10,150,NONE,,0,0,0,,,0,0,0,0,1,0,,500000,,1,,,0,0,,,,,,,"UNBOARDABLE, HIDE_IN_CODEX","derelict, niko_MPC_omegaDerelict",,0.5,2,2,,2103
,MPC_omega_derelict_mothership_pod_engine_left,"Gun Pod, Rear",,mine_strike,1,7000,500,2500,5000,500,46,,0,0,0,10,10,220,NONE,,0,0,0,,,0,0,0,0,1,0,,500000,,1,,,0,0,,,,,,,"UNBOARDABLE, HIDE_IN_CODEX","derelict, niko_MPC_omegaDerelict",,0.5,2,2,,2104
,MPC_omega_derelict_mothership_bow_module,Bow Shield Module,,damper_omega,1,9000,1200,3000,6250,600,32,,0,0,0,10,10,200,NONE,,0,0,0,,,0,0,0,0,1,0,,500000,,1,,,0,0,,,,,,,"UNBOARDABLE, HIDE_IN_CODEX","derelict, niko_MPC_omegaDerelict",,0.5,2,2,,2105
,MPC_omega_derelict_mothership_sensor_mast,Bow Sensor Mast,,highenergyfocus,1,700,500,3500,6250,600,64,,0,0,0,10,10,280,NONE,,0,0,0,,,0,0,0,0,1,0,,500000,,1,,,0,0,,,,,,,"UNBOARDABLE, HIDE_IN_CODEX","derelict, niko_MPC_omegaDerelict",,0.7,2,2,,2106
,MPC_omega_derelict_mothership,Domain-era Survey Mothership,,highenergyfocus,70,40000,1600,6000,2500,1000,40,9,30,200,200,2,2,5000,OMNI,,50,0,0.2,,,0,0,0,0,1,0,0,500000,10,10,,,50,50,,,,,,,"STATION, UNBOARDABLE, HIDE_IN_CODEX","derelictMPC, niko_MPC_omegaDerelict",,0,,,,2001
,MPC_omega_derelict_mothership_pod_s_right,"Gun Pod, Small",,entropyamplifier,1,4500,500,3000,2500,300,28,,0,0,0,10,10,70,NONE,,0,0,0,,,0,0,0,0,1,0,,500000,,1,,,0,0,,,,,,,"UNBOARDABLE, HIDE_IN_CODEX","derelictMPC, niko_MPC_omegaDerelict",,0.5,2,2,,2101
,MPC_omega_derelict_mothership_pod_m_right,"Gun Pod, Medium",,highenergyfocus,1,7000,500,2500,5000,500,44,,0,0,0,10,10,120,NONE,,0,0,0,,,0,0,0,0,1,0,,500000,,1,,,0,0,,,,,,,"UNBOARDABLE, HIDE_IN_CODEX","derelictMPC, niko_MPC_omegaDerelict",,0.5,2,2,,2102
,MPC_omega_derelict_mothership_pod_m_left,"Gun Pod, Medium",,highenergyfocus,1,6500,500,2500,5000,500,52,,0,0,0,10,10,150,NONE,,0,0,0,,,0,0,0,0,1,0,,500000,,1,,,0,0,,,,,,,"UNBOARDABLE, HIDE_IN_CODEX","derelictMPC, niko_MPC_omegaDerelict",,0.5,2,2,,2103
,MPC_omega_derelict_mothership_pod_engine_left,"Gun Pod, Rear",,mine_strike,1,7000,500,2500,5000,500,46,,0,0,0,10,10,220,NONE,,0,0,0,,,0,0,0,0,1,0,,500000,,1,,,0,0,,,,,,,"UNBOARDABLE, HIDE_IN_CODEX","derelictMPC, niko_MPC_omegaDerelict",,0.5,2,2,,2104
,MPC_omega_derelict_mothership_bow_module,Bow Shield Module,,damper_omega,1,9000,1200,3000,6250,600,32,,0,0,0,10,10,200,NONE,,0,0,0,,,0,0,0,0,1,0,,500000,,1,,,0,0,,,,,,,"UNBOARDABLE, HIDE_IN_CODEX","derelictMPC, niko_MPC_omegaDerelict",,0.5,2,2,,2105
,MPC_omega_derelict_mothership_sensor_mast,Bow Sensor Mast,,highenergyfocus,1,700,500,3500,6250,600,64,,0,0,0,10,10,280,NONE,,0,0,0,,,0,0,0,0,1,0,,500000,,1,,,0,0,,,,,,,"UNBOARDABLE, HIDE_IN_CODEX","derelictMPC, niko_MPC_omegaDerelict",,0.7,2,2,,2106
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Binary file modified jars/niko_morePlanetaryConditions.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion mod_info.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"name":"What we left behind", # Displayed to the player
"author":"Niko",
"utility":"false",
"version":"3.9.0",
"version":"3.10.0",
"description":"Adds a variety of planetary conditions to the sector, as well as a smattering of mysteries and awe-inspiring vistas.",
"gameVersion": "0.97a-RC11",
"jars":["jars/niko_morePlanetaryConditions.jar"],
Expand Down
2 changes: 1 addition & 1 deletion niko_MPC.version
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"modVersion":
{
"major":3,
"minor":9,
"minor":10,
"patch":0 # Can be a number, character or string (1, 2, a, b, "-RC2", etc)
},
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,6 @@ class niko_MPC_derelictEscort: niko_MPC_baseNikoCondition() {
// helps escorts keep up with their escortees even in hyperspace
const val ESCORT_FLEET_MAX_BURN_MULT = 5f

const val HAZARD_RATING_INCREMENT = 0.25f

const val INHABITED_BASE_FLEET_POINTS = 50f
const val UNINHABITED_BASE_FLEET_POINTS = 50f
}
Expand All @@ -73,7 +71,6 @@ class niko_MPC_derelictEscort: niko_MPC_baseNikoCondition() {
private fun applyConditionAttributes(id: String) {
val market = getMarket() ?: return
market.accessibilityMod.modifyFlat(id, SELF_MARKET_ACCESSABILITY_INCREMENT, name)
market.hazard.modifyFlat(id, HAZARD_RATING_INCREMENT, name)
val markets = Misc.getMarketsInLocation(market.containingLocation) - market
val ourFaction = market.faction
for (iterMarket in markets) {
Expand Down Expand Up @@ -391,12 +388,6 @@ class niko_MPC_derelictEscort: niko_MPC_baseNikoCondition() {
"colonized", "return", "${MPC_derelictEscortAssignmentAI.MAX_FOLLOW_PLAYER_DIST_LY.toInt()} ly"
)
}
tooltip.addPara(
"%s hazard rating",
10f,
Misc.getHighlightColor(),
"+${niko_MPC_stringUtils.toPercent(HAZARD_RATING_INCREMENT)}"
)
tooltip.addPara(
"%s accessibility",
10f,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,16 @@ import data.scripts.campaign.econ.conditions.overgrownNanoforge.intel.plugins.ba
import data.scripts.campaign.econ.conditions.overgrownNanoforge.intel.plugins.baseOvergrownNanoforgeManipulationIntel
import data.scripts.campaign.econ.conditions.overgrownNanoforge.intel.plugins.overgrownNanoforgeGrowthIntel
import data.utilities.niko_MPC_marketUtils.exceedsMaxStructures
import data.utilities.niko_MPC_settings
import data.utilities.niko_MPC_settings.OVERGROWN_NANOFORGE_PROGRESS_WHILE_UNDISCOVERED
import java.awt.Color
import kotlin.math.roundToInt

class overgrownNanoforgeIntelFactorStructureRegeneration(
override val overgrownIntel: baseOvergrownNanoforgeManipulationIntel
): baseOvergrownNanoforgeEventFactor(overgrownIntel) {
override fun getProgress(intel: BaseEventIntel?): Int {
return overgrownIntel.ourHandler.cullingResistanceRegeneration
return (overgrownIntel.ourHandler.cullingResistanceRegeneration * niko_MPC_settings.OVERGROWN_NANOFORGE_SPEED_MULT).roundToInt()
}

override fun getDesc(intel: BaseEventIntel?): String {
Expand All @@ -31,10 +33,11 @@ class overgrownNanoforgeIntelFactorStructureRegeneration(
override fun createTooltip(tooltip: TooltipMakerAPI?, expanded: Boolean, tooltipParam: Any?) {
if (tooltip == null) return
val opad = 10f
val progress = "${getProgress(overgrownIntel)}"

val stringToAdd = "The ${getNanoforgeName()} on ${getMarket().name} is ${overgrownIntel.getSpreadingAdjective()} " +
"at a rate of ${getProgress(overgrownIntel)} per month."
tooltip.addPara(stringToAdd, opad)
"at a rate of %s per month."
tooltip.addPara(stringToAdd, opad, Misc.getNegativeHighlightColor(), progress)
}
}
}
Expand Down Expand Up @@ -92,7 +95,7 @@ open class overgrownNanoforgeIntelFactorCountermeasures(overgrownIntel: baseOver
override fun getProgress(intel: BaseEventIntel?): Int {
val initial = overgrownIntel.getOverallCullingStrength(getMarket())
val initialTwo = -(overgrownIntel.localGrowthManipulationPercent/100f)
val result = initial * initialTwo
val result = (initial * initialTwo) * niko_MPC_settings.OVERGROWN_NANOFORGE_SPEED_MULT
return result.toInt()
}

Expand All @@ -119,11 +122,12 @@ open class overgrownNanoforgeIntelFactorCountermeasures(overgrownIntel: baseOver
if (tooltip == null) return
val opad = 10f

val strengthPercent = "${getUsedStrengthPercent()}%"
val stringToAdd =
"${getMarket().name}'s government is currently using ${getUsedStrengthPercent()}% of its" +
"${getMarket().name}'s government is currently using %s of its" +
" culling strength towards ${cullingOrCultivating()} the ${overgrownIntel.brain.industryNanoforge.getCurrentName()}'s growth."

tooltip.addPara(stringToAdd, opad)
tooltip.addPara(stringToAdd, opad, Misc.getHighlightColor(), strengthPercent)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ import com.fs.starfarer.api.input.InputEventClass
import com.fs.starfarer.api.input.InputEventType
import com.fs.starfarer.api.ui.TooltipMakerAPI
import com.fs.starfarer.api.util.Misc
import data.niko_MPC_modPlugin
import data.scripts.campaign.econ.conditions.overgrownNanoforge.handler.overgrownNanoforgeHandler
import data.scripts.campaign.econ.conditions.overgrownNanoforge.handler.overgrownNanoforgeIndustryHandler
import data.scripts.campaign.econ.conditions.overgrownNanoforge.handler.overgrownNanoforgeSpreadingBrain
import data.scripts.campaign.econ.conditions.overgrownNanoforge.intel.overgrownNanoforgeIntelFactorCountermeasures
import data.scripts.campaign.intel.baseNikoEventStageInterface
import data.utilities.niko_MPC_debugUtils
import data.utilities.niko_MPC_settings
import lunalib.lunaExtensions.addLunaToggleButton
import lunalib.lunaUI.elements.LunaProgressBar
Expand All @@ -29,6 +31,18 @@ class overgrownNanoforgeIndustryManipulationIntel(
}
}

var considerExposed: Boolean = false
get() {
if (niko_MPC_modPlugin.currVersion != "3.10.0") {
niko_MPC_debugUtils.log.warn("unneeded sanity check in considerExposed get, please remove")
return field
}
if (field == null) {
field = false
}
return field
}

fun updateExposed() {
updateFactors()

Expand All @@ -50,9 +64,11 @@ class overgrownNanoforgeIndustryManipulationIntel(
override fun addMiddleDescriptionText(info: TooltipMakerAPI, width: Float, stageId: Any?) {
super.addMiddleDescriptionText(info, width, stageId)
val overallSuppressionMeter = overallManipulationMeter?.get() ?: return
considerExposed = false
if (playerCanManipulateGrowth()) {
addFocusButton(info, overallSuppressionMeter)
}
considerExposed = true
}

fun addFocusButton(info: TooltipMakerAPI, overallSuppressionMeter: LunaProgressBar) {
Expand All @@ -69,7 +85,7 @@ class overgrownNanoforgeIndustryManipulationIntel(
}

override fun playerCanManipulateGrowth(): Boolean {
return (exposed && super.playerCanManipulateGrowth())
return ((!considerExposed || (exposed)) && super.playerCanManipulateGrowth())
}

override fun getCantInteractWithInputReasons(): MutableSet<String> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import data.scripts.campaign.intel.baseNikoEventStageInterface
import data.utilities.niko_MPC_marketUtils.exceedsMaxStructures
import data.utilities.niko_MPC_marketUtils.getOvergrownJunk
import data.utilities.niko_MPC_marketUtils.isInhabited
import data.utilities.niko_MPC_settings
import data.utilities.niko_MPC_settings.OVERGROWN_NANOFORGE_MAX_TIME_BETWEEN_SPREADS
import data.utilities.niko_MPC_settings.OVERGROWN_NANOFORGE_MIN_TIME_BETWEEN_SPREADS
import data.utilities.niko_MPC_settings.OVERGROWN_NANOFORGE_NOT_INHABITED_PROGRESS_MULT
Expand Down Expand Up @@ -127,6 +128,7 @@ class overgrownNanoforgePrepareGrowthFactor(
if (!OVERGROWN_NANOFORGE_PROGRESS_WHILE_UNDISCOVERED) return 0
}
if (!industryHandler.market.isInhabited()) adjustedProgress *= OVERGROWN_NANOFORGE_NOT_INHABITED_PROGRESS_MULT
adjustedProgress *= niko_MPC_settings.OVERGROWN_NANOFORGE_SPEED_MULT

return adjustedProgress.roundToInt()
}
Expand All @@ -141,8 +143,9 @@ class overgrownNanoforgePrepareGrowthFactor(
if (tooltip == null) return
val opad = 10f

val stringToAdd = "The Overgrown Nanoforge on ${getMarket().name} is preparing for a growth at a rate of ${getProgress(overgrownIntel)} per month."
tooltip.addPara(stringToAdd, opad)
val rate = "${getProgress(overgrownIntel)}"
val stringToAdd = "The Overgrown Nanoforge on ${getMarket().name} is preparing for a growth at a rate of %s per month."
tooltip.addPara(stringToAdd, opad, Misc.getNegativeHighlightColor(), rate)
}
}
}
Expand Down
Loading

0 comments on commit d594311

Please sign in to comment.