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

RP-1 Contract Satellites #2249

Merged
merged 1 commit into from
Sep 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 3 additions & 3 deletions GameData/RP-1/Contracts/Earth Satellites/FirstWeatherSat.cfg
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, just popping in because I'm curious about this. Why would you replace the payload for the weather sat contract with navsat payload? Have I misinterpreted this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because there are two lines of models, so there have to be 2 resources. :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uh... I'm not really sure what that means. Do you mind explaining that to an idiot?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. This PR adds a part that contains ComSatPayload and a set of models for that part
  2. This PR adds a part that contains NavSatPayload and a set of models for that part
  3. We had 3 sat payload resources.
  4. There are now only two supported ways put resources on your craft: one that puts ComSatPayload on (1) and one that puts NavSatPayload on (2)
  5. So we need to have only 2 payload resources in contracts.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ok that makes sense, thank you. How come we don't have a part for weather sat though? Is it really that similar to navsat payload?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's just a practical matter. There was only one non-repeatable weather sat contract and making new models is time consuming. We specifically wanted to have dedicated parts and models for each payload type, with several tech looks to choose from. Weather sats may reappear in the future.

Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,11 @@ CONTRACT_TYPE
}
PARAMETER
{
name = HasWeatherSatPayload
name = HasNavSatPayload
type = HasResource
resource = WeatherSatPayload
resource = NavSatPayload
minQuantity = @/payload-0.1
title = Have a WeatherSatPayload of at least @/payload units on the craft
title = Have a NavSatPayload of at least @/payload units on the craft
hideChildren = true
}
PARAMETER
Expand Down
28 changes: 2 additions & 26 deletions GameData/RP-1/Contracts/RP0_Contract_Resources.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ RESOURCE_DEFINITION
RESOURCE_DEFINITION
{
name = ComSatPayload
density = 0.0008
density = 0.0
unitCost = 0.0
flowMode = NO_FLOW
transfer = NONE
Expand All @@ -37,7 +37,7 @@ RESOURCE_DEFINITION
RESOURCE_DEFINITION
{
name = NavSatPayload
density = 0.00012
density = 0.0
unitCost = 0.0
flowMode = NO_FLOW
transfer = NONE
Expand All @@ -59,30 +59,6 @@ RESOURCE_DEFINITION
{
-addPayload = DEL
TANK
{
name = ComSatPayload
utilization = 1
fillable = True
amount = 0.0
maxAmount = 0.0
}
TANK
{
name = WeatherSatPayload
utilization = 1
fillable = True
amount = 0.0
maxAmount = 0.0
}
TANK
{
name = NavSatPayload
utilization = 1
fillable = True
amount = 0.0
maxAmount = 0.0
}
TANK
{
name = SoundingPayload
utilization = 1
Expand Down
2 changes: 1 addition & 1 deletion GameData/RP-1/Localization/en-us.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@
#rp0_loading_tip_050 = Making minor changes (+/- 4%) to tank diameter or length without needing new tooling...
#rp0_loading_tip_051 = Using tooled parts to speed up integration times...
#rp0_loading_tip_052 = Placing sounding rocket payload in a high-pressure fuel tank...
#rp0_loading_tip_053 = Checking Service Modules for the correct Comsat, Navsat, or Weathersat payload...
#rp0_loading_tip_053 = Using dedicated communication and navigation satellite parts for contracts...
#rp0_loading_tip_054 = Using high pressure HP tanks for pressure-fed engines...
#rp0_loading_tip_055 = Adding MLI to tanks with cryogenic propellants...
#rp0_loading_tip_056 = Ensuring launch complex is configured to handle intended propellants...
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added GameData/RP-1/Parts/ContractSat/Assets/Molniya.mu
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added GameData/RP-1/Parts/ContractSat/Assets/Syncom.mu
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added GameData/RP-1/Parts/ContractSat/Assets/tex_01.dds
Binary file not shown.
Binary file not shown.
Binary file not shown.
211 changes: 211 additions & 0 deletions GameData/RP-1/Parts/ContractSat/CommunicationSat.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,211 @@
// ===========================================================================
// All work here was originally from Shadowmage and SSTU. I have adapted their
// work to be more usable for our purposes in RP-1, but all credit
// should be given to Shadowmage for the great work!
// ===========================================================================

PART:NEEDS[ROLib]
{
module = Part
name = RP-1-CommunicationSat
author = Shadowmage, Pap, itsRyan

MODEL
{
model = ROLib/Assets/EmptyProxyModel
}

scale = 1.0
rescaleFactor = 1.0

attachRules = 1,1,1,1,0

// ============================================================================
// Title, Description, Category, Techs
// ============================================================================

title = Communication Contract Satellite
manufacturer = Generic
description = A resizable satellite to be used for communication contract payload <b><color=green>From RP-1 mod</color></b>
tags = avionics, tank, core

mass = 1.0

category = Pods
TechRequired = unlockParts
cost = 1
entryCost = 1
vesselType = Probe

// ============================================================================
// DO NOT CHANGE (Normally)
// ============================================================================

maxTemp = 500
skinMaxTemp = 500
crashTolerance = 6
breakingForce = 150
breakingTorque = 250
fuelCrossFeed = true
subcategory = 0
emissiveConstant = 0.85
thermalMassModifier = 1.0
skinMassPerArea = 2.0
buoyancy = 0.95

RSSROConfig = True
TechRequired = unlockParts
RP0conf = True

// ============================================================================
// Modules and Resources
// ============================================================================

MODULE
{
name = ModuleROTank

// Dimension Settings
diameterLargeStep = 1.0
diameterSmallStep = 0.1
diameterSlideStep = 0.001
minDiameter = 0.1
maxDiameter = 50.0
minLength = 0.1
maxLength = 50.0

// Adapter Settings
useAdapterMass = false
useAdapterCost = false

// Attach Node Settings
topNodeName = none
bottomNodeName = none
noseNodeNames = none
coreManagedNodes = topInner, bottomInner
mountNodeNames = none
topInterstageNodeName = none
bottomInterstageNodeName = none

// Fairing Settings
topFairingIndex = -1
bottomFairingIndex = -1

// Default Values
currentDiameter = 2.0
currentLength = 2.0
currentVariant = Communication
currentNose = Model-None
currentCore = ROLib-Eurostar
currentMount = Model-None
currentNoseTexture = default
currentCoreTexture = default
currentMountTexture = default

// Model Handling
lengthWidth = false
validateNose = false
validateMount = false

CORE
{
variant = Communication
model = ROLib-Eurostar
model = ROLib-Syncom
model = ROLib-Molniya
}

NOSE
{
model = Model-None
}

MOUNT
{
model = Model-None
}
}

MODULE
{
name = ModuleROPayload
animationName = NlaTrack
extendActionName = #autoLOC_6001333 //#autoLOC_6001333 = Deploy
retractActionName = #autoLOC_6001339 //#autoLOC_6001339 = Retract
sunTracking = true
raycastTransformName = SunPivot
pivotName = SunPivot
resourceName = ElectricCharge
chargeRate = 0
}

MODULE
{
name = ModuleCommand
minimumCrew = 0

RESOURCE
{
name = ElectricCharge
amount = 1
maxAmount = 1
}
}

MODULE
{
name = ModuleToggleCrossfeed
toggleFlight = true
toggleEditor = true
crossfeedStatus = true
}

MODULE
{
name = SSTURecolorGUI
}

MODULE
{
name = ModuleFuelTanks
volume = 2250
utilizationTweakable = true
maxUtilization = 100
utilization = 100
type = ComSat-I
typeAvailable = ComSat-I
TANK
{
name = ComSatPayload
amount = 100%
maxAmount = 100%
}
UPGRADES
{
UPGRADE
{
name__ = RFTech-ComSat-II
description__ = You can now use level II Communication equpipment containers
IsAdditiveUpgrade__ = true
typeAvailable = ComSat-II
}
UPGRADE
{
name__ = RFTech-ComSat-III
description__ = You can now use level III Communication equpipment containers
IsAdditiveUpgrade__ = true
typeAvailable = ComSat-III
}
}
}
}

@PART[RP-1-CommunicationSat]:NEEDS[RealAntennas]
{
%MODULE[ModuleRealAntenna] {
%referenceGain = 1.5
%_enabled = False
}

}

112 changes: 112 additions & 0 deletions GameData/RP-1/Parts/ContractSat/ContractSatTanks.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
TANK_DEFINITION
{
name = ComSat-I
highlyPressurized = True
basemass = 0.00004 * volume
baseCost = 0.0 * volume
maxUtilization = 25
defaultMass = 0.00016

TANK
{
name = ComSatPayload
mass = 0.008
cost = 0
utilization = 1
}
}

TANK_DEFINITION
{
name = ComSat-II
highlyPressurized = True
basemass = 0.00003 * volume
baseCost = 0.0 * volume
maxUtilization = 37.5
defaultMass = 0.00016

TANK
{
name = ComSatPayload
mass = 0.00533333
cost = 0
utilization = 1
}
}

TANK_DEFINITION
{
name = ComSat-III
highlyPressurized = True
basemass = 0.00002 * volume
baseCost = 0.0 * volume
maxUtilization = 56.25
defaultMass = 0.00016

TANK
{
name = ComSatPayload
mass = 0.00355555
cost = 0
utilization = 1
}
}

TANK_DEFINITION
{
name = NavSat-I
highlyPressurized = True
basemass = 0.00004 * volume
baseCost = 0.0 * volume
maxUtilization = 25
defaultMass = 0.00016

TANK
{
name = NavSatPayload
mass = 0.00012
cost = 0
utilization = 1
}
}

TANK_DEFINITION
{
name = NavSat-II
highlyPressurized = True
basemass = 0.00003 * volume
baseCost = 0.0 * volume
maxUtilization = 37.5
defaultMass = 0.00016

TANK
{
name = NavSatPayload
mass = 0.00533333
cost = 0
utilization = 1
}
}

TANK_DEFINITION
{
name = NavSat-III
highlyPressurized = True
basemass = 0.00002 * volume
baseCost = 0.0 * volume
maxUtilization = 56.25
defaultMass = 0.00016

TANK
{
name = NavSatPayload
mass = 0.00355555
cost = 0
utilization = 1
}
}

@PARTUPGRADE[RFTech-SM-*]:AFTER[RealismOverhaul]
{
@description ^= :Satellite Payload, :Propellants, :
}
Loading