Skip to content

Commit

Permalink
RemoteTech generic reliability and planner patches (#152)
Browse files Browse the repository at this point in the history
* Improved RemoteTech support

planner, reliability, signal, antenna EC consumption and a few tab intends

* tab intend

* save these for later ...

When hopefully also the ModuleRTAntennaPassive will be recognized by the planner and can break.

* ModuleRTAntennaPassive  is in the src, so ...

And I corrected a mistake about omni vs. dish

* stricter patching

* some necessary HAS checks
  • Loading branch information
Gordon-Dry authored and steamport committed Jul 21, 2018
1 parent 69f4845 commit 0564b47
Show file tree
Hide file tree
Showing 5 changed files with 346 additions and 136 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

### Changes since the last release

* Improved RemoteTech support (planner, reliability, signal, antenna EC consumption) (Gordon Dry)
* Chemical Plant and ECLSS parts are now surface attachable, ECLSS part capacity increased to support 3 crew (PiezPiedPy)
* Added support for ConfigurableContainers, they now have 6 additional tank configs:
KerbalismSupplies (Food, Water) - KerbalismBreathing (Oxygen, Nitrogen)
Expand Down
333 changes: 271 additions & 62 deletions GameData/Kerbalism/Support/RemoteTech.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -4,95 +4,304 @@
// Kerbalism's Communotron 8
@PART[kerbalism-antenna]:NEEDS[RemoteTech]:FOR[Kerbalism]
{
!MODULE[ModuleDataTransmitter] {}
!MODULE[ModuleDataTransmitter] {}
%MODULE[ModuleRTAntenna] {
%Mode0OmniRange = 0
%Mode1OmniRange = 1750000
%EnergyCost = 0.125
%MaxQ = 3000
%MODULE[ModuleRTAntenna] {
%Mode0OmniRange = 0
%Mode1OmniRange = 1750000
%EnergyCost = 0.125
%MaxQ = 3000
%TRANSMITTER
{
%PacketInterval = 0.3
%PacketSize = 1
%PacketResourceCost = 7.0
}
}
%TRANSMITTER
{
%PacketInterval = 0.3
%PacketSize = 1
%PacketResourceCost = 7.0
}
}
%MODULE[ModuleSPUPassive] {}
%MODULE[ModuleSPUPassive] {}
}
@PART[RTShort*]:FOR[Kerbalism]
{
MODULE
{
name = PlannerController
title = transmitter
}
MODULE
{
name = PlannerController
title = transmitter
}
}
@PART[RTShort*]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = true
mtbf = 72576000 // 8y
extra_cost = 1.2
extra_mass = 0.1
}
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = true
mtbf = 72576000 // 8y
extra_cost = 1.2
extra_mass = 0.1
}
}
@PART[RTLong*]:FOR[Kerbalism]
{
MODULE
{
name = PlannerController
title = transmitter
}
MODULE
{
name = PlannerController
title = transmitter
}
}
@PART[RTLong*]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 1.5
extra_mass = 0.4
}
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 1.5
extra_mass = 0.4
}
}
@PART[RTGiga*]:FOR[Kerbalism]
{
MODULE
{
name = PlannerController
title = transmitter
}
MODULE
{
name = PlannerController
title = transmitter
}
}
@PART[RTGiga*]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 3.2
extra_mass = 0.5
}
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 3.2
extra_mass = 0.5
}
}
// generic patches
@PART[*]:HAS[@MODULE[ModuleRTAntenna],!MODULE[PlannerController]:HAS[#title[transmitter]]]:NEEDS[RemoteTech]:AFTER[zzzKerbalism]
{
MODULE
{
name = PlannerController
title = transmitter
considered = true
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive],!MODULE[PlannerController]:HAS[#title[transmitter]]]:NEEDS[RemoteTech]:AFTER[zzzKerbalism]
{
MODULE
{
name = PlannerController
title = transmitter
considered = true
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntenna],!MODULE[Reliability]:HAS[#type[Antenna]],!MODULE[ModuleCommand],#CrewCapacity[<1]]:NEEDS[FeatureReliability,RemoteTech]:AFTER[zzzKerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 1.0
extra_mass = 0.1
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive],!MODULE[Reliability]:HAS[#type[Antenna]],!MODULE[ModuleCommand],#CrewCapacity[<1]]:NEEDS[FeatureReliability,RemoteTech]:AFTER[zzzKerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 1.0
extra_mass = 0.1
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntenna],!MODULE[Reliability]:HAS[#type[Antenna]],!MODULE[ModuleCommand],~CrewCapacity[]]:NEEDS[FeatureReliability,RemoteTech]:AFTER[zzzKerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 1.0
extra_mass = 0.1
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive],!MODULE[Reliability]:HAS[#type[Antenna]],!MODULE[ModuleCommand],~CrewCapacity[]]:NEEDS[FeatureReliability,RemoteTech]:AFTER[zzzKerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 1.0
extra_mass = 0.1
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntenna],!MODULE[Reliability]:HAS[#type[Antenna]],@MODULE[ModuleCommand],#CrewCapacity[<1]]:NEEDS[FeatureReliability,RemoteTech]:AFTER[zzzKerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 0.5
extra_mass = 0.01
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive],!MODULE[Reliability]:HAS[#type[Antenna]],@MODULE[ModuleCommand],#CrewCapacity[<1]]:NEEDS[FeatureReliability,RemoteTech]:AFTER[zzzKerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 0.5
extra_mass = 0.01
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntenna],!MODULE[Reliability]:HAS[#type[Antenna]],@MODULE[ModuleCommand],~CrewCapacity[]]:NEEDS[FeatureReliability,RemoteTech]:AFTER[zzzKerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 0.5
extra_mass = 0.01
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive],!MODULE[Reliability]:HAS[#type[Antenna]],@MODULE[ModuleCommand],~CrewCapacity[]]:NEEDS[FeatureReliability,RemoteTech]:AFTER[zzzKerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 0.5
extra_mass = 0.01
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntenna],!MODULE[Reliability]:HAS[#type[Antenna]],@MODULE[ModuleCommand],#CrewCapacity[>0]]:NEEDS[FeatureReliability,RemoteTech]:AFTER[zzzKerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 0.05
extra_mass = 0.001
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive],!MODULE[Reliability]:HAS[#type[Antenna]],@MODULE[ModuleCommand],#CrewCapacity[>0]]:NEEDS[FeatureReliability,RemoteTech]:AFTER[zzzKerbalism]
{
MODULE
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = Engineer
mtbf = 72576000 // 8y
extra_cost = 0.05
extra_mass = 0.001
}
}
// ============================================================================
// Reduce EC consumption
// ============================================================================
@PART[*]:HAS[@MODULE[ModuleRTAntenna]]:NEEDS[RemoteTech]:AFTER[zzzKerbalism]
{
@MODULE[ModuleRTAntenna]:HAS[~DishAngle[],#Mode1OmniRange[>0]] // omni
{
@EnergyCost /= 1000
@TRANSMITTER
{
@PacketResourceCost /= 1000
}
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntenna]]:NEEDS[RemoteTech]:AFTER[zzzKerbalism]
{
@MODULE[ModuleRTAntenna]:HAS[#DishAngle[>0],#Mode1DishRange[>0]] // dish
{
@EnergyCost /= 500
@TRANSMITTER
{
@PacketResourceCost /= 500
}
}
}
@PART[*]:HAS[@MODULE[ModuleRTAntennaPassive]]:NEEDS[RemoteTech]:AFTER[zzzKerbalism]
{
@MODULE[ModuleRTAntennaPassive] // probe core internal antenna
{
@TRANSMITTER
{
@PacketResourceCost /= 1000
}
}
}
2 changes: 1 addition & 1 deletion GameData/Kerbalism/System/Planner.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
}


@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[~antennaType[INTERNAL]]]:AFTER[Kerbalism]
@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[~antennaType[INTERNAL]]]:NEEDS[!RemoteTech]:AFTER[Kerbalism]
{
MODULE
{
Expand Down

0 comments on commit 0564b47

Please sign in to comment.