Jump to content

[Career Realism] Long time player - never made a mod - here is my MM patch for Career Realism


Spaded

Recommended Posts

Module Manager is required. All this is done with Module Manager Patches.

Google: "ModuleManager ksp" and you'll find it.

So I've been a longtime player of KSP and always got bored.... very quickly once I unlocked the tech tree and went to duna and beyond.  I've been a programmer for a few years as well and so I figured lets see what I can do, easily. 

Basically...The contracts in stock suck, and the mods for new contracts are for 1.4.x and not 1.7.x..... So I started to do some investigating.

Feel free to change my prices.cfg MM patch however you please to improve it or fix any bugs. Just let me know so I can update my own copy! Anyone can make changes to this! 

Career Realism

Goals

 -  To change part prices to real world prices. A command crew that weights 1-3 tons shouldn't cost $600.... it should cost $500,000+. Using some tweaking and realistic part prices, adjust all parts to accurately reflect real life cost - with a mix of "design, test, manufacturing, and installation". This includes resources as well, per cost, example: Space Nuclear Conference, San Diego, CA gives a cost of Xenon gas of $US 850 / kg

 - To increase the hardness of the game.... Re-entry heating goes to 110% as an example, some mods provide other examples (such as OhScrap for random part failures)
 
 -  Increase or decrease the % of science returned from probes for probe missions 


 -  Increase contracts cost to accurate costs. Want a satellite into space? Looking at $30-100mil cost. (needs to be adjusted based off some variable, but idk what). 

 

How to use 

- Install everything and make sure you delete all the ModuleManager titled files, BESIDES the one ending in .dll

- set

ContractInterceptor = false

in /GameData/MonthlyBudgets/MonthlyBudgetsDefaults.cfg

- Make a new game with the following custom settings: 
Funds 500k, science: 250,No missing crew respawn, Funds Penalties: 500%, Reputation Penalties: 150%, Always allow actionBars 

- Load game up, check the price of  a mk1 command pod - it should be like 300k+, check prices on all items to make sure something like a heat shield isn't 5.5million.

Done

- Part pricing works pretty well and is generally okay, some things can be changed here or there to make them more realistic. 11k for a 2HOT thermometer seems like alot.... but cost per kg into space is in the thousands. All can be adjusted based off feedback or real world pricing.

- Contracts provide accurate/semi-realistic amounts. Escape atmosphere? 1,000,000.   Orbit kerbin? 1.5mil. These are progression contracts are give less. Want a part tested? Looking at 500k-5mil. (Try getting a decoupler on escape trajectory when your ship costs 35mil)

- Changed pricing to upgrade buildings into the millions 

TODO

- figure out how to make contracts, easily, that are realistic. Like deploy some comm sats or science contracts (some mods do this, but which ones work on v1.7.x??)

- Change the prices further to balance better. 

- Give me more updates to do and I'll see what I can do. 

 

Mods included (may or may not be required, I'm new to modding, so I don't really know... but here are all my mods)

Mods I really like to use and should be added: 
MonthlyBudgets

[x] Science!

B9PArts

SSTU

KerbalEngineer

MagiCore

MechJeb2
NearFutureConstruction
NearFutureLaunchVehicles
NearFutureProps
OhScrap
PatchManager
ScrapYard

All Mods in my /GameData

Spoiler

 

