<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<vehicle type="turnOnCultivator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://validation.gdn.giants-software.com/xml/fs22/vehicle.xsd">

    <storeData>
        <name>LION 303</name>
        <specs>
            <neededPower>90</neededPower>
            <workingWidth>3</workingWidth>
            <combination xmlFilename="xml/Aerosem_3002.xml"/>
        </specs>
        <functions>
            <function>$l10n_function_cultivator</function>
        </functions>
        <image>textures/store_Lion_303.png</image>
        <price>18500</price>
        <lifetime>600</lifetime>
        <rotation>0</rotation>
        <brand>POETTINGER</brand>
        <category>powerHarrows</category>
        <shopLoadingDelay initial="0.2"/>
        <shopHeight>2.8</shopHeight>
        <vertexBufferMemoryUsage>808192</vertexBufferMemoryUsage>
        <indexBufferMemoryUsage>213248</indexBufferMemoryUsage>
        <textureMemoryUsage>1769472</textureMemoryUsage>
        <audioMemoryUsage>0</audioMemoryUsage>
        <instanceVertexBufferMemoryUsage>0</instanceVertexBufferMemoryUsage>
        <instanceIndexBufferMemoryUsage>0</instanceIndexBufferMemoryUsage>
    </storeData>

    <base>
        <typeDesc>$l10n_typeDesc_powerHarrow</typeDesc>
        <filename>i3d/Lion_303.i3d</filename>
        <size width="4" length="2.2" lengthOffset="0"/>
        <speedLimit value="15" />
        <components>
            <component centerOfMass="0 0.3 0.3" solverIterationCount="15" mass="785" />
            <component centerOfMass="0 0 0"     solverIterationCount="15" mass="400" />
            <joint component1="1" component2="2" node="componentJointRoller" rotLimit="0 0 0" transLimit="0 0.07 0" transMinLimit="0 0.01 0"/>
        </components>
        <schemaOverlay attacherJointPosition="0 0" name="IMPLEMENT" />
        <mapHotspot type="TOOL" />
    </base>

    <powerConsumer ptoRpm="470" neededMinPtoPower="20" neededMaxPtoPower="25" forceNode="lion303_main_component1" maxForce="6" />

    <wheels>
        <wheelConfigurations>
            <wheelConfiguration name="$l10n_configuration_valueDefault" price="0">
                <wheels hasSurfaceSounds="false">
                    <wheel>
                        <physics restLoad="0.7" repr="backWheelLeft"  radius="0.30" width="0.5" forcePointRatio="0.2" initialCompression="20" suspTravel="0.1" spring="30" damper="80" mass="0.1" supportsWheelSink="false"/>
                    </wheel>
                    <wheel>
                        <physics restLoad="0.7" repr="backWheelRight" radius="0.30" width="0.5" forcePointRatio="0.2" initialCompression="20" suspTravel="0.1" spring="30" damper="80" mass="0.1" supportsWheelSink="false" isSynchronized="false"/>
                    </wheel>
                </wheels>
            </wheelConfiguration>
        </wheelConfigurations>
    </wheels>

    <groundReferenceNodes>
        <groundReferenceNode node="groundReferenceNode" forceFactor="1" threshold="0.2"/>
        <groundReferenceNode node="groundRefNodeLeftMarker" forceFactor="0" threshold="0.2" depthNode="groundRefNodeLeftMarker" />
        <groundReferenceNode node="groundRefNodeRightMarker" forceFactor="0" threshold="0.2" depthNode="groundRefNodeRightMarker" />
    </groundReferenceNodes>

    <workAreas>
        <workArea type="cultivator" functionName="processCultivatorArea">
            <area startNode="workAreaStart" widthNode="workAreaWidth" heightNode="workAreaHeight" />
            <groundReferenceNode index="1" />
            <onlyActiveWhenLowered value="true"/>
        </workArea>
        <workArea type="ridgemarker" functionName="processRidgeMarkerArea" disableBackwards="false" needsSetIsTurnedOn="false">
            <ridgeMarkerArea node="groundRefNodeLeftMarker" size="0.1" testAreaOffset="0.75"/>
            <groundReferenceNode index="2" />
            <onlyActiveWhenLowered value="false"/>
        </workArea>
        <workArea type="ridgemarker" functionName="processRidgeMarkerArea" disableBackwards="false" needsSetIsTurnedOn="false">
            <ridgeMarkerArea node="groundRefNodeRightMarker" size="0.1" testAreaOffset="0.75"/>
            <groundReferenceNode index="3" />
            <onlyActiveWhenLowered value="false"/>
        </workArea>
    </workAreas>

    <cultivator useDeepMode="false" isPowerHarrow="true">
        <directionNode node="0>" />
        <onlyActiveWhenLowered value="true"/>
        <sounds>
            <work template="defaultCultivatorWork" volumeScale="1.1" pitchScale="1.3" fadeIn="0.1" fadeOut="0.1"  />
        </sounds>
    </cultivator>

    <turnOnVehicle>
        <sounds>
            <start template="strawblowerStart"     volumeScale="1.2"/>
            <work template="strawblowerWork"       volumeScale="1.2"/>
            <stop template="strawblowerStop"       volumeScale="1.2"/>
        </sounds>
        <animationNodes>
            <animationNode node="turnOnRotationNode01" rotSpeed="-2500" rotAxis="2" />
            <animationNode node="turnOnRotationNode02" rotSpeed="2500"  rotAxis="2" />
            <animationNode node="turnOnRotationNode03" rotSpeed="-2500" rotAxis="2" />
            <animationNode node="turnOnRotationNode04" rotSpeed="2500"  rotAxis="2" />
            <animationNode node="turnOnRotationNode05" rotSpeed="-2500" rotAxis="2" />
            <animationNode node="turnOnRotationNode06" rotSpeed="2500"  rotAxis="2" />
            <animationNode node="turnOnRotationNode07" rotSpeed="-2500" rotAxis="2" />
            <animationNode node="turnOnRotationNode08" rotSpeed="2500"  rotAxis="2" />
            <animationNode node="turnOnRotationNode09" rotSpeed="-2500" rotAxis="2" />
            <animationNode node="turnOnRotationNode10" rotSpeed="2500"  rotAxis="2" />
        </animationNodes>
    </turnOnVehicle>

    <attachable>
        <inputAttacherJoints>
            <inputAttacherJoint node="attacherJoint" jointType="implement" topReferenceNode="topReferenceNode" lowerTransLimitScale="0 1 0" lowerRotationOffset="-1" upperRotationOffset="12" lowerRotLimitScale="0.1 0 0" >
                <distanceToGround lower="0.45" upper="1.3" />
            </inputAttacherJoint>
        </inputAttacherJoints>
        <support animationName="moveSupport"/>
    </attachable>

    <connectionHoses>
        <skipNode attacherJointIndex="1" inputAttacherJointIndex="1" node="hydraulicIn01_skip" type="hydraulicIn" length="1.2"/>
        <skipNode attacherJointIndex="1" inputAttacherJointIndex="1" node="hydraulicOut01_skip" type="hydraulicOut" length="1.2"/>
        <skipNode attacherJointIndex="1" inputAttacherJointIndex="1" node="electric_skip" type="electric" length="1.2"/>
    </connectionHoses>

    <powerTakeOffs>
        <input inputAttacherJointIndices="1" detachNode="ptoDetachNode" inputNode="ptoInputNode">
            <objectChange node="ptoHolder" rotationActive="0 0 0" rotationInactive="52.615 0 0"/>
        </input>
        <sounds>
            <turnedOn template="tractorPTO" volumeScale="0.5" linkNode="attacherJoint"/>
        </sounds>
    </powerTakeOffs>

    <attacherJoints>
        <attacherJoint node="backAttacherJoint" jointType="implement" rootNode="lion303_roller_component2" upperRotationOffset="0" lowerRotationOffset="0" upperRotLimit="0 0 0" lowerRotLimit="0 0 0" lowerTransLimit="0 0 0" lockDownTransLimit="false" moveTime="2.5" comboTime="0">
            <distanceToGround lower="0.41" upper="1.48" />
            <topArm baseNode="attacherJointBackArmTop" filename="$data/shared/assets/upperLinks/walterscheidSO_65_460.xml" zScale="-1" toggleVisibility="true"/>
            <schema position="1 0" rotation="0" invertX="false" />
            <objectChange node="lightArm" visibilityActive="false" visibilityInactive="true"/>
            <subType name="aerosem3002"/>
        </attacherJoint>
        <sounds>
            <attach template="attach01"/>
        </sounds>
    </attacherJoints>

    <speedRotatingParts>
        <speedRotatingPart node="backRoller" wheelIndex="1" wheelScale="-1" />
        <speedRotatingPart shaderNode="lion303rearDisc1" radius="-0.22" groundReferenceNodeIndex="2" />
        <speedRotatingPart shaderNode="lion303FrontDisc1" radius="-0.22" groundReferenceNodeIndex="2" />
        <speedRotatingPart shaderNode="lion303FrontDisc" radius="-0.22" groundReferenceNodeIndex="3" />
        <speedRotatingPart shaderNode="lion303rearDisc" radius="-0.22" groundReferenceNodeIndex="3" />
    </speedRotatingParts>

    <ridgeMarker onlyActiveWhenLowered="true">
        <marker animName="leftArm" workAreaIndex="2"/>
        <marker animName="rightArm" workAreaIndex="3"/>
    </ridgeMarker>

    <animations>
        <animation name="moveSupport">
            <part node="supportCol"      startTime="0" endTime="0.1" startTrans="0 0.3 0" endTrans="0 0 0" />

            <sound template="clackVar6"  startTime="0.09" direction="-1" volumeScale="1.2" pitchScale="0.8" linkNode="attacherJoint"/>
            <sound template="latchSmall" startTime="0.09" direction="-1" volumeScale="0.3" pitchScale="2" linkNode="attacherJoint"/>
        </animation>
        <animation name="leftArm" soundVolumeFactor="2">
            <part node="ridgeMarkerLeft" startTime="0" endTime="2" startRot="0 0 0" endRot="0 0 -103"/>

            <sound file="sounds/hydraulic_loop_01.wav" startTime="0.01" endTime="1.99" volumeScale="0.7" pitchScale="1.1"  linkNode="ridgeMarkerLeft"/>
            <sound template="clackVar6"             startTime="1.99" direction="1"  volumeScale="0.9" pitchScale="1"    linkNode="ridgeMarkerLeft"/>
            <sound template="clackVar3"             startTime="1.99" direction="1"  volumeScale="0.9" pitchScale="1.4"  linkNode="ridgeMarkerLeft"/>
            <sound template="clackVar6"             startTime="0.01" direction="-1" volumeScale="0.9" pitchScale="1.2"  linkNode="ridgeMarkerLeft"/>
            <sound template="clackVar3"             startTime="0.01"                volumeScale="0.6" pitchScale="1.6"  linkNode="ridgeMarkerLeft"/>
            <sound template="sheetImp01"            startTime="0.01"                volumeScale="0.4" pitchScale="1.2"  linkNode="ridgeMarkerLeft"/>
        </animation>
        <animation name="rightArm" soundVolumeFactor="2">
            <part node="ridgeMarkerRight" startTime="0" endTime="2" startRot="0 0 0" endRot="0 0 103"/>

            <sound  file="sounds/hydraulic_loop_01.wav" startTime="0.01" endTime="1.99" volumeScale="0.7" pitchScale="1.3"  linkNode="ridgeMarkerRight"/>
            <sound template="clackVar6"             startTime="1.99" direction="1"  volumeScale="0.9" pitchScale="1"    linkNode="ridgeMarkerRight"/>
            <sound template="clackVar3"             startTime="1.99" direction="1"  volumeScale="0.9" pitchScale="1.4"  linkNode="ridgeMarkerRight"/>
            <sound template="clackVar6"             startTime="0.01" direction="-1" volumeScale="0.9" pitchScale="1.2"  linkNode="ridgeMarkerRight"/>
            <sound template="clackVar3"             startTime="0.01"                volumeScale="0.6" pitchScale="1.6"  linkNode="ridgeMarkerRight"/>
            <sound template="sheetImp01"            startTime="0.01"                volumeScale="0.4" pitchScale="1.2"  linkNode="ridgeMarkerRight"/>

        </animation>
    </animations>

    <cylindered>
        <movingTools>
            <movingTool node="ridgeMarkerLeft" playSound="true">
                <dependentPart node="ridgeMarkerLeftHydraulic"/>
            </movingTool>
            <movingTool node="ridgeMarkerRight" playSound="true">
                <dependentPart node="ridgeMarkerRightHydraulic"/>
            </movingTool>
        </movingTools>

        <movingParts>
            <movingPart node="ridgeMarkerLeftHydraulic" referencePoint="ridgeMarkerLeftHydraulicRef" referenceFrame="ridgeMarkerLeftHydraulicRef">
                <translatingPart node="ridgeMarkerLeftHydraulicPunch" />
            </movingPart>
            <movingPart node="ridgeMarkerRightHydraulic" referencePoint="ridgeMarkerRightHydraulicRef" referenceFrame="ridgeMarkerRightHydraulicRef">
                <translatingPart node="ridgeMarkerRightHydraulicPunch" />
            </movingPart>
            <movingPart node="rollerArmRot01" referencePoint="rollerArmRot01Ref" referenceFrame="rollerArmRefFrame" limitedAxis="1" isActiveDirty="true" maxUpdateDistance="50">
                <dependentPart node="rollerArmRot02"/>
            </movingPart>
            <movingPart node="rollerArmRot02" referencePoint="rollerArmRot02Ref" referenceFrame="rollerArmRefFrame" limitedAxis="1">
                <dependentPart node="flattenerRot"/>
            </movingPart>

            <movingPart node="flattenerRot" referencePoint="flattenerTransRef" referenceFrame="flattenerTransRef" doDirectionAlignment="false">
                <translatingPart node="flattenerTrans" />
                <dependentPart node="flattenerControlArm"/>
            </movingPart>
            <movingPart node="flattenerControlArm" referencePoint="flattenerControlArmRef" referenceFrame="flattenerControlArmRef" scaleZ="true"/>
        </movingParts>
    </cylindered>

    <workParticles>
        <effect workAreaIndex="1" activeDirection="0" needsSetIsTurnedOn="true">
            <effectNode effectClass="CultivatorMotionPathEffect" effectType="CULTIVATOR" linkNode="rotationEffect01LinkNode">
                <motionPathEffect textureFilename="textures/rotationEffect01Array.dds" numRows="10" rowLength="18" minFade="0.07" speedScale="1"/>
            </effectNode>
        </effect>
        <effect workAreaIndex="1">
            <effectNode effectClass="CultivatorMotionPathEffect" effectType="CULTIVATOR" linkNode="rollerEffect01LinkNode">
                <motionPathEffect textureFilename="textures/rollerEffect01Array.dds" numRows="20" rowLength="18" minFade="0.07" densityScale="0.35"/>
            </effectNode>
        </effect>
        <effect workAreaIndex="2">
            <effectNode effectClass="CultivatorMotionPathEffect" effectType="CULTIVATOR" linkNode="ridgeMarkerLeftDiscEffect">
                <motionPathEffect textureFilename="$data/effects/cultivator/arrays/sharedRidgeMarkerLeftArray.dds" numRows="3" rowLength="18" minFade="0.07" />
            </effectNode>
        </effect>
        <effect workAreaIndex="3">
            <effectNode effectClass="CultivatorMotionPathEffect" effectType="CULTIVATOR" linkNode="ridgeMarkerRightDiscEffect">
                <motionPathEffect textureFilename="$data/effects/cultivator/arrays/sharedRidgeMarkerRightArray.dds" numRows="3" rowLength="18" minFade="0.07" />
            </effectNode>
        </effect>

        <particle>
            <node node="dustEmitterShape" refNodeIndex="1" particleType="SOIL_SMOKE" emitCountScale="1.0"/>
        </particle>
    </workParticles>

    <ai>
        <areaMarkers leftNode="aiMarkerLeft" rightNode="aiMarkerRight" backNode="aiMarkerBack" />
        <collisionTrigger node="aiCollisionTrigger" />
        <needsLowering value="true"/>
        <agentAttachment width="3.15" height="2.8" length="1.6" lengthOffset="-0.1"/>
    </ai>

    <foliageBending>
        <bendingNode minX="-1.55" maxX="1.55" minZ="-0.9" maxZ="0.65" yOffset="0.3" />
    </foliageBending>

    <baseColorConfigurations useDefaultColors="true" price="0">
        <material materialSlotName="principal_mat" />
        <baseColorConfiguration materialTemplateName="POETTINGER_RED1" isDefault="true"/>
        <baseColorConfiguration materialTemplateName="POETTINGER_WHITE1" />
        <baseColorConfiguration materialTemplateName="POETTINGER_YELLOW" />
    </baseColorConfigurations>
	
    <designColorConfigurations  useDefaultColors="true" price="0">
        <material materialSlotName="desing_mat"/>
        <designColorConfiguration materialTemplateName="POETTINGER_WHITE1" isDefault="true"/>
        <designColorConfiguration materialTemplateName="POETTINGER_RED1" />
        <designColorConfiguration materialTemplateName="POETTINGER_YELLOW" />
    </designColorConfigurations>
	
    <designColor2Configurations useDefaultColors="true" price="0">
        <material materialSlotName="cover_mat"/>
        <designColor2Configuration materialTemplateName="POETTINGER_YELLOW" isDefault="true"/>
        <designColor2Configuration materialTemplateName="POETTINGER_RED1" />
        <designColor2Configuration materialTemplateName="POETTINGER_WHITE1" />
    </designColor2Configurations>
	
    <wearable wearDuration="2480" workMultiplier="5" fieldMultiplier="2"/>
    <washable dirtDuration="20" washDuration="1" workMultiplier="6" fieldMultiplier="2"/>

    <i3dMappings>
        <i3dMapping id="lion303_main_component1" node="0>" />
        <i3dMapping id="lion303_vis" node="0>0" />
        <i3dMapping id="attacherJoint" node="0>0|0|0" />
        <i3dMapping id="topReferenceNode" node="0>0|0|1" />
        <i3dMapping id="ptoInputNode" node="0>0|0|2|0" />
        <i3dMapping id="ptoDetachNode" node="0>0|0|2|1" />
        <i3dMapping id="ptoHolder" node="0>0|0|2|2|0" />
        <i3dMapping id="supportCol" node="0>0|0|3" />
        <i3dMapping id="attacherJointBackArmTop" node="0>0|0|4" />
        <i3dMapping id="hydraulicIn01_skip" node="0>0|0|5|0" />
        <i3dMapping id="hydraulicOut01_skip" node="0>0|0|5|1" />
        <i3dMapping id="electric_skip" node="0>0|0|5|2" />
        <i3dMapping id="turnOnRotationNode01" node="0>0|1|0|0" />
        <i3dMapping id="turnOnRotationNode02" node="0>0|1|0|1" />
        <i3dMapping id="turnOnRotationNode03" node="0>0|1|0|2" />
        <i3dMapping id="turnOnRotationNode04" node="0>0|1|0|3" />
        <i3dMapping id="turnOnRotationNode05" node="0>0|1|0|4" />
        <i3dMapping id="turnOnRotationNode06" node="0>0|1|0|5" />
        <i3dMapping id="turnOnRotationNode07" node="0>0|1|0|6" />
        <i3dMapping id="turnOnRotationNode08" node="0>0|1|0|7" />
        <i3dMapping id="turnOnRotationNode09" node="0>0|1|0|8" />
        <i3dMapping id="turnOnRotationNode10" node="0>0|1|0|9" />
        <i3dMapping id="ridgeMarkerLeft" node="0>0|1|1" />
        <i3dMapping id="ridgeMarkerLeftHydraulicRef" node="0>0|1|1|0" />
        <i3dMapping id="lion303FrontDisc1" node="0>0|1|1|2" />
        <i3dMapping id="lion303rearDisc1" node="0>0|1|1|3" />
        <i3dMapping id="groundRefNodeLeftMarker" node="0>0|1|1|4" />
        <i3dMapping id="markerLeftStartIndex" node="0>0|1|1|5|0" />
        <i3dMapping id="markerLeftWidthIndex" node="0>0|1|1|5|1" />
        <i3dMapping id="markerLeftHeightIndex" node="0>0|1|1|5|2" />
        <i3dMapping id="markerLeftStartIndexTest" node="0>0|1|1|5|3" />
        <i3dMapping id="markerLeftWidthIndexTest" node="0>0|1|1|5|4" />
        <i3dMapping id="markerLeftHeightIndexTest" node="0>0|1|1|5|5" />
        <i3dMapping id="ridgeMarkerLeftDiscEffect" node="0>0|1|1|6" />
        <i3dMapping id="ridgeMarkerRight" node="0>0|1|2" />
        <i3dMapping id="ridgeMarkerRightHydraulicRef" node="0>0|1|2|0" />
        <i3dMapping id="lion303FrontDisc" node="0>0|1|2|2" />
        <i3dMapping id="lion303rearDisc" node="0>0|1|2|3" />
        <i3dMapping id="groundRefNodeRightMarker" node="0>0|1|2|4" />
        <i3dMapping id="markerRightStartIndex1" node="0>0|1|2|5|0" />
        <i3dMapping id="markerRightWidthIndex1" node="0>0|1|2|5|1" />
        <i3dMapping id="markerRightHeightIndex1" node="0>0|1|2|5|2" />
        <i3dMapping id="markerRightStartIndexTest1" node="0>0|1|2|5|3" />
        <i3dMapping id="markerRightWidthIndexTest1" node="0>0|1|2|5|4" />
        <i3dMapping id="markerRightHeightIndexTest1" node="0>0|1|2|5|5" />
        <i3dMapping id="ridgeMarkerRightDiscEffect" node="0>0|1|2|6" />
        <i3dMapping id="ridgeMarkerLeftHydraulic" node="0>0|1|3" />
        <i3dMapping id="ridgeMarkerLeftHydraulicPunch" node="0>0|1|3|0" />
        <i3dMapping id="ridgeMarkerRightHydraulic" node="0>0|1|4" />
        <i3dMapping id="ridgeMarkerRightHydraulicPunch" node="0>0|1|4|0" />
        <i3dMapping id="rollerArmRefFrame" node="0>0|1|5" />
        <i3dMapping id="rollerArmRot01" node="0>0|1|5|0" />
        <i3dMapping id="rollerArmRot02" node="0>0|1|5|0|0" />
        <i3dMapping id="backRoller" node="0>0|1|5|0|0|0" />
        <i3dMapping id="flattenerTransRef" node="0>0|1|5|0|0|1" />
        <i3dMapping id="flattenerControlArm" node="0>0|1|5|0|0|2" />
        <i3dMapping id="lightArm" node="0>0|1|5|0|0|4" />
        <i3dMapping id="rollerEffect01LinkNode" node="0>0|1|5|0|0|6|0" />
        <i3dMapping id="componentJointRoller" node="0>0|1|6" />
        <i3dMapping id="flattenerRot" node="0>0|1|7" />
        <i3dMapping id="flattenerTrans" node="0>0|1|7|0" />
        <i3dMapping id="flattenerControlArmRef" node="0>0|1|7|0|0" />
        <i3dMapping id="groundReferenceNode" node="0>0|2|0" />
        <i3dMapping id="depthNode" node="0>0|2|1" />
        <i3dMapping id="workAreaStart" node="0>0|2|2" />
        <i3dMapping id="workAreaWidth" node="0>0|2|3" />
        <i3dMapping id="workAreaHeight" node="0>0|2|4" />
        <i3dMapping id="aiMarkerLeft" node="0>0|3|0" />
        <i3dMapping id="aiMarkerRight" node="0>0|3|1" />
        <i3dMapping id="aiMarkerBack" node="0>0|3|2" />
        <i3dMapping id="aiCollisionTrigger" node="0>0|3|3" />
        <i3dMapping id="rotationEffect01LinkNode" node="0>0|4|0" />
        <i3dMapping id="dustEmitterShape" node="0>0|4|1" />
        <i3dMapping id="lion303_roller_component2" node="1>" />
        <i3dMapping id="backWheelLeft" node="1>0" />
        <i3dMapping id="backWheelRight" node="1>1" />
        <i3dMapping id="rollerArmRot01Ref" node="1>2" />
        <i3dMapping id="rollerArmRot02Ref" node="1>3" />
        <i3dMapping id="backAttacherJoint" node="1>4" />
    </i3dMappings>
</vehicle>
