Skip to content

Commit

Permalink
Split 3/4 commsat contracts for Kerbin.
Browse files Browse the repository at this point in the history
  • Loading branch information
jrossignol committed May 25, 2015
1 parent f4f8e0a commit c1fb8c2
Show file tree
Hide file tree
Showing 3 changed files with 309 additions and 122 deletions.
1 change: 1 addition & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
ContractPack-RemoteTech 1.1.4
- Split three and four commsat versions of Kerbin contract up.
- Fixed location of waypoint in KerbolSat contract (thanks Addesso).

ContractPack-RemoteTech 1.1.3
Expand Down
140 changes: 18 additions & 122 deletions GameData/ContractPacks/RemoteTech/KerbinRelay.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ CONTRACT_TYPE:NEEDS[RemoteTech]
{
name = RT_KerbinRelay

title = RemoteTech: Create a Kerbin communication network.
title = RemoteTech: Create a Kerbin communication network (3 satellites).
description = Mission control is tired of losing vessels and probes over the horizon, since they are rarely heard from again. We need to find a way to stay in constant communication if we have any hope of truly exploring the Mun and beyond.
synopsis = Build a communication network that can reach Minmus and has continuous connectivity to mission control.
synopsis = Build a communication network with three commsats that can reach Minmus and has continuous connectivity to mission control.
completedMessage = The network is up and transmitting, and our shake-out testing is complete!

notes = A three satellite network must have a minimum periapsis of @/ThreeOrFourSats/CommSat3to1/Orbit/minPeA.Print() m, whereas a four satellite network must have a minimum periapsis of @/CommSat1/Orbit/minPeA.Print() m. Note that these are the bare minimum numbers to have visibility, it is recommended to use higher orbits to give a larger margin of error.
notes = A three satellite network must have a minimum periapsis of @/CommSat1/Orbit/minPeA.Print() m. Note that this is the bare minimum numbers to have visibility, it is recommended to use higher orbits to give a larger margin of error.\n\nAlso, make sure to only accept either the three or four satellite version of this contract (it's impossible to complete both).
group = RemoteTech
Expand Down Expand Up @@ -63,21 +63,13 @@ CONTRACT_TYPE:NEEDS[RemoteTech]
vessel = CommSat III
}
PARAMETER
{
name = IsNotVessel
type = IsNotVessel

vessel = CommSat IV
}

PARAMETER
{
name = Orbit
type = Orbit
// Minimum distance to have line of sight for 4 satellites for Kerbin.
minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
// Minimum distance to have line of sight for 3 satellites for Kerbin.
minPeA = @/targetBody.Radius()
// Pretty close to circular
maxEccentricity = 0.004
Expand Down Expand Up @@ -111,14 +103,6 @@ CONTRACT_TYPE:NEEDS[RemoteTech]
vessel = CommSat III
}
PARAMETER
{
name = IsNotVessel
type = IsNotVessel

vessel = CommSat IV
}

PARAMETER
{
name = KSCConnectivity
Expand All @@ -130,8 +114,8 @@ CONTRACT_TYPE:NEEDS[RemoteTech]
name = Orbit
type = Orbit
// Minimum distance to have line of sight for 4 satellites for Kerbin.
minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
// Minimum distance to have line of sight for 3 satellites for Kerbin.
minPeA = @/targetBody.Radius()
// Pretty close to circular
maxEccentricity = 0.004
Expand Down Expand Up @@ -165,14 +149,6 @@ CONTRACT_TYPE:NEEDS[RemoteTech]
vessel = CommSat II
}
PARAMETER
{
name = IsNotVessel
type = IsNotVessel

vessel = CommSat IV
}

PARAMETER
{
name = KSCConnectivity
Expand All @@ -184,8 +160,8 @@ CONTRACT_TYPE:NEEDS[RemoteTech]
name = Orbit
type = Orbit
// Minimum distance to have line of sight for 4 satellites for Kerbin.
minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
// Minimum distance to have line of sight for 3 satellites for Kerbin.
minPeA = @/targetBody.Radius()
// Pretty close to circular
maxEccentricity = 0.004
Expand All @@ -195,95 +171,6 @@ CONTRACT_TYPE:NEEDS[RemoteTech]
}
}
PARAMETER
{
name = ThreeOrFourSats
type = Any

PARAMETER
{
name = CommSat3to1
type = VesselParameterGroup
vessel = CommSat III

PARAMETER
{
name = VesselConnectivity
type = VesselConnectivity

vessel = CommSat I
}

PARAMETER
{
name = Orbit
type = Orbit

// Minimum distance to have line of sight for 3 satellites for Kerbin.
minPeA = @/targetBody.Radius()
}
}

PARAMETER
{
name = CommSat4
type = VesselParameterGroup

define = CommSat IV
disableOnStateChange = false

// Add an extra 1/3 to the rewards for doing it this way
rewardScience = @/rewardScience / 3.0
rewardReputation = @/rewardReputation / 3.0
rewardFunds = @/rewardFunds / 3.0

PARAMETER
{
name = VesselConnectivity
type = VesselConnectivity

vessel = CommSat I
}

PARAMETER
{
name = IsNotVessel
type = IsNotVessel

vessel = CommSat II
}

PARAMETER
{
name = VesselConnectivity
type = VesselConnectivity

vessel = CommSat III
}

PARAMETER
{
name = KSCConnectivity
type = KSCConnectivity
}

PARAMETER
{
name = Orbit
type = Orbit

// Minimum distance to have line of sight for 4 satellites for Kerbin.
minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097

// Pretty close to circular
maxEccentricity = 0.004

// Pretty close to equatorial
maxInclination = 1
}
}
}

PARAMETER
{
name = Duration
Expand Down Expand Up @@ -313,4 +200,13 @@ CONTRACT_TYPE:NEEDS[RemoteTech]
partModuleType = Antenna
partModuleType = Power
}
REQUIREMENT
{
name = CompleteContract
type = CompleteContract
invertRequirement = true
contractType = RT_KerbinRelay_4sat
}
}
Loading

0 comments on commit c1fb8c2

Please sign in to comment.