#include "defs/common.txt"

Player kActor_Player
{
    className                   "kexPuppet"
    health                      100
    initialScale                "1.0 1.0 1.0"
    
    posture.standingDef         "Player_Standing"
    posture.crouchingDef        "Player_Crouching"
    posture.swimmingDef         "Player_Swimming"
    
    flags.allowTracking         TRUE
    flags.castShadow            TRUE
    
    oxygen.airGulpTimer         40
    oxygen.outOfAirSfxTime      2.5
    oxygen.voiceWarning         355
    
    jump.maxSpeed               21.292
    jump.minSpeed               9.5744
    
    deathCinematic.ground       "cinemas/Death-ground.txt"
    deathCinematic.climb        "cinemas/Death-clibmb.txt"
    deathCinematic.fall         "cinemas/Death-fall.txt"
    deathCinematic.lava         "cinemas/Death-lava.txt"
    deathCinematic.hazard       "cinemas/Death-qsand.txt"
    deathCinematic.drown        "cinemas/Death-water.txt"
    deathCinematic.regen        "cinemas/Regeneration.txt"
    deathCinematic.skinnedMesh  "char/Cinema_Turok.skinnedmesh"
    deathCinematic.anim         "anims/Cinema_Turok.anim"
    
    Begin_Component "kexWorldComponent"
        radius                  39.936
        wallRadius              33.8
        height                  92.16
        deadHeight              30.72
        bTrackGround            TRUE
    End_Component
    
    Begin_Component "kexMovementComponent"
        mass                    30.72
        gravity                 0.6
        friction                0.5
        airFriction             0.5
        waterFriction           0.95
        waterGravity            0.2
    End_Component
    
    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Turok_0120.skinnedmesh"
        anim                    "anims/Turok_0120.anim"
    End_Component
    
    Begin_Component "kexPlayerSpringBobComponent"
        destViewHeight          100.0
        decay                   0.35
        strongDamp              0.8
        weakDamp                0.08
    End_Component
    
    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentBow kActor_Wpn_AttachBow
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Normal_Bow.skinnedmesh"
        anim                    "anims/Weapon_Normal_Bow.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentTek kActor_Wpn_AttachTek
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Tek_Bow.skinnedmesh"
        anim                    "anims/Weapon_Tek_Bow.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentPistol kActor_Wpn_AttachPistol
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Pistol.skinnedmesh"
        anim                    "anims/Weapon_Pistol.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentCharge kActor_Wpn_AttachCharge
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Charge_Dart_Rifle.skinnedmesh"
        anim                    "anims/Weapon_Charge_Dart_Rifle.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentShotgun kActor_Wpn_AttachShot
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Shotgun.skinnedmesh"
        anim                    "anims/Weapon_Shotgun.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentPlasma kActor_Wpn_AttachPlasma
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Plasma_Rifle.skinnedmesh"
        anim                    "anims/Weapon_Plasma_Rifle.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentFire kActor_Wpn_AttachFire
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Firestorm_Cannon.skinnedmesh"
        anim                    "anims/Weapon_Firestorm_Cannon.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentFireMP kActor_Wpn_AttachFireMP
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Firestorm_MP.skinnedmesh"
        anim                    "anims/Weapon_Firestorm_MP.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentPod kActor_Wpn_AttachPod
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Sunfire_Pod.skinnedmesh"
        anim                    "anims/Weapon_Sunfire_Pod.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentBore kActor_Wpn_AttachBore
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Cerebral_Bore.skinnedmesh"
        anim                    "anims/Weapon_Cerebral_Bore.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentMissile kActor_Wpn_AttachMissile
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Scorpion_Launcher.skinnedmesh"
        anim                    "anims/Weapon_Scorpion_Launcher.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentFlame kActor_Wpn_AttachFlame
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Flame_Thrower.skinnedmesh"
        anim                    "anims/Weapon_Flame_Thrower.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentRazor kActor_Wpn_AttachRazor
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_The_Blade.skinnedmesh"
        anim                    "anims/Weapon_The_Blade.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentTorpedo kActor_Wpn_AttachTorpedo
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Torpedo_Launcher.skinnedmesh"
        anim                    "anims/Weapon_Torpedo_Launcher.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentNuke kActor_Wpn_AttachNuke
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Nuke.skinnedmesh"
        anim                    "anims/Weapon_Nuke.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentBlade kActor_Wpn_AttachBlade
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_War_Blade.skinnedmesh"
        anim                    "anims/Weapon_War_Blade.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentTalon kActor_Wpn_AttachTalon
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Talons.skinnedmesh"
        anim                    "anims/Weapon_Talons.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentMag kActor_Wpn_AttachMag
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Magnum_Pistol.skinnedmesh"
        anim                    "anims/Weapon_Magnum_Pistol.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentShred kActor_Wpn_AttachShred
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Shrapnel_Cannon.skinnedmesh"
        anim                    "anims/Weapon_Shrapnel_Cannon.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentTranq kActor_Wpn_AttachTranq
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Tranquilizer_Gun.skinnedmesh"
        anim                    "anims/Weapon_Tranquilizer_Gun.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentPFM kActor_Wpn_AttachPFM
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_PFM_Layer.skinnedmesh"
        anim                    "anims/Weapon_PFM_Layer.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentGrenade kActor_Wpn_AttachGrenade
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Grenade_Launcher.skinnedmesh"
        anim                    "anims/Weapon_Grenade_Launcher.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentHarpoon kActor_Wpn_AttachHarpoon
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Spear_Gun.skinnedmesh"
        anim                    "anims/Weapon_Spear_Gun.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentFlare kActor_Wpn_AttachFlare
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Flare_Gun.skinnedmesh"
        anim                    "anims/Weapon_Flare_Gun.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentCrossbow kActor_Wpn_AttachCrossbow
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Crossbow_MP.skinnedmesh"
        anim                    "anims/Weapon_Crossbow_MP.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentPlasmaMP kActor_Wpn_AttachPlasmaMP
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Plasma_Rifle_MP.skinnedmesh"
        anim                    "anims/Weapon_Plasma_Rifle_MP.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentRocketMP kActor_Wpn_AttachRocketMP
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Scorpion_Launcher_MP.skinnedmesh"
        anim                    "anims/Weapon_Scorpion_Launcher_MP.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentChargeMP kActor_Wpn_AttachChargeMP
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Charge_Dart_MP.skinnedmesh"
        anim                    "anims/Weapon_Charge_Dart_MP.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentAssaultMP kActor_Wpn_AttachAssaultMP
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Shredder_MP.skinnedmesh"
        anim                    "anims/Weapon_Shredder_MP.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentNadeMP kActor_Wpn_AttachNadeMP
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Grenade_Launcher_MP.skinnedmesh"
        anim                    "anims/Weapon_Grenade_Launcher_MP.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentFireStormMP kActor_Wpn_AttachFireStormMP
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Firestorm_MP.skinnedmesh"
        anim                    "anims/Weapon_Firestorm_MP.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}

Player_Wpn_AttachmentClaws kActor_Wpn_AttachClaws
{
    className                   "kexActor"
    initialScale                "1.0 1.0 1.0"

    Begin_Component "kexRenderMeshComponent"
        mesh                    "char/Weapon_Raptor_Claw_MP.skinnedmesh"
        anim                    "anims/Weapon_Raptor_Claw_MP.anim"
        bRenderAsWeapon         TRUE
    End_Component

    Begin_Component "kexAnimTrackComponent"
    End_Component
}
