
// weapon smart pickup stuff
// dummies are for screen flash and pickup message (Game.PrintLine() wipes out message history)

DummyPistolPickup -1
{
	classname                   "kexPickup"
    pickup.pickupMessage        "$str_145"
    pickup.pickupSound          "sounds/shaders/generic_1_bullet_pickup.ksnd"
}

RealARPickup -1
{
    classname                   "kexWeaponPickup"
    pickup.pickupMessage        "$str_146"
    pickup.pickupSound          "sounds/shaders/generic_1_bullet_pickup.ksnd"
    pickup.weapon.definition    "Wpn_Rifle"
    pickup.weapon.giveAmmo      30
}

RealAutoShotgunPickup -1
{
    classname                   "kexWeaponPickup"
    pickup.pickupMessage        "$str_148"
    pickup.pickupSound          "sounds/shaders/generic_2_shell_pickup.ksnd"
    pickup.weapon.definition    "Wpn_AutoShotgun"
    pickup.weapon.giveAmmo      8
}
RealShredderPickup -1
{
    classname                   "kexWeaponPickup"
    pickup.pickupMessage        "Shredder"
    pickup.pickupSound          "sounds/shaders/generic_2_shell_pickup.ksnd"
    pickup.weapon.definition    "Wpn_AutoShotgun"
    pickup.weapon.giveAmmo      8
}
DoubleShotgunPickup -1
{
    classname                   "kexPickup"
    pickup.pickupMessage        "Double-Barrel Shotgun"
    pickup.pickupSound          "sounds/shaders/generic_2_shell_pickup.ksnd"
}

DummyMinigun -1
{
    classname                   "kexPickup"
    pickup.pickupMessage        "$str_149"
    pickup.pickupSound          "sounds/shaders/generic_1_bullet_pickup.ksnd"
}
DummyFirestorm -1
{
    classname                   "kexPickup"
    pickup.pickupMessage        "Firestorm Cannon"
    pickup.pickupSound          "sounds/shaders/generic_2_shell_pickup.ksnd"
}

//--------------------------------------

DummyPulseRifle -1
{
    classname                   "kexPickup"
    pickup.pickupMessage        "$str_151"
    pickup.pickupSound          "sounds/shaders/generic_3_energy_pickup.ksnd"
}

ProtoPulsePickup 508
{
    classname                   "kexActor"
    radius                      71.68
    height                      71.68
    center                      30.72
    stepHeight                  25.72
    initialModel                "models/weapon_pulse01.bin"
    scriptClass                 "ProtoPulsePickup"
}

DummyProtoPulse -1
{
    classname                   "kexPickup"
    pickup.pickupMessage        "Plasma Carbine"
    pickup.pickupSound          "sounds/shaders/generic_3_energy_pickup.ksnd"
}

DummyPlasmaRifle -1
{
    classname                   "kexPickup"
    pickup.pickupMessage        "Plasma Rifle"
    pickup.pickupSound          "sounds/shaders/generic_3_energy_pickup.ksnd"
}

RealShockwavePickup -1
{
    classname                   "kexWeaponPickup"
    pickup.pickupMessage        "$str_154"
    pickup.pickupSound          "sounds/shaders/generic_3_energy_pickup.ksnd"
    pickup.weapon.definition    "Wpn_ParticleAccelerator"
    pickup.weapon.giveAmmo      100
}
RealChargeDartPickup -1
{
    classname                   "kexWeaponPickup"
    pickup.pickupMessage        "Charge Dart Rifle"
    pickup.pickupSound          "sounds/shaders/generic_3_energy_pickup.ksnd"
    pickup.weapon.definition    "Wpn_ParticleAccelerator"
    pickup.weapon.giveAmmo      100
}

DummyAlienWeapon -1
{
    classname                   "kexPickup"
    pickup.pickupMessage        "$str_152"
    pickup.pickupSound          "sounds/shaders/generic_3_energy_pickup.ksnd"
}

//--------------------------------------

DummyGLPickup -1
{
	classname                   "kexPickup"
	pickup.pickupMessage        "$str_150"
	pickup.pickupSound          "sounds/shaders/generic_5_grenade_pickup.ksnd"
}

