// Starwaster's version 2.0 of KSO's DREC config. // Removes existing PartModule ModuleHeatShield and removes AblativeShielding resource. @PART[thrustmaxkso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1800 @MODULE[ModuleEnginesFX] { @heatProduction = 215 } } @PART[boosterkso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 2520 @MODULE[ModuleEnginesFX] { @heatProduction = 250 } } @PART[omskso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 2220 @MODULE[ModuleEngines] { @heatProduction = 150 } } @PART[avionicskso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1450 } @PART[tailrudderkso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1450 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 0, 0 // 360 degree protection reflective = 0.05 // 25% of heat is ignored at correct angle } } @PART[KSO_Cabin]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1500 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 1, 1 // underside of fuselage reflective = 0.25 // 25% of heat is ignored at correct angle } } @PART[cgholdkso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1500 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 1, 1 // underside of fuselage reflective = 0.25 // 25% of heat is ignored at correct angle } } @PART[rearkso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1500 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 1, 1 // underside of fuselage reflective = 0.25 // 25% of heat is ignored at correct angle } } @PART[leftwingkso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1500 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 1, 1 // underside of fuselage reflective = 0.25 // 25% of heat is ignored at correct angle } } @PART[rightwingkso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1500 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 1, 1 // underside of fuselage reflective = 0.25 // 25% of heat is ignored at correct angle } } @PART[noseconekso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1500 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 1, 1 // underside of fuselage reflective = 0.25 // 25% of heat is ignored at correct angle } } @PART[nosegearkso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1500 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 1, 1 // underside of fuselage reflective = 0.25 // 25% of heat is ignored at correct angle } } @PART[rightgearkso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1500 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 1, 1 // underside of fuselage reflective = 0.25 // 25% of heat is ignored at correct angle } } @PART[leftgearkso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1500 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 1, 1 // underside of fuselage reflective = 0.25 // 25% of heat is ignored at correct angle } } @PART[rearplanekso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1500 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 1, 1 // underside of fuselage reflective = 0.25 // 25% of heat is ignored at correct angle } } PART[leftelevkso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1500 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 1, 1 // underside of fuselage reflective = 0.25 // 25% of heat is ignored at correct angle } } PART[rightelevkso]:NEEDS[DeadlyReentry]:FINAL { @maxTemp = 1500 !MODULE[ModuleHeatShield]{} !RESOURCE[AblativeShielding]{} MODULE { name = ModuleHeatShield direction = 0, 1, 1 // underside of fuselage reflective = 0.25 // 25% of heat is ignored at correct angle } } // Deadly Reentry configuration for KSO 25 by Starwaster // Uses reflective only; no ablative shield. // RSS version reverts to resource based shield but it is massless and reflects the capacity of the shield to absorb heat. // Separate entries for Real Solar System installations (increased shielding) RESOURCE_DEFINITION:NEEDS[RealSolarSystem] { name = HeatCapacity density = 0.0 flowMode = NO_FLOW transfer = NONE isTweakable = False } @PART[super25enginekso]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { @maxTemp = 2424 @MODULE[ModuleEnginesFX] { @heatProduction = 215 } } @PART[super25boosterkso]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { @maxTemp = 2520 @MODULE[ModuleEnginesFX] { @heatProduction = 250 } } @PART[super25rudderkso]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { @maxTemp = 1500 MODULE { name = ModuleHeatShield ablative = HeatCapacity direction:NEEDS[!RealSolarSystem] = 0, 0, 0 // omnidirectional light shielding direction:NEEDS[RealSolarSystem] = 0, 1, 0 // forward standard shielding (only when playing Real Solar System mod) reflective:NEEDS[RealSolarSystem] = 1.8 // 180% of heat is ignored at correct angle (no, seriously. You have NO idea until you've attempted this in RSS with FAR) reflective:NEEDS[!RealSolarSystem] = 0.05 // 5% of heat is ignored at correct angle //adjustCollider = -0.015 loss:NEEDS[RealSolarSystem] { key = 650 0 0 0 // start ablating at 650 degrees C key = 2000 1000 0 0 // peak ablation at 2000 degrees C key = 6000 2000 0 0 // max ablation at 6000 degrees C } dissipation:NEEDS[RealSolarSystem] { // dissipation is based on the part's current temperature key = 300 0 0 0 // begin dissipating at 300 degrees C key = 800 250 0 0 // maximum dissipation at 500 degrees C } } RESOURCE:NEEDS[RealSolarSystem] { name = HeatCapacity amount = 3000 maxAmount = 3000 } MODULE:NEEDS[RealSolarSystem] { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = HeatCapacity rate = 0.2 } } } @PART[KSO25_Cabin]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { @maxTemp = 1500 MODULE { name = ModuleHeatShield ablative = HeatCapacity direction = 0, 1, 1 // 45 degrees forward = maximum protection. This rewards proper spaceplane reentry and punishes improper angles reflective:NEEDS[RealSolarSystem] = 0.90 // 60% of heat is ignored at correct angle reflective:NEEDS[!RealSolarSystem] = 0.25 // 25% of heat is ignored at correct angle } loss:NEEDS[RealSolarSystem] { key = 650 0 0 0 key = 2000 1000 0 0 key = 6000 3000 0 0 } dissipation:NEEDS[RealSolarSystem] { // dissipation is based on the part's current temperature key = 300 0 0 0 // begin dissipating at 300 degrees C key = 800 250 0 0 // maximum dissipation at 500 degrees C } RESOURCE:NEEDS[RealSolarSystem] { name = HeatCapacity amount = 3000 maxAmount = 3000 } MODULE:NEEDS[RealSolarSystem] { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = HeatCapacity rate = 0.2 } } } @PART[super25wingLkso]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { @maxTemp = 1500 MODULE { name = ModuleHeatShield ablative = HeatCapacity direction = 0, 1, 1 // 45 degrees forward = maximum protection. This rewards proper spaceplane reentry and punishes improper angles reflective:NEEDS[RealSolarSystem] = 1.8 // 180% of heat is ignored at correct angle (no, seriously. You have NO idea until you've attempted this in RSS with FAR) reflective:NEEDS[!RealSolarSystem] = 0.25 // 25% of heat is ignored at correct angle adjustCollider = 0.015 // Compensate for protrusion into fuselage. } loss:NEEDS[RealSolarSystem] { key = 650 0 0 0 key = 2000 1000 0 0 key = 6000 3000 0 0 } dissipation:NEEDS[RealSolarSystem] { // dissipation is based on the part's current temperature key = 300 0 0.9 0.9 key = 500 180 2.25 2.25 key = 800 360 3.6 3.6 } RESOURCE:NEEDS[RealSolarSystem] { name = HeatCapacity amount = 3000 maxAmount = 3000 } MODULE:NEEDS[RealSolarSystem] { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = HeatCapacity rate = 0.2 } } } @PART[super25wingRkso]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { @maxTemp = 1500 MODULE { name = ModuleHeatShield ablative = HeatCapacity direction = 0, 1, 1 // 45 degrees forward = maximum protection. This rewards proper spaceplane reentry and punishes improper angles reflective:NEEDS[RealSolarSystem] = 1.8 // 180% of heat is ignored at correct angle (no, seriously. You have NO idea until you've attempted this in RSS with FAR) reflective:NEEDS[!RealSolarSystem] = 0.25 // 25% of heat is ignored at correct angle } loss:NEEDS[RealSolarSystem] { key = 650 0 0 0 key = 2000 1000 0 0 key = 6000 3000 0 0 } dissipation:NEEDS[RealSolarSystem] { // dissipation is based on the part's current temperature key = 300 0 0.9 0.9 key = 500 180 2.25 2.25 key = 800 360 3.6 3.6 } RESOURCE:NEEDS[RealSolarSystem] { name = HeatCapacity amount = 3000 maxAmount = 3000 } MODULE:NEEDS[RealSolarSystem] { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = HeatCapacity rate = 0.2 } } } @PART[super25nosekso]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { // Because of the geometry involved, this part takes much more heat while shielding the fuselage (!!!) // Apparently not an issue with stock game. // Real Solar System involves three times as much heating so we handle things a bit different. Beef up protection alot more and shift vector forward more. @maxTemp:NEEDS[!RealSolarSystem] = 1500 @maxTemp:NEEDS[RealSolarSystem] = 1700 MODULE { name = ModuleHeatShield ablative = HeatCapacity direction:NEEDS[!RealSolarSystem] = 0, 1, 0 // Forward focus direction:NEEDS[RealSolarSystem] = 0, 1, 0 // forward standard shielding (only when playing Real Solar System mod) reflective:NEEDS[RealSolarSystem] = 0.95 reflective:NEEDS[!RealSolarSystem] = 0.5 // Double when full forward; at 45 deg reentry angle receives standard 25% } loss:NEEDS[RealSolarSystem] { key = 650 0 0 0 key = 2000 1000 0 0 key = 6000 4000 0 0 } dissipation:NEEDS[RealSolarSystem] { // dissipation is based on the part's current temperature key = 300 0 0 0 // begin dissipating at 300 degrees C key = 800 300 0 0 // maximum dissipation at 500 degrees C } RESOURCE:NEEDS[RealSolarSystem] { name = HeatCapacity amount = 3000 maxAmount = 3000 } MODULE:NEEDS[RealSolarSystem] { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = HeatCapacity rate = 0.2 } } } @PART[super25nosegearkso]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { @maxTemp = 1500 MODULE { name = ModuleHeatShield ablative = HeatCapacity direction:NEEDS[RealSolarSystem] = 0, 0, 0 // bottom of pod direction:NEEDS[!RealSolarSystem] = 0, 1, 1 // bottom of pod reflective:NEEDS[RealSolarSystem] = 0.98 // 98% of heat is ignored at correct angle reflective:NEEDS[!RealSolarSystem] = 0.25 // 25% of heat is ignored at correct angle loss:NEEDS[RealSolarSystem] { key = 650 0 0 0 // start ablating at 650 degrees C key = 2000 1000 0 0 // peak ablation at 2000 degrees C key = 6000 2000 0 0 // max ablation at 6000 degrees C } dissipation:NEEDS[RealSolarSystem] { // dissipation is based on the part's current temperature key = 300 0 0 0 // begin dissipating at 300 degrees C key = 800 250 0 0 // maximum dissipation at 500 degrees C } } RESOURCE:NEEDS[RealSolarSystem] { name = HeatCapacity amount = 3000 maxAmount = 3000 } MODULE:NEEDS[RealSolarSystem] { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = HeatCapacity rate = 0.2 } } // Not to be uncommented until after next DREC update (currently on 4.7) // 7-8-2014 // MODULE // { // name = ModuleAnimation2Value // animationName = Take002 // valueModule = ModuleHeatShield // valueName = reflective // valueCurve:NEEDS[RealSolarSystem] // { // key = 0.0 0.0 0 0 // No heat shielding when gear deployed! // key = 0.9 0.50 0 0 // key = 1.0 0.98 0 0 // Shielded when closed // } // valueCurve:NEEDS[!RealSolarSystem] // { // key = 0.0 0.0 0 0 // No heat shielding when gear deployed! // key = 0.9 0.125 0 0 // Only a little crack needed to let bad nasty plasma in // key = 1.0 0.25 0 0 // Shielded when closed // } // } } @PART[super25maingearRight]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { @maxTemp = 1500 MODULE { name = ModuleHeatShield ablative = HeatCapacity direction:NEEDS[RealSolarSystem] = 0, 0, 0 // bottom of pod direction:NEEDS[!RealSolarSystem] = 0, 1, 1 // bottom of pod reflective:NEEDS[RealSolarSystem] = 0.98 // 98% of heat is ignored at correct angle reflective:NEEDS[!RealSolarSystem] = 0.25 // 25% of heat is ignored at correct angle loss:NEEDS[RealSolarSystem] { key = 650 0 0 0 // start ablating at 650 degrees C key = 2000 1000 0 0 // peak ablation at 2000 degrees C key = 6000 2000 0 0 // max ablation at 6000 degrees C } dissipation:NEEDS[RealSolarSystem] { // dissipation is based on the part's current temperature key = 300 0 0 0 // begin dissipating at 300 degrees C key = 800 250 0 0 // maximum dissipation at 500 degrees C } } RESOURCE:NEEDS[RealSolarSystem] { name = HeatCapacity amount = 3000 maxAmount = 3000 } MODULE:NEEDS[RealSolarSystem] { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = HeatCapacity rate = 0.2 } } // Not to be uncommented until after next DREC update (currently on 4.7) // 7-8-2014 // MODULE // { // name = ModuleAnimation2Value // animationName = Take002 // valueModule = ModuleHeatShield // valueName = reflective // valueCurve:NEEDS[RealSolarSystem] // { // key = 0.0 0.0 0 0 // No heat shielding when gear deployed! // key = 0.9 0.50 0 0 // key = 1.0 0.98 0 0 // Shielded when closed // } // valueCurve:NEEDS[!RealSolarSystem] // { // key = 0.0 0.0 0 0 // No heat shielding when gear deployed! // key = 0.9 0.125 0 0 // Only a little crack needed to let bad nasty plasma in // key = 1.0 0.25 0 0 // Shielded when closed // } // } } @PART[super25maingearLeft]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { @maxTemp = 1500 MODULE { name = ModuleHeatShield ablative = HeatCapacity direction:NEEDS[RealSolarSystem] = 0, 0, 0 // bottom of pod direction:NEEDS[!RealSolarSystem] = 0, 1, 1 // bottom of pod reflective:NEEDS[RealSolarSystem] = 0.98 // 98% of heat is ignored at correct angle reflective:NEEDS[!RealSolarSystem] = 0.25 // 25% of heat is ignored at correct angle loss:NEEDS[RealSolarSystem] { key = 650 0 0 0 // start ablating at 650 degrees C key = 2000 1000 0 0 // peak ablation at 2000 degrees C key = 6000 2000 0 0 // max ablation at 6000 degrees C } dissipation:NEEDS[RealSolarSystem] { // dissipation is based on the part's current temperature key = 300 0 0 0 // begin dissipating at 300 degrees C key = 800 250 0 0 // maximum dissipation at 500 degrees C } } RESOURCE:NEEDS[RealSolarSystem] { name = HeatCapacity amount = 3000 maxAmount = 3000 } MODULE:NEEDS[RealSolarSystem] { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = HeatCapacity rate = 0.2 } } // Not to be uncommented until after next DREC update (currently on 4.7) // 7-8-2014 // MODULE // { // name = ModuleAnimation2Value // animationName = Take002 // valueModule = ModuleHeatShield // valueName = reflective // valueCurve:NEEDS[RealSolarSystem] // { // key = 0.0 0.0 0 0 // No heat shielding when gear deployed! // key = 0.9 0.50 0 0 // key = 1.0 0.98 0 0 // Shielded when closed // } // valueCurve:NEEDS[!RealSolarSystem] // { // key = 0.0 0.0 0 0 // No heat shielding when gear deployed! // key = 0.9 0.125 0 0 // Only a little crack needed to let bad nasty plasma in // key = 1.0 0.25 0 0 // Shielded when closed // } // } } @PART[super25tailkso]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { @maxTemp = 1500 MODULE { name = ModuleHeatShield ablative = HeatCapacity direction = 0, 1, 1 // bottom of pod reflective:NEEDS[RealSolarSystem] = 0.98 // 98% of heat is ignored at correct angle reflective:NEEDS[!RealSolarSystem] = 0.25 // 25% of heat is ignored at correct angle } loss:NEEDS[RealSolarSystem] { key = 650 0 0 0 // start ablating at 650 degrees C key = 2000 1000 0 0 // peak ablation at 2000 degrees C key = 6000 2000 0 0 // max ablation at 6000 degrees C } dissipation:NEEDS[RealSolarSystem] { // dissipation is based on the part's current temperature key = 300 0 0 0 // begin dissipating at 300 degrees C key = 800 240 0 0 // maximum dissipation at 500 degrees C } RESOURCE:NEEDS[RealSolarSystem] { name = HeatCapacity amount = 3000 maxAmount = 3000 } MODULE:NEEDS[RealSolarSystem] { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = HeatCapacity rate = 0.2 } } } @PART[super25surfaceLkso]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { @maxTemp = 1500 MODULE { name = ModuleHeatShield ablative = HeatCapacity direction:NEEDS[RealSolarSystem] = 0, 0, 0 // bottom of pod direction:NEEDS[!RealSolarSystem] = 0, 1, 1 // bottom of pod reflective:NEEDS[RealSolarSystem] = 0.98 // 98% of heat is ignored at correct angle reflective:NEEDS[!RealSolarSystem] = 0.25 // 25% of heat is ignored at correct angle loss:NEEDS[RealSolarSystem] { key = 650 0 0 0 // start ablating at 650 degrees C key = 2000 1000 0 0 // peak ablation at 2000 degrees C key = 6000 2000 0 0 // max ablation at 6000 degrees C } dissipation:NEEDS[RealSolarSystem] { // dissipation is based on the part's current temperature key = 300 0 0 0 // begin dissipating at 300 degrees C key = 800 250 0 0 // maximum dissipation at 500 degrees C } } RESOURCE:NEEDS[RealSolarSystem] { name = HeatCapacity amount = 3000 maxAmount = 3000 } MODULE:NEEDS[RealSolarSystem] { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = HeatCapacity rate = 0.2 } } } @PART[super25surfaceRkso]:BEFORE[DeadlyReentry]:NEEDS[DeadlyReentry] { @maxTemp = 1500 MODULE { name = ModuleHeatShield ablative = HeatCapacity direction:NEEDS[RealSolarSystem] = 0, 0, 0 // bottom of pod direction:NEEDS[!RealSolarSystem] = 0, 1, 1 // bottom of pod reflective:NEEDS[RealSolarSystem] = 0.98 // 98% of heat is ignored at correct angle reflective:NEEDS[!RealSolarSystem] = 0.25 // 25% of heat is ignored at correct angle loss:NEEDS[RealSolarSystem] { key = 650 0 0 0 // start ablating at 650 degrees C key = 2000 1000 0 0 // peak ablation at 2000 degrees C key = 6000 2000 0 0 // max ablation at 6000 degrees C } loss:NEEDS[RealSolarSystem] { key = 650 0 0 0 // start ablating at 650 degrees C key = 2000 1000 0 0 // peak ablation at 2000 degrees C key = 6000 2000 0 0 // max ablation at 6000 degrees C } dissipation:NEEDS[RealSolarSystem] { // dissipation is based on the part's current temperature key = 300 0 0 0 // begin dissipating at 300 degrees C key = 800 250 0 0 // maximum dissipation at 500 degrees C } } RESOURCE:NEEDS[RealSolarSystem] { name = HeatCapacity amount = 3000 maxAmount = 3000 } MODULE:NEEDS[RealSolarSystem] { name = ModuleGenerator isAlwaysActive = true OUTPUT_RESOURCE { name = HeatCapacity rate = 0.2 } } }