﻿<?xml version="1.0" encoding="utf-8" standalone="no"?>
<vehicle type="mulcherRoll" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../shared/xml/schema/vehicle.xsd">
    <annotation>Copyright (C) GIANTS Software GmbH, All Rights Reserved.</annotation>

    <storeData>
        <name>SPEEDMAX 560</name>
        <specs>
            <neededPower>130</neededPower>
            <workingWidth>5.6</workingWidth>
            <combination filterCategory="weights" filterSpec="weight" filterSpecMin="1000" filterSpecMax="1100"/>
        </specs>
        <functions>
            <function>$l10n_function_mulcher</function>
        </functions>
        <image>$data/vehicles/knoche/zunslerschreck/store_zunslerschreck.png</image>
        <price>21000</price>
        <lifetime>600</lifetime>
        <rotation>180</rotation>
        <brand>KNOCHE</brand>
        <category>mulchers</category>
        <shopHeight>3.5</shopHeight>
        <shopTranslationOffset>0 -0.036 0</shopTranslationOffset>
        <shopRotationOffset>-2.6 0 0</shopRotationOffset>
        <vertexBufferMemoryUsage>1562112</vertexBufferMemoryUsage>
        <indexBufferMemoryUsage>258816</indexBufferMemoryUsage>
        <textureMemoryUsage>1638400</textureMemoryUsage>
        <instanceVertexBufferMemoryUsage>0</instanceVertexBufferMemoryUsage>
        <instanceIndexBufferMemoryUsage>0</instanceIndexBufferMemoryUsage>
        <audioMemoryUsage>0</audioMemoryUsage>
    </storeData>

    <base>
        <typeDesc>$l10n_typeDesc_mulcher</typeDesc>
        <filename>$data/vehicles/knoche/zunslerschreck/zunslerschreck.i3d</filename>
        <size width="3.75" length="2.5" lengthOffset="0.1"/>
        <speedLimit value="18"/>
        <components>
            <component centerOfMass="0 0.3 0" solverIterationCount="10" mass="2300" />
        </components>
        <schemaOverlay attacherJointPosition="0 0" name="IMPLEMENT" />
        <mapHotspot type="TOOL" />
    </base>

    <wheels>
        <wheelConfigurations>
            <wheelConfiguration name="$l10n_configuration_valueDefault" price="0">
                <wheels hasSurfaceSounds="true">
                    <wheel hasParticles="true">
                        <physics restLoad="0.3" repr="wheel01" radius="0.2" width="1" forcePointRatio="0.2" initialCompression="30" suspTravel="0.1" spring="10" damper="50" rotationDamping="0.002"/>
                    </wheel>
                    <wheel hasParticles="true">
                        <physics restLoad="0.3" repr="wheel02" radius="0.2" width="1" forcePointRatio="0.2" initialCompression="30" suspTravel="0.1" spring="10" damper="50" rotationDamping="0.002"/>
                    </wheel>
                    <wheel hasParticles="true">
                        <physics restLoad="0.5" repr="wheel03" radius="0.2" width="1" forcePointRatio="0.2" initialCompression="30" suspTravel="0.1" spring="20" damper="50" rotationDamping="0.002"/>
                    </wheel>
                    <wheel hasParticles="true">
                        <physics restLoad="0.5" repr="wheel04" radius="0.2" width="1" forcePointRatio="0.2" initialCompression="30" suspTravel="0.1" spring="20" damper="50" rotationDamping="0.002"/>
                    </wheel>
                </wheels>
            </wheelConfiguration>
        </wheelConfigurations>
    </wheels>

    <speedRotatingParts>
        <speedRotatingPart node="roll01" wheelIndex="1"/>
        <speedRotatingPart node="roll02" wheelIndex="3"/>
        <speedRotatingPart node="roll03" wheelIndex="4"/>
        <speedRotatingPart node="roll04" wheelIndex="2"/>
        <speedRotatingPart node="roll05" wheelIndex="1"/>
        <speedRotatingPart node="roll06" wheelIndex="2"/>
        <speedRotatingPart node="roll07" wheelIndex="4"/>
        <speedRotatingPart node="roll08" wheelIndex="2"/>
    </speedRotatingParts>

    <attachable>
        <inputAttacherJoints>
            <inputAttacherJoint node="attacherJoint" jointType="implement" topReferenceNode="topReferenceNode" lowerRotLimitScale="0 0 0.3" lowerRotationOffset="-5" upperRotationOffset="5" >
                <distanceToGround lower="0.45" upper="1.0"/>
            </inputAttacherJoint>
        </inputAttacherJoints>
        <support animationName="moveSupport" />
    </attachable>

    <connectionHoses>
        <hose inputAttacherJointIndices="1" type="hydraulicIn"  node="hydraulicIn01"  length="0.7" diameter="0.01" straighteningFactor="0.5">
           <objectChange node="hydraulicIn01_detached" visibilityActive="false" visibilityInactive="true"/>
        </hose>
        <hose inputAttacherJointIndices="1" type="hydraulicOut" node="hydraulicOut01" length="0.7" diameter="0.01" straighteningFactor="0.5">
            <objectChange node="hydraulicOut01_detached" visibilityActive="false" visibilityInactive="true"/>
        </hose>
    </connectionHoses>

    <powerConsumer forceNode="zunslerschreck_main_component1" maxForce="10" neededMaxPtoPower="0"/>

    <lights>
        <realLights>
            <high>
                <turnLightLeft node="turnLightLeftBack" />
                <turnLightRight node="turnLightRightBack" />
            </high>
        </realLights>

        <defaultLights>
            <defaultLight shaderNode="rearLights_static" lightTypes="0" />
        </defaultLights>

        <brakeLights>
            <brakeLight shaderNode="rearLights_static" />
        </brakeLights>

        <turnLights>
            <turnLightLeft shaderNode="turnLightRight_static" />
            <turnLightRight shaderNode="turnLightLeft_static" />
        </turnLights>
    </lights>

    <groundReferenceNodes>
        <groundReferenceNode node="groundReferenceNode" forceFactor="1" threshold="0.1"/>
    </groundReferenceNodes>

    <workAreas>
        <workArea type="mulcher" functionName="processMulcherArea" needsSetIsTurnedOn="false" disableBackwards="false">
            <area startNode="workAreaStart" widthNode="workAreaWidth" heightNode="workAreaHeight"/>
            <groundReferenceNode index="1"/>
            <folding minLimit="0" maxLimit="0.1"/>
            <onlyActiveWhenLowered value="true"/>
        </workArea>
    </workAreas>

    <mulcher>
        <effects>
            <effect workAreaIndex="1" activeDirection="1">
                <effectNode effectClass="TypedMotionPathEffect" effectType="MULCHER" linkNode="rollerEffect01LinkNode">
                    <motionPathEffect textureFilename="$data/vehicles/knoche/zunslerschreck/rollerEffect01Array.dds" numRows="11" rowLength="18" density="0.7"/>
                </effectNode>
                <effectNode effectClass="TypedMotionPathEffect" effectType="MULCHER" linkNode="rollerEffect02LinkNode">
                    <motionPathEffect textureFilename="$data/vehicles/knoche/zunslerschreck/rollerEffect01Array.dds" numRows="11" rowLength="18" density="0.7"/>
                </effectNode>
                <effectNode effectClass="TypedMotionPathEffect" effectType="MULCHER" linkNode="rollerEffect03LinkNode">
                    <motionPathEffect textureFilename="$data/vehicles/knoche/zunslerschreck/rollerEffect01Array.dds" numRows="11" rowLength="18" density="0.7"/>
                </effectNode>
                <effectNode effectClass="TypedMotionPathEffect" effectType="MULCHER" linkNode="rollerEffect04LinkNode">
                    <motionPathEffect textureFilename="$data/vehicles/knoche/zunslerschreck/rollerEffect01Array.dds" numRows="11" rowLength="18" density="0.7"/>
                </effectNode>
                <effectNode effectNode="smokeEmitter" effectClass="ParticleEffect" particleType="smoke" materialType="smokeParticle" worldSpace="false" emitCountScale="0.3"/>
            </effect>
            <effect workAreaIndex="1" activeDirection="-1">
                <effectNode effectClass="TypedMotionPathEffect" effectType="MULCHER" linkNode="rollerEffect01LinkNodeBack">
                    <motionPathEffect textureFilename="$data/vehicles/knoche/zunslerschreck/rollerEffect01Array.dds" numRows="11" rowLength="18" density="0.7"/>
                </effectNode>
                <effectNode effectClass="TypedMotionPathEffect" effectType="MULCHER" linkNode="rollerEffect02LinkNodeBack">
                    <motionPathEffect textureFilename="$data/vehicles/knoche/zunslerschreck/rollerEffect01Array.dds" numRows="11" rowLength="18" density="0.7"/>
                </effectNode>
                <effectNode effectClass="TypedMotionPathEffect" effectType="MULCHER" linkNode="rollerEffect03LinkNodeBack">
                    <motionPathEffect textureFilename="$data/vehicles/knoche/zunslerschreck/rollerEffect01Array.dds" numRows="11" rowLength="18" density="0.7"/>
                </effectNode>
                <effectNode effectClass="TypedMotionPathEffect" effectType="MULCHER" linkNode="rollerEffect04LinkNodeBack">
                    <motionPathEffect textureFilename="$data/vehicles/knoche/zunslerschreck/rollerEffect01Array.dds" numRows="11" rowLength="18" density="0.7"/>
                </effectNode>
                <effectNode effectNode="smokeEmitter" effectClass="ParticleEffect" particleType="smoke" materialType="smokeParticle" worldSpace="false" emitCountScale="0.3"/>
            </effect>
        </effects>
        <sounds>
            <work template="crushingStubbles" volumeScale="1" linkNode="zunslerschreck_main_component1" fadeIn="0.1"/>
        </sounds>
    </mulcher>

    <foldable>
        <foldingConfigurations>
            <foldingConfiguration>
                <foldingParts startMoveDirection="1">
                    <foldingPart animationName="folding" speedScale="0.8"/>
                </foldingParts>
            </foldingConfiguration>
        </foldingConfigurations>
    </foldable>

    <animations>
        <animation name="folding">
            <part node="leftArm" startTime="0.3" endTime="5" startRot="0 0 0" endRot="0 0 172.4" tangentType="spline"/>
            <part node="rightArm" startTime="0" endTime="4.7" startRot="0 0 0" endRot="0 0 -172.4" tangentType="spline"/>

            <sound template="defaultHydraulicSound" startTime="0.3"  endTime="4.99" volumeScale="1"   pitchScale="1"/>
            <sound template="defaultHydraulicSound" startTime="0.01" endTime="4.7"  volumeScale="1"   pitchScale="0.8"/>
            <sound template="foldStartMed01"        startTime="4.99" direction="-1" volumeScale="1.5" pitchScale="0.6"/>
            <sound template="foldStartMed02"        startTime="4.6"  direction="-1" volumeScale="1"   pitchScale="0.7"/>
            <sound template="clackVar6"             startTime="0.01" direction="-1" volumeScale="1"   pitchScale="0.8"/>
            <sound template="sheetImp02"            startTime="0.01" direction="-1" volumeScale="2"   pitchScale="0.8"/>
            <sound template="clackVar6"             startTime="0.3"  direction="-1" volumeScale="1"   pitchScale="0.8"/>
            <sound template="sheetImp01"            startTime="0.3"  direction="-1" volumeScale="0.8" pitchScale="0.6"/>
            <sound template="clackVar4"             startTime="0.3"  direction="-1" volumeScale="1"   pitchScale="0.8"/>
            <sound template="clackVar1"             startTime="0.01" direction="1"  volumeScale="1"   pitchScale="0.5"/>
            <sound template="foldStartMed02"        startTime="0.3"  direction="1"  volumeScale="1"   pitchScale="0.7"/>
            <sound template="clackVar6"             startTime="4.99" direction="1"  volumeScale="1"   pitchScale="0.7"/>
            <sound template="clackVar1"             startTime="4.5"  direction="1"  volumeScale="1"   pitchScale="0.7"/>
        </animation>
        <animation name="moveSupport">
            <part node="supportArm" startTime="0" endTime="0.25" startTrans="0 0.654 0" endTrans="0 0 0"  />

            <sound template="clackVar6" startTime="0.24" volumeScale="1" pitchScale="0.9" linkNode="attacherJoint"/>
            <sound template="clackVar1" startTime="0.2"  volumeScale="1" pitchScale="1.2" linkNode="attacherJoint"/>
        </animation>
    </animations>

    <cylindered>
        <movingTools>
            <movingTool node="leftArm"  wheelIndices="1">
                <dependentPart node="leftArmPart01" />
            </movingTool>
            <movingTool node="rightArm" wheelIndices="2">
                <dependentPart node="rightArmPart01" />
            </movingTool>
        </movingTools>
        <movingParts>
            <movingPart node="leftArmPart01" localReferencePoint="leftArmPart02" referencePoint="leftArmPart01Ref" referenceFrame="leftArmPart01RefFrame" >
                <dependentPart node="leftArmPart02" />
                <dependentPart node="leftArmHydraulic" />
            </movingPart>
            <movingPart node="leftArmPart02" referencePoint="leftArmPart01Ref" referenceFrame="leftArmPart02RefFrame" />
            <movingPart node="leftArmHydraulic" referencePoint="leftArmHydraulicRef" referenceFrame="leftArmHydraulicRefFrame" >
                <translatingPart node="leftArmHydraulicPunch" />
            </movingPart>

            <movingPart node="rightArmPart01" localReferencePoint="rightArmPart02" referencePoint="rightArmPart01Ref" referenceFrame="rightArmPart01RefFrame" >
                <dependentPart node="rightArmPart02" />
                <dependentPart node="rightArmHydraulic" />
            </movingPart>
            <movingPart node="rightArmPart02" referencePoint="rightArmPart01Ref" referenceFrame="rightArmPart02RefFrame" />
            <movingPart node="rightArmHydraulic" referencePoint="rightArmHydraulicRef" referenceFrame="rightArmHydraulicRefFrame" >
                <translatingPart node="rightArmHydraulicPunch" />
            </movingPart>

            <movingPart node="centerLeftDamper01" referencePoint="centerLeftDamper02Ref" referenceFrame="centerLeftDamper02Ref" isActiveDirty="true" maxUpdateDistance="50">
                <translatingPart node="centerLeftDamper02" />
                <dependentPart node="centerLeftSpring" />
            </movingPart>
            <movingPart node="centerLeftSpring" referencePoint="centerLeftSpringRef" referenceFrame="centerLeftSpringRef" scaleZ="true"/>
            <movingPart node="centerRightDamper01" referencePoint="centerRightDamper02Ref" referenceFrame="centerRightDamper02Ref" isActiveDirty="true" maxUpdateDistance="50">
                <translatingPart node="centerRightDamper02" />
                <dependentPart node="centerRightSpring" />
            </movingPart>
            <movingPart node="centerRightSpring" referencePoint="centerRightSpringRef" referenceFrame="centerRightSpringRef" scaleZ="true"/>
            <movingPart node="leftArmDamper01" referencePoint="leftArmDamper02Ref" referenceFrame="leftArmDamper02Ref" isActiveDirty="true" maxUpdateDistance="50">
                <translatingPart node="leftArmDamper02" />
                <dependentPart node="leftArmSpring" />
            </movingPart>
            <movingPart node="leftArmSpring" referencePoint="leftArmSpringRef" referenceFrame="leftArmSpringRef" scaleZ="true"/>
            <movingPart node="rightArmDamper01" referencePoint="rightArmDamper02Ref" referenceFrame="rightArmDamper02Ref" isActiveDirty="true" maxUpdateDistance="50">
                <translatingPart node="rightArmDamper02" />
                <dependentPart node="rightArmSpring" />
            </movingPart>
            <movingPart node="rightArmSpring" referencePoint="rightArmSpringRef" referenceFrame="rightArmSpringRef" scaleZ="true"/>
        </movingParts>
    </cylindered>

    <ai>
        <needsLowering value="true"/>
        <needsRootAlignment value="false"/>
        <areaMarkers leftNode="aiMarkerLeft" rightNode="aiMarkerRight" backNode="aiMarkerBack"/>
        <collisionTrigger node="aiCollisionNode" width="5.6" height="1.5"/>
        <agentAttachment width="3.0" height="2" length="1.8" lengthOffset="0"/>
    </ai>

    <foliageBending>
        <bendingNode minX="-1.4" maxX="1.4" minZ="-0.65" maxZ="0.7" yOffset="0.25" />
        <bendingNode minX="0" maxX="1.4" minZ="-1.25" maxZ="0.1" yOffset="-0.7" node="leftArm" />
        <bendingNode minX="-1.4" maxX="0" minZ="-1.25" maxZ="0.1" yOffset="-0.7" node="rightArm" />
    </foliageBending>

    <baseMaterial>
        <material name="zunslerschreck_mat" baseNode="zunslerschreck_vis">
            <shaderParameter name="colorMat0" value="KNOCHE_RED1"/>
        </material>
    </baseMaterial>

    <wearable wearDuration="480" workMultiplier="5" fieldMultiplier="2"/>
    <washable dirtDuration="90" washDuration="1" workMultiplier="6" fieldMultiplier="2"/>

    <i3dMappings>
        <i3dMapping id="zunslerschreck_main_component1" node="0>" />
        <i3dMapping id="zunslerschreck_vis" node="0>0" />
        <i3dMapping id="attacherJoint" node="0>0|0|0" />
        <i3dMapping id="topReferenceNode" node="0>0|0|1" />
        <i3dMapping id="supportArm" node="0>0|0|2" />
        <i3dMapping id="hydraulicIn01" node="0>0|0|3|0" />
        <i3dMapping id="hydraulicOut01" node="0>0|0|3|1" />
        <i3dMapping id="hydraulicIn01_detached" node="0>0|0|3|2" />
        <i3dMapping id="hydraulicOut01_detached" node="0>0|0|3|3" />
        <i3dMapping id="workAreaStart" node="0>0|1|0" />
        <i3dMapping id="workAreaWidth" node="0>0|1|1" />
        <i3dMapping id="workAreaHeight" node="0>0|1|2" />
        <i3dMapping id="groundReferenceNode" node="0>0|1|3" />
        <i3dMapping id="smokeEmitter" node="0>0|2|0" />
        <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="aiCollisionNode" node="0>0|3|3" />
        <i3dMapping id="rearLights_static" node="0>0|4|0|1" />
        <i3dMapping id="turnLightLeft_static" node="0>0|4|0|2" />
        <i3dMapping id="turnLightRight_static" node="0>0|4|0|3" />
        <i3dMapping id="turnLightLeftBack" node="0>0|4|1|0" />
        <i3dMapping id="turnLightRightBack" node="0>0|4|1|1" />
        <i3dMapping id="leftArm" node="0>0|5|0" />
        <i3dMapping id="leftArmPart01Ref" node="0>0|5|0|0" />
        <i3dMapping id="leftArmRollArm01" node="0>0|5|0|1" />
        <i3dMapping id="leftArmRollArm02" node="0>0|5|0|1|0" />
        <i3dMapping id="roll01" node="0>0|5|0|1|0|0" />
        <i3dMapping id="roll05" node="0>0|5|0|1|0|1" />
        <i3dMapping id="leftArmDamper02Ref" node="0>0|5|0|1|0|2" />
        <i3dMapping id="rollerEffect01LinkNode" node="0>0|5|0|1|0|5" />
        <i3dMapping id="rollerEffect01LinkNodeBack" node="0>0|5|0|1|0|6" />
        <i3dMapping id="wheel01" node="0>0|5|0|1|0|7" />
        <i3dMapping id="leftArmDamper01" node="0>0|5|0|2" />
        <i3dMapping id="leftArmDamper02" node="0>0|5|0|2|0" />
        <i3dMapping id="leftArmSpringRef" node="0>0|5|0|2|0|0" />
        <i3dMapping id="leftArmSpring" node="0>0|5|0|2|1" />
        <i3dMapping id="rightArm" node="0>0|5|1" />
        <i3dMapping id="rightArmPart01Ref" node="0>0|5|1|0" />
        <i3dMapping id="rightArmRollArm01" node="0>0|5|1|1" />
        <i3dMapping id="rightArmRollArm02" node="0>0|5|1|1|0" />
        <i3dMapping id="roll08" node="0>0|5|1|1|0|0" />
        <i3dMapping id="roll04" node="0>0|5|1|1|0|1" />
        <i3dMapping id="rightArmDamper02Ref" node="0>0|5|1|1|0|2" />
        <i3dMapping id="rollerEffect04LinkNode" node="0>0|5|1|1|0|5" />
        <i3dMapping id="rollerEffect04LinkNodeBack" node="0>0|5|1|1|0|6" />
        <i3dMapping id="wheel02" node="0>0|5|1|1|0|7" />
        <i3dMapping id="rightArmDamper01" node="0>0|5|1|2" />
        <i3dMapping id="rightArmDamper02" node="0>0|5|1|2|0" />
        <i3dMapping id="rightArmSpringRef" node="0>0|5|1|2|0|0" />
        <i3dMapping id="rightArmSpring" node="0>0|5|1|2|1" />
        <i3dMapping id="leftArmHydraulic" node="0>0|5|2" />
        <i3dMapping id="leftArmHydraulicPunch" node="0>0|5|2|0" />
        <i3dMapping id="rightArmHydraulic" node="0>0|5|3" />
        <i3dMapping id="rightArmHydraulicPunch" node="0>0|5|3|0" />
        <i3dMapping id="leftArmHydraulicRefFrame" node="0>0|5|4" />
        <i3dMapping id="rightArmHydraulicRefFrame" node="0>0|5|5" />
        <i3dMapping id="rightArmPart01RefFrame" node="0>0|5|6" />
        <i3dMapping id="leftArmPart01RefFrame" node="0>0|5|7" />
        <i3dMapping id="leftArmPart01" node="0>0|5|8" />
        <i3dMapping id="leftArmPart02" node="0>0|5|8|0" />
        <i3dMapping id="leftArmHydraulicRef" node="0>0|5|8|1" />
        <i3dMapping id="leftArmPart02RefFrame" node="0>0|5|8|2" />
        <i3dMapping id="rightArmPart01" node="0>0|5|9" />
        <i3dMapping id="rightArmPart02" node="0>0|5|9|0" />
        <i3dMapping id="rightArmHydraulicRef" node="0>0|5|9|1" />
        <i3dMapping id="rightArmPart02RefFrame" node="0>0|5|9|2" />
        <i3dMapping id="centerLeftRollArm01" node="0>0|5|10" />
        <i3dMapping id="centerLeftRollArm02" node="0>0|5|10|0" />
        <i3dMapping id="roll06" node="0>0|5|10|0|0" />
        <i3dMapping id="roll02" node="0>0|5|10|0|1" />
        <i3dMapping id="centerLeftDamper02Ref" node="0>0|5|10|0|2" />
        <i3dMapping id="rollerEffect02LinkNode" node="0>0|5|10|0|4" />
        <i3dMapping id="rollerEffect02LinkNodeBack" node="0>0|5|10|0|5" />
        <i3dMapping id="wheel03" node="0>0|5|10|0|6" />
        <i3dMapping id="centerRightRollArm01" node="0>0|5|11" />
        <i3dMapping id="centerRightRollArm02" node="0>0|5|11|0" />
        <i3dMapping id="roll03" node="0>0|5|11|0|0" />
        <i3dMapping id="roll07" node="0>0|5|11|0|1" />
        <i3dMapping id="centerRightDamper02Ref" node="0>0|5|11|0|2" />
        <i3dMapping id="rollerEffect03LinkNode" node="0>0|5|11|0|4" />
        <i3dMapping id="rollerEffect03LinkNodeBack" node="0>0|5|11|0|5" />
        <i3dMapping id="wheel04" node="0>0|5|11|0|6" />
        <i3dMapping id="centerLeftDamper01" node="0>0|5|12" />
        <i3dMapping id="centerLeftDamper02" node="0>0|5|12|0" />
        <i3dMapping id="centerLeftSpringRef" node="0>0|5|12|0|0" />
        <i3dMapping id="centerLeftSpring" node="0>0|5|12|1" />
        <i3dMapping id="centerRightDamper01" node="0>0|5|13" />
        <i3dMapping id="centerRightDamper02" node="0>0|5|13|0" />
        <i3dMapping id="centerRightSpringRef" node="0>0|5|13|0|0" />
        <i3dMapping id="centerRightSpring" node="0>0|5|13|1" />
    </i3dMappings>
</vehicle>