RealRLPickup -1
{
	classname                   "kexWeaponPickup"
	pickup.pickupMessage        "$str_153"
	pickup.pickupSound          "sounds/shaders/generic_7_rocket_pickup.ksnd"
	pickup.weapon.definition    "Wpn_MissileLauncher"
	pickup.weapon.giveAmmo      6
}
ScorpionPickup -1
{
	classname                   "kexWeaponPickup"
	pickup.pickupMessage        "Scorpion Launcher"
	pickup.pickupSound          "sounds/shaders/generic_7_rocket_pickup.ksnd"
	pickup.weapon.definition    "Wpn_MissileLauncher"
	pickup.weapon.giveAmmo      6
}

//--------------------------------------

ChronoPiece 515
{
	classname                   "kexPickup"
	pickup.pickupMessage        "$str_144"
	pickup.pickupSound          "sounds/shaders/generic_1_bullet_pickup.ksnd"
}
NukePiece 515
{
	classname                   "kexPickup"
	pickup.pickupMessage        "nuke weapon part"
	pickup.pickupSound          "sounds/shaders/generic_3_energy_pickup.ksnd"
}

//==============================================================================
//
//    ammo smart pickup stuff and ammo loaders
//    make sure real pickup amounts are synced with scripts/pickups
//

RealTekArrowPickup 520
{
    classname                   "kexAmmoPickup"
    pickup.ammo.amount          5
    pickup.ammo.definition      "Ammo_TekArrow"
    pickup.pickupSound          "sounds/shaders/generic_6_arrow_pickup_.ksnd"
    pickup.pickupMessage        "$str_120"
}
RealTekArrowPickupQuiver 521
{
    classname                   "kexAmmoPickup"
    pickup.ammo.amount          15
    pickup.ammo.definition      "Ammo_TekArrow"
    pickup.pickupSound          "sounds/shaders/generic_6_arrow_pickup_.ksnd"
    pickup.pickupMessage        "$str_121"
}

// say we picked up ammo, but don't give any (handled by script)
DummyTekArrowPickup 522
{
    classname                   "kexPickup"
    pickup.pickupSound          "sounds/shaders/generic_6_arrow_pickup_.ksnd"
    pickup.pickupMessage        "$str_120"
}
DummyTekArrowPickupQuiver 523
{
    classname                   "kexPickup"
    pickup.pickupSound          "sounds/shaders/generic_6_arrow_pickup_.ksnd"
    pickup.pickupMessage        "$str_121"
}

// arrow loaders
TekArrowLoader 524
{
    classname                   "kexAmmoPickup"
    pickup.ammo.amount          1
    pickup.ammo.definition      "Ammo_TekArrow"
    pickup.pickupSound          "sounds/shaders/generic_6_arrow_pickup_.ksnd"
}
TekArrowUnloader 525
{
    classname                   "kexPickup"
    pickup.pickupSound          "sounds/shaders/generic_6_arrow_pickup_.ksnd"
}

//-----------------------------------------------------------------------------

RealExpShellPickup 526
{
    classname                   "kexAmmoPickup"
    pickup.ammo.amount          4
    pickup.ammo.definition      "Ammo_ExpShell"
    pickup.pickupSound          "sounds/shaders/generic_2_shell_pickup.ksnd"
    pickup.pickupMessage        "$str_126"
}
RealExpShellPickupBox 527
{
    classname                   "kexAmmoPickup"
    pickup.ammo.amount          10
    pickup.ammo.definition      "Ammo_ExpShell"
    pickup.pickupSound          "sounds/shaders/generic_2_shell_pickup.ksnd"
    pickup.pickupMessage        "$str_127"
}

// say we picked up ammo, but don't give any (handled by script)
DummyExpShellPickup 528
{
    classname                   "kexPickup"
    pickup.pickupSound          "sounds/shaders/generic_2_shell_pickup.ksnd"
    pickup.pickupMessage        "$str_126"
}
DummyExpShellPickupBox 529
{
    classname                   "kexPickup"
    pickup.pickupSound          "sounds/shaders/generic_2_shell_pickup.ksnd"
    pickup.pickupMessage        "$str_127"
}

// shell loaders
ExpShellLoader 530
{
    classname                   "kexAmmoPickup"
    pickup.ammo.amount          1
    pickup.ammo.definition      "Ammo_ExpShell"
//    pickup.pickupSound          "sounds/shaders/generic_2_shell_pickup.ksnd"
    pickup.pickupSound          "sounds/shaders/shotgunAmmoToggle.ksnd"
}
ExpShellUnloader 531
{
    classname                   "kexPickup"
//    pickup.pickupSound          "sounds/shaders/generic_2_shell_pickup.ksnd"
    pickup.pickupSound          "sounds/shaders/shotgunAmmoToggle.ksnd"
}