000_AT_Utils
000_ClickThroughBlocker
000_FilterExtensions
000_FilterExtensions_Configs
000_TexturesUnlimited
000_USITools
001_ToolbarControl
B9PartSwitch
Chatterer
CommunityCategoryKit
CommunityResourcePack
CommunityTechTree
ContractConfigurator
ContractPacks
contractsChange.txt
DMagicOrbitalScience
DMagicUtilities
GroundConstruction
HideEmptyTechTreeNodes
InterstellarFuelSwitch
InterstellarHybridRocketry
KAS
KerbalChangelog
KerbalChangeLog1.1.4
KerbalEngineer
KerbalJointReinforcement
KerbetrotterLtd
KSPModFileLocalizer.dll
KSPWheel
LICENSE-ASSETS.txt
LICENSE-SOURCE.txt
MagiCore
MechJeb2
MicyclesBFR
ModuleManager.4.0.2.dll
ModuleManager.ConfigCache // delete these files to refresh the game when you make changes. Make sure game is not running, delete, then run game and they are re-made
ModuleManager.ConfigSHA  // delete these files to refresh the game when you make changes. Make sure game is not running, delete, then run game and they are re-made
ModuleManager.Physics // delete these files to refresh the game when you make changes. Make sure game is not running, delete, then run game and they are re-made
ModuleManager.TechTree // delete these files to refresh the game when you make changes. Make sure game is not running, delete, then run game and they are re-made
MonthlyBudgets
NearFutureConstruction
NearFutureLaunchVehicles
NearFutureProps
OhScrap
PatchManager
PhotonSail
prices.cfg  // My MM patch file below 
README.md
ScrapYard
Squad
SquadExpansion
SSTU
TweakScale
UmbraSpaceIndustries
WarpPlugin
[x] Science!

 

prices.cfg - the main MM patch file with all the changes 

