AntennaRange.cfg: Balance adjustments for the EVA transmitter.
AntennaRange.cfg: Balance adjustments for the EVA transmitter.

// AntennaRange // AntennaRange
// //
// AntennaRange.cfg // AntennaRange.cfg
// //
// Copyright © 2014, toadicus // Copyright © 2014, toadicus
// All rights reserved. // All rights reserved.
// //
// Redistribution and use in source and binary forms, with or without modification, // Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met: // are permitted provided that the following conditions are met:
// //
// 1. Redistributions of source code must retain the above copyright notice, // 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer. // this list of conditions and the following disclaimer.
// //
// 2. Redistributions in binary form must reproduce the above copyright notice, // 2. Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation and/or other // this list of conditions and the following disclaimer in the documentation and/or other
// materials provided with the distribution. // materials provided with the distribution.
// //
// 3. Neither the name of the copyright holder nor the names of its contributors may be used // 3. Neither the name of the copyright holder nor the names of its contributors may be used
// to endorse or promote products derived from this software without specific prior written permission. // to endorse or promote products derived from this software without specific prior written permission.
// //
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// //
// This software uses the ModuleManager library © 2013 ialdabaoth, used under a Creative Commons Attribution-ShareAlike // This software uses the ModuleManager library © 2013 ialdabaoth, used under a Creative Commons Attribution-ShareAlike
// 3.0 Uported License. // 3.0 Uported License.
// //
// Specifications: // Specifications:
// nominalRange: The distance from Kerbin at which the antenna will perform exactly as prescribed by // nominalRange: The distance from Kerbin at which the antenna will perform exactly as prescribed by
// packetResourceCost and packetSize. // packetResourceCost and packetSize.
// maxPowerFactor: The multiplier on packetResourceCost that defines the maximum power output of the antenna. When the // maxPowerFactor: The multiplier on packetResourceCost that defines the maximum power output of the antenna. When the
// power cost exceeds packetResourceCost * maxPowerFactor, transmission will fail. // power cost exceeds packetResourceCost * maxPowerFactor, transmission will fail.
// maxDataFactor: The multipler on packetSize that defines the maximum data bandwidth of the antenna. // maxDataFactor: The multipler on packetSize that defines the maximum data bandwidth of the antenna.
// //
   
@PART[longAntenna]:FOR[AntennaRange]:NEEDS[!RemoteTech2] @PART[longAntenna]:FOR[AntennaRange]:NEEDS[!RemoteTech2]
{ {
@MODULE[ModuleDataTransmitter] @MODULE[ModuleDataTransmitter]
{ {
@name = ModuleLimitedDataTransmitter @name = ModuleLimitedDataTransmitter
nominalRange = 1500000 nominalRange = 1500000
maxPowerFactor = 8 maxPowerFactor = 8
maxDataFactor = 4 maxDataFactor = 4
} }
   
MODULE MODULE
{ {
name = ModuleScienceContainer name = ModuleScienceContainer
   
dataIsCollectable = true dataIsCollectable = true
dataIsStorable = false dataIsStorable = false
   
storageRange = 2 storageRange = 2
} }
} }
   
@PART[mediumDishAntenna]:FOR[AntennaRange]:NEEDS[!RemoteTech2] @PART[mediumDishAntenna]:FOR[AntennaRange]:NEEDS[!RemoteTech2]
{ {
@MODULE[ModuleDataTransmitter] @MODULE[ModuleDataTransmitter]
{ {
@name = ModuleLimitedDataTransmitter @name = ModuleLimitedDataTransmitter
nominalRange = 30000000 nominalRange = 30000000
maxPowerFactor = 8 maxPowerFactor = 8
maxDataFactor = 4 maxDataFactor = 4
} }
   
MODULE MODULE
{ {
name = ModuleScienceContainer name = ModuleScienceContainer
   
dataIsCollectable = true dataIsCollectable = true
dataIsStorable = false dataIsStorable = false
   
storageRange = 2 storageRange = 2
} }
} }
   
@PART[commDish]:FOR[AntennaRange]:NEEDS[!RemoteTech2] @PART[commDish]:FOR[AntennaRange]:NEEDS[!RemoteTech2]
{ {
@MODULE[ModuleDataTransmitter] @MODULE[ModuleDataTransmitter]
{ {
@name = ModuleLimitedDataTransmitter @name = ModuleLimitedDataTransmitter
nominalRange = 80000000000 nominalRange = 80000000000
maxPowerFactor = 8 maxPowerFactor = 8
maxDataFactor = 4 maxDataFactor = 4
} }
   
MODULE MODULE
{ {
name = ModuleScienceContainer name = ModuleScienceContainer
   
dataIsCollectable = true dataIsCollectable = true
dataIsStorable = false dataIsStorable = false
   
storageRange = 2 storageRange = 2
} }
} }
   
EVA_MODULE EVA_MODULE
{ {
name = ModuleLimitedDataTransmitter name = ModuleLimitedDataTransmitter
   
nominalRange = 5000 nominalRange = 5000
maxPowerFactor = 8 maxPowerFactor = 1
maxDataFactor = 4 maxDataFactor = 1
   
packetInterval = 0.5 packetInterval = 0.2
packetSize = 2 packetSize = 1
packetResourceCost = .1 packetResourceCost = 6.25
   
requiredResource = ElectricCharge requiredResource = ElectricCharge
} }
   
EVA_RESOURCE EVA_RESOURCE
{ {
name = ElectricCharge name = ElectricCharge
amount = 100 amount = 100
maxAmount = 100 maxAmount = 100
} }
   
@EVA_RESOURCE[ElectricCharge]:AFTER[AntennaRange]:NEEDS[TacLifeSupport] @EVA_RESOURCE[ElectricCharge]:AFTER[AntennaRange]:NEEDS[TacLifeSupport]
{ {
!name = DELETE !name = DELETE
} }
   
@SUBCATEGORY[*]:HAS[#title[Data?Transmitter]]:FOR[AntennaRange:]NEEDS[FilterExtensions] @SUBCATEGORY[*]:HAS[#title[Data?Transmitter]]:FOR[AntennaRange:]NEEDS[FilterExtensions]
{ {
FILTER FILTER
{ {
CHECK CHECK
{ {
type = moduleName type = moduleName
value = ModuleLimitedDataTransmitter value = ModuleLimitedDataTransmitter
} }
} }
} }