//-----------------------------------------------------------------------------

Real_MinigunAmmo 532
{
    classname                   "kexAmmoPickup"
    pickup.ammo.amount          250
    pickup.ammo.definition      "Ammo_Mags"
    pickup.pickupSound          "sounds/shaders/generic_1_bullet_pickup.ksnd"
    pickup.pickupMessage        "$str_128"
}
Real_FirestormAmmo 533
{
    classname                   "kexAmmoPickup"
    pickup.ammo.amount          250
    pickup.ammo.definition      "Ammo_Mags"
    pickup.pickupSound          "sounds/shaders/generic_2_shell_pickup.ksnd"
    pickup.pickupMessage        "Firestorm Ammo"
}

//-----------------------------------------------------------------------------

RealGrenadePickup 534
{
    classname                   "kexAmmoPickup"
    pickup.ammo.amount          1
    pickup.ammo.definition      "Ammo_Grenade"
    pickup.pickupSound          "sounds/shaders/generic_5_grenade_pickup.ksnd"
    pickup.pickupMessage        "$str_129"
}
RealGrenadePickupBox 535
{
    classname                   "kexAmmoPickup"
    pickup.ammo.amount          10
    pickup.ammo.definition      "Ammo_Grenade"
    pickup.pickupSound          "sounds/shaders/generic_5_grenade_pickup.ksnd"
    pickup.pickupMessage        "$str_130"
}

// these are picked up if we have full ammo (can't take an ammo pickup)
// but have unsettled debt (so we took the smart pickup, which is using these for screen flash and message)
DummyGrenadePickup 536
{
    classname                   "kexPickup"
    pickup.pickupSound          "sounds/shaders/generic_5_grenade_pickup.ksnd"
    pickup.pickupMessage        "$str_129"
}
DummyGrenadePickupBox 537
{
    classname                   "kexPickup"
    pickup.pickupSound          "sounds/shaders/generic_5_grenade_pickup.ksnd"
    pickup.pickupMessage        "$str_130"
}

//-----------------------------------------------------------------------------

ArrowPickup 538
{
    classname                   "kexAmmoPickup"
    radius                      71.68
    height                      71.68
    pickup.ammo.amount          1
    pickup.ammo.definition      "Ammo_Arrow"
    pickup.pickupSound          "sounds/shaders/generic_6_arrow_pickup_.ksnd"
    pickup.pickupMessage        "Arrow"
}

//-----------------------------------------------------------------------------

RealArmorPickup -1
{
    classname                   "kexArmorPickup"
    pickup.armor.amount         75
    pickup.pickupMessage        "$str_143"
    pickup.pickupSound          "sounds/shaders/health_pickup_1.ksnd"
}

//==============================================================================
//
//    All-New Pickups
//

// JK - changed to single rail charge
// also changed ID to -1, so TurokEnemy::TossActor() won't mess with its offset
Ammo_SmallCell_Pickup -1
{
	classname                   "kexAmmoPickup"
	radius                      71.68
	height                      71.68
	center                      30.72
	stepHeight                  25.72
	initialModel                "models/jk/rcrg_1.bin"
	pickup.ammo.amount          1
	pickup.ammo.definition      "Ammo_RailCharges"
	pickup.pickupSound          "sounds/jk/pu_thermal.ksnd"
	pickup.pickupMessage        "Rail Charge"
}

// copy of Ammo_MiniGunAmmo_Pickup, with half ammo amount
Ammo_MiniGunAmmo_Pickup_Small 651
{
    classname                   "kexActor"
    radius                      71.68
    height                      71.68
    center                      30.72
    stepHeight                  25.72
    initialModel                "models/ammo_minigun01.bin"
    scriptClass                 "MinigunAmmoPickup"
    bSmall                      1 // signal unified script class to spawn the small real pickup
}
Real_MinigunAmmo_Small 652
{
    classname                   "kexAmmoPickup"
    pickup.ammo.amount          125
    pickup.ammo.definition      "Ammo_Mags"
    pickup.pickupSound          "sounds/shaders/generic_1_bullet_pickup.ksnd"
    pickup.pickupMessage        "$str_128"
}
Real_FirestormAmmo_Small 653
{
    classname                   "kexAmmoPickup"
    pickup.ammo.amount          125
    pickup.ammo.definition      "Ammo_Mags"
    pickup.pickupSound          "sounds/shaders/generic_2_shell_pickup.ksnd"
    pickup.pickupMessage        "Firestorm Ammo"
}

