module Base
{
    model BoatZeroPatientBase
    {
        mesh = boats/BoatZeroPatient,
        shader = vehicle_multiuv,
        invertX = FALSE,
        scale = 0.015,
    }
    
    vehicle BoatZeroPatient
    {
        mechanicType = 3,
        offRoadEfficiency = 2,
        engineRepairLevel = 5,
        playerDamageProtection = 1.3,
        engineRPMType = firebird,

        model
        {
            file = BoatZeroPatientBase,
            scale = 1.5500,
            offset = 0.0000 -0.8387 0.4645,
        }

        spawnOffsetY = 0.3565027,

        skin
        {
            texture = Boats/BoatZeroPatient_bake,
        }

        extents = 1.8581 0.4387 5.8581,
        mass = 300,
        physicsChassisShape = 3.1484 0.4516 5.6000,
        centerOfMassOffset = 0.0000 0.6581 -0.0452,
        engineForce = 5700,
        maxSpeed = 140f,
        engineLoudness = 90,
        engineQuality = 70,
        brakingForce = 90,
        gearRatioCount = 3,
        gearRatioR = 4.7,
        gearRatio1 = 4,
        gearRatio2 = 3,
        gearRatio3 = 1,
        stoppingMovementForce = 2.0f,
        rollInfluence = 1.0f,
        steeringIncrement = 0.03,
        steeringClamp = 0.3,
        suspensionStiffness = 30,
        suspensionCompression = 2.83,
        suspensionDamping = 2.88,
        maxSuspensionTravelCm = 10,
        suspensionRestLength = 0.2,
        wheelFriction = 1.6f,
        frontEndHealth = 150,
        rearEndHealth = 150,
        seats = 2,

        wheel FrontLeft
        {
            front = true,
            offset = 0.5161 1.0968 1.3032,
            radius = 0.15f,
            width = 0.2f,
        }

        wheel FrontRight
        {
            front = true,
            offset = -0.5161 1.0968 1.3032,
            radius = 0.15f,
            width = 0.2f,
        }

        wheel RearLeft
        {
            front = false,
            offset = 0.5742 1.0968 -2.1355,
            radius = 0.15f,
            width = 0.2f,
        }

        wheel RearRight
        {
            front = false,
            offset = -0.5742 1.0968 -2.1355,
            radius = 0.15f,
            width = 0.2f,
        }

        template = PassengerSeat2,

        passenger FrontLeft
        {
            position inside
            {
                offset = 0.2710 -0.0645 -0.9290,
                rotate = 0.0000 0.0000 0.0000,
            }

            position outside
            {
                offset = 0.5742 -0.0645 -1.0710,
                rotate = 0.0000 0.0000 0.0000,
                area = SeatFrontLeft,
            }
        }

        passenger FrontRight
        {
            position inside
            {
                offset = -0.3290 -0.1032 -0.9806,
                rotate = 0.0000 0.0000 0.0000,
            }

            position outside
            {
                offset = -0.5742 -0.0645 -0.9871,
                rotate = 0.0000 0.0000 0.0000,
                area = SeatFrontRight,
            }
        }

        area Engine
        {
            xywh = 0.0000 1.1484 0.8516 0.4774,
        }

        area TruckBed
        {
            xywh = 0.0000 -1.1484 0.8516 0.4774,
        }

        area SeatFrontLeft
        {
            xywh = 0.7290 -1.7613 1.2258 2.8129,
        }

        area SeatFrontRight
        {
            xywh = -0.7742 -1.7613 1.0968 2.8774,
        }

        area GasTank
        {
            xywh = 0.6516 -0.5355 0.4774 0.4774,
        }

        template = TrunkDoor,

        part TrunkDoor
        {
            hasLightsRear = true,
        }

        template = Trunk/part/TruckBed,

        part TruckBed
        {
            itemType = Base.SmallTrunk,

            container
            {
                capacity = 40,
            }
        }

        template = Seat/part/SeatFrontLeft,
        template = Seat/part/SeatFrontRight,

        part Seat*
        {
            container
            {
                capacity = 20,
            }

            table install
            {
                skills = Mechanics:2,
            }

            table uninstall
            {
                skills = Mechanics:2,
            }
        }

        template = GloveBox,

        part GloveBox
        {
            container
            {
                capacity = 5,
            }
        }

        template = GasTank,
        template = Battery,
        template = Engine,
        template = Muffler,

        template = Tire,
        
        part TireFrontLeft
        {
            category = nodisplay,

            model InflatedTirePlusWheel
            {
                file = TsarNullModel,
            }
        }

        part TireFrontRight
        {
            category = nodisplay,

            model InflatedTirePlusWheel
            {
                file = TsarNullModel,
            }
        }

        part TireRearLeft
        {
            category = nodisplay,

            model InflatedTirePlusWheel
            {
                file = TsarNullModel,
            }
        }
        
        template = Windshield/part/Windshield,

        part WindowFrontLeft
        {
            parent = DoorFrontLeft,
            area = SeatFrontLeft,
            itemType = Base.FrontWindow,
            category = door,
            mechanicRequireKey = true,

            window
            {
                openable = false,
            }

            table install
            {
                items
                {
                    1
                    {
                        type = Base.Screwdriver,
                        count = 1,
                        keep = true,
                        equip = primary,
                    }
                }

                time = 300,
                skills = Mechanics:3,
                recipes = Basic Mechanics,
                test = Vehicles.InstallTest.Default,
                complete = Vehicles.InstallComplete.Window,
            }

            table uninstall
            {
                items
                {
                    1
                    {
                        type = Base.Screwdriver,
                        count = 1,
                        keep = true,
                        equip = primary,
                    }
                }

                time = 300,
                skills = Mechanics:3,
                recipes = Basic Mechanics,
                test = Vehicles.UninstallTest.Default,
            }

            lua
            {
                create = Vehicles.Create.Window,
            }
        }

        part WindowFrontRight
        {
            parent = DoorFrontRight,
            area = SeatFrontRight,
            itemType = Base.FrontWindow,
            category = door,
            mechanicRequireKey = true,

            window
            {
                openable = false,
            }

            table install
            {
                items
                {
                    1
                    {
                        type = Base.Screwdriver,
                        count = 1,
                        keep = true,
                        equip = primary,
                    }
                }

                time = 300,
                skills = Mechanics:3,
                recipes = Basic Mechanics,
                test = Vehicles.InstallTest.Default,
                complete = Vehicles.InstallComplete.Window,
            }

            table uninstall
            {
                items
                {
                    1
                    {
                        type = Base.Screwdriver,
                        count = 1,
                        keep = true,
                        equip = primary,
                    }
                }

                time = 300,
                skills = Mechanics:3,
                recipes = Basic Mechanics,
                test = Vehicles.UninstallTest.Default,
            }

            lua
            {
                create = Vehicles.Create.Window,
            }
        }

        part WindowRearLeft
        {
            parent = DoorRearLeft,
            area = SeatRearLeft,
            itemType = Base.RearWindow,
            category = door,
            mechanicRequireKey = true,

            window
            {
                openable = true,
            }

            table install
            {
                items
                {
                    1
                    {
                        type = Base.Screwdriver,
                        count = 1,
                        keep = true,
                        equip = primary,
                    }
                }

                time = 300,
                skills = Mechanics:3,
                recipes = Basic Mechanics,
                test = Vehicles.InstallTest.Default,
                complete = Vehicles.InstallComplete.Window,
            }

            table uninstall
            {
                items
                {
                    1
                    {
                        type = Base.Screwdriver,
                        count = 1,
                        keep = true,
                        equip = primary,
                    }
                }

                time = 300,
                skills = Mechanics:3,
                recipes = Basic Mechanics,
                test = Vehicles.UninstallTest.Default,
            }

            lua
            {
                create = Vehicles.Create.Window,
            }
        }

        part WindowRearRight
        {
            area = SeatRearRight,
            itemType = Base.RearWindow,
            category = door,
            mechanicRequireKey = true,

            window
            {
                openable = true,
            }

            table install
            {
                items
                {
                    1
                    {
                        type = Base.Screwdriver,
                        count = 1,
                        keep = true,
                        equip = primary,
                    }
                }

                time = 300,
                skills = Mechanics:3,
                recipes = Basic Mechanics,
                test = Vehicles.InstallTest.Default,
                complete = Vehicles.InstallComplete.Window,
            }

            table uninstall
            {
                items
                {
                    1
                    {
                        type = Base.Screwdriver,
                        count = 1,
                        keep = true,
                        equip = primary,
                    }
                }

                time = 300,
                skills = Mechanics:3,
                recipes = Basic Mechanics,
                test = Vehicles.UninstallTest.Default,
            }

            lua
            {
                create = Vehicles.Create.Window,
            }
        }
        
        part TireRearRight
        {
            category = nodisplay,

            model InflatedTirePlusWheel
            {
                file = TsarNullModel,
            }
        }
        
        attachment exitLeft
        {
            offset = 1.4065 0.0000 -2.0968,
            rotate = 0.0000 0.0000 0.0000,
        }

        attachment exitRear
        {
            offset = 0.0000 0.0000 -3.4968,
            rotate = 0.0000 0.0000 0.0000,
        }

        attachment exitRight
        {
            offset = -1.4000 0.0000 -2.0968,
            rotate = 0.0000 0.0000 0.0000,
        }
    }
}