@PART[*]:HAS[#category[Science],#cost[*]]
{
    %addedCost = 7.0
    %entCost = 5.0

    @cost *= #$addedCost$ 
    @entryCost *= #$entCost$  
}
@PART[*]:HAS[#category[Command],#cost[*]]
{
    %addedCost = 700.0
    %entCost = 5.0

  @cost *= #$addedCost$ 
    @entryCost *= #$entCost$   
}
@PART[*]:HAS[#category[Pods],#cost[*]]
{
    %addedCost = 700.0
    %entCost = 5.0

  @cost *= #$addedCost$ 
    @entryCost *= #$entCost$   
}
@PART[*]:HAS[#category[Aero],#cost[*]]
{
    %addedCost = 30.0
    %entCost = 5.0

  @cost *= #$addedCost$ 
    @entryCost *= #$entCost$   
}
@PART[*]:HAS[#category[Coupling],#cost[*]]
{
    %addedCost = 35.0
    %entCost = 5.0

  @cost *= #$addedCost$ 
    @entryCost *= #$entCost$   
}
@PART[*]:HAS[#category[Structural],#cost[*]]
{
    %addedCost = 30.0
    %entCost = 5.0

  @cost *= #$addedCost$ 
    @entryCost *= #$entCost$   
}
@PART[*]:HAS[#category[Thermal],#cost[*]]
{
    %addedCost = 45.0
    %entCost = 5.0

  @cost *= #$addedCost$ 
    @entryCost *= #$entCost$   
}
@PART[*]:HAS[#category[Electrical],#cost[*]]
{
    %addedCost = 45.0
    %entCost = 5.0

  @cost *= #$addedCost$ 
    @entryCost *= #$entCost$   
}
@PART[*]:HAS[~category[Science],~category[Command],~category[Electrical],~category[Aero],~category[Pods],~category[Thermal],~category[Coupling],~category[Structural],#cost[*]]:FINAL
{
    %addedCost = 400.0
    %entCost = 50.0  
    @cost *= #$addedCost$ 
    @entryCost *= #$entCost$  
}
@PART[*]:HAS[@MODULE:HAS[#experimentID[*]&#xmitDataScalar[<1]]]
{
  @MODULE:HAS[#experimentID[*]&#xmitDataScalar[<1]]
  {
    // For each Module with an experimentID and a transmit penalty, adjust xmitDataScalar to eliminate the penalty.
    @xmitDataScalar = 1.0
  }
}
@PART[*]:HAS[@RESOURCE[LiquidFuel],!RESOURCE[Oxidizer],!RESOURCE[MonoPropellant],!MODULE[ModuleTankManager],!MODULE[InterstellarFuelSwitch],!MODULE[FSfuelSwitch],!MODULE[ModuleB9PartSwitch],!MODULE[ModuleEnginesFX],!MODULE[ModuleEngines]]:NEEDS[InterstellarFuelSwitch&!ModularFuelTanks&!RealFuels&!ConfigurableContainers]:FOR[InterstellarFuelSwitch]
{
	%totalCap = #$RESOURCE[LiquidFuel]/maxAmount$

	%onlyLH2 = #$totalCap$
	@onlyLH2 *= 5

	%cryoPower = #$onlyLH2$
	@cryoPower /= 800
	
	MODULE:NEEDS[!WarpPlugin]
	{
		name = InterstellarFuelSwitch
		tankSwitchNames = LiquidFuel;Oxidizer;MonoPropel;Hydrogen;Methane
		resourceGui = LiquidFuel;Oxidizer;MonoPropellant;Liquid Hydrogen;Liquid Methane
		resourceNames = LiquidFuel;Oxidizer;MonoPropellant;LqdHydrogen;LqdMethane
		resourceAmounts = #$../totalCap$;$../totalCap$;$../totalCap$;$../onlyLH2$;$../onlyLH2$
		tankTechReq = start;start;advFuelSystems;advFuelSystems;highPerformanceFuelSystems
		tankResourceMassDivider = 8;8;6.66666666666;5.5;8
		adaptiveTankSelection = false
		orderBySwitchName = true
		displayTankCost = true
		hasGUI = false
	}

	MODULE:NEEDS[WarpPlugin]
	{
		name = InterstellarFuelSwitch
		tankSwitchNames = LiquidFuel;Oxidizer;MonoProp;Hydrogen;Nitrogen;Argon;Methane;Ammonia;Hydrazine;CO2;HTP
		resourceGui = LiquidFuel;Oxidizer;MonoPropellant;Liquid Hydrogen;Liquid Nitrogen;Liquid Ammonia;Liquid Methane;LqdArgon;Hydrazine;Liquid CO2;;High-test peroxide
		resourceNames = LiquidFuel;Oxidizer;MonoPropellant;LqdHydrogen;LqdNitrogen;LqdArgon;LqdMethane;LqdAmmonia;Hydrazine;LqdCO2;HTP
		resourceAmounts = #$../totalCap$;$../totalCap$;$../totalCap$;$../onlyLH2$;$../onlyLH2$;$../onlyLH2$;$../onlyLH2$;$../onlyLH2$;$../onlyLH2$;$../onlyLH2$;$../onlyLH2$
		tankTechReq = start;start;advFuelSystems;advFuelSystems;largeVolumeContainment;largeVolumeContainment;highPerformanceFuelSystems;highPerformanceFuelSystems;specializedFuelStorage;largeVolumeContainment;specializedFuelStorage
		tankResourceMassDivider = 8;8;6.66666666666;5.5;8;8;8;8;8;8;8
		adaptiveTankSelection = false
		orderBySwitchName = true
		displayTankCost = true
		hasGUI = false
	}
}
@PART[*]:HAS[@RESOURCE[LiquidFuel],!RESOURCE[Oxidizer]]:AFTER[InterstellarFuelSwitch]
{
	// Remove temporary variables to eliminate log spam
	!totalCap = 0
	!onlyLH2 = 0
	!cryoPower = 0
}
@RESOURCE_DEFINITION[*]:HAS[#unitCost]
{  
    @unitCost *= 200
}
@RESOURCE_DEFINITION[*]:HAS[#unitCost,#name[ElectricCharge]]
{  
    @unitCost = 1.5
    @unitCost *= 200
}
@CONTRACT_TYPE[*]:HAS[#rewardFunds]
{
  @rewardFunds *= 700
}
//@Contracts
//@Contracts:AFTER[ContractConfigurator, MonthlyBudgets]
//@Contracts:AFTER[MonthlyBudgets]
@DMContracts[*]
{
  @DM*:HAS[@Funds]{
      @BaseAdvance *= 20
			@BaseReward *= 24
			@BaseFailure *= 24
			@ParamReward *= 80
  }
}
@Contracts:AFTER[MonthlyBudgets]
{

	@Progression:HAS[@Funds]
	{
	    @Funds
        {
        @BaseReward *= 10
       
        }
	}
	
	// Disable Asteroid retrieval Contracts
    @ARM:HAS[@Funds]
    {
        @Funds
        {
        @BaseReward *= 900
        @BaseAdvance *= 900
        }
    }
    
    // Disable Planetary base construction Contracts
    @Base:HAS[@Funds]
    {
        @Funds
        {
        @BaseReward *= 900
        @BaseAdvance *= 900
        }
    }
    
    // Disable Flag planting Contracts
    @Flag:HAS[@Funds]
    {
           @Funds
        {
        @BaseReward *= 750
        @BaseAdvance *= 500
        }
    }
    
    // Disable Grand Tour Contracts
    @Grand:HAS[@Funds]
    {
          @Funds
        {
        @BaseReward *= 900
        @BaseAdvance *= 900
        }
    }
    
    // Disable ISRU Contracts
    @ISRU:HAS[@Funds]
    {
        @Funds
        {
        @BaseReward *= 700
        @BaseAdvance *= 700
        }
    }
    
    // Disable Recovery Contracts
    @Recovery:HAS[@Funds]
    {
      @Funds
        {
        @BaseReward *= 500
        @BaseAdvance *= 500
        }
    }
    
    // Disable Satellite delivery Contracts
    @Satellite:HAS[@Funds]
    {
         @Funds
        {
        @BaseReward *= 700
        @BaseAdvance *= 500
        }
    }
    
    // Disable Data collection Contracts
    @Science:HAS[@Funds]
    {
        @Funds
        {
        @BaseReward *= 199
        @BaseAdvance *= 99
        }
    }
    
    // Disable Space station construction Contracts
    @Station:HAS[@Funds]
    {
        @Funds
        {
        @BaseReward *= 900
        @BaseAdvance *= 900
        }
    }
    
    // Disable Survey Contracts
    @Survey:HAS[@Funds]
    {
         @Funds
        {
        @BaseReward *= 50
        @BaseAdvance *= 50
        } 
        @SURVEY_DEFINITION[*]
    {
       
        @FundsReward *= 50
       
        
    }
    }
     

    // Disable Part testing Contracts
    @Test:HAS[@Funds]
    {
        @Funds
        {
        @BaseReward *= 100
        @BaseAdvance *= 125
        }
    }
    
    // Disable Tourism Contracts
    @Tour:HAS[@Funds]
    {
        @Funds
        {
        @BaseReward *= 250
        @BaseAdvance *= 150
        }
    }
}
  

 

Edited by Spaded
updated for electricity pricing, and fixed survey costs?
Link to comment
Share on other sites

Looks like my survey contracts are not accurately updated in pricing.... not sure why..... anyone have some ideas? I'll look into it later as well. 

 

edit: Just fixed the survey costs I believe..... waiting for KSP to load again to find out. But if it works, it'll work for ALL DM Orbital science contracts. Thats nice. 

 

Edited by Spaded
Link to comment
Share on other sites

Ok... I've fixed everything, from the contracts, to the pricing, to the weight per pricing, to even adding cost to electricity and accounting for scientific costs (aka, want a new battery? its gonna cost more, but itll have the same $/KW as a normal battery).

 

I can include and update everything if - ANYONE - is interested. If no one cares, then I won't waste my time on this. 

 

 

Currently.... its feels like a real game now. I start with 500k. I have to figure out how to strategize and get millions to make a ship. Just going to LEO requires atleast 5mil, and thats with almost no payload. Missions pay properly, if you  want a base going to the mun, its going to be like 100million+. 

Example - this contract is pretty hard, for real life, to get to that attitude and speed, the rocket will cost alot of money.... so fairly... the price is expensive: 

3dc1058c4f7404b6bd56001f6bd8dcbc.png

But this one is much easier, and therefore, doesn't pay as much: 

6702557dcfa530329b210833a22ae1cb.png

 

Costs for facilities have increased as well, into the millions. 

 

Its cool, I like it. Forces you to re-use rockets. If you only have 600k, you need to recover that 500k rocket to do your next mission. 

 

 

So if anyone wants it, I'll try to make it nicer and change the post so more people can use these settings. I want to call it - Elon Mode. lol

 

Edited by Spaded
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...