Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Earth Observation/Commercial Applications Programs #2238

Merged
merged 110 commits into from
Oct 3, 2023
Merged
Show file tree
Hide file tree
Changes from 70 commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
f43f234
New early satellite contracts
SierraHotel84 Sep 13, 2023
0d5a890
Rename GameData/RP-1/Earth Observation 1/FirstGEOSat.cfg to GameData/…
SierraHotel84 Sep 13, 2023
327558f
Rename GameData/RP-1/Earth Observation 1/FirstMolniyaSat.cfg to GameD…
SierraHotel84 Sep 13, 2023
66092a6
Rename GameData/RP-1/Earth Observation 1/FirstNavSat.cfg to GameData/…
SierraHotel84 Sep 13, 2023
2814954
Rename GameData/RP-1/Earth Observation 1/FirstTundraSat.cfg to GameDa…
SierraHotel84 Sep 13, 2023
d6beea2
Rename GameData/RP-1/Earth Observation 1/FirstWeatherSat.cfg to GameD…
SierraHotel84 Sep 13, 2023
c958f6b
Update and rename GameData/RP-1/Earth Observation 1/ScienceCherenkov.…
SierraHotel84 Sep 13, 2023
f1fc107
Update and rename GameData/RP-1/Earth Observation 1/ScienceCosmicRay1…
SierraHotel84 Sep 13, 2023
71730f6
Update and rename GameData/RP-1/Earth Observation 1/ScienceIRRad.cfg …
SierraHotel84 Sep 13, 2023
78b160e
Update and rename GameData/RP-1/Earth Observation 1/ScienceMagScan1.c…
SierraHotel84 Sep 13, 2023
4514cc8
Delete GameData/RP-1/Commercial Applications directory
SierraHotel84 Sep 13, 2023
d54ede7
Add files via upload
SierraHotel84 Sep 13, 2023
0c344d6
Add files via upload
SierraHotel84 Sep 13, 2023
58d823e
Add files via upload
SierraHotel84 Sep 13, 2023
be39413
Add files via upload
SierraHotel84 Sep 13, 2023
34796c6
Delete GameData/RP-1/Contracts/Earth Observation 1/FirstGEOSat.cfg
SierraHotel84 Sep 14, 2023
3dbcf21
Delete GameData/RP-1/Contracts/Earth Observation 1/FirstMolniyaSat.cfg
SierraHotel84 Sep 14, 2023
0f51b6c
Delete GameData/RP-1/Contracts/Earth Observation 1/FirstNavSat.cfg
SierraHotel84 Sep 14, 2023
9a0d4d7
Delete GameData/RP-1/Contracts/Earth Observation 1/FirstTundraSat.cfg
SierraHotel84 Sep 14, 2023
6a7bc6b
Delete GameData/RP-1/Contracts/Earth Observation 1/FirstWeatherSat.cfg
SierraHotel84 Sep 14, 2023
1f2df4c
Delete GameData/RP-1/Contracts/Earth Observation 1/ScienceCherenkov.cfg
SierraHotel84 Sep 14, 2023
5e2db0b
Delete GameData/RP-1/Contracts/Earth Observation 1/ScienceCosmicRay1.cfg
SierraHotel84 Sep 14, 2023
b64e508
Delete GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRad.cfg
SierraHotel84 Sep 14, 2023
ea5a1ee
Delete GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRadRep.cfg
SierraHotel84 Sep 14, 2023
ad8c857
Delete GameData/RP-1/Contracts/Earth Observation 1/ScienceMagScan1.cfg
SierraHotel84 Sep 14, 2023
b03fde9
Add files via upload
SierraHotel84 Sep 14, 2023
702e481
Add files via upload
SierraHotel84 Sep 14, 2023
4be00f0
Update and rename ScienceSatIRRadRep.cfg to ScienceSatIRRad1Rep.cfg
SierraHotel84 Sep 18, 2023
0fba9eb
Update Programs.cfg
SierraHotel84 Sep 18, 2023
f4d8851
Update and rename ScienceSatIRRad.cfg to ScienceSatIRRad1.cfg
SierraHotel84 Sep 18, 2023
d7c93f7
Add files via upload
SierraHotel84 Sep 18, 2023
28effaf
Update Programs.cfg
SierraHotel84 Sep 19, 2023
5dc254b
Delete GameData/RP-1/Contracts/Earth Observation 1 directory
SierraHotel84 Sep 19, 2023
2c73895
Add files via upload
SierraHotel84 Sep 19, 2023
ee8926f
Update Programs.cfg
SierraHotel84 Sep 19, 2023
b9d01c5
Update Programs.cfg
SierraHotel84 Sep 19, 2023
919d7ea
Update Programs.cfg
SierraHotel84 Sep 20, 2023
498601d
Delete GameData/RP-1/Contracts/Commercial Applications directory
SierraHotel84 Sep 20, 2023
949b5d3
Add files via upload
SierraHotel84 Sep 20, 2023
2ffd1c1
Delete GameData/RP-1/Contracts/Earth Observation 1 directory
SierraHotel84 Sep 20, 2023
5d2e065
Add files via upload
SierraHotel84 Sep 20, 2023
37a138c
Add files via upload
SierraHotel84 Sep 20, 2023
ec17680
Add files via upload
SierraHotel84 Sep 20, 2023
ab7b1dd
Add files via upload
SierraHotel84 Sep 20, 2023
436b112
Add files via upload
SierraHotel84 Sep 20, 2023
973240a
Update Groups.cfg
SierraHotel84 Sep 20, 2023
809cc0e
Delete GameData/RP-1/Contracts/Commercial Applications 1 directory
SierraHotel84 Sep 20, 2023
4618d59
Add files via upload
SierraHotel84 Sep 20, 2023
8c98807
Delete GameData/RP-1/Contracts/Earth Observation 1 directory
SierraHotel84 Sep 20, 2023
25a13ea
Add files via upload
SierraHotel84 Sep 20, 2023
82f5614
Update Programs.cfg
SierraHotel84 Sep 20, 2023
3c99acf
Merge branch 'KSP-RO:master' into EOS
SierraHotel84 Sep 20, 2023
671789a
Update Programs.cfg
SierraHotel84 Sep 20, 2023
aca9550
Update Programs.cfg - Remove EOS2/CA2, reenable GEOComNet
SierraHotel84 Sep 21, 2023
8199b36
Configured experiment
SierraHotel84 Sep 22, 2023
5aa507c
Created Cherenkov detector part
SierraHotel84 Sep 22, 2023
1197cec
Updated Cherekov config
SierraHotel84 Sep 22, 2023
92ad3a5
Updated Cherenkov config
SierraHotel84 Sep 22, 2023
fda58a2
Added Molniya contract
SierraHotel84 Sep 22, 2023
639f22e
Updated EOS contracts
SierraHotel84 Sep 22, 2023
3a67563
Nav Network contracts added
SierraHotel84 Sep 22, 2023
9f52d44
Update Programs.cfg - removed Geo, Tundra, added Nav Network
SierraHotel84 Sep 22, 2023
06c3c9b
Added Molniya repeatable
SierraHotel84 Sep 22, 2023
16270a0
Silly close braces...
SierraHotel84 Sep 22, 2023
9e2757a
Delete GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-…
SierraHotel84 Sep 22, 2023
4a5287c
Changed all ComSat to Molniya
SierraHotel84 Sep 22, 2023
f1f0f75
Update Cherenkov.cfg
SierraHotel84 Sep 22, 2023
3e93a6f
Update TREE-Parts.cfg - wrong required tech picked
SierraHotel84 Sep 22, 2023
80a9e55
Added cherenkov part
SierraHotel84 Sep 22, 2023
8cef49c
Update Cherenkov.cfg - removed extra @PART leftover from CR1
SierraHotel84 Sep 22, 2023
9f4c329
Updated all CA1 contracts per comments
SierraHotel84 Sep 24, 2023
652536e
Updated per comments
SierraHotel84 Sep 25, 2023
8f0800b
Corrected time frame requirements to match
SierraHotel84 Sep 25, 2023
a9ca344
Matched time frame to requirement
SierraHotel84 Sep 25, 2023
fd95bdb
Added follow-on contracts instead of repeatable, tweaked science coll…
SierraHotel84 Sep 25, 2023
e33f55f
Update EOSIRRad1.cfg - minor tweaks to wording
SierraHotel84 Sep 25, 2023
7c2d54d
Fixed antiGrind, added power req
SierraHotel84 Sep 26, 2023
5cc6dc9
Added historical refs
SierraHotel84 Sep 26, 2023
3048a9a
Updated per comments
SierraHotel84 Sep 26, 2023
ecac257
Updated per comments
SierraHotel84 Sep 26, 2023
6ed67bd
Updated Program.cfg to move orbit recovery to objective
SierraHotel84 Sep 26, 2023
eec07bf
Matched date requirements, adjusted rewards, added historicals
SierraHotel84 Sep 26, 2023
6b48e8a
Fixed duration, reduced orbit variation
SierraHotel84 Sep 27, 2023
58eaf9a
Update FirstMolniyaSat.cfg - undoing minor incorrect changes
SierraHotel84 Sep 27, 2023
62fccfb
Update FirstTundraSat.cfg - undoing minor text changes
SierraHotel84 Sep 27, 2023
e3f2d83
Update EarlyNavNetwork4.cfg - minor text corrections
SierraHotel84 Sep 27, 2023
003aaba
Update EarlyNavSat-CA.cfg - minor text correction
SierraHotel84 Sep 27, 2023
b5f5e49
Update FirstTundraSat.cfg - added missing title
SierraHotel84 Sep 27, 2023
2bf9c7c
Updated per comments
SierraHotel84 Sep 27, 2023
8474042
Update EOSCoronaRep.cfg - corrected contract title
SierraHotel84 Sep 27, 2023
7ff56be
Update EOSCorona.cfg - tweaked contract description
SierraHotel84 Sep 27, 2023
70125c7
Update EOSCoronaRep.cfg - Fixed? biome requirement
SierraHotel84 Sep 27, 2023
dc19b5f
Update EOSCoronaRep.cfg - updated completion req math, lowered comple…
SierraHotel84 Sep 27, 2023
4d4d641
Update EOSCoronaRep.cfg - actually set it to what I stated
SierraHotel84 Sep 27, 2023
a39a5cc
Tweaked description wording
SierraHotel84 Sep 27, 2023
c004f83
Grammar, phrasing, units clean-up
SierraHotel84 Sep 27, 2023
2e8378d
Added missing power requirement from first CA sats
SierraHotel84 Sep 27, 2023
04ba3a2
Removing CA power reqs per Discord comment
SierraHotel84 Sep 28, 2023
7d652fb
Update FirstTundraSat.cfg - set back to original
SierraHotel84 Sep 28, 2023
754c547
Update RP_1__Bluedog_Model.json - corrected tech level for Cherenkov
SierraHotel84 Sep 28, 2023
ac8714c
Fixed Cherenkov tech node
SierraHotel84 Sep 28, 2023
1e98e3e
Missed science config
SierraHotel84 Sep 28, 2023
7c285c5
Minor tweaks
SierraHotel84 Sep 28, 2023
4661f8f
Corrected CC errors
SierraHotel84 Oct 1, 2023
3ef378d
"Final?" updates - EOS contracts adjusted, CC errors fixed, formatted…
SierraHotel84 Oct 2, 2023
7e2b968
Forgot to change it back to photos1a
SierraHotel84 Oct 2, 2023
ab74210
Updated IRRad completion requirements
SierraHotel84 Oct 3, 2023
a3d5ecd
Updated Corona completion requirements, fixed text formatting
SierraHotel84 Oct 3, 2023
1d7e658
Corrected resource req, min quantity
SierraHotel84 Oct 3, 2023
02db95f
Updated CoronaRep completion requirements
SierraHotel84 Oct 3, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
180 changes: 180 additions & 0 deletions GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
CONTRACT_TYPE
{
name = EarlyComSat-CA
title = Commercial Communications Satellite (Early)
group = CommApp

description = <b>Program: Early Commercial Applications</b><br>Type: <color=blue>Optional</color></b><br><br>Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Every major Telecom now wants their own satellite capabilities tailored to their specific needs. Launch new communications satellites with the required specifications into the specified orbits.<br><br><b><color=yellow>NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.</color></b><b><color=white>Removal Condition: Completion of a Commercial Communications Satellite contract</color></b><br><br><b>The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;<b>Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat<br>Number of Contracts Completed: @index / unlimited</b>
genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.

synopsis = Launch a Communications Satellite for a customer.

completedMessage = Success! The communications satellite was launched into the proper orbit. Your customer is very happy.

sortKey = 499

cancellable = true
declinable = true
autoAccept = false
minExpiry = 1
maxExpiry = 1
maxCompletions = 0
maxSimultaneous = 1
deadline = 0

targetBody = HomeWorld()


// ************ REWARDS ************
prestige = Trivial // 1.0x
advanceFunds = 0
rewardFunds = 0
rewardScience = 0
rewardReputation = Round(55 * Pow(@EarlyComSat/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
failureReputation = 0 // was @rewardReputation
failureFunds = 0

// ************ REQUIREMENTS ************

REQUIREMENT
{
name = ProgramActive
type = ProgramActive
program = EarlyCommApp
}

REQUIREMENT
{
name = CompleteContract
type = CompleteContract
contractType = FirstComSat-CA
title = Complete First Communication Satellite contract
}

DATA
{
type = int
index = $EarlyComSat_Count + 0
}

BEHAVIOUR
{
name = IncrementTheCount
type = Expression

CONTRACT_OFFERED
{
RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : ($RepeatSat_Completion + 0)
}
CONTRACT_COMPLETED_SUCCESS
{
EarlyComSat_Count = $EarlyComSat_Count + 1
RepeatSat_Completion = UniversalTime()
}
}

DATA
{
type = int
antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : $RepeatSat_Completion
}

DATA
{
type = float
elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyComSat * 20 - 9, 1), 2) / 3.46
rewardFactorPercent = Round(@rewardFactor * 100, 1)
}

DATA
{
type = float
payload = Round(Random(150,500),1)
}

// ************ PARAMETERS ************

PARAMETER
{
name = EarlyComSat
type = VesselParameterGroup
define = EarlyComSatellite
dissassociateVesselsOnContractCompletion = true
title = Communications Satellite (Early)

PARAMETER
{
name = NewVessel
type = NewVessel
title = Launch a new vessel
hideChildren = true
}
PARAMETER
{
name = Crewmembers
type = HasCrew
minCrew = 0
maxCrew = 0
title = Uncrewed
hideChildren = true
}
PARAMETER
{
name = HasComSatPayload
type = HasResource
resource = ComSatPayload
minQuantity = @/payload-0.1
title = Have a ComSatPayload of at least @/payload units on the craft
hideChildren = true
}
PARAMETER
{
name = Orbit
type = Orbit
minInclination = Round(Random(30, 31))
minPeA = Round(Random(700000, 1000000), 1000)
minApA = Round(Random(3000000, 10000000), 1000)
maxApA = Round(Random(10000000, 30000000), 1000)
disableOnStateChange = true
title = Achieve orbit within the parameters

PARAMETER
{
name = Duration
type = Duration

duration = 2m

preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
}
}

BEHAVIOUR
{
name = TransferVessel
type = DestroyVessel
onState = CONTRACT_SUCCESS
vessel = EarlyComSatellite
}

BEHAVIOUR
{
name = VesselDestroyed
type = DialogBox
DIALOG_BOX
{
title = Vessel Ownership Transferred
condition = CONTRACT_SUCCESS
position = CENTER
width = 0.5
TEXT
{
text = The contract has been completed successfully and the satellite has been transferred to the customer.
}
}
}
}
184 changes: 184 additions & 0 deletions GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
CONTRACT_TYPE
{
name = EarlyMolniyaSat
title = Molniya Communications Satellite (Early)
group = CommApp

description = <b>Program: Early Commercial Applications</b><br>Type: <color=blue>Optional</color></b><br><br>Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Some customers want satellites that dwell longer over the higher latitudes using Molniya orbits. Launch new communications satellites with the required specifications into the specified orbits.<br><br><b><color=yellow>NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.</color></b><b><color=white>Removal Condition: Completion of a Commercial Communications Satellite contract</color></b><br><br><b>The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;<b>Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyMolniya<br>Number of Contracts Completed: @index / unlimited</b>
genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.

synopsis = Launch a customer communication satellite into a Molniya orbit.

completedMessage = Success! The communications satellite was launched into the proper orbit. Your customer is very happy.

sortKey = 499

cancellable = true
declinable = true
autoAccept = false
minExpiry = 1
maxExpiry = 1
maxCompletions = 0
maxSimultaneous = 1
deadline = 0

targetBody = HomeWorld()


// ************ REWARDS ************
prestige = Trivial // 1.0x
advanceFunds = 0
rewardFunds = 0
rewardScience = 0
rewardReputation = Round(55 * Pow(@EarlyMolniya/Orbit/minPeA / 6000000, 0.5) * Pow((@EarlyMolniya/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
failureReputation = 0 // was @rewardReputation
failureFunds = 0

// ************ REQUIREMENTS ************

REQUIREMENT
{
name = ProgramActive
type = ProgramActive
program = EarlyCommApp
}

REQUIREMENT
{
name = CompleteContract
type = CompleteContract
contractType = FirstMolniyaSat-CA
title = Complete First Molniya Satellite contract
}

DATA
{
type = int
index = $EarlyMolniya_Count + 0
}

BEHAVIOUR
SierraHotel84 marked this conversation as resolved.
Show resolved Hide resolved
{
name = IncrementTheCount
type = Expression

CONTRACT_OFFERED
{
RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyMolniya * 86400) : ($RepeatSat_Completion + 0)
}
CONTRACT_COMPLETED_SUCCESS
{
EarlyMolniya_Count = $EarlyMolniya_Count + 1
RepeatSat_Completion = UniversalTime()
}
}

DATA
{
type = int
antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyMolniya * 86400) : $RepeatSat_Completion
}

DATA
{
type = float
elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyMolniya * 20 - 9, 1), 2) / 3.46
rewardFactorPercent = Round(@rewardFactor * 100, 1)
}

DATA
{
type = float
payload = Round(Random(150,500),1)
SierraHotel84 marked this conversation as resolved.
Show resolved Hide resolved
}

// ************ PARAMETERS ************

PARAMETER
{
name = EarlyMolniya
type = VesselParameterGroup
define = EarlyMolniyaSatellite
dissassociateVesselsOnContractCompletion = true
title = Molniya Satellite

PARAMETER
{
name = NewVessel
type = NewVessel
title = Launch a new vessel
hideChildren = true
}
PARAMETER
{
name = Crewmembers
type = HasCrew
minCrew = 0
maxCrew = 0
title = Uncrewed
hideChildren = true
}
PARAMETER
{
name = HasComSatPayload
type = HasResource
resource = ComSatPayload
minQuantity = @/payload-0.1
title = Have a ComSatPayload of at least @/payload units on the craft
hideChildren = true
}
PARAMETER
{
name = ReachOrbit
type = Orbit
title = Reach the correct orbit within the parameters. Note, the argument of periapsis values mean that the apogee needs to be high in the northern latitudes.
minInclination = 61.4
maxInclination = 65.4
minEccentricity = 0.7
minArgumentOfPeriapsis = 220
maxArgumentOfPeriapsis = 320
minPeA = 500000
minPeriod = 11h 56m 2s
maxPeriod = 12h 00m 2s
disableOnStateChange = true

PARAMETER
{
name = Duration
type = Duration

duration = 2m

preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
}
}

BEHAVIOUR
{
name = TransferVessel
type = DestroyVessel
onState = CONTRACT_SUCCESS
vessel = EarlyMolniyaSatellite
}

BEHAVIOUR
{
name = VesselDestroyed
type = DialogBox
DIALOG_BOX
{
title = Vessel Ownership Transferred
condition = CONTRACT_SUCCESS
position = CENTER
width = 0.5
TEXT
{
text = The contract has been completed successfully and the satellite has been transferred to the customer.
}
}
}
}
Loading