I'm confused at the moment on how to apply thrust through parts. I'm working on a frontal-facing propeller/intake hybrid part (if it were in reality, the propeller provides thrust while pushing intake air inside it; the very pushing of the intake air provides the thrust), but I'm a newbie coder in KSP, so I'm really just using code from stock parts to make this. Here is the current CFG file:
PART
{
name = PropellerIntake
module = Part
author = Daxturus
rescaleFactor = 1
node_stack_bottom01 = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0
buoyancy = 0.1
TechRequired = aerodynamicSystems
entryCost = 2400
cost = 1600
category = Aero
subcategory = 0
title = KK-20 Propeller Engine
manufacturer = C7 Aerospace Division
description = When first presented to C7's board of advisors, it was adopted quickly for use as an efficient frontal thruster, best suited for subsonic flight. It also doubles as an air intake.
attachRules = 1,0,1,0,0
stackSymmetry = 2
mass = 1.2
thermalMassModifier = 8.0
heatConductivity = 0.12 // half default
emissiveConstant = 0.55
dragModelType = default
maximum_drag = 0.3
minimum_drag = 0.3
angularDrag = 1
crashTolerance = 12
maxTemp = 1800 // = 3400
fuelCrossFeed = True
bulkheadProfiles = size1
tags = #autoLOC_500144 //#autoLOC_500144 = aero (air breathe fligh inlet jet oxygen plane subsonic suck
MODEL
{
model = (I personally took this out, this is something else)
}
DRAG_CUBE
{
cube = Default, 0.7536889,0.6974452,0.7221569, 0.7536889,0.6974494,0.7221569, 1.213026,0.45,0.7008534, 1.213026,0.9357337,0.1625167, 0.7536888,0.6983959,0.7221569, 0.7536888,0.6964872,0.7221569, 0,0.269185,3.208935E-08, 1.25,0.6633701,1.25
}
MODULE
{
name = ModuleResourceIntake
resourceName = IntakeAir
checkForOxygen = true
area = 0.006
intakeSpeed = 15
intakeTransformName = Intake
machCurve
{
key = 1 1 0 0
key = 2 0.95 -0.4312553 -0.4312553
key = 3 0.85 -0.5275364 -0.5275364
key = 4 0.7 0 0
}
}
RESOURCE
{
name = IntakeAir
amount = 0.4
maxAmount = 0.4
}
MODULE
{
name = ModuleAnimateHeat
ThermalAnim = IntakeCircularHeat
}
MODULE
{
name = ModuleEnginesFX
thrustVectorTransformName = thrustTransform
exhaustDamage = False
ignitionThreshold = 0.1
minThrust = 0
maxThrust = 60
heatProduction = 35
useEngineResponseTime = True
engineAccelerationSpeed = 0.3
engineDecelerationSpeed = 0.3
useVelocityCurve = False
flameoutEffectName = flameout
powerEffectName = running_thrust
runningEffectName = shockDiamond
engageEffectName = engage
disengageEffectName = disengage
spoolEffectName = running_turbine
engineSpoolIdle = 0.03
engineSpoolTime = 3.0
EngineType = Turbine
exhaustDamageMultiplier = 0
clampPropReceived = True
PROPELLANT
{
name = IntakeAir
ignoreForIsp = True
ratio = 8
}
PROPELLANT
{
name = LiquidFuel
resourceFlowMode = STAGE_STACK_FLOW_BALANCE
ratio = 1
DrawGauge = True
}
atmosphereCurve
{
key = 0 10500 0 0
}
// Jet params
atmChangeFlow = True
useVelCurve = True
useAtmCurve = True
flowMultCap = 1.0
machLimit = 2.5
machHeatMult = 2.0
velCurve
{
key = 0 1.3 0 0
key = 0.5 1.1 0 0
key = 1 1 2.433527 2.433527
key = 1.5 0.9 1.986082 1.986082
key = 2 0.85 1.452677 1.452677
key = 3 0.8 1.452677 1.452677
key = 10 0.7 1.452677 1.452677
}
atmCurve
{
// definite 'kink' to the curve at high altitude, compared to flatter BJE curve
key = 0 0 0 0
key = 0.045 0.5 4.304647 4.304647
key = 0.16 0.5 0.5779132 0.5779132
key = 0.5 0.6 0.4809403 0.4809403
key = 1 1 1.013946 0
}
}
MODULE
{
name = ModuleAnimateHeat
ThermalAnim = TF1Heat
}
MODULE
{
name = ModuleTestSubject
useStaging = True
useEvent = True
situationMask = 15
CONSTRAINT
{
type = OXYGEN
value = True
}
CONSTRAINT
{
type = SPEEDENV
test = LT
value = 200
prestige = Trivial
}
CONSTRAINT
{
type = SPEEDENV
test = GT
value = 100
prestige = Trivial
}
CONSTRAINT
{
type = SPEEDENV
test = LT
value = 100
prestige = Significant
}
CONSTRAINT
{
type = SPEEDENV
test = GT
value = 50
prestige = Significant
}
CONSTRAINT
{
type = SPEEDENV
test = LT
value = 50
prestige = Exceptional
}
CONSTRAINT
{
type = SPEEDENV
test = GT
value = 20
prestige = Exceptional
}
CONSTRAINT
{
type = SPEED
test = LT
value = 300
situationMask = 8
}
CONSTRAINT
{
type = SPEED
test = GT
value = 50
situationMask = 8
}
CONSTRAINT
{
type = DENSITY
test = GT
value = 0.3
situationMask = 8
prestige = Trivial
}
CONSTRAINT
{
type = DENSITY
test = GT
value = 0.1
situationMask = 8
prestige = Significant
}
CONSTRAINT
{
type = DENSITY
test = GT
value = 0.05
situationMask = 8
prestige = Exceptional
}
CONSTRAINT
{
type = ALTITUDEENV
test = GT
value = 4000
prestige = Trivial
}
CONSTRAINT
{
type = ALTITUDEENV
test = LT
value = 8000
prestige = Trivial
}
CONSTRAINT
{
type = ALTITUDEENV
test = GT
value = 1000
prestige = Significant
}
CONSTRAINT
{
type = ALTITUDEENV
test = LT
value = 2000
prestige = Significant
}
CONSTRAINT
{
type = ALTITUDEENV
test = GT
value = 500
prestige = Exceptional
}
CONSTRAINT
{
type = ALTITUDEENV
test = LT
value = 1000
prestige = Exceptional
}
CONSTRAINT
{
type = REPEATABILITY
value = ALWAYS
prestige = Trivial
}
CONSTRAINT
{
type = REPEATABILITY
value = BODYANDSITUATION
prestige = Significant
}
CONSTRAINT
{
type = REPEATABILITY
value = ONCEPERPART
prestige = Exceptional
}
}
MODULE
{
name = ModuleSurfaceFX
thrustProviderModuleIndex = 0
fxMax = 0.5
maxDistance = 20
falloff = 2
thrustTransformName = thrustTransform
}
EFFECTS
{
running_thrust
{
AUDIO
{
channel = Ship
clip = sound_jet_deep
volume = 0.0 0.0
volume = 0.05 0.4
volume = 1.0 1.5
pitch = 0.0 0.3
pitch = 1.0 0.5
loop = true
}
PREFAB_PARTICLE
{
prefabName = fx_smokeTrail_light
transformName = thrustTransformFX
emission = 0.0 0.0
emission = 0.05 0.0
emission = 0.075 0.25
emission = 1.0 1.25
speed = 0.0 0.25
speed = 1.0 1.0
localOffset = 0, 0, 1
localRotation = 1, 0, 0, -90
}
}
running_turbine
{
AUDIO
{
channel = Ship
clip = sound_jet_low
volume = 0.0 0.0
volume = 0.05 0.2
volume = 1.0 0.45
pitch = 0.0 0.3
pitch = 0.05 0.5
pitch = 1.0 0.65
loop = true
}
}
engage
{
AUDIO
{
channel = Ship
clip = sound_vent_medium
volume = 1.0
pitch = 2.0
loop = false
}
}
disengage
{
AUDIO
{
channel = Ship
clip = sound_vent_soft
volume = 1.0
pitch = 2.0
loop = false
}
}
flameout
{
PREFAB_PARTICLE
{
prefabName = fx_exhaustSparks_flameout_2
transformName = thrustTransformFX
oneShot = true
}
AUDIO
{
channel = Ship
clip = sound_explosion_low
volume = 1.0
pitch = 2.0
loop = false
}
}
}
}
The engine makes noise, shows an increase in thrust, in kilonewtons, but there is no real thrust. I believe it's because it's attached to a part in the direction of the thrust, which I know the game does not like.
What module/code should I add so the part essentially ignores the part it is attached to? Thanks in advance!