WarBladePickup -1
{
	classname                   "kexPickup"
	pickup.pickupMessage        "War Blade"
	pickup.pickupSound          "sounds/shaders/generic_4_non_weapon_pickup.ksnd"
}

PistolBurstUpgrade -1
{
    classname                   "kexPickup"
    pickup.pickupMessage        "Pistol Burst Fire"
//    pickup.pickupSound          "sounds/shaders/generic_1_bullet_pickup.ksnd"
    pickup.pickupSound          "sounds/shaders/generic_4_non_weapon_pickup.ksnd"
}
Dummy_Mag60 -1
{
    classname                   "kexPickup"
    pickup.pickupMessage        "Mag 60"
    pickup.pickupSound          "sounds/shaders/generic_1_bullet_pickup.ksnd"
}
Mag60Upgrade -1
{
    classname                   "kexPickup"
    pickup.pickupMessage        "Mag 60 Laser Sight"
    pickup.pickupSound          "sounds/shaders/generic_4_non_weapon_pickup.ksnd"
}

//==============================================================================
//
//    Smart Projectiles
//

TrailActor -1
{
	classname    "kexActor"
	scriptClass  "TrailActor"
	// model will be hidden, but we need to specify something here or RenderModel will be null
	initialModel "models/T2/ProjNormalArrow.bin"
	initialScale "1 1 1"
	radius 0
	height 0
}

StuckFlare -1
{
	classname    "kexActor"
	scriptClass  "StuckFlare"
	radius 0
	height 0
}

ProjArrow -1
{
	classname    "kexActor"
	scriptClass  "NormalArrow"
	initialModel "models/T2/ProjNormalArrow.bin"
	initialScale "1 1 1"
	radius 0
	height 0
}

ProjTekArrow -1
{
	classname    "kexActor"
	scriptClass  "TekArrow"
	initialModel "models/T2/ProjTekArrow.bin"
	initialScale "1 1 1"
	radius 0
	height 0
}

ProjScorpionMissile -1
{
	classname    "kexActor"
	scriptClass  "ScorpionMissile"
	initialModel "models/T2/model0032.bin"
	initialScale "1 1 1"
	radius 0
	height 0
}

//==============================================================================
//
//    Turok+ Menu
//

TurokPlusMenu -1
{
	classname   "kexActor"
	scriptClass "TurokPlusMenu"
	flags.noMovement 1
}
TurokPlusMenu_Auto -1
{
	classname   "kexActor"
	scriptClass "TurokPlusMenu_Auto"
	flags.noMovement 1
}

PauseInvuln -1
{
    classname                   "kexSpiritualPickup"
    pickup.spiritual.speed      0 // 0.2
    pickup.spiritual.time       0.0167 // 30
}

//==============================================================================

SpawnFence1 -1
{
	classname           "kexActor"
	flags.noMovement    1
	initialModel        "models/floor_tech_grate01.bin"
	initialScale        "0.35 0.35 0.35"
}
SpawnFence2 -1
{
	classname           "kexActor"
	flags.noMovement    1
	initialModel        "models/floor_tech_grate02.bin"
	initialScale        "0.35 0.35 0.35"
}
SpawnPlatformStone5 -1
{
	classname           "kexActor"
	flags.noMovement    1
	initialModel        "models/platform_stone05.bin"
	initialScale        "0.35 0.35 0.35"
}

CollisionVolume -1
{
	classname "kexActor"
	radius     20 // 15.3
	height     183.6 // 153
	impactType 3
}

SpawnFireTrap -1
{
	classname    "kexActor"
	scriptClass  "SpawnFireTrap"
	initialModel "models/detail_catacomb_plaque01.bin"
	initialScale "0.35 0.35 0.35"
}

// variant of WarpPortal with properties set for spawning dynamically
SpawnWarpPortal -1
{
	classname           "kexActor"
	scriptClass         "TurokWarpPortal"
	flags.noMovement    1
	radius              41
	height              204.8
	initialModel        "models/dyn_portal01.bin"
	initialAnim         "_morph"
	initialScale        "0.35 0.35 0.35"
}
