Jump to content

Contract.cfg Parameters


Svm420

Recommended Posts

Hi I am trying to adjust some parameter for the contract system. I am trying to adjust these parameter for a resized system and want to know the units for these measurements. I believe I read somewhere before that it is a fraction of the SOI of Kerbin/the target. I need the unit to properly adjust the max height for each difficulty to different orbit "classes" e.g. LEO, MEO and HEO/GSO. Then I am trying to get a part request that is in 100% of satellite contracts this worked beautifully before with the percent system making every contract include the part request. Now with this weight system, which needed to be changed why, I am not sure what value will make sure a contract always calls this part request. Thanks in advance. Pining @NathanKell Maybe you know, can find out easily or know who I should ping? Thanks!

Spoiler

@TrivialAltitudeDifficulty = 0.003033242 // A ratio representing how eccentric orbits can get on easy contracts
@TrivialInclinationDifficulty = 0.6 // A ratio representing how inclined orbits can get on easy contracts
@SignificantAltitudeDifficulty = 0.039717718 // A ratio representing how eccentric orbits can get on medium contracts
@SignificantInclinationDifficulty = 1.15 // A ratio representing how inclined orbits can get on medium contracts
@ExceptionalAltitudeDifficulty = 0.834141389 // A ratio representing how eccentric orbits can get on hard contracts
@ExceptionalInclinationDifficulty = 1.95 // A ratio representing how inclined orbits can get on hard contracts

PART_REQUEST // A potential repair panel request for satellites
		{
			Article = a // Article (A/An) to be used prior to part description
			PartDescription = repair panel // Plain speech description of part for request
			VesselDescription = satellite // Plain speech description of vessel for request
			Keyword = Scientific // Contract briefing keyword
			Part = SmRepairPanel // A part ID that triggers this request
			Part = RepairPanel // A part ID that triggers this request
			MinimumScience = 0 // A minimum value this request places on science rewards
			Trivial // Easy Contracts
			{
				Weight = 100 // How common this request is in easy contracts
				FundsMultiplier = 1 // The multiplier this request places on funds in easy contracts
				ScienceMultiplier = 1 // The multiplier this request places on science in easy contracts
				ReputationMultiplier = 1 // The multiplier this request places on reputation in easy contracts
			}
			Significant // Medium Contracts
			{
				Weight = 100 // How common this request is in medium contracts
				FundsMultiplier = 1 // The multiplier this request places on funds in medium contracts
				ScienceMultiplier = 1// The multiplier this request places on science in medium contracts
				ReputationMultiplier = 1 // The multiplier this request places on reputation in medium contracts
			}
			Exceptional // Hard Contracts
			{
				Weight = 100 // How common this request is in hard contracts
				FundsMultiplier = 1 // The multiplier this request places on funds in hard contracts
				ScienceMultiplier = 1 // The multiplier this request places on science in hard contracts
				ReputationMultiplier = 1 // The multiplier this request places on reputation in hard contracts
			}

 

 

Edited by Svm420
Link to comment
Share on other sites

The altitude difficulties are what you want to tweak for altitude differences. Higher will push it further away from the planet, lower will be in low orbit. Unfortunately eccentricity is also tied to this, so if you put it further from the planet, there is a higher chance of the orbit being eccentric. The reason for that is because certain orbit types have locked eccentricities. I could probably decouple this in the future though.

As for having guaranteed part requests, that is interesting, but I do not think it is supported with the current configuration options. You can crank the weight of a request up very high, and remove all of the other part requests. This will make it highly likely to see, but the way requests work is that the part requests are thrown in a "pool" with all of the other requests (resource requests, crew requests, etc) and an amount based on difficulty is chosen at random. That amount can be zero on easier contracts. Fortunately those other kinds of requests are only present on outpost and station construction contracts. The only requests satellites have are part requests...which helps out your use case here. So yeah, crank up the weight on the part you want, and perhaps remove some of the other part requests. This will make it more and more likely to get the part request you need.

I hope this made sense, please let me know if you need any further assistance.

Edited by Arsonide
Link to comment
Share on other sites

@Arsonide I understand the basics.

!. I want to know specifically the units for altitude. Is it a fraction of the SOI? How is it using the number I enter to determine max altitude? I don't mind eccentricity. I swear someone told me before, but has been lost to time.

2. What was a reason it switched from percent chance to weight system for part requests? I was able to have the part requested on all satellite contracts before the change I know this for sure. Just wish it would be easier to absolutely control the system as it was before. Maybe an override for the weight system in a future upadate e.g. 1.1,1.2? If percentChance is set override weight, and then roll a second random chance after the weight system to allow a highly controlled chance?

Thanks! :) 

Link to comment
Share on other sites

1. Roughly speaking, the maximum apoapsis that an orbit can be is AltitudeDifficulty * SphereOfInfluence. The minimum altitude will choose randomly between the minimum safe altitude for the planet, which is dynamically calculated, and the maximum. This is why raising the maximum increases the chance of having more eccentric orbits. You can still get circular orbits, but it's random.

2. The part requests are utilized in more than one kind of contract - you can see them in outpost and station construction as well. There are other types of requests too - resource requests, crew trait requests...and so on. As I added more requests into the game, one thing became clear: straight chances for these requests to appear was bad. With straight chances, each request got an independent chance to appear, which means a contract could have upwards of 10-12 requests on it, which is no fun. So I put them in a weighted list, and choose a set number of objectives from that. That way it doesn't matter how many types of requests you add, they all have a chance to appear, without imbalancing the contracts.

Link to comment
Share on other sites

@Arsonide 

1. Would you consider adding a chance parameter back that can override the weight system, if present, for a strictly probability based chance? Set so a part can only be used in one of the systems. Would be a great thing for more direct control.

2. Is the mesurement for max apsis from the surface of the planet, or do I need to compensate for the radius of the planet as well. Thanks!

E.g. V

Spoiler

SOI = 1000u
planetRadius = 50u
TrivialAltitudeDifficulty = 0.1
Will this give a max apsis of 50u or 100u above the surface?
max apsis above surface(100u) = (SOI*TrivialAltitudeDifficulty)+planetRadius
OR
max apsis above surface(50u) = (SOI*TrivialAltitudeDifficulty)-planetRadius

 

 

Edited by Svm420
Link to comment
Share on other sites

On 2/20/2016 at 0:29 PM, Svm420 said:

@Arsonide 

2. Is the mesurement for max apsis from the surface of the planet I.E. Do I need to compensate for the radius of the planet as well. Thanks!

E.g. V

Spoiler


SOI = 1000u
planetRadius = 50u
TrivialAltitudeDifficulty = 0.1
Will this give a max apsis of 50u or 100u above the surface?
max apsis above surface(100u) = (SOI*TrivialAltitudeDifficulty)+planetRadius
OR
max apsis above surface(50u) = (SOI*TrivialAltitudeDifficulty)-planetRadius

 

 

@Arsonide

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...