﻿<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<vehicle type="strawBlower" 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>PRO-CHOP 150</name>
        <specs>
            <neededPower>80</neededPower>
            <capacity unitTextOverride="$l10n_unit_bale">2</capacity>
            <fillTypes>straw</fillTypes>
        </specs>
        <functions>
            <function>$l10n_function_feederBale</function>
        </functions>
        <image>$data/vehicles/andersonGroup/proChop150/store_proChop150.png</image>
        <price>37000</price>
        <lifetime>600</lifetime>
        <rotation>0</rotation>
        <brand>ANDERSONGROUP</brand>
        <category>animals</category>
        <shopHeight>3.75</shopHeight>
        <shopTranslationOffset>0 0.107 0</shopTranslationOffset>
        <shopRotationOffset>-2.2 0 0</shopRotationOffset>
        <vertexBufferMemoryUsage>1528576</vertexBufferMemoryUsage>
        <indexBufferMemoryUsage>258048</indexBufferMemoryUsage>
        <textureMemoryUsage>1703936</textureMemoryUsage>
        <instanceVertexBufferMemoryUsage>0</instanceVertexBufferMemoryUsage>
        <instanceIndexBufferMemoryUsage>0</instanceIndexBufferMemoryUsage>
        <audioMemoryUsage>0</audioMemoryUsage>
    </storeData>

    <base>
        <typeDesc>$l10n_typeDesc_strawBlower</typeDesc>
        <filename>$data/vehicles/andersonGroup/proChop150/proChop150.i3d</filename>
        <size width="3.2" length="5" lengthOffset="0.7"/>
        <components>
            <component centerOfMass="0 0.6 0.6" solverIterationCount="10" mass="2470" />
            <component centerOfMass="0 0 0" solverIterationCount="10" mass="350" />
            <joint component1="1" component2="2" node="backDoorJoint" rotLimit="0 0 0" transLimit="0 0 0" rotLimitSpring="0 0 0" rotLimitDamping="0 0 0"/>
        </components>
        <schemaOverlay attacherJointPosition="0 0" name="IMPLEMENT" />
        <mapHotspot type="TOOL_TRAILED" />
    </base>

    <powerConsumer ptoRpm="540" neededMinPtoPower="30" neededMaxPtoPower="30"/>

    <wheels>
        <wheelConfigurations>
            <wheelConfiguration name="$l10n_configuration_valueDefault" price="0">
                <wheels>
                    <wheel filename="$data/shared/wheels/tires/continental/contiCrossTracHS3/315_80R22_5.xml" configId="trailer" isLeft="true" hasTireTracks="true" hasParticles="true" >
                        <physics tipOcclusionAreaGroupId="1" restLoad="1.3" repr="wheelLeft"  forcePointRatio="0.5" initialCompression="25" suspTravel="0.15" spring="30" damper="25" />
                        <wheelChock/>
                        <wheelChock isInverted="true" />
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/continental/contiCrossTracHS3/315_80R22_5.xml" configId="trailer" isLeft="false" hasTireTracks="true" hasParticles="true" >
                        <physics tipOcclusionAreaGroupId="1" restLoad="1.3" repr="wheelRight" forcePointRatio="0.5" initialCompression="25" suspTravel="0.15" spring="30" damper="25" />
                    </wheel>
                </wheels>
            </wheelConfiguration>
        </wheelConfigurations>

        <rimColor material="18">SHARED_WHITE1</rimColor>

        <hubs>
            <color0>ANDERSONGROUP_RED1</color0>
            <color1>SHARED_GREY3</color1>
            <hub linkNode="wheelLeft"  filename="$data/shared/wheels/hubs/hub_n8_6.xml" isLeft="true"  scale="0.285 0.285 0.285" offset="0.01"/>
            <hub linkNode="wheelRight" filename="$data/shared/wheels/hubs/hub_n8_6.xml" isLeft="false" scale="0.285 0.285 0.285" offset="0.01"/>
        </hubs>
    </wheels>

    <attachable>
        <inputAttacherJoints>
            <inputAttacherJoint node="attacherJoint" jointType="trailer" attacherHeight="0.55"/>
        </inputAttacherJoints>
        <support animationName="moveSupport" />
        <brakeForce force="0.55"/>
    </attachable>

    <powerTakeOffs>
        <input inputAttacherJointIndices="1" detachNode="ptoDetachNode" inputNode="ptoInputNode" aboveAttacher="true" />
    </powerTakeOffs>

    <dynamicallyLoadedParts>
        <dynamicallyLoadedPart node="1|0" linkNode="hydraulicIn01_detachedAdapter"  filename="$data/shared/connectionHoses/connectors.i3d" />
        <dynamicallyLoadedPart node="1|0" linkNode="hydraulicOut01_detachedAdapter"  filename="$data/shared/connectionHoses/connectors.i3d" />
        <dynamicallyLoadedPart node="1|0" linkNode="hydraulicIn02_detachedAdapter"  filename="$data/shared/connectionHoses/connectors.i3d" />
        <dynamicallyLoadedPart node="1|0" linkNode="hydraulicOut02_detachedAdapter"  filename="$data/shared/connectionHoses/connectors.i3d" />
        <dynamicallyLoadedPart node="1|1" linkNode="electricIn01_detachedAdapter"  filename="$data/shared/connectionHoses/connectors.i3d" />
    </dynamicallyLoadedParts>

    <connectionHoses>
        <hose inputAttacherJointIndices="1" type="hydraulicIn"  node="hydraulicIn01"  length="1" diameter="0.02" straighteningFactor="2">
           <objectChange node="hydraulicIn01_detached" visibilityActive="false" visibilityInactive="true"/>
        </hose>
        <hose inputAttacherJointIndices="1" type="hydraulicOut" node="hydraulicOut01" length="1" diameter="0.02" straighteningFactor="2">
           <objectChange node="hydraulicOut01_detached" visibilityActive="false" visibilityInactive="true"/>
        </hose>
        <hose inputAttacherJointIndices="1" type="hydraulicIn"  node="hydraulicIn02"  length="1" diameter="0.02" straighteningFactor="2">
           <objectChange node="hydraulicIn02_detached" visibilityActive="false" visibilityInactive="true"/>
        </hose>
        <hose inputAttacherJointIndices="1" type="hydraulicOut" node="hydraulicOut02" length="1" diameter="0.02" straighteningFactor="2">
           <objectChange node="hydraulicOut02_detached" visibilityActive="false" visibilityInactive="true"/>
        </hose>
        <hose inputAttacherJointIndices="1" type="electric" node="electricIn01" length="1" diameter="0.02" straighteningFactor="2">
           <objectChange node="electricIn01_detached" visibilityActive="false" visibilityInactive="true"/>
        </hose>
    </connectionHoses>

    <lights>
        <sharedLight linkNode="rear3ChamberLight06Left"  filename="$data/shared/assets/lights/lizard/rearLight10_left.xml" />
        <sharedLight linkNode="rear3ChamberLight06Right" filename="$data/shared/assets/lights/lizard/rearLight10_right.xml" />
        <sharedLight linkNode="plateNumberLight02" filename="$data/shared/assets/lights/lizard/plateNumberLight02.xml" />

        <realLights>
            <high>
                <light node="backLightsHigh1" lightTypes="0"/>
                <light node="licensePlateLightHigh" lightTypes="0"/>
                <turnLightLeft node="turnLightLeftBack"/>
                <turnLightRight node="turnLightRightBack"/>
                <brakeLight node="backLightsHigh1"/>
            </high>
        </realLights>
    </lights>

    <licensePlates>
        <licensePlate node="licensePlateBack" position="BACK" preferedType="SQUARISH" placementArea="0.1 0.2 0.1 0.14"/>
    </licensePlates>

    <animations>
        <animation name="moveSupport">
            <part node="supportCol"    startTime="0" endTime="0.75" startTrans="0 0.3 0" endTrans="0 -0.19 0" />
            <part node="supportArm"    startTime="0" endTime="0.75" startTrans="0 0.062 0" endTrans="0 -0.28 0" />
            <part node="supportWinder" startTime="0" endTime="0.75" startRot="0 0 0" endRot="720 0 0" />

            <sound template="clackVar5"  startTime="0.69"               volumeScale="2.5" pitchScale="1.3" linkNode="attacherJoint"/>
            <sound template="latchSmall" startTime="0.69"               volumeScale="0.5" pitchScale="1.6" linkNode="attacherJoint"/>
            <sound template="clackVar1"  startTime="0.1" direction="-1" volumeScale="2.5" pitchScale="1.7" linkNode="attacherJoint"/>
            <sound template="clackVar1"  startTime="0.6" direction="1"  volumeScale="2.5" pitchScale="1.7" linkNode="attacherJoint"/>
        </animation>
        <animation name="openDoor">
            <part node="backDoorJoint"    startTime="0" endTime="3" startRot="10 0 0" endRot="-90 0 0" />
            <part componentJointIndex="1" startTime="0" endTime="3" startRotLimit="0 0 0" endRotLimit="20 0 0" />

            <sound template="defaultHydraulicSound" startTime="0.01" endTime="2.6"  volumeScale="2"   pitchScale="0.8" fadeIn="0.1" fadeOut="0.2"/>
            <sound template="clackVar5"             startTime="0.01" direction="1"  volumeScale="0.5" pitchScale="2.6"/>
            <sound template="clackVar6"             startTime="2.6"  direction="1"  volumeScale="1.3" pitchScale="0.6"/>
            <sound template="sheetImp02"            startTime="2.6"  direction="1"  volumeScale="1.8" pitchScale="1.6"/>
            <sound template="cylinderPunch"         startTime="2.6"  direction="1"  volumeScale="0.3" pitchScale="1.6"/>
            <sound template="sheetImp02"            startTime="2.6"  direction="-1" volumeScale="1.8" pitchScale="0.8"/>
            <sound template="metalClose"            startTime="0.01" direction="-1" volumeScale="1.7" pitchScale="1"/>
            <sound template="cylinderPunch"         startTime="0.01" direction="-1" volumeScale="0.5" pitchScale="1.7"/>
        </animation>
        <animation name="pipeMovement">
            <part node="pipe" startTime="0" endTime="1" startRot="0 0 -10" endRot="0 0 -27.5" />
        </animation>
    </animations>

    <cylindered>
        <movingTools>
            <movingTool node="pipe" playSound="true">
                <controls axis="AXIS_CRANE_ARM" invertAxis="true" mouseSpeedFactor="0.5" iconName="PIPE_END_ROTATE" />
                <animation animSpeed="1" animAcceleration="5" animName="pipeMovement" />
                <dependentPart node="pipePart" />
                <dependentPart node="pipeHydraulic" />
                <dependentPart node="unloadingFlapPart" />
            </movingTool>
            <movingTool node="backDoorJoint" playSound="true">
                <controls axis="AXIS_DOOR" invertAxis="true" mouseSpeedFactor="0.65" iconName="TOP_DOOR_ROTATE" />
                <animation animSpeed="0.25" animAcceleration="10" animName="openDoor" />
                <componentJoint index="1"/>
            </movingTool>
        </movingTools>

        <movingParts>
            <movingPart node="unloadingFlapPart" referencePoint="unloadingFlapPartRef" referenceFrame="unloadingFlapPartRef"/>
            <movingPart node="backDoor" referencePoint="backDoorRef" referenceFrame="backDoorRef" isActiveDirty="true" limitedAxis="1" maxUpdateDistance="300">
                <dependentPart node="backDoorHydraulic" />
            </movingPart>
            <movingPart node="backDoorHydraulic" referencePoint="backDoorHydraulicRef" referenceFrame="backDoorHydraulicRef" >
                <translatingPart node="backDoorHydraulicPunch" />
            </movingPart>
            <movingPart node="pipeHydraulic" referencePoint="pipeHydraulicRef" referenceFrame="pipeHydraulicRef">
                <translatingPart node="pipeHydraulicPunch" />
            </movingPart>

            <movingPart node="pipePart" referencePoint="pipePartArmRef" localReferencePoint="flapArm" referenceFrame="pipePartRefFrame" >
                <dependentPart node="flapArm" />
            </movingPart>
            <movingPart node="flapArm" referencePoint="pipePartArmRef" referenceFrame="pipePartArmRef" />
        </movingParts>

        <sounds>
            <actionSound template="defaultHydraulicSound" pitchScale="1.2" volumeScale="0.8" linkNode="pipeHydraulic" actionNames="TRANSLATING_POS TRANSLATING_NEG" nodes="pipeHydraulic" fadeIn="0.1" fadeOut="0.05"/>
            <actionSound template="clackVar4"             pitchScale="1"   volumeScale="0.7" linkNode="pipe"          actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="pipe"/>
            <actionSound template="sheetImp02"            pitchScale="1.7" volumeScale="2"   linkNode="pipe"          actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="pipe"/>
            <actionSound template="sheetImp02"            pitchScale="1.5" volumeScale="2"   linkNode="pipe"          actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="pipe"/>
            <actionSound template="clackVar6"             pitchScale="1.1" volumeScale="1"   linkNode="pipe"          actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="pipe"/>
        </sounds>
    </cylindered>

    <fillUnit>
        <fillUnitConfigurations>
            <fillUnitConfiguration>
                <fillUnits>
                    <fillUnit unitTextOverride="$l10n_unit_bale" fillTypes="straw" capacity="2" showInShop="false" showOnInfoHud="false"/>
                </fillUnits>
            </fillUnitConfiguration>
        </fillUnitConfigurations>
    </fillUnit>

    <strawBlower>
        <baleTrigger node="baleTrigger" />
        <animationNodes>
            <animationNode node="drum3" rotSpeed="750"  rotAxis="3" turnOnFadeTime="3" turnOffFadeTime="4"/>
            <animationNode node="cutter" rotSpeed="-500"  rotAxis="1" turnOnFadeTime="4" turnOffFadeTime="6"/>
            <animationNode node="chainDecal"         rotSpeed="10"  rotAxis="1" shaderComponentScale="0 1 0 0" shaderParameterName="offsetUV" />
            <animationNode class="ScrollingAnimation" node="chains" shaderParameterName="scrollPosition" scrollSpeed="-0.0148" scrollLength="1.8" />
        </animationNodes>
        <sounds>
            <start template="STRAWBLOWER_ANDERSON_START" linkNode="proChop150_main_component1" />
            <stop template="STRAWBLOWER_ANDERSON_STOP" linkNode="proChop150_main_component1" />
            <work template="STRAWBLOWER_ANDERSON_WORK" linkNode="proChop150_main_component1" />
        </sounds>
    </strawBlower>

    <dynamicMountAttacher triggerNode="dynamicMountTrigger" rootNode="proChop150_main_component1" jointNode="proChop150_main_component1" />

    <dischargeable requiresTipOcclusionArea="false">
        <dischargeNode node="dischargeNode" emptySpeed="250" fillUnitIndex="1" unloadInfoIndex="3" >
            <raycast node="dischargeNode" maxDistance="30"/>
            <info node="dischargeInfoNode" width="1.5" length="1.5" zOffset="0.4" useRaycastHitPosition="true"/>

            <effects>
                <effectNode effectClass="ParticleEffect" effectNode="pipeEffect3" particleType="SMOKE" materialType="smokeParticle" emitCountScale="10.0" extraDistance="5"/>

                <effectNode effectClass="TypedMotionPathEffect" effectType="STRAW_CHOPPER" linkNode="pipeEffect01Node">
                    <motionPathEffect textureFilename="$data/vehicles/andersonGroup/proChop150/pipeEffect01Array.dds" numRows="8" rowLength="6" shapeScale="0.4" maxShapeScale="0.4" speedScale="5"/>
                </effectNode>
                <effectNode effectClass="TypedMotionPathEffect" effectType="STRAW_CHOPPER" linkNode="pipeEffect02Node">
                    <motionPathEffect textureFilename="$data/vehicles/andersonGroup/proChop150/pipeEffect02Array.dds" numRows="8" rowLength="6" shapeScale="0.4" maxShapeScale="0.4" speedScale="5"/>
                </effectNode>
                <effectNode effectClass="TypedMotionPathEffect" effectType="STRAW_CHOPPER" linkNode="chopperEffectNode">
                    <motionPathEffect textureFilename="$data/vehicles/andersonGroup/proChop150/chopperEffectArray.dds" numRows="20" rowLength="31" maxShapeScale="4"/>
                </effectNode>
            </effects>
        </dischargeNode>
    </dischargeable>

    <ai>
        <agentAttachment jointNode="attacherJoint" rotCenterWheelIndices="1 2" width="2.2" height="2.5" length="3" lengthOffset="0.15"/>
    </ai>

    <foliageBending>
        <bendingNode minX="-1.25" maxX="1.25" minZ="-1.25" maxZ="1.55" yOffset="0.35" />
        <bendingNode minX="-0.25" maxX="0.25" minZ="1.55" maxZ="2.85" yOffset="0.35" />
    </foliageBending>

    <wearable wearDuration="480" workMultiplier="5" fieldMultiplier="2"/>
    <washable dirtDuration="90" washDuration="1" workMultiplier="6" fieldMultiplier="2"/>

    <baseMaterial>
        <material name="proChop150_mat" baseNode="proChop150_vis">
            <shaderParameter name="colorMat0" value="ANDERSONGROUP_RED1"/>
            <shaderParameter name="colorMat1" value="ANDERSONGROUP_GREY1"/>
        </material>
    </baseMaterial>

    <i3dMappings>
        <i3dMapping id="proChop150_main_component1" node="0>" />
        <i3dMapping id="proChop150_vis" node="0>0" />
        <i3dMapping id="attacherJoint" node="0>0|0|0" />
        <i3dMapping id="ptoInputNode" node="0>0|0|1" />
        <i3dMapping id="ptoDetachNode" node="0>0|0|1|0" />
        <i3dMapping id="supportCol" node="0>0|0|2|0" />
        <i3dMapping id="support" node="0>0|0|2|1" />
        <i3dMapping id="supportArm" node="0>0|0|2|1|0" />
        <i3dMapping id="supportWinder" node="0>0|0|2|1|1" />
        <i3dMapping id="hydraulicIn01" node="0>0|0|3|0" />
        <i3dMapping id="hydraulicIn01_detached" node="0>0|0|3|0|0" />
        <i3dMapping id="hydraulicIn01_detachedAdapter" node="0>0|0|3|0|0|0" />
        <i3dMapping id="hydraulicOut01" node="0>0|0|3|1" />
        <i3dMapping id="hydraulicOut01_detached" node="0>0|0|3|1|0" />
        <i3dMapping id="hydraulicOut01_detachedAdapter" node="0>0|0|3|1|0|0" />
        <i3dMapping id="hydraulicIn02" node="0>0|0|3|2" />
        <i3dMapping id="hydraulicIn02_detached" node="0>0|0|3|2|0" />
        <i3dMapping id="hydraulicIn02_detachedAdapter" node="0>0|0|3|2|0|0" />
        <i3dMapping id="hydraulicOut02" node="0>0|0|3|3" />
        <i3dMapping id="hydraulicOut02_detached" node="0>0|0|3|3|0" />
        <i3dMapping id="hydraulicOut02_detachedAdapter" node="0>0|0|3|3|0|0" />
        <i3dMapping id="electricIn01_detached" node="0>0|0|3|4" />
        <i3dMapping id="electricIn01_detachedAdapter" node="0>0|0|3|4|0" />
        <i3dMapping id="electricIn01" node="0>0|0|3|5" />
        <i3dMapping id="wheelLeft" node="0>0|1|0" />
        <i3dMapping id="wheelRight" node="0>0|1|1" />
        <i3dMapping id="rear3ChamberLight06Right" node="0>0|2|0|0" />
        <i3dMapping id="rear3ChamberLight06Left" node="0>0|2|0|1" />
        <i3dMapping id="plateNumberLight02" node="0>0|2|0|2" />
        <i3dMapping id="backLightsHigh1" node="0>0|2|1|0" />
        <i3dMapping id="licensePlateLightHigh" node="0>0|2|1|1" />
        <i3dMapping id="turnLightLeftBack" node="0>0|2|2|0" />
        <i3dMapping id="turnLightRightBack" node="0>0|2|2|1" />
        <i3dMapping id="backDoorJoint" node="0>0|3|0" />
        <i3dMapping id="backDoor" node="0>0|3|1|0" />
        <i3dMapping id="backDoorHydraulicRef" node="0>0|3|1|0|0" />
        <i3dMapping id="pipe" node="0>0|3|2" />
        <i3dMapping id="pipePart" node="0>0|3|2|0" />
        <i3dMapping id="flapArm" node="0>0|3|2|0|0" />
        <i3dMapping id="dischargeNode" node="0>0|3|2|0|1" />
        <i3dMapping id="pipeEffect2" node="0>0|3|2|0|2|0" />
        <i3dMapping id="pipeEffect3" node="0>0|3|2|0|2|1" />
        <i3dMapping id="chopperEffectNode" node="0>0|3|2|0|3" />
        <i3dMapping id="pipePartRefFrame" node="0>0|3|2|2" />
        <i3dMapping id="pipeHydraulicRef" node="0>0|3|2|3" />
        <i3dMapping id="pipeEffect02Node" node="0>0|3|2|5" />
        <i3dMapping id="unloadingFlap" node="0>0|3|3" />
        <i3dMapping id="unloadingFlapPart" node="0>0|3|3|0" />
        <i3dMapping id="cutter" node="0>0|3|4" />
        <i3dMapping id="drum3" node="0>0|3|5" />
        <i3dMapping id="chains" node="0>0|3|6|0" />
        <i3dMapping id="chainDecal" node="0>0|3|7" />
        <i3dMapping id="backDoorHydraulic" node="0>0|4|0" />
        <i3dMapping id="backDoorHydraulicPunch" node="0>0|4|0|0" />
        <i3dMapping id="pipeHydraulic" node="0>0|4|1" />
        <i3dMapping id="pipeHydraulicPunch" node="0>0|4|1|0" />
        <i3dMapping id="pipePartArmRef" node="0>0|4|2" />
        <i3dMapping id="unloadingFlapPartRef" node="0>0|4|3" />
        <i3dMapping id="licensePlateBack" node="0>0|5" />
        <i3dMapping id="dischargeInfoNode" node="0>0|6|0" />
        <i3dMapping id="baleTrigger" node="0>0|6|1" />
        <i3dMapping id="dynamicMountTrigger" node="0>0|6|2" />
        <i3dMapping id="pipeEffect01Node" node="0>0|7|0" />
        <i3dMapping id="proChop150_backDoor_component2" node="1>" />
        <i3dMapping id="backDoorRef" node="1>0" />
    </i3dMappings>
</vehicle>
