
// 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"
}
DummyFlamethrower -1
{
	classname                   "kexPickup"
	pickup.pickupMessage        "Flamethrower"
	pickup.pickupSound          "sounds/shaders/generic_5_grenade_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 -1
{
	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 -1
{
	classname                   "kexAmmoPickup"
	pickup.ammo.amount          10
	pickup.ammo.definition      "Ammo_Grenade"
	pickup.pickupSound          "sounds/shaders/generic_5_grenade_pickup.ksnd"
	pickup.pickupMessage        "$str_130"
}
RealSunfirePickup -1
{
	classname                   "kexAmmoPickup"
	pickup.ammo.amount          1
	pickup.ammo.definition      "Ammo_Grenade"
	pickup.pickupSound          "sounds/shaders/generic_5_grenade_pickup.ksnd"
	pickup.pickupMessage        "Sunfire Pod"
}

// 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 -1
{
	classname                   "kexPickup"
	pickup.pickupSound          "sounds/shaders/generic_5_grenade_pickup.ksnd"
	pickup.pickupMessage        "$str_129"
}
DummyGrenadePickupBox -1
{
	classname                   "kexPickup"
	pickup.pickupSound          "sounds/shaders/generic_5_grenade_pickup.ksnd"
	pickup.pickupMessage        "$str_130"
}
DummySunfirePickup -1
{
	classname                   "kexPickup"
	pickup.pickupSound          "sounds/shaders/generic_5_grenade_pickup.ksnd"
	pickup.pickupMessage        "Sunfire Pod"
}

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

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"
}

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

// Unreal - changed to bio gel
// also changed ID to -1, so TurokEnemy::TossActor() won't mess with its offset
Ammo_SmallCell_Pickup -1 // 650
{
	classname                   "kexAmmoPickup"
	radius                      71.68
	height                      71.68
	center                      30.72
	stepHeight                  25.72
	initialModel                "UT/models/BioAmmoM_vial.bin"
	pickup.ammo.amount          10
	pickup.ammo.definition      "Ammo_Bio"
	pickup.pickupSound          "UT/sounds/Pickups/Ammo.ksnd"
	pickup.pickupMessage        "Biosludge Vial"
}

// copy of Ammo_MiniGunAmmo_Pickup, with reduced ammo amount
Ammo_MiniGunAmmo_Pickup_Small 651
{
	classname                   "kexActor"
	radius                      71.68
	height                      71.68
	center                      30.72
	stepHeight                  25.72
	initialModel                "models/Ammo_Minigun_Small.bin" // "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          100 // 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          100 // 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
}

StuckArrow -1
{
	classname    "kexActor"
	scriptClass  "StuckArrow"
	initialModel "models/RW/Crossbow_Arrow.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"
}
