<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<vehicle type="bicycle">
    <storeData>
		<name>$l10n_shopItem_bicycle</name>
        <specs>
            <power>1</power>
            <maxSpeed>40</maxSpeed>
        </specs>
        <functions>
            <function>$l10n_function_bicycle</function>
        </functions>
        <image>store/store_bicycle.png</image>
        <price>400</price>
        <lifetime>600</lifetime>
        <rotation>0</rotation>
        <brand>LSFMINNOVATIONS</brand>
        <category>lsfmFarmEquipmentPackBicycle</category>
		<shopHeight>1.2</shopHeight>
        <shopTranslationOffset>0 -0.004 0</shopTranslationOffset>
        <shopRotationOffset>-0.216 0 0</shopRotationOffset>
    </storeData>
    
	<base>
        <typeDesc>$l10n_typeDesc_bicycle</typeDesc>
        <filename>bicycle.i3d</filename>
        <size width="0.4" length="2.0" height="1.2" />
		<supportsRadio>false</supportsRadio>
		<supportsPickUp>true</supportsPickUp>
        <components count="1">
            <component centerOfMass="0 0.1 -0.121" solverIterationCount="20" mass="100"/>
        </components>
        <schemaOverlay attacherJointPosition="0 0" name="IMPLEMENT" />
		<sounds filename="sounds/bicycle/bicycleSound.xml"/>
    </base>
	
    <wheels>
        <wheelConfigurations>
            <wheelConfiguration name="$l10n_configuration_valueDefault" price="0">
                <wheels autoRotateBackSpeed="1.2" hasSurfaceSounds="true" surfaceSoundTireType="street" surfaceSoundLinkNode="surfaceSoundLinkNode">				
					<wheel hasParticles="true" hasTireTracks="true" isCareWheel="true">
                        <physics tipOcclusionAreaGroupId="1" tireType="street" mass="0.01" rotSpeed="1" restLoad="0.6" brakeFactor="3" repr="frontpart_vis" driveNode="frontWheel_vis" radius="0.345" width="0.1" forcePointRatio="0.5" initialCompression="1" suspTravel="0.09" spring="10" damper="3" frictionScale="2.5" />
                        <tire tireTrackAtlasIndex="1" />             
					</wheel>
					
					<!-- SupportWheels starts -->
					<wheel hasParticles="false" hasTireTracks="false" isCareWheel="true" >
                        <physics tipOcclusionAreaGroupId="1" mass="0.01" rotSpeed="0" restLoad="0.6" repr="supportWheelBackRight" radius="0.345" width="0.1" forcePointRatio="0.5" initialCompression="1" suspTravel="0.1" spring="1" damper="1" frictionScale="4.5" />
                        <tire tireTrackAtlasIndex="1" />             
					</wheel>
					
					<wheel hasParticles="false" hasTireTracks="false" isCareWheel="true" >
                        <physics tipOcclusionAreaGroupId="1" mass="0.01" rotSpeed="0" restLoad="0.6" repr="supportWheelBackLeft"  radius="0.345" width="0.1" forcePointRatio="0.5" initialCompression="1" suspTravel="0.1" spring="1" damper="1" frictionScale="4.5" />
                        <tire tireTrackAtlasIndex="1" />             
					</wheel>
					<!-- SupportWheels ends -->
					
					<wheel hasParticles="true" hasTireTracks="true" isCareWheel="true" >
                        <physics tipOcclusionAreaGroupId="1" tireType="street" mass="0.01" rotSpeed="0" restLoad="0.6" repr="backWheel_vis" brakeFactor="0.1" radius="0.345" width="0.1" forcePointRatio="0.5" initialCompression="1" suspTravel="0.09" spring="20" damper="10" frictionScale="2.5" />
                        <tire tireTrackAtlasIndex="1" />
                    </wheel>
                </wheels>
            </wheelConfiguration>
        </wheelConfigurations>

		<ackermannSteeringConfigurations>
            <ackermannSteering rotSpeed="35" rotMax="30" rotCenterWheel1="1" rotCenterWheel2="4" />
        </ackermannSteeringConfigurations>
    </wheels>

	<speedRotatingParts>
        <speedRotatingPart node="pedalSlewingRing" wheelIndex="4" wheelScale="0.5"/>
        <speedRotatingPart shaderNode="tractionChain" useRotation="true" shaderComponent="2" scrollLength="2" wheelIndex="4" wheelScale="0.5"/>
    </speedRotatingParts>

	<attacherJoints> 
        <attacherJoint node="trailerAttacherJointBackHigh" jointType="bikeTrailer" lowerRotLimit="25 60 50" allowsLowering="false" >
            <schema position="1 0" rotation="0" invertX="false" />
        </attacherJoint>
    </attacherJoints>

	<lights>
        <states>
            <state lightTypes="0" />
        </states>

        <realLights>
            <high>
                <light node="backLightHigh" lightTypes="0"/>
                <light node="frontLightHigh" lightTypes="0"/>
            </high>
        </realLights>
		
		<defaultLights>
            <defaultLight shaderNode="backLightGlass" lightTypes="0" />
            <defaultLight shaderNode="frontLightGlass" lightTypes="0" />
        </defaultLights>
    </lights>
	
    <enterable isTabbable="true" enterText="$l10n_enterText_bicycle">
        <enterReferenceNode node="0>" interactionRadius="2.0"/>
        <exitPoint node="exitPoint"/>
        <cameras count="2">
            <camera node="outdoorCamera1" rotatable="true" rotateNode="outdoorCameraTarget" limit="true" useWorldXZRotation="true" rotMinX="-1.4" rotMaxX="1" transMin="1.5" transMax="30" translation="0 0 5.75" rotation="-10 180 0">
                <raycastNode node="cameraRaycastNode1"/>
                <raycastNode node="cameraRaycastNode2"/>
            </camera>
            <camera node="indoorCamera1" rotatable="true" limit="true" rotMinX="-1.1" rotMaxX="0.4" transMin="0" transMax="0" useMirror="true" isInside="false" positionSmoothingParameter="0" shadowFocusBox="shadowFocusBox"/>
        </cameras>
		
        <characterNode node="player_skin" cameraMinDistance="1.5" spineRotation="-90 0 90">
            <target ikChain="rightFoot" targetNode="player_rightFoot"/>
            <target ikChain="leftFoot" targetNode="player_leftFoot"/>
            <target ikChain="rightArm" targetNode="rightArm" poseId="wideFingers"/>
            <target ikChain="leftArm" targetNode="leftArm" poseId="wideFingers"/>
        </characterNode>
		
		<enterAnimation name="enterAnimation"/>
		
		<enterablePassengerConfigurations>
            <enterablePassengerConfiguration>
                <passengerSeat node="passengerSeat01" exitPoint="passengerSeat01ExitPoint" outdoorCameraIndex="1">
                    <camera node="passengerSeat01Camera" rotatable="true" limit="true" rotMinX="-1.1" rotMaxX="0.4" transMin="0" transMax="0" useMirror="true" isInside="true" useOutdoorSounds="true" positionSmoothingParameter="0" />
                    <characterNode node="passengerSeat01PlayerSkin" cameraMinDistance="0.5" spineRotation="-90 0 90">
                        <target ikChain="rightFoot" targetNode="passengerSeat01PlayerRightFoot" />
                        <target ikChain="leftFoot"  targetNode="passengerSeat01PlayerLeftFoot" />
                        <target ikChain="rightArm"  targetNode="passengerSeat01PlayerRightHand" poseId="narrowFingers"/>
                        <target ikChain="leftArm"   targetNode="passengerSeat01PlayerLeftHand" poseId="narrowFingers"/>
                    </characterNode>
                </passengerSeat>
			</enterablePassengerConfiguration>
        </enterablePassengerConfigurations>
    </enterable>
	
    <motorized alwaysTurnedOn="true" forceSpeedHudDisplay="true">
        <differentialConfigurations>
            <differentialConfiguration name="$l10n_shopItem_bicycle">
				<differentials>
                    <differential torqueRatio="0.5" maxSpeedRatio="1.8" wheelIndex1="1" wheelIndex2="4"/>
				</differentials>
            </differentialConfiguration>
        </differentialConfigurations>
        
		<motorConfigurations title="$l10n_configuration_bikeModel"> 
            <motorConfiguration name="$l10n_configuration_bikeCruiser" hp="1" price="0">
                <motor torqueScale="0.028" minRpm="0" maxRpm="1000" maxForwardSpeed="30" maxBackwardSpeed="5" brakeForce="0.05" lowBrakeForceScale="0.3" rotInertia="0.00012" >
                    <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="1" torque="1"/>
                    <!-- <torque normRpm="0.86" torque="0.88"/>
                    <torque normRpm="1" torque="0.72"/> -->
                </motor>
                <transmission minForwardGearRatio="7" maxForwardGearRatio="300" minBackwardGearRatio="32" maxBackwardGearRatio="300" />
            </motorConfiguration>
			
			<motorConfiguration name="$l10n_configuration_bikeSpeedster" hp="1" price="100">
                <motor torqueScale="0.128" minRpm="0" maxRpm="1000" maxForwardSpeed="40" maxBackwardSpeed="5" brakeForce="0.05" lowBrakeForceScale="0.3" rotInertia="0.00012" >
                    <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="1" torque="1"/>
                    <!-- <torque normRpm="0.86" torque="0.88"/>
                    <torque normRpm="1" torque="0.72"/> -->
                </motor>
                <transmission minForwardGearRatio="7" maxForwardGearRatio="300" minBackwardGearRatio="32" maxBackwardGearRatio="300" />
            </motorConfiguration>
        </motorConfigurations>
    </motorized>
	
    <animations>
		<animation name="enterAnimation">
            <part node="bikeStand"  startTime="0.5" endTime="1.2" startRot="0 0 0" endRot="0 0 90"/>
			<sound file="sounds/bicycle/bicycle_stand.ogg" startTime="0.5" endTime="1.2" innerRadius="5.0" outerRadius="25.0" linkNode="bikeStand" >
				<volume indoor="1.0" outdoor="0.7" />
			</sound>
        </animation>
    </animations>

	<cylindered>
        <movingParts>
			<movingPart node="pedalRight" 	referencePoint="pedalRefPointRight" referenceFrame="pedalRefPointRight" isActiveDirty="true" maxUpdateDistance="80"/>
            <movingPart node="pedalLeft" 	referencePoint="pedalRefPointLeft" 	referenceFrame="pedalRefPointLeft" isActiveDirty="true" maxUpdateDistance="80"/>
        </movingParts>
	</cylindered>
	
    <ai supportsAIJobs="false">
		<collisionTrigger node="aiCollisionNode" width="1.0" height="1.9"/>
		<agent />
		<agentAttachment />
    </ai>

	<dashboard>
        <groups>
            <group name="MOTOR_ACTIVE"   isMotorStarting="true" isMotorRunning="true"/>
        </groups>
    </dashboard>

    <foliageBending>
        <bendingNode minX="-0.2" maxX="0.2" minZ="-0.6" maxZ="1" yOffset="0.3"/>
    </foliageBending>
	
	<tensionBeltObject>
        <meshNodes>
            <meshNode node="bikeFrame_vis"/>
            <meshNode node="frontpart_vis"/>
        </meshNodes>
    </tensionBeltObject>	
	
	<baseColorConfigurations useDefaultColors="true">
        <baseColorConfiguration materialTemplateName="FENDT_OLDGREEN1"/>
        <baseColorConfiguration color="0.1 0.15 0.1" name="SPECIAL GREEN" />
        <baseColorConfiguration materialTemplateName="FENDT_GREY1"/>
        <baseColorConfiguration materialTemplateName="silverScratched"/>
        <baseColorConfiguration materialTemplateName="SHARED_WHITE2"/>
		
		<material materialSlotName="base_color_mat"/>
    </baseColorConfigurations>
	
	<designColorConfigurations title="$l10n_configuration_saddleColor" useDefaultColors="true">
        <designColorConfiguration color="0.2 0.08 0" name="STANDARD" />
		
		<material materialSlotName="saddle_color_mat"/>
    </designColorConfigurations>
	
	<designConfigurations title="$l10n_configuration_genderSetup">
        <designConfiguration name="$l10n_configuration_valueFemale" price="0">
			<objectChange node="bikeFrame_femaleBar" visibilityActive="true" visibilityInactive="false"/>
		</designConfiguration>
        
		<designConfiguration name="$l10n_configuration_valueMale" price="0">	
			<objectChange node="bikeFrame_maleBar" visibilityActive="true" visibilityInactive="false"/>	
		</designConfiguration>
    </designConfigurations>
	
	<design2Configurations title="$l10n_configuration_brandSetup">
        <design2Configuration name="$l10n_configuration_valueBrand01" price="0">
			<objectChange node="brandConfig01" visibilityActive="true" visibilityInactive="false"/>
		</design2Configuration>
        
		<design2Configuration name="$l10n_configuration_valueBrand02" price="0">	
			<objectChange node="brandConfig02" visibilityActive="true" visibilityInactive="false"/>	
		</design2Configuration>
		
		<design2Configuration name="$l10n_configuration_valueBrand03" price="0">	
			<objectChange node="brandConfig03" visibilityActive="true" visibilityInactive="false"/>	
		</design2Configuration>
    </design2Configurations>
	
    <wearable wearDuration="480" workMultiplier="5" fieldMultiplier="2"/>
    <washable dirtDuration="90" washDuration="1" workMultiplier="3" fieldMultiplier="2"/>
	
    <i3dMappings>
        <i3dMapping id="supportWheelFrontRight" node="0>0|0"/>
        <i3dMapping id="supportWheelFrontLeft" node="0>0|1"/>
        <i3dMapping id="supportWheelBackRight" node="0>0|2"/>
        <i3dMapping id="supportWheelBackLeft" node="0>0|3"/>
		<i3dMapping id="backLightHigh" node="0>1|0"/>
		<i3dMapping id="backLightGlass" node="0>4|0|3|1|0"/>
		<i3dMapping id="frontLightHigh" node="0>3|0|2|0|0"/>
		<i3dMapping id="frontLightGlass" node="0>3|0|2|1|0"/>
		<i3dMapping id="outdoorCameraTarget" node="0>2|0"/>
        <i3dMapping id="outdoorCamera1" node="0>2|0|0"/>
        <i3dMapping id="indoorCamera1" node="0>2|1"/>
        <i3dMapping id="cameraRaycastNode1" node="0>2|2"/>
        <i3dMapping id="cameraRaycastNode2" node="0>2|3"/>
        <i3dMapping id="cameraRaycastNode3" node="0>2|4"/>
        <i3dMapping id="shadowFocusBox" node="0>2|5"/>
		<i3dMapping id="frontPartRotation" node="0>3"/>
		<i3dMapping id="frontpart_vis" node="0>3|0"/>
		<i3dMapping id="passengerSeat01" node="0>3|0|3|0" />
		<i3dMapping id="passengerSeat01Camera" node="0>3|0|3|0|0" />
		<i3dMapping id="passengerSeat01PlayerSkin" node="0>3|0|3|0|1" />
		<i3dMapping id="passengerSeat01PlayerLeftFoot" node="0>3|0|3|0|2" />
		<i3dMapping id="passengerSeat01PlayerRightFoot" node="0>3|0|3|0|3" />
		<i3dMapping id="passengerSeat01PlayerLeftHand" node="0>3|0|3|0|4" />
		<i3dMapping id="passengerSeat01PlayerRightHand" node="0>3|0|3|0|5" />
		<i3dMapping id="passengerSeat01ExitPoint" node="0>3|0|3|0|6" />
		<i3dMapping id="frontWheel_vis" node="0>3|0|0"/>
	    <i3dMapping id="leftArm" node="0>3|0|1|0"/>
        <i3dMapping id="rightArm" node="0>3|0|1|1"/>
		<i3dMapping id="bikeFrame_vis" node="0>4|0"/>
		<i3dMapping id="bikeFrame_femaleBar" node="0>4|0|5|0"/>
		<i3dMapping id="bikeFrame_maleBar" node="0>4|0|5|1"/>
		<i3dMapping id="bikeStand" node="0>4|0|5|2"/>
		<i3dMapping id="brandConfig01" node="0>4|0|5|3"/>
		<i3dMapping id="brandConfig02" node="0>4|0|5|4"/>
		<i3dMapping id="brandConfig03" node="0>4|0|5|5"/>
		<i3dMapping id="pedalsRot" node="0>4|0|0"/>
		<i3dMapping id="pedalSlewingRing" node="0>4|0|0|0"/>
		<i3dMapping id="pedalRightRot" node="0>4|0|0|0|0"/>
		<i3dMapping id="pedalRight" node="0>4|0|0|0|0|0"/>
		<i3dMapping id="player_rightFoot" node="0>4|0|0|0|0|0|0"/>
		<i3dMapping id="pedalLeftRot" node="0>4|0|0|0|1"/>
		<i3dMapping id="pedalLeft" node="0>4|0|0|0|1|0"/>
        <i3dMapping id="player_leftFoot" node="0>4|0|0|0|1|0|0"/>
		<i3dMapping id="pedalRefPointRight" node="0>4|1"/>
		<i3dMapping id="pedalRefPointLeft" node="0>4|2"/>
		<i3dMapping id="backWheel" node="0>4|0|1"/>
		<i3dMapping id="backWheel_vis" node="0>4|0|1|0"/>
		<i3dMapping id="seatRotation" node="0>4|0|2"/>
		<i3dMapping id="seat_vis" node="0>4|0|2|0"/>
		<i3dMapping id="tractionChain" node="0>4|0|4|0"/>
        <i3dMapping id="player_skin" node="0>4|0|2|0|0"/>
		<i3dMapping id="exitPoint" node="0>5"/>
        <i3dMapping id="aiCollisionNode" node="0>6|0"/>
        <i3dMapping id="trailerAttacherJointBackHigh" node="0>7|0|0|0|0"/>
		<i3dMapping id="surfaceSoundLinkNode" node="0>8"/>
    </i3dMappings>
</vehicle>
