<?xml version="1.0" encoding="utf-8" standalone="no"?>
<vehicle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" type="handMulcher" xsi:noNamespaceSchemaLocation="https://validation.gdn.giants-software.com/xml/fs25/vehicle.xsd">
    <annotation>Copyright (C) GIANTS Software GmbH, All Rights Reserved.</annotation>
    <storeData>
        <name>
            <en>Manual Mulcher</en>
			<de>Manuelle Häcksler</de>
			<fr>Hachoir Manuel</fr>
			<it>Trinciatrice Manuale</it>
		</name>
        <specs>
            <workingWidth>1.2</workingWidth>
            <maxSpeed>8</maxSpeed>
        </specs>
        <functions>
			 <function>$l10n_function_mulcher</function>
            <function>$l10n_function_vineOliveTool</function>
        </functions>
        <image>store_Handmower.dds</image>
        <price>150</price>
        <lifetime>600</lifetime>
        <rotation>0</rotation>
        <brand>LIZARD</brand>
        <category>mulchers</category>
        <vertexBufferMemoryUsage>175616</vertexBufferMemoryUsage>
        <indexBufferMemoryUsage>66304</indexBufferMemoryUsage>
        <textureMemoryUsage>1507328</textureMemoryUsage>
        <audioMemoryUsage>0</audioMemoryUsage>
        <instanceVertexBufferMemoryUsage>0</instanceVertexBufferMemoryUsage>
        <instanceIndexBufferMemoryUsage>0</instanceIndexBufferMemoryUsage>
    </storeData>

    <base>
        <typeDesc>$l10n_typeDesc_mulcher</typeDesc>
        <filename>handmower.i3d</filename>
        <size width="1.5" height="1" length="1.2"/>
		<supportsPickUp>true</supportsPickUp>
		<speedLimit value="10" />
        <components>
            <component centerOfMass="0 0.3 0" solverIterationCount="10" mass="10"/>
        </components>
		<schemaOverlay attacherJointPosition="0 0" name="HANDMULCHER" />
        <mapHotspot type="VEHICLE"/>
    </base>

    <wheels>
        <wheelConfigurations>
            <wheelConfiguration name="$l10n_configuration_valueDefault" price="0" brand="LIZARD" saveId="LIZARD_DEFAULT">
                <wheels autoRotateBackSpeed="4" isCareWheelConfiguration="true">
                    <wheel isLeft="true" hasTireTracks="false" hasParticles="false" >
                        <physics radius="0.3" width="0.1" rotSpeed="1" restLoad="0.1" repr="ruotaAntSxF" useReprDirection="true" forcePointRatio="0.3" initialCompression="25" suspTravel="0.12" spring="36" damper="30" frictionScale="2" showSteeringAngle="false"/>
                    </wheel>
                    <wheel isLeft="false" hasTireTracks="false" hasParticles="false" >
                        <physics radius="0.3" width="0.1" rotSpeed="1" restLoad="0.1" repr="ruotaAntDxF" useReprDirection="true" forcePointRatio="0.3" initialCompression="25" suspTravel="0.12" spring="36" damper="30" frictionScale="2" showSteeringAngle="false"/>
                    </wheel>
                    <wheel isLeft="true" hasTireTracks="false" hasParticles="false" >
                        <physics radius="0.3" width="0.1" rotSpeed="1" restLoad="0.1" repr="ruotaPosSxF" useReprDirection="true" forcePointRatio="0.3" initialCompression="25" suspTravel="0.12" spring="36" damper="30" frictionScale="2" showSteeringAngle="false"/>
                    </wheel>
					<wheel isLeft="false" hasTireTracks="false" hasParticles="false" >
                        <physics radius="0.3" width="0.1" rotSpeed="1" restLoad="0.1" repr="ruotaPosDxF" useReprDirection="true" forcePointRatio="0.3" initialCompression="25" suspTravel="0.12" spring="36" damper="30" frictionScale="2" showSteeringAngle="false"/>
                    </wheel>
                </wheels>
            </wheelConfiguration>
        </wheelConfigurations>
        <ackermannSteeringConfigurations>
            <ackermannSteering rotSpeed="60" rotMax="40" rotCenter="0 0"/>
        </ackermannSteeringConfigurations>
    </wheels>
	
	<lights>
		<sharedLight linkNode="lights" filename="$data/shared/assets/lights/lizard/workingLight23.xml" lightTypes="1"/>
	    <states>
            <state lightTypes="1" />
        </states>
		
		<realLights>
            <low>
                <light node="light" lightTypes="1"/>
            </low>
            <high>
                <light node="light" lightTypes="1"/>
            </high>
        </realLights>
    </lights>

    <enterable isTabbable="true">
        <enterReferenceNode node="exitPoint"/>
        <exitPoint node="exitPoint"/>
        <cameras>
            <camera node="outdoorCamera" rotatable="true" limit="true" rotMinX="-1.4" rotMaxX="1.0" transMin="3.5" transMax="15" rotateNode="outdoorCameraTarget" useWorldXZRotation="true" translation="0 0 7" rotation="-17.5 180 0" >
                <raycastNode node="cameraRaycastNode1"/>
                <raycastNode node="cameraRaycastNode2"/>
            </camera>
            <camera node="indoorCamera" rotatable="true" limit="true" rotMinX="-1.1" rotMaxX="0.4" transMin="0.0" transMax="0" useMirror="true" isInside="true" useOutdoorSounds="true"  shadowFocusBox="shadowFocusBox" />
        </cameras>

        <characterNode node="skeleton" cameraMinDistance="0.75" useAnimation="true" />
		<enterAnimation name="enterAnimation"/>
    </enterable>

    <pushHandTool>
        <raycast node1="rayCast1" node2="rayCast2" playerNode="playerNode"/>
        <wheels front="1 2" back="3 4"/>
		
        <ikChains>
            <target ikChain="rightArm" targetNode="manoDx" poseId="wideFingers"/>
            <target ikChain="leftArm" targetNode="manoSx" poseId="wideFingers"/>
        </ikChains>
		
        <customChainLimits>
            <customChainLimit chainId="leftArm" nodeIndex="1" minRx="-50" maxRx="50" minRy="-80" maxRy="80" minRz="-75" maxRz="10" localLimits="true"/>
            <customChainLimit chainId="leftArm" nodeIndex="2" minRx="-25" maxRx="25" minRy="-144" maxRy="-25" minRz="-10" maxRz="10" localLimits="true"/>

            <customChainLimit chainId="rightArm" nodeIndex="1" minRx="-50" maxRx="50" minRy="-80" maxRy="80" minRz="-75" maxRz="10" localLimits="true"/>
            <customChainLimit chainId="rightArm" nodeIndex="2" minRx="-25" maxRx="25" minRy="-144" maxRy="-25" minRz="-10" maxRz="10" localLimits="true"/>
        </customChainLimits>
		
        <playerConditionalAnimation>
            <item id="idle" entryTransitionDuration="0.25" exitTransitionDuration="0.25">
                <clips>
                    <clip clipName="idle1Source"/>
                </clips>
                <conditions>
                    <conditionGroup>
                        <condition parameter="absSmoothedForwardVelocity" lower="0.2"/>
                    </conditionGroup>
                </conditions>
            </item>
            <item id="walk" entryTransitionDuration="0.25" exitTransitionDuration="0.25">
                <clips speedScaleType="distance" speedScaleParameter="2">
                    <clip clipName="walkFwd1Source"/>
                </clips>
                <conditions>
                    <conditionGroup>
                        <condition parameter="smoothedForwardVelocity" between="0.3, 4"/>
                    </conditionGroup>
                </conditions>
            </item>
            <item id="walkBack" entryTransitionDuration="0.5" exitTransitionDuration="0.25">
                <clips speedScaleType="distance" speedScaleParameter="2.5">
                    <clip clipName="walkBwdLoopSource"/>
                </clips>
                <conditions>
                    <conditionGroup>
                        <condition parameter="smoothedForwardVelocity" between="-3, -0.3"/>
                    </conditionGroup>
                </conditions>
            </item>
        </playerConditionalAnimation>
    </pushHandTool>
	
	<speedRotatingParts>
        <speedRotatingPart node="Lama"  radius="0.2" groundReferenceNodeIndex="1"/>
		
		<speedRotatingPart node="ruotaAntSx" radius="0.3"/>
		<speedRotatingPart node="ruotaAntDx" radius="0.3"/>
    </speedRotatingParts>
	
	<groundReferenceNodes>
        <groundReferenceNode node="groundReference" threshold="0.25" onlyActiveWhenLowered="false"/>
    </groundReferenceNodes>

    <workAreas>
		<workArea type="mulcher" functionName="processMulcherArea" disableBackwards="true" needsSetIsTurnedOn="false" >
            <area startNode="workAreaStart" widthNode="workAreaEnd" heightNode="workAreaBack"/>
			<groundReferenceNode index="1" />
			<onlyActiveWhenLowered value="false"/>
        </workArea>
    </workAreas>

	<mower fruitTypeConverter="MOWER">
	</mower>
	
	<mulcher>
		<needsActivation value="false"/>
        <effects>
            <effect workAreaIndex="1">
                <effectNode effectClass="TypedMotionPathEffect" effectType="MULCHER" linkNode="fxNode">
                    <motionPathEffect textureFilename="$data/vehicles/salek/mul1000/mulcherEffect01Array.dds" numRows="16" rowLength="18" minFade="0.15" shapeScale="0.3" maxShapeScale="1.2"/>
                </effectNode>
            </effect>
        </effects>
        <sounds>
            <work template="crushingStubbles" linkNode="MainShape" volumeScale="0.3"/>
        </sounds>
    </mulcher>

	<animations>
        <animation name="enterAnimation" >
            <part node="Supporto" startTime="0" endTime="0.5" startRot="-36 0 0" endRot="0 0 0"/>
        </animation>
		
		<animation name="unfold">
            <part node="groundReference" startTime="0" endTime="0.5" startTrans="0 1 0" endTrans="0 0 0" />
			<part node="Barra_disp" startTime="0" endTime="0.5" startRot="-5 0 0" endRot="5 0 0"/>
        </animation>
    </animations>
	
	<turnOnVehicle>
        <turnedAnimation name="unfold"/>
    </turnOnVehicle>

    <motorized>
        <differentialConfigurations>
            <differentialConfiguration>
                <differentials>
                    <differential torqueRatio="0.5" maxSpeedRatio="1.6" wheelIndex1="1" wheelIndex2="2"/>
                </differentials>
            </differentialConfiguration>
        </differentialConfigurations>
        <motorConfigurations>
            <motorConfiguration>
                <motor torqueScale="0.844" minRpm="850" maxRpm="2200" maxForwardSpeed="10" maxBackwardSpeed="8" brakeForce="0.1" lowBrakeForceScale="0.1">
                    <torque normRpm="0.45" torque="0.9"/>
                    <torque normRpm="0.5" torque="0.97"/>
                    <torque normRpm="0.59" torque="1"/>
                    <torque normRpm="0.72" torque="1"/>
                    <torque normRpm="0.86" torque="0.88"/>
                    <torque normRpm="1" torque="0.72"/>
                </motor>
                <transmission minForwardGearRatio="84.67" maxForwardGearRatio="300" minBackwardGearRatio="32" maxBackwardGearRatio="300" />
            </motorConfiguration>
        </motorConfigurations>
        <motorStartDuration>500</motorStartDuration>
    </motorized>

    <drivable>
        <idleTurning allowed="false" direction="1" maxSpeed="10" steeringFactor="100"/>
        <sounds>
            <waterSplash template="waterSplash01" linkNode="MainShape"/>
        </sounds>
    </drivable>

    <ai>
		<areaMarkers leftNode="aiMarkerLeft" rightNode="aiMarkerRight" backNode="aiMarkerBack"/>
		<agent useSize="true" />
		<agentAttachment useSize="true"/>
		<collisionTrigger useSize="true"/>
		<needsLowering value="false"/>
		<needsActivation value="false"/>
		<isVineyardTool value="true" betweenRows="true"/>
	</ai>

    <foliageBending>
        <bendingNode minX="-0.8" maxX="0.8" minZ="-0.5" maxZ="0.5" yOffset="0.2"/>
    </foliageBending>
	
	<baseColorConfigurations useDefaultColors="true" defaultColorIndex="27">
        <material materialSlotName="plow" materialTemplateUseColorOnly="true"/>
    </baseColorConfigurations>

    <wearable wearDuration="100" workMultiplier="3" fieldMultiplier="2"/>
    <washable dirtDuration="6" washDuration="1" workMultiplier="3" fieldMultiplier="2"/>

	<i3dMappings>
		<i3dMapping id="MainShape" node="0>"/>
		<i3dMapping id="Base" node="0>0"/>
		<i3dMapping id="Maniglia" node="0>0|0"/>
		<i3dMapping id="mani" node="0>0|0|0"/>
		<i3dMapping id="manoSx" node="0>0|0|0|0"/>
		<i3dMapping id="manoDx" node="0>0|0|0|1"/>
		<i3dMapping id="lights" node="0>0|0|1"/>
		<i3dMapping id="light" node="0>0|0|1|0"/>
		<i3dMapping id="Supporto" node="0>0|1"/>
		<i3dMapping id="Bulloni" node="0>0|2"/>
		<i3dMapping id="Lama" node="0>0|3"/>
		<i3dMapping id="Cavo_disp" node="0>0|4"/>
		<i3dMapping id="Barra_disp" node="0>0|5"/>
		<i3dMapping id="workAreas" node="0>0|6"/>
		<i3dMapping id="workAreaStart" node="0>0|6|0"/>
		<i3dMapping id="workAreaEnd" node="0>0|6|1"/>
		<i3dMapping id="workAreaBack" node="0>0|6|2"/>
		<i3dMapping id="dropAreaStart" node="0>0|6|3"/>
		<i3dMapping id="dropAreaEnd" node="0>0|6|4"/>
		<i3dMapping id="dropAreaBack" node="0>0|6|5"/>
		<i3dMapping id="groundReference" node="0>0|6|6"/>
		<i3dMapping id="effetti" node="0>0|7"/>
		<i3dMapping id="fxNode" node="0>0|7|0"/>
		<i3dMapping id="ruote" node="0>1"/>
		<i3dMapping id="ruotaAntSx" node="0>1|0"/>
		<i3dMapping id="center" node="0>1|0|0"/>
		<i3dMapping id="w_inner" node="0>1|0|0|0"/>
		<i3dMapping id="w_innerLeft" node="0>1|0|0|0|0"/>
		<i3dMapping id="w_innerRight" node="0>1|0|0|0|1"/>
		<i3dMapping id="right" node="0>1|0|0|0|2"/>
		<i3dMapping id="ruotaAntDx" node="0>1|1"/>
		<i3dMapping id="center" node="0>1|1|0"/>
		<i3dMapping id="w_inner" node="0>1|1|0|0"/>
		<i3dMapping id="w_innerLeft" node="0>1|1|0|0|0"/>
		<i3dMapping id="w_innerRight" node="0>1|1|0|0|1"/>
		<i3dMapping id="right" node="0>1|1|0|0|2"/>
		<i3dMapping id="ruotaPosSxF" node="0>1|2"/>
		<i3dMapping id="ruotaPosDxF" node="0>1|3"/>
		<i3dMapping id="ruotaAntSxF" node="0>1|4"/>
		<i3dMapping id="ruotaAntDxF" node="0>1|5"/>
		<i3dMapping id="ai" node="0>2"/>
		<i3dMapping id="aiAreaStart" node="0>2|0"/>
		<i3dMapping id="aiAreaEnd" node="0>2|1"/>
		<i3dMapping id="aiAreaBack" node="0>2|2"/>
		<i3dMapping id="aiCollision" node="0>2|3"/>
		<i3dMapping id="aiSizeStart" node="0>2|4"/>
		<i3dMapping id="aiSizeEnd" node="0>2|5"/>
		<i3dMapping id="aiSizeBack" node="0>2|6"/>
		<i3dMapping id="cameras" node="0>3"/>
		<i3dMapping id="camera" node="0>3|0"/>
		<i3dMapping id="outdoorCameraTarget" node="0>3|1"/>
		<i3dMapping id="outdoorCamera" node="0>3|1|0"/>
		<i3dMapping id="cameraRaycastNode1" node="0>3|2"/>
		<i3dMapping id="cameraRaycastNode2" node="0>3|3"/>
		<i3dMapping id="shadowFocusBox" node="0>3|4"/>
		<i3dMapping id="indoorCamera" node="0>3|5"/>
		<i3dMapping id="player" node="0>4"/>
		<i3dMapping id="playerNode" node="0>4|0"/>
		<i3dMapping id="skeleton" node="0>4|0|0"/>
		<i3dMapping id="rayCast2" node="0>4|1"/>
		<i3dMapping id="rayCast1" node="0>4|2"/>
		<i3dMapping id="exitPoint" node="0>5"/>
		<i3dMapping id="ai" node="0>6"/>
		<i3dMapping id="aiMarkers" node="0>6|0"/>
		<i3dMapping id="aiMarkerLeft" node="0>6|0|0"/>
		<i3dMapping id="aiMarkerRight" node="0>6|0|1"/>
		<i3dMapping id="aiMarkerBack" node="0>6|0|2"/>
		<i3dMapping id="aiCollisionNode" node="0>6|1"/>
	</i3dMappings>
</vehicle>
