home *** CD-ROM | disk | FTP | other *** search
/ Xentax forum attachments archive / xentax.7z / 1403 / gameobjectdata.doc
Encoding:
Text File  |  2023-01-01  |  209.9 KB  |  10,034 lines

  1. ;------------------------------------------------------------------------------
  2. ;                       The .god file for T4
  3. ;------------------------------------------------------------------------------
  4. ;
  5. ;   Refer to Main.god for an overview of the .god files.
  6. ;   
  7. ;------------------------------------------------------------------------------
  8.  
  9. #include "Gods\Path.god"
  10. #include "Gods\PathNode.god"
  11.  
  12. #include "Gods\NavigationLink.god"
  13. #include "Gods\NavigationNode.god"
  14.  
  15. #include "Gods\Materials.god"
  16.  
  17. #include    "Gods\Shared\Causes.god"            ;   The shared causes
  18. #include    "Gods\Shared\Events.god"            ;   The shared events
  19. #include    "Gods\Shared\LinkConditionals.god"  ;   The shared link conditionals.
  20. #include    "Gods\Causes.god"                   ;   The game-specific causes
  21. #include    "Gods\Events.god"                   ;   The game-specific events
  22. #include    "Gods\Conditionals.god"             ;   The game-specific conditionals
  23.  
  24. #include    "Gods\Collision.god"
  25.  
  26. #include "Gods\Mode.god"
  27.  
  28. #include "Gods\Shared\Actors.god"
  29. #include "Gods\Shared\Cameras.god"
  30.  
  31. #include "Gods\FaceFlags.god"
  32.  
  33. ;------------------------------------------------------------------------------
  34. ; Base AI
  35. ;------------------------------------------------------------------------------
  36. *OBJECT = "TurokAIObject"
  37. {
  38.     *NAME    = "TurokAI"
  39.     *INHERITS = "Object"
  40.  
  41.     *VARIABLES = 
  42.     {
  43.         *Combo = "TurokAIType"
  44.         {
  45.             *Usage            = "Protected"
  46.             *DisplayName    =    "Turok AI Type"
  47.             *Value            =    0
  48.             *Comment        =    "The Turok AI type."
  49.  
  50.             *ComboList = 
  51.             {
  52.                 "0 - None",
  53.                 "1 - Enemy",
  54.                 "2 - Player",
  55.                 "3 - Ally",
  56.                 "4 - Neutral Aggressive",
  57.                 "5 - Passive Aggressive",
  58.                 "6 - Passive Neutral"                
  59.             }
  60.         }
  61.  
  62.         *FLOAT = "VisionEyeHeight"
  63.         {
  64.             *Usage            = "Protected"
  65.             *VALUE    = 1
  66.             *DISPLAYNAME = "Vision Eye Height"
  67.             *Comment = "Eye Height for vision test"
  68.         }
  69.  
  70.         *FLOAT = "ShallowWaterHeight"
  71.         {
  72.             *Usage            = "Protected"
  73.             *VALUE    = 1
  74.             *DISPLAYNAME = "Shallow Water Height"
  75.             *Comment = "The height at which ai is considered in shallow water"
  76.         }
  77.  
  78.         *FLOAT = "AimAtHeight"
  79.         {
  80.             *Usage            = "Protected"
  81.             *VALUE    = 1.0f
  82.             *DISPLAYNAME = "Aim At Height"
  83.             *Comment = "The height at which to aim at this AI"
  84.         }
  85.  
  86.         *FLOAT = "AIRadius"
  87.         {
  88.             *Usage            = "Protected"
  89.             *VALUE            = 0.5f
  90.             *DISPLAYNAME    = "AI Radius"
  91.             *Comment        = "The radius size of this AI"
  92.         }
  93.  
  94.         *FLOAT = "FDMult"
  95.         {
  96.             *VALUE    = 1.0f
  97.             *DISPLAYNAME = "Fire Damage Multiplier"
  98.             *Min         = 0.0
  99.             *Comment = "1.0 is normal"
  100.             *Comment = "0.0 is impervious to fire"
  101.         }
  102.  
  103.         *Combo = "LTarg"
  104.         {
  105.             *DisplayName    =    "Lockable target?"
  106.             *Value        =    0 
  107.             *ComboList    =
  108.             {
  109.                 "Nope",
  110.                 "Regular",
  111.                 "Primary"
  112.             }
  113.         }
  114.  
  115.         *FLOAT = "PointValue"
  116.         {
  117.             *Usage            = "Public"
  118.             *VALUE            = 0.0f
  119.             *DISPLAYNAME    = "Point Value"
  120.             *Comment        = "The value of this Object. Can be used for scoring etc."
  121.         }
  122.  
  123.         *BOOL = "IgnoreNav"
  124.         {
  125.             *Usage            = "Protected"
  126.             *VALUE    = 0
  127.             *DISPLAYNAME = "Ignore Nav Data"
  128.             *Comment = "Ignore Nav Data"
  129.         }
  130.  
  131.  
  132.         *Group = "Multiplayer Scaling"
  133.         {
  134.             *BOOL = "MPSOnOff"
  135.             {
  136.                 *VALUE    = "False"
  137.                 *DISPLAYNAME = "Enable"
  138.                 *Comment = "Use multiplayer scaling on this actor?"
  139.             }
  140.         
  141.             *FLOAT = "MPSFar"
  142.             {
  143.                 *VALUE    = 100.0f
  144.                 *DISPLAYNAME = "Far distance"
  145.                 *Comment = "The distance away from the view"
  146.                 *Comment = "that the scale will start."
  147.             }
  148.  
  149.             *FLOAT = "MPSMid"
  150.             {
  151.                 *VALUE    = 50
  152.                 *DISPLAYNAME = "Mid distance"
  153.                 *Comment = "The distance away from the view"
  154.                 *Comment = "that the scale will be biggest."
  155.             }
  156.  
  157.             *FLOAT = "MPSNea"
  158.             {
  159.                 *VALUE    = 10
  160.                 *DISPLAYNAME = "Near distance"
  161.                 *Comment = "The distance away from the view"
  162.                 *Comment = "that the scale will be back to normal."
  163.             }
  164.  
  165.             *FLOAT = "MPSSca"
  166.             {
  167.                 *VALUE    = 10.0f
  168.                 *DISPLAYNAME = "Scale multiplier"
  169.                 *Comment = "Mid distance scale."
  170.             }
  171.             
  172.         }
  173.  
  174.         *Group = "Accessories"
  175.         {
  176.             *Comment = "Attached items"
  177.  
  178.             *FilePick = "AccessoryName1"
  179.             {
  180.                 *DISPLAYNAME = "Accessory1"
  181.                 *Value            =    ""
  182.                 *Directory      =   "$\Data\Actors"
  183.                 *Extension      =   "atr"
  184.             }
  185.             *String = "AccessoryPoint1"
  186.             {
  187.                 *DisplayName    =    "Hotpoint1"
  188.                 *Value            =    ""
  189.                 *Comment        =    "The hotpoint to attach the accessory to"
  190.             }
  191.  
  192.             *FilePick = "AccessoryName2"
  193.             {
  194.                 *DISPLAYNAME = "Accessory2"
  195.                 *Value            =    ""
  196.                 *Directory      =   "$\Data\Actors"
  197.                 *Extension      =   "atr"
  198.             }
  199.             *String = "AccessoryPoint2"
  200.             {
  201.                 *DisplayName    =    "Hotpoint2"
  202.                 *Value            =    ""
  203.                 *Comment        =    "The hotpoint to attach the accessory to"
  204.             }
  205.  
  206.             *FilePick = "AccessoryName3"
  207.             {
  208.                 *DISPLAYNAME = "Accessory3"
  209.                 *Value            =    ""
  210.                 *Directory      =   "$\Data\Actors"
  211.                 *Extension      =   "atr"
  212.             }
  213.             *String = "AccessoryPoint3"
  214.             {
  215.                 *DisplayName    =    "Hotpoint3"
  216.                 *Value            =    ""
  217.                 *Comment        =    "The hotpoint to attach the accessory to"
  218.             }
  219.  
  220.         }
  221.  
  222.         *Group = "Path Speed Match"
  223.         {
  224.             *Comment = "Path Speed Match"
  225.  
  226.             *BOOL = "PSMONOFF"
  227.             {
  228.                 *VALUE    = "False"
  229.                 *DISPLAYNAME = "Enable"
  230.                 *Comment = "Should this actor speed match with the player?"
  231.             }
  232.  
  233.             *FLOAT = "PSMPOS"
  234.             {
  235.                 *VALUE    = 30.0f
  236.                 *DISPLAYNAME = "Infont/Behind position (meters)"
  237.                 *Comment = "Offset that this actor will stay compared to the player. "
  238.                 *Comment = "i.e."
  239.                 *Comment = "If this value is 10.0f then this actor will try and stay 10 meters ahead of the player."
  240.                 *Comment = "If this value is -20.0f then this actor will try and stay 20 meters behind the player."
  241.             }
  242.  
  243.             *FLOAT = "PSMACCEL"
  244.             {
  245.                 *VALUE    = 0.15f
  246.                 *MIN    = 0.0f
  247.                 *DISPLAYNAME = "Accel"
  248.                 *Comment = "Rate at which this actor will accelerate to match get into position."
  249.             }
  250.  
  251.             *FLOAT = "PSMDECEL"
  252.             {
  253.                 *VALUE    = 0.15f
  254.                 *MIN    = 0.0f
  255.                 *DISPLAYNAME = "Decel"
  256.                 *Comment = "Rate at which this actor will Decelerate to match get into position."
  257.             }
  258.         }
  259.     }
  260. }
  261.  
  262.  
  263. *OBJECT = "Rocket1Actor"
  264. {
  265.     *NAME = "Rocket1Actor"
  266.     *INHERITS = "Actor"
  267.     *TYPE = "OBJECT"
  268.     *UseInActorEd = "True"
  269.     *Variables    = 
  270.     {
  271.             *FilePick           =   "ShellName"
  272.             {
  273.                 *DisplayName    =   "Shell Name"
  274.                 *Value          =   ""
  275.                 *Directory      =   "$\Data\Particle\"
  276.                 *Extension      =   "par"
  277.                 *Extension      =   "eff"
  278.             *Comment        =    "The particle used for the basic ordinance shell."
  279.             }
  280.             *FilePick           =   "ExplosionName"
  281.             {
  282.                 *DisplayName    =   "Explosion Name"
  283.                 *Value          =   ""
  284.                 *Directory      =   "$\Data\Particle\"
  285.                 *Extension      =   "par"
  286.                 *Extension      =   "eff"
  287.             *Comment        =    "The particle used for the collision explosion."
  288.             }
  289.             *FilePick           =   "BallisticName"
  290.             {
  291.             *DisplayName    =   "Ballistic Name"
  292.             *Value          =   ""
  293.             *Directory      =   "$\Data\Particle\"
  294.             *Extension      =   "par"
  295.             *Extension      =   "eff"
  296.             *Comment        =    "The particle used for the travelling rocket."
  297.             }
  298.         *Float        = "Speed"
  299.         {
  300.             *Value         = 0.3f
  301.             *DISPLAYNAME    = "Rocket Speed"
  302.             *Comment    = "Velocity that the Rocket uses."
  303.         }
  304.         *Float        = "MaxTurn"
  305.         {
  306.             *Value         = 0.2f
  307.             *DISPLAYNAME    = "Max Turn Rate"
  308.             *Comment    = "Maximum angle percentage a rocket can turn per update."
  309.             *Comment    = "(1.0 == aim right at enemy . . . 0.0 == never turn his way)"
  310.         }
  311.     }
  312. }
  313.  
  314. *OBJECT = "Rocket2Actor"
  315. {
  316.     *NAME = "Rocket2Actor"
  317.     *INHERITS = "Actor"
  318.     *TYPE = "OBJECT"
  319.     *UseInActorEd = "True"
  320. }
  321.  
  322. *OBJECT = "Rocket3Actor"
  323. {
  324.     *NAME = "Rocket3Actor"
  325.     *INHERITS = "Actor"
  326.     *TYPE = "OBJECT"
  327.     *UseInActorEd = "True"
  328.  
  329.     *Variables    = 
  330.     {
  331.             *FilePick           =   "ExplosionName"
  332.             {
  333.             *DisplayName    =   "Explosion Name"
  334.             *Value          =   ""
  335.             *Directory      =   "$\Data\Particle\"
  336.             *Extension      =   "par"
  337.             *Extension      =   "eff"
  338.             *Comment        =    "The particle used for the SwarmBore Explosion."
  339.             }
  340.             *FilePick           =   "BoreActorName"
  341.             {
  342.             *DisplayName    =   "Bore Actor Name"
  343.             *Value          =   ""
  344.             *Directory      =   "$\Data\Actors\"
  345.             *Extension      =   "atr"
  346.             *Comment        =    "The actor used to control the swarm bore."
  347.             }
  348.         *Float        = "Speed"
  349.         {
  350.             *Value         = 0.3f
  351.             *DISPLAYNAME    = "Rocket Speed"
  352.             *Comment    = "Velocity that the Rocket uses."
  353.         }
  354.         *Float        = "MaxTurn"
  355.         {
  356.             *Value         = 0.2f
  357.             *DISPLAYNAME    = "Max Turn Rate"
  358.             *Comment    = "Maximum angle percentage a rocket can turn per update."
  359.             *Comment    = "(1.0 == aim right at enemy . . . 0.0 == never turn his way)"
  360.         }
  361.     }
  362. }
  363.  
  364. *OBJECT = "SwarmBore"
  365. {
  366.     *NAME = "SwarmBore"
  367.     *INHERITS = "Actor"
  368.     *TYPE = "OBJECT"
  369.     *UseInActorEd = "True"
  370.  
  371.     *Variables    = 
  372.     {
  373.             *FilePick           =   "FlareParticle"
  374.             {
  375.             *DisplayName    =   "Flare Particle Name"
  376.             *Value          =   ""
  377.             *Directory      =   "$\Data\Particle\"
  378.             *Extension      =   "par"
  379.             *Extension      =   "eff"
  380.             *Comment        =    "The particle used for the travelling SwarmBore."
  381.             }
  382.         *Float        = "Speed"
  383.         {
  384.             *Value         = 0.3f
  385.             *DISPLAYNAME    = "Rocket Speed"
  386.             *Comment    = "Velocity that the Rocket uses."
  387.         }
  388.         *Float        = "MaxTurn"
  389.         {
  390.             *Value         = 0.2f
  391.             *DISPLAYNAME    = "Max Turn Rate"
  392.             *Comment    = "Maximum angle percentage a rocket can turn per update."
  393.             *Comment    = "(1.0 == aim right at enemy . . . 0.0 == never turn his way)"
  394.         }
  395.     }
  396. }
  397.  
  398. *OBJECT = "SmartBullet"
  399. {
  400.     *NAME = "SmartBullet"
  401.     *INHERITS = "Actor"
  402.     *TYPE = "OBJECT"
  403.     *UseInActorEd = "True"
  404.  
  405.     *Variables    = 
  406.     {
  407.         *Float        = "Speed"
  408.         {
  409.             *Value         = 0.3f
  410.             *DISPLAYNAME    = "Rocket Speed"
  411.             *Comment    = "Velocity that the Rocket uses."
  412.         }
  413.         *Float        = "MaxTurn"
  414.         {
  415.             *Value         = 0.2f
  416.             *DISPLAYNAME    = "Max Turn Rate"
  417.             *Comment    = "Maximum angle percentage a rocket can turn per update."
  418.             *Comment    = "(1.0 == aim right at enemy . . . 0.0 == never turn his way)"
  419.         }
  420.     }
  421. }
  422.  
  423.  
  424. *OBJECT = "WeaponWheelMesh"
  425. {
  426.     *NAME = "WeaponWheelMesh"
  427.     *INHERITS = "Actor"
  428.     *TYPE = "OBJECT"
  429.     *UseInActorEd = "True"
  430. }
  431.  
  432.  
  433.  
  434. *OBJECT = "RocketPteranadonActor"
  435. {
  436.     *NAME = "RocketPteranadon"
  437.     *INHERITS = "Actor"
  438.     *TYPE = "OBJECT"
  439.     *UseInActorEd = "True"
  440. }
  441.  
  442. *OBJECT = "SkyObject"
  443. {
  444.     *NAME = "Sky"
  445.     *INHERITS = "Actor"
  446.     *TYPE = "OBJECT"
  447.     *UseInActorEd = "True"
  448.  
  449.     *Group = "Location Offset"
  450.     {
  451.         *FLOAT = "X"
  452.         {
  453.             *VALUE    = 0
  454.             *MIN    = -100000000000
  455.             *DISPLAYNAME = "X"
  456.             *DISPLAYASDISC = "255,0,0"
  457.             *Comment = "Offset for sky sphere based on TalSet's eyeheight."
  458.         }
  459.         *FLOAT = "Y"
  460.         {
  461.             *VALUE    = 0
  462.             *MIN    = -100000000000
  463.             *DISPLAYNAME = "Y"
  464.             *DISPLAYASDISC = "255,0,0"
  465.             *Comment = "Offset for sky sphere based on TalSet's eyeheight."
  466.         }
  467.         *FLOAT = "Z"
  468.         {
  469.             *VALUE    = 0
  470.             *MIN    = -100000000000
  471.             *DISPLAYNAME = "Z"
  472.             *DISPLAYASDISC = "255,0,0"
  473.             *Comment = "Offset for sky sphere based on TalSet's eyeheight."
  474.         }
  475.     }
  476. }
  477.  
  478. *OBJECT = "Lock2DObject"
  479. {
  480.     *NAME = "Lock2D"
  481.     *INHERITS = "Actor"
  482.     *TYPE = "OBJECT"
  483.     *UseInActorEd = "True"
  484.  
  485.     *Group = "Location"
  486.     {
  487.         *FLOAT = "X"
  488.         {
  489.             *VALUE    = 0
  490.             *MIN    = 0
  491.             *DISPLAYNAME = "X"
  492.             *DISPLAYASDISC = "255,0,0"
  493.             *Comment = "Location for TalSet to always stand in."
  494.         }
  495.         *FLOAT = "Y"
  496.         {
  497.             *VALUE    = 0
  498.             *MIN    = 0
  499.             *DISPLAYNAME = "Y"
  500.             *DISPLAYASDISC = "255,0,0"
  501.             *Comment = "Location for TalSet to always stand in."
  502.         }
  503.         *FLOAT = "Z"
  504.         {
  505.             *VALUE    = 0
  506.             *MIN    = 0
  507.             *DISPLAYNAME = "Z"
  508.             *DISPLAYASDISC = "255,0,0"
  509.             *Comment = "Location for TalSet to always stand in."
  510.         }
  511.     }
  512.     *Group = "Direction"
  513.     {
  514.         *FLOAT = "Pitch"
  515.         {
  516.             *VALUE    = 0
  517.             *MIN    = 0
  518.             *DISPLAYNAME = "Pitch"
  519.             *DISPLAYASDISC = "255,0,0"
  520.             *Comment = "Direction TalSet will always face."
  521.         }
  522.         *FLOAT = "Yaw"
  523.         {
  524.             *VALUE    = 0
  525.             *MIN    = 0
  526.             *DISPLAYNAME = "Yaw"
  527.             *DISPLAYASDISC = "255,0,0"
  528.             *Comment = "Direction TalSet will always face."
  529.         }
  530.         *FLOAT = "Roll"
  531.         {
  532.             *VALUE    = 0
  533.             *MIN    = 0
  534.             *DISPLAYNAME = "Roll"
  535.             *DISPLAYASDISC = "255,0,0"
  536.             *Comment = "Direction TalSet will always face."
  537.         }
  538.     }
  539. }
  540.  
  541.  
  542. ;------------------------------------------------------------------------------
  543. ; Enemy AI
  544. ;------------------------------------------------------------------------------
  545. *OBJECT = "EnemyAIObject"
  546. {
  547.     *NAME    = "EnemyAI"
  548.     *INHERITS = "TurokAIObject"
  549.     *TYPE    = "OBJECT"
  550.  
  551.     *AIMODES = 
  552.     {
  553.         Idle,
  554.         AlertIdle,
  555.         CrouchIdle,
  556.         ProneIdle,
  557.         RotateLeft,
  558.         RotateRight,
  559.         AlertRotateLeft,
  560.         AlertRotateRight,
  561.         StandingSleep,
  562.         Walk,
  563.         AlertWalk,
  564.         CrouchWalk,
  565.         ProneCrawl,
  566.         Run,
  567.         AlertRun,
  568.         FireRun,
  569.         FireStarter,
  570.         FireDeath,
  571.         Fall,
  572.         ExaggeratedFall,
  573.         FallDeath,
  574.         Jump,
  575.         Climb,
  576.         ClimbEnd,
  577.         HangClimb,
  578.         Damaged,
  579.         Death,
  580.         PoisonDamage,
  581.         PoisonDeath,
  582.         ExplosionDeath,
  583.         ExplosionDamage,
  584.         ImplodeDeath,
  585.         GravityHeld,
  586.         Attack,
  587.         SecondAttack,
  588.         ThirdAttack,
  589.         FourthAttack,
  590.         FifthAttack,
  591.         CrouchAttack,
  592.         ProneAttack,
  593.         UnderwaterIdle,
  594.         UnderwaterSwim,
  595.         WatersurfaceIdle,
  596.         WatersurfaceSwim,
  597.         SwimmingAttack,
  598.         SquatIdle,
  599.         Taunt,
  600.         Talk,
  601.         Special1,
  602.         Special2,
  603.         Special3,
  604.         Special4
  605.     }
  606.  
  607.     *VARIABLES = 
  608.     {
  609.  
  610.         *Group = "Detection"
  611.         {
  612.             *Comment = "Sight, sound and smell detection parameters."
  613.  
  614.             *BOOL = "IGNOREPLAYER"
  615.             {
  616.                 *VALUE    = "False"
  617.                 *DISPLAYNAME = "Ignore Player?"
  618.                 *Comment = "No detection.  Ignores player."
  619.             }
  620.  
  621.             *BOOL = "ProvokeOnly"
  622.             {
  623.                 *VALUE    = "False"
  624.                 *DISPLAYNAME = "Respond Only To Provoked"
  625.                 *Comment = "AI only selects a target when attacked by it."
  626.             }
  627.  
  628.             *BOOL = "CONEVISION"
  629.             {
  630.                 *VALUE    = "True"
  631.                 *DISPLAYNAME = "Cone Vision?"
  632.                 *Comment = "True for forward cone sight."
  633.                 *Comment = "False for 360 degree sight."
  634.             }
  635.  
  636.         
  637.             *FLOAT = "SIGHTRADIUS"
  638.             {
  639.                 *VALUE    = 20
  640.                 *MIN    = 0
  641.                 *DISPLAYNAME = "Sight Radius"
  642.                 *DISPLAYASDISC = "255,0,0"
  643.                 *Comment = "Distance the AI can see."
  644.             }
  645.  
  646.             *FLOAT = "SXZAngle"
  647.             {
  648.                 *VALUE    = 90
  649.                 *MIN    = 0
  650.                 *DISPLAYNAME = "Cone XZ Angle"
  651.                 *Comment = "XZ Angle for cone vision."
  652.             }
  653.  
  654.             *FLOAT = "SYAngle"
  655.             {
  656.                 *VALUE    = 45
  657.                 *MIN    = 0
  658.                 *DISPLAYNAME = "Cone Y Angle"
  659.                 *Comment = "Y Angle for cone vision."
  660.             }
  661.  
  662.             *FLOAT = "SOUNDRADIUS"
  663.             {
  664.                 *VALUE    = 30
  665.                 *MIN    = 0
  666.                 *DISPLAYNAME = "Sound Radius"
  667.                 *DISPLAYASDISC = "205,120,30"
  668.                 *Comment = "Distance the AI can hear."
  669.             }
  670.  
  671.             *FLOAT = "LostContactResetTime"
  672.             {
  673.                 *VALUE            = -1.0
  674.                 *DISPLAYNAME    = "Lost Contact Reset Time"
  675.             }
  676.  
  677.             *BOOL = "IgnAlBox"
  678.             {
  679.                 *VALUE    = "false"
  680.                 *DISPLAYNAME = "Ignore Alarm Boxes?"
  681.                 *Comment = "True - ignores alarms"
  682.                 *Comment = "False - responds to alarms."
  683.             }
  684.  
  685.             *BOOL = "OnlyPTarget"
  686.             {
  687.                 *VALUE    = "false"
  688.                 *DISPLAYNAME = "Only Player Target"
  689.                 *Comment = "True - The player is the only actor that will be considered for targetting"
  690.                 *Comment = "False - Or not."
  691.             }
  692.  
  693.  
  694.             *BOOL = "HasPTarget"
  695.             {
  696.                 *VALUE    = "false"
  697.                 *DISPLAYNAME = "Always Detects Player"
  698.                 *Comment = "True - Always detects player as a target, even if it can't normally detect him"
  699.                 *Comment = "False - Or not."
  700.             }
  701.  
  702.             *BOOL = "HasSTarget"
  703.             {
  704.                 *VALUE    = "false"
  705.                 *DISPLAYNAME = "Shooter is Target"
  706.                 *Comment = "True - Has shooter as a target, even if it can't normally detect him"
  707.                 *Comment = "False - Or not."
  708.             }
  709.  
  710.         }
  711.  
  712.         *Group = "Movement"
  713.         {
  714.             *Comment = "Movement parameters."
  715.  
  716.             *FLOAT = "MovementSpeed"
  717.             {
  718.                 *VALUE    = 2.2
  719.                 *MIN    = 0
  720.                 *DISPLAYNAME = "Movement Speed"
  721.                 *Comment = "Running Movement speed in m/s."
  722.             }
  723.  
  724.             *FLOAT = "SlowMovementSpeed"
  725.             {
  726.                 *VALUE    = 1.0
  727.                 *MIN    = 0
  728.                 *DISPLAYNAME = "Slow Movement Speed"
  729.                 *Comment = "Walking Movement speed in m/s."
  730.             }
  731.  
  732.             *FLOAT = "TurningSpeed"
  733.             {
  734.                 *VALUE    = 180
  735.                 *MIN    = 0
  736.                 *DISPLAYNAME = "Turning Speed"
  737.                 *Comment = "Turning speed in degrees/s."
  738.             }
  739.  
  740.             *FLOAT = "PitchSpeed"
  741.             {
  742.                 *VALUE    = 180
  743.                 *MIN    = 0
  744.                 *DISPLAYNAME = "Pitch Speed"
  745.                 *Comment = "Pitch speed in degrees/s."
  746.             }
  747.  
  748.             *BOOL = "SlowTurn"
  749.             {
  750.                 *VALUE    = "False"
  751.                 *DISPLAYNAME = "Slow Moving Turn?"
  752.             }
  753.  
  754.             *BOOL = "AlwaysRun"
  755.             {
  756.                 *VALUE    = "False"
  757.                 *DISPLAYNAME = "Always Run?"
  758.             }
  759.  
  760.             *BOOL = "AlwaysWalk"
  761.             {
  762.                 *VALUE    = "False"
  763.                 *DISPLAYNAME = "Always Walk?"
  764.             }
  765.  
  766.             *BOOL = "CanCrawl"
  767.             {
  768.                 *Usage            = "Protected"
  769.                 *VALUE    = "False"
  770.                 *DISPLAYNAME = "Can Crawl?"
  771.                 *Comment = "True if AI can use crawl links."
  772.             }
  773.  
  774.             *BOOL = "DFTurrets"
  775.             {
  776.                 *VALUE    = "false"
  777.                 *DISPLAYNAME = "Drop for Turrets?"
  778.                 *Comment = "True - drops to avoid turrets"
  779.                 *Comment = "False - dont drop for turrets."
  780.             }
  781.  
  782.             *BOOL = "AIAvoid"
  783.             {
  784.                 *VALUE    = "True"
  785.                 *DISPLAYNAME = "AI Avoidance?"
  786.             }
  787.  
  788.             *BOOL = "CantBePushed"
  789.             {
  790.                 *VALUE    = "false"
  791.                 *DISPLAYNAME = "Cant Be Pushed"
  792.                 *Comment = "True - AI cant be Force pushed"
  793.                 *Comment = "False - AI can be pushed."
  794.             }
  795.  
  796.             *Group = "Climbing"
  797.             {
  798.                 *BOOL = "CanClimb"
  799.                 {
  800.                     *Usage            = "Protected"
  801.                     *VALUE    = "False"
  802.                     *DISPLAYNAME = "Can Climb?"
  803.                     *Comment = "True if AI can scale climbable surfaces."
  804.                 }
  805.  
  806.                 *BOOL = "CanMonkeyClimb"
  807.                 {
  808.                     *VALUE    = "False"
  809.                     *DISPLAYNAME = "Can Monkey Climb?"
  810.                     *Comment = "True if AI can use monkeybar climbable surfaces."
  811.                 }
  812.  
  813.                 *FLOAT = "ClimbEndHeight"
  814.                 {
  815.                     *Usage            = "Protected"
  816.                     *VALUE            = 1.0
  817.                     *DISPLAYNAME    = "ClimbEndHeight"
  818.                 }
  819.             }
  820.  
  821.             *Group = "Swimming"
  822.             {
  823.                 *BOOL = "CanSwim"
  824.                 {
  825.                     *Usage            = "Protected"
  826.                     *VALUE    = "False"
  827.                     *DISPLAYNAME = "Can Swim?"
  828.                     *Comment = "True if AI can swim in water."
  829.                 }
  830.  
  831.                 *FLOAT = "FastSwimmingSpeed"
  832.                 {
  833.                     *VALUE    = 3.0
  834.                     *MIN    = 0
  835.                     *DISPLAYNAME = "Fast Swimming Speed"
  836.                     *Comment = "Fast Swimming speed in m/s."
  837.                 }
  838.  
  839.                 *FLOAT = "SlowSwimmingSpeed"
  840.                 {
  841.                     *VALUE    = 1.0
  842.                     *MIN    = 0
  843.                     *DISPLAYNAME = "Slow Swimming Speed"
  844.                     *Comment = "Slow Swimming speed in m/s."
  845.                 }
  846.             }
  847.  
  848.         }
  849.  
  850.         *Group = "Leash"
  851.         {
  852.             *BOOL = "LEASHED"
  853.             {
  854.                 *VALUE    = "False"
  855.                 *DISPLAYNAME = "Leashed to point?"
  856.                 *Comment = "True if AI stays within the leash radius"
  857.                 *Comment = "of its creation spot."
  858.             }
  859.  
  860.             *FLOAT = "LEASHRADIUS"
  861.             {
  862.                 *VALUE    = 50
  863.                 *MIN    = 0
  864.                 *DISPLAYNAME = "Leash Radius"
  865.                 *DISPLAYASDISC = "155,30,140"
  866.             }
  867.  
  868.             *BOOL = "LeashedToRegion"
  869.             {
  870.                 *VALUE    = "False"
  871.                 *DISPLAYNAME = "Leashed to region?"
  872.                 *Comment = "True if AI stays within the smallest region "
  873.                 *Comment = "surrounding it at creation."
  874.             }
  875.  
  876.             *BOOL = "RegionTargets"
  877.             {
  878.                 *VALUE    = "False"
  879.                 *DISPLAYNAME = "Ignore Targets?"
  880.                 *Comment = "True if AI ignores targets outside its leash"
  881.             }
  882.  
  883.             *FLOAT = "FleeR"
  884.             {
  885.                 *VALUE    = 20
  886.                 *MIN    = 0
  887.                 *DISPLAYNAME = "Flee Radius"
  888.             }
  889.  
  890.         }
  891.  
  892.         *Group = "Cover"
  893.         {
  894.  
  895.             *FLOAT = "COVERRADIUS"
  896.             {
  897.                 *VALUE    = 40
  898.                 *MIN    = 0
  899.                 *DISPLAYNAME = "Cover Radius"
  900. ;                 *DISPLAYASDISC = "155,30,140"
  901.                 *Comment = "The max distance the AI will seek out a cover position."
  902.             }
  903.  
  904.             *Int = "MinCoverShots"
  905.             {
  906.                 *VALUE    = 1
  907.                 *MIN    = 1
  908.                 *DISPLAYNAME = "Min Shots"
  909.             }
  910.  
  911.             *Int = "MaxCoverShots"
  912.             {
  913.                 *VALUE    = 1
  914.                 *MIN    = 1
  915.                 *DISPLAYNAME = "Max Shots"
  916.             }
  917.  
  918.             *BOOL = "CUCCover"
  919.             {
  920.                 *VALUE    = "true"
  921.                 *DISPLAYNAME = "Use Circle Cover"
  922.             }
  923.  
  924.             *BOOL = "CUUCover"
  925.             {
  926.                 *VALUE    = "true"
  927.                 *DISPLAYNAME = "Use PopUp Cover"
  928.             }
  929.  
  930.             *BOOL = "CUOCover"
  931.             {
  932.                 *VALUE    = "true"
  933.                 *DISPLAYNAME = "Use PopOut Cover"
  934.             }
  935.  
  936.         }
  937.  
  938.  
  939.         *Group = "Logic"
  940.         {
  941.             *Comment = "AI Logic Parameters"
  942.  
  943.             *INT = "LogicInitialAttackChance"
  944.             {
  945.                 *VALUE            = 1
  946.                 *MIN            = 0
  947.                 *DISPLAYNAME    = "Intial Attack Chance"
  948.             }
  949.  
  950.             *INT = "LogicAttackChance"
  951.             {
  952.                 *VALUE            = 1
  953.                 *MIN            = 0
  954.                 *DISPLAYNAME    = "Attack Chance"
  955.             }
  956.  
  957.             *BOOL = "WANTSCOVER"
  958.             {
  959.                 *VALUE    = "False"
  960.                 *DISPLAYNAME = "Seeks Cover?"
  961.                 *Comment = "True if AI seeks out cover when threatened."
  962.             }
  963.  
  964.             *INT = "LogicInitialCoverChance"
  965.             {
  966.                 *VALUE            = 0
  967.                 *MIN            = 0
  968.                 *DISPLAYNAME    = "Initial Cover Chance"
  969.             }
  970.  
  971.             *INT = "LogicCoverChance"
  972.             {
  973.                 *VALUE            = 0
  974.                 *MIN            = 0
  975.                 *DISPLAYNAME    = "Cover Chance"
  976.             }
  977.  
  978.             *FLOAT = "BreachRadius"
  979.             {
  980.                 *VALUE            = -1.0
  981.                 *DISPLAYNAME    = "Breach Radius"
  982.                 *Comment        = "Use -1 for no breach"
  983.             }
  984.  
  985.             *BOOL = "AttackOnBreach"
  986.             {
  987.                 *VALUE    = "False"
  988.                 *DISPLAYNAME = "Attack On Breach"
  989.                 *Comment = "True if AI switches to attack when player within the breach radius"
  990.             }
  991.  
  992.             *FLOAT = "AttackResetTime"
  993.             {
  994.                 *VALUE            = -1.0
  995.                 *DISPLAYNAME    = "Attack Reset Time"
  996.                 *Comment        = "The time in attack mode before a new attack logic is selected."
  997.                 *Comment        = "Use -1 for never resetting."
  998.             }
  999.  
  1000.             *FLOAT = "DamageLogicChangeAmount"
  1001.             {
  1002.                 *VALUE            = -1.0
  1003.                 *DISPLAYNAME    = "Damage Logic Change"
  1004.             }
  1005.  
  1006.             *FLOAT = "FearfulThreshhold"
  1007.             {
  1008.                 *VALUE            = -1.0
  1009.                 *DISPLAYNAME    = "Fearful Threshhold"
  1010.                 *Comment        = "The health level below which the AI will be fearful."
  1011.             }
  1012.  
  1013.             *FLOAT = "CriticalThreshhold"
  1014.             {
  1015.                 *VALUE            = -1.0
  1016.                 *DISPLAYNAME    = "Critical Threshhold"
  1017.                 *Comment        = "The health level below which the AI will sellect critical damage logic."
  1018.             }
  1019.  
  1020.             *Group = "Critical Logic"
  1021.             {
  1022.                 *INT = "CritNoChange"
  1023.                 {
  1024.                     *VALUE            = 1
  1025.                     *MIN            = 0
  1026.                     *DISPLAYNAME    = "No Change Chance"
  1027.                 }
  1028.  
  1029.                 *INT = "CritFlee"
  1030.                 {
  1031.                     *VALUE            = 0
  1032.                     *MIN            = 0
  1033.                     *DISPLAYNAME    = "Flee Chance"
  1034.                 }
  1035.  
  1036.                 *INT = "CritRetreat"
  1037.                 {
  1038.                     *VALUE            = 0
  1039.                     *MIN            = 0
  1040.                     *DISPLAYNAME    = "Retreat Chance"
  1041.                 }
  1042.  
  1043.                 *INT = "CritKamikaze"
  1044.                 {
  1045.                     *VALUE            = 0
  1046.                     *MIN            = 0
  1047.                     *DISPLAYNAME    = "Kamikaze Chance"
  1048.                 }
  1049.  
  1050.                 *INT = "CritSurrender"
  1051.                 {
  1052.                     *VALUE            = 0
  1053.                     *MIN            = 0
  1054.                     *DISPLAYNAME    = "Surrender Chance"
  1055.                 }
  1056.  
  1057.                 *INT = "CritCover"
  1058.                 {
  1059.                     *VALUE            = 0
  1060.                     *MIN            = 0
  1061.                     *DISPLAYNAME    = "Cover Chance"
  1062.                 }
  1063.  
  1064.                 *INT = "CritProne"
  1065.                 {
  1066.                     *VALUE            = 0
  1067.                     *MIN            = 0
  1068.                     *DISPLAYNAME    = "Prone Chance"
  1069.                 }
  1070.  
  1071.             }
  1072.  
  1073.             *Combo = "SGR"
  1074.             {
  1075.                 *Usage            = "Protected"
  1076.                 *DisplayName    =    "Sticky Grenade"
  1077.                 *Value            =    0
  1078.                 *ComboList        =
  1079.                 {
  1080.                     "No Change",
  1081.                     "Flee",
  1082.                     "Kamikaze"
  1083.                 }
  1084.             }
  1085.         }
  1086.  
  1087.  
  1088.         *Group = "Attack"
  1089.         {
  1090.             *Comment = "Attacking parameters."
  1091.                         
  1092.             *Group = "Primary Attack"
  1093.             {
  1094.                 *FilePick = "WeaponName1"
  1095.                 {
  1096.                     *Usage            = "Protected"
  1097.                     *DISPLAYNAME = "Weapon"
  1098.                     *Value            =    ""
  1099.                     *Directory      =   "$\Data\Actors\EnemyWeapons"
  1100.                     *Extension      =   "atr"
  1101.                 }
  1102.  
  1103.                 *BOOL = "UsePrimary1"
  1104.                 {
  1105.                     *Usage            = "Protected"
  1106.                     *VALUE    = "True"
  1107.                     *DISPLAYNAME = "Uses Primary Weapon"
  1108.                 }
  1109.  
  1110.                 *String = "WeaponPoint1"
  1111.                 {
  1112.                     *Usage            = "Protected"
  1113.                     *DisplayName    =    "Hotpoint"
  1114.                     *Value            =    ""
  1115.                     *Comment        =    "The hotpoint to attach the weapon to"
  1116.                 }
  1117.  
  1118.                 *FLOAT = "WeaponRange1"
  1119.                 {
  1120.                     *Usage            = "Protected"
  1121.                     *VALUE    = 20
  1122.                     *MIN    = 0
  1123.                     *DISPLAYNAME = "Attack Range"
  1124.                 }
  1125.             }
  1126.  
  1127.             *Group = "Second Attack"
  1128.             {
  1129.                 *FilePick = "WeaponName2"
  1130.                 {
  1131.                     *Usage            = "Protected"
  1132.                     *DISPLAYNAME = "Weapon"
  1133.                     *Value            =    ""
  1134.                     *Directory      =   "$\Data\Actors\EnemyWeapons"
  1135.                     *Extension      =   "atr"
  1136.                 }
  1137.  
  1138.                 *BOOL = "UsePrimary2"
  1139.                 {
  1140.                     *Usage            = "Protected"
  1141.                     *VALUE    = "False"
  1142.                     *DISPLAYNAME = "Uses Primary Weapon"
  1143.                 }
  1144.  
  1145.                 *String = "WeaponPoint2"
  1146.                 {
  1147.                     *Usage            = "Protected"
  1148.                     *DisplayName    =    "Hotpoint"
  1149.                     *Value            =    ""
  1150.                     *Comment        =    "The hotpoint to attach the weapon to"
  1151.                 }
  1152.  
  1153.                 *FLOAT = "WeaponRange2"
  1154.                 {
  1155.                     *Usage            = "Protected"
  1156.                     *VALUE    = 20
  1157.                     *MIN    = 0
  1158.                     *DISPLAYNAME = "Attack Range"
  1159.                 }
  1160.             }
  1161.  
  1162.             *Group = "Third Attack"
  1163.             {
  1164.                 *FilePick = "WeaponName3"
  1165.                 {
  1166.                     *Usage            = "Protected"
  1167.                     *DISPLAYNAME = "Weapon"
  1168.                     *Value            =    ""
  1169.                     *Directory      =   "$\Data\Actors\EnemyWeapons"
  1170.                     *Extension      =   "atr"
  1171.                 }
  1172.  
  1173.                 *BOOL = "UsePrimary3"
  1174.                 {
  1175.                     *Usage            = "Protected"
  1176.                     *VALUE    = "False"
  1177.                     *DISPLAYNAME = "Uses Primary Weapon"
  1178.                 }
  1179.  
  1180.                 *String = "WeaponPoint3"
  1181.                 {
  1182.                     *Usage            = "Protected"
  1183.                     *DisplayName    =    "Hotpoint"
  1184.                     *Value            =    ""
  1185.                     *Comment        =    "The hotpoint to attach the weapon to"
  1186.                 }
  1187.  
  1188.                 *FLOAT = "WeaponRange3"
  1189.                 {
  1190.                     *Usage            = "Protected"
  1191.                     *VALUE    = 20
  1192.                     *MIN    = 0
  1193.                     *DISPLAYNAME = "Attack Range"
  1194.                 }
  1195.             }
  1196.  
  1197.             *Group = "Fourth Attack"
  1198.             {
  1199.                 *FilePick = "WeaponName4"
  1200.                 {
  1201.                     *Usage            = "Protected"
  1202.                     *DISPLAYNAME = "Weapon"
  1203.                     *Value            =    ""
  1204.                     *Directory      =   "$\Data\Actors\EnemyWeapons"
  1205.                     *Extension      =   "atr"
  1206.                 }
  1207.  
  1208.                 *BOOL = "UsePrimary4"
  1209.                 {
  1210.                     *Usage            = "Protected"
  1211.                     *VALUE    = "False"
  1212.                     *DISPLAYNAME = "Uses Primary Weapon"
  1213.                 }
  1214.  
  1215.                 *String = "WeaponPoint4"
  1216.                 {
  1217.                     *Usage            = "Protected"
  1218.                     *DisplayName    =    "Hotpoint"
  1219.                     *Value            =    ""
  1220.                     *Comment        =    "The hotpoint to attach the weapon to"
  1221.                 }
  1222.  
  1223.                 *FLOAT = "WeaponRange4"
  1224.                 {
  1225.                     *Usage            = "Protected"
  1226.                     *VALUE    = 20
  1227.                     *MIN    = 0
  1228.                     *DISPLAYNAME = "Attack Range"
  1229.                 }
  1230.  
  1231.             }
  1232.  
  1233.             *Group = "Fifth Attack"
  1234.             {
  1235.                 *FilePick = "WeaponName5"
  1236.                 {
  1237.                     *Usage            = "Protected"
  1238.                     *DISPLAYNAME = "Weapon"
  1239.                     *Value            =    ""
  1240.                     *Directory      =   "$\Data\Actors\EnemyWeapons"
  1241.                     *Extension      =   "atr"
  1242.                 }
  1243.  
  1244.                 *BOOL = "UsePrimary5"
  1245.                 {
  1246.                     *Usage            = "Protected"
  1247.                     *VALUE    = "False"
  1248.                     *DISPLAYNAME = "Uses Primary Weapon"
  1249.                 }
  1250.  
  1251.                 *String = "WeaponPoint5"
  1252.                 {
  1253.                     *Usage            = "Protected"
  1254.                     *DisplayName    =    "Hotpoint"
  1255.                     *Value            =    ""
  1256.                     *Comment        =    "The hotpoint to attach the weapon to"
  1257.                 }
  1258.  
  1259.                 *FLOAT = "WeaponRange5"
  1260.                 {
  1261.                     *Usage            = "Protected"
  1262.                     *VALUE    = 20
  1263.                     *MIN    = 0
  1264.                     *DISPLAYNAME = "Attack Range"
  1265.                 }
  1266.  
  1267.             }
  1268.  
  1269.             *Group = "Close Range"
  1270.             {
  1271.                 *Comment = "Close Range Attack"
  1272.  
  1273.                 *INT = "CloseRangeChance"
  1274.                 {
  1275.                     *VALUE    = 25
  1276.                     *MIN    = 0
  1277.                     *DISPLAYNAME = "Chance"
  1278.                     *Comment = "The chance the AI will select close range attack"
  1279.                 }
  1280.                 
  1281.                 *FLOAT = "CloseRangeDist"
  1282.                 {
  1283.                     *VALUE    = 5
  1284.                     *MIN    = 0
  1285.                     *DISPLAYNAME = "Distance"
  1286.                     *Comment = "The distance from target in close range attack"
  1287.                 }
  1288.             }
  1289.  
  1290.             *Group = "Medium Range"
  1291.             {
  1292.                 *Comment = "Medium Range Attack"
  1293.  
  1294.                 *INT = "MediumRangeChance"
  1295.                 {
  1296.                     *VALUE    = 50
  1297.                     *MIN    = 0
  1298.                     *DISPLAYNAME = "Chance"
  1299.                     *Comment = "The chance the AI will select medium range attack"
  1300.                 }
  1301.                 
  1302.                 *FLOAT = "MediumRangeDist"
  1303.                 {
  1304.                     *VALUE    = 15
  1305.                     *MIN    = 0
  1306.                     *DISPLAYNAME = "Distance"
  1307.                     *Comment = "The distance from target in medium range attack"
  1308.                 }
  1309.             }
  1310.  
  1311.             *Group = "Long Range"
  1312.             {
  1313.                 *Comment = "Long Range Attack"
  1314.  
  1315.                 *INT = "LongRangeChance"
  1316.                 {
  1317.                     *VALUE    = 25
  1318.                     *MIN    = 0
  1319.                     *DISPLAYNAME = "Chance"
  1320.                     *Comment = "The chance the AI will select long range attack"
  1321.                 }
  1322.                 
  1323.                 *FLOAT = "LongRangeDist"
  1324.                 {
  1325.                     *VALUE    = 30
  1326.                     *MIN    = 0
  1327.                     *DISPLAYNAME = "Distance"
  1328.                     *Comment = "The distance from target in long range attack"
  1329.                 }
  1330.             }
  1331.  
  1332.             *BOOL = "IsSniper"
  1333.             {
  1334.                 *VALUE    = "False"
  1335.                 *DISPLAYNAME = "Sniper"
  1336.                 *Comment = "The AI will not move from placed spot"
  1337.             }
  1338.  
  1339.             *INT = "CrouchAttackChance"
  1340.             {
  1341.                 *VALUE    = 0
  1342.                 *MIN    = 0
  1343.                 *DISPLAYNAME = "Crouch Attack Chance"
  1344.                 *Comment = "The chance out of 100 the AI will crouch when attacking"
  1345.             }
  1346.  
  1347.             *INT = "ProneAttackChance"
  1348.             {
  1349.                 *VALUE    = 0
  1350.                 *MIN    = 0
  1351.                 *DISPLAYNAME = "Prone Attack Chance"
  1352.                 *Comment = "The chance out of 100 the AI will go prone when attacking"
  1353.             }
  1354.  
  1355.             *BOOL = "KeepADis"
  1356.             {
  1357.                 *VALUE            = "True"
  1358.                 *DISPLAYNAME    = "Keep Attack Distance"
  1359.                 *Comment        = "Keep distance away from target when in medium or long range attack"
  1360.             }
  1361.  
  1362.         }
  1363.  
  1364.         *Group = "Head Tracking"
  1365.         {
  1366.             *BOOL = "UseHeadTracking"
  1367.             {
  1368.                 *VALUE    = "False"
  1369.                 *DISPLAYNAME = "Head Tracking"
  1370.             }
  1371.  
  1372.             *Group = "Head"
  1373.             {
  1374.                 *int = "HeadBoneIndex"
  1375.                 {
  1376.                     *Usage            = "Protected"
  1377.                     *VALUE            = -1
  1378.                     *DISPLAYNAME    = "BoneIndex"
  1379.                 }
  1380.  
  1381.                 *Combo = "HeadPitchAxis"
  1382.                 {
  1383.                     *Usage            = "Protected"
  1384.                     *DisplayName    =    "Pitch Axis"
  1385.                     *Value            =    2 
  1386.                     *ComboList        =
  1387.                     {
  1388.                         "X+",
  1389.                         "X-",
  1390.                         "Y+",
  1391.                         "Y-",
  1392.                         "Z+",
  1393.                         "Z-"
  1394.                     }
  1395.                 }
  1396.  
  1397.                 *Combo = "HeadYawAxis"
  1398.                 {
  1399.                     *Usage            = "Protected"
  1400.                     *DisplayName    =    "Yaw Axis"
  1401.                     *Value            =    4
  1402.                     *ComboList        =
  1403.                     {
  1404.                         "X+",
  1405.                         "X-",
  1406.                         "Y+",
  1407.                         "Y-",
  1408.                         "Z+",
  1409.                         "Z-"
  1410.                     }
  1411.                 }
  1412.  
  1413.                 *FLOAT = "HeadXFix"
  1414.                 {
  1415.                     *Usage        = "Protected"
  1416.                     *VALUE    = 0
  1417.                     *DISPLAYNAME = "X Fix"
  1418.                 }
  1419.  
  1420.                 *FLOAT = "HeadYFix"
  1421.                 {
  1422.                     *Usage        = "Protected"
  1423.                     *VALUE    = 0
  1424.                     *DISPLAYNAME = "Y Fix"
  1425.                 }
  1426.  
  1427.                 *FLOAT = "HeadZFix"
  1428.                 {
  1429.                     *Usage        = "Protected"
  1430.                     *VALUE    = 0
  1431.                     *DISPLAYNAME = "Z Fix"
  1432.                 }
  1433.  
  1434.                 *FLOAT = "HeadPitchMax"
  1435.                 {
  1436.                     *Usage        = "Protected"
  1437.                     *VALUE    = 0
  1438.                     *DISPLAYNAME = "Pitch Max"
  1439.                 }
  1440.  
  1441.                 *FLOAT = "HeadPitchMin"
  1442.                 {
  1443.                     *Usage        = "Protected"
  1444.                     *VALUE    = 0
  1445.                     *DISPLAYNAME = "Pitch Min"
  1446.                 }
  1447.  
  1448.                 *FLOAT = "HeadYawMax"
  1449.                 {
  1450.                     *Usage        = "Protected"
  1451.                     *VALUE    = 0
  1452.                     *DISPLAYNAME = "Yaw Max"
  1453.                 }
  1454.  
  1455.                 *FLOAT = "HeadYawMin"
  1456.                 {
  1457.                     *Usage        = "Protected"
  1458.                     *VALUE    = 0
  1459.                     *DISPLAYNAME = "Yaw Min"
  1460.                 }
  1461.  
  1462.                 *FLOAT = "HeadPitchCorr"
  1463.                 {
  1464.                     *Usage        = "Protected"
  1465.                     *VALUE    = 0
  1466.                     *DISPLAYNAME = "Pitch Correction"
  1467.                 }
  1468.  
  1469.                 *FLOAT = "HeadPPCorr"
  1470.                 {
  1471.                     *Usage        = "Protected"
  1472.                     *VALUE    = 0
  1473.                     *DISPLAYNAME = "Parent Pitch Correction"
  1474.                 }
  1475.  
  1476.                 *FLOAT = "HeadPYCorr"
  1477.                 {
  1478.                     *Usage        = "Protected"
  1479.                     *VALUE    = 90
  1480.                     *DISPLAYNAME = "Parent Yaw Correction"
  1481.                 }
  1482.  
  1483.             }
  1484.  
  1485.  
  1486.             *Group = "Spine"
  1487.             {
  1488.                 *int = "BackBoneIndex"
  1489.                 {
  1490.                     *Usage            = "Protected"
  1491.                     *VALUE            = -1
  1492.                     *DISPLAYNAME    = "BoneIndex"
  1493.                 }
  1494.  
  1495.                 *Combo = "BackPitchAxis"
  1496.                 {
  1497.                     *Usage            = "Protected"
  1498.                     *DisplayName    =    "Pitch Axis"
  1499.                     *Value            =    2 
  1500.                     *ComboList        =
  1501.                     {
  1502.                         "X+",
  1503.                         "X-",
  1504.                         "Y+",
  1505.                         "Y-",
  1506.                         "Z+",
  1507.                         "Z-"
  1508.                     }
  1509.                 }
  1510.  
  1511.                 *Combo = "BackYawAxis"
  1512.                 {
  1513.                     *Usage            = "Protected"
  1514.                     *DisplayName    =    "Yaw Axis"
  1515.                     *Value            =    4
  1516.                     *ComboList        =
  1517.                     {
  1518.                         "X+",
  1519.                         "X-",
  1520.                         "Y+",
  1521.                         "Y-",
  1522.                         "Z+",
  1523.                         "Z-"
  1524.                     }
  1525.                 }
  1526.  
  1527.                 *FLOAT = "BackXFix"
  1528.                 {
  1529.                     *Usage        = "Protected"
  1530.                     *VALUE    = 0
  1531.                     *DISPLAYNAME = "X Fix"
  1532.                 }
  1533.  
  1534.                 *FLOAT = "BackYFix"
  1535.                 {
  1536.                     *Usage        = "Protected"
  1537.                     *VALUE    = 0
  1538.                     *DISPLAYNAME = "Y Fix"
  1539.                 }
  1540.  
  1541.                 *FLOAT = "BackZFix"
  1542.                 {
  1543.                     *Usage        = "Protected"
  1544.                     *VALUE    = 0
  1545.                     *DISPLAYNAME = "Z Fix"
  1546.                 }
  1547.  
  1548.                 *FLOAT = "BackPitchMax"
  1549.                 {
  1550.                     *Usage        = "Protected"
  1551.                     *VALUE    = 0
  1552.                     *DISPLAYNAME = "Pitch Max"
  1553.                 }
  1554.  
  1555.                 *FLOAT = "BackPitchMin"
  1556.                 {
  1557.                     *Usage        = "Protected"
  1558.                     *VALUE    = 0
  1559.                     *DISPLAYNAME = "Pitch Min"
  1560.                 }
  1561.  
  1562.                 *FLOAT = "BackYawMax"
  1563.                 {
  1564.                     *Usage        = "Protected"
  1565.                     *VALUE    = 0
  1566.                     *DISPLAYNAME = "Yaw Max"
  1567.                 }
  1568.  
  1569.                 *FLOAT = "BackYawMin"
  1570.                 {
  1571.                     *Usage        = "Protected"
  1572.                     *VALUE    = 0
  1573.                     *DISPLAYNAME = "Yaw Min"
  1574.                 }
  1575.  
  1576.                 *FLOAT = "BackPitchCorr"
  1577.                 {
  1578.                     *Usage        = "Protected"
  1579.                     *VALUE    = 0
  1580.                     *DISPLAYNAME = "Pitch Correction"
  1581.                 }
  1582.  
  1583.                 *FLOAT = "BackPPCorr"
  1584.                 {
  1585.                     *Usage        = "Protected"
  1586.                     *VALUE    = 0
  1587.                     *DISPLAYNAME = "Parent Pitch Correction"
  1588.                 }
  1589.  
  1590.                 *FLOAT = "BackPYCorr"
  1591.                 {
  1592.                     *Usage        = "Protected"
  1593.                     *VALUE    = 90
  1594.                     *DISPLAYNAME = "Parent Yaw Correction"
  1595.                 }
  1596.  
  1597.             }
  1598.  
  1599.  
  1600.  
  1601.         }
  1602.  
  1603.         *Group = "Tail Tracking"
  1604.         {
  1605.             *BOOL = "UseTailTracking"
  1606.             {
  1607.                 *Usage            = "Protected"
  1608.                 *VALUE            = "False"
  1609.                 *DISPLAYNAME    = "Tail Tracking"
  1610.             }
  1611.  
  1612.             *Group = "Base"
  1613.             {
  1614.                 *int = "BaseBoneIndex"
  1615.                 {
  1616.                     *Usage            = "Protected"
  1617.                     *VALUE            = -1
  1618.                     *DISPLAYNAME    = "BoneIndex"
  1619.                 }
  1620.  
  1621.                 *Combo = "BasePitchAxis"
  1622.                 {
  1623.                     *Usage            = "Protected"
  1624.                     *DisplayName    = "Pitch Axis"
  1625.                     *Value            = 3 
  1626.                     *ComboList        =
  1627.                     {
  1628.                         "X+",
  1629.                         "X-",
  1630.                         "Y+",
  1631.                         "Y-",
  1632.                         "Z+",
  1633.                         "Z-"
  1634.                     }
  1635.                 }
  1636.  
  1637.                 *Combo = "BaseYawAxis"
  1638.                 {
  1639.                     *Usage            = "Protected"
  1640.                     *DisplayName    = "Yaw Axis"
  1641.                     *Value            = 5
  1642.                     *ComboList        =
  1643.                     {
  1644.                         "X+",
  1645.                         "X-",
  1646.                         "Y+",
  1647.                         "Y-",
  1648.                         "Z+",
  1649.                         "Z-"
  1650.                     }
  1651.                 }
  1652.  
  1653.                 *FLOAT = "BaseXFix"
  1654.                 {
  1655.                     *Usage            = "Protected"
  1656.                     *VALUE            = -90
  1657.                     *DISPLAYNAME    = "X Fix"
  1658.                 }
  1659.  
  1660.                 *FLOAT = "BaseYFix"
  1661.                 {
  1662.                     *Usage            = "Protected"
  1663.                     *VALUE            = 0
  1664.                     *DISPLAYNAME    = "Y Fix"
  1665.                 }
  1666.  
  1667.                 *FLOAT = "BaseZFix"
  1668.                 {
  1669.                     *Usage            = "Protected"
  1670.                     *VALUE            = -90
  1671.                     *DISPLAYNAME    = "Z Fix"
  1672.                 }
  1673.  
  1674.                 *FLOAT = "BasePitchMax"
  1675.                 {
  1676.                     *Usage            = "Protected"
  1677.                     *VALUE            = 90
  1678.                     *DISPLAYNAME    = "Pitch Max"
  1679.                 }
  1680.  
  1681.                 *FLOAT = "BasePitchMin"
  1682.                 {
  1683.                     *Usage            = "Protected"
  1684.                     *VALUE            = -90
  1685.                     *DISPLAYNAME    = "Pitch Min"
  1686.                 }
  1687.  
  1688.                 *FLOAT = "BaseYawMax"
  1689.                 {
  1690.                     *Usage            = "Protected"
  1691.                     *VALUE            = 180
  1692.                     *DISPLAYNAME    = "Yaw Max"
  1693.                 }
  1694.  
  1695.                 *FLOAT = "BaseYawMin"
  1696.                 {
  1697.                     *Usage            = "Protected"
  1698.                     *VALUE            = -180
  1699.                     *DISPLAYNAME    = "Yaw Min"
  1700.                 }
  1701.  
  1702.                 *FLOAT = "BasePitchCorr"
  1703.                 {
  1704.                     *Usage            = "Protected"
  1705.                     *VALUE            = -20
  1706.                     *DISPLAYNAME    = "Pitch Correction"
  1707.                 }
  1708.             }
  1709.  
  1710.  
  1711.             *Group = "NearBase"
  1712.             {
  1713.                 *int = "NearBaseBoneIndex"
  1714.                 {
  1715.                     *Usage            = "Protected"
  1716.                     *VALUE            = -1
  1717.                     *DISPLAYNAME    = "BoneIndex"
  1718.                 }
  1719.  
  1720.                 *Combo = "NearBasePitchAxis"
  1721.                 {
  1722.                     *Usage            = "Protected"
  1723.                     *DisplayName    = "Pitch Axis"
  1724.                     *Value            = 3 
  1725.                     *ComboList        =
  1726.                     {
  1727.                         "X+",
  1728.                         "X-",
  1729.                         "Y+",
  1730.                         "Y-",
  1731.                         "Z+",
  1732.                         "Z-"
  1733.                     }
  1734.                 }
  1735.  
  1736.                 *Combo = "NearBaseYawAxis"
  1737.                 {
  1738.                     *Usage            = "Protected"
  1739.                     *DisplayName    = "Yaw Axis"
  1740.                     *Value            = 5
  1741.                     *ComboList        =
  1742.                     {
  1743.                         "X+",
  1744.                         "X-",
  1745.                         "Y+",
  1746.                         "Y-",
  1747.                         "Z+",
  1748.                         "Z-"
  1749.                     }
  1750.                 }
  1751.  
  1752.                 *FLOAT = "NearBaseXFix"
  1753.                 {
  1754.                     *Usage            = "Protected"
  1755.                     *VALUE            = -90
  1756.                     *DISPLAYNAME    = "X Fix"
  1757.                 }
  1758.  
  1759.                 *FLOAT = "NearBaseYFix"
  1760.                 {
  1761.                     *Usage            = "Protected"
  1762.                     *VALUE            = 0
  1763.                     *DISPLAYNAME    = "Y Fix"
  1764.                 }
  1765.  
  1766.                 *FLOAT = "NearBaseZFix"
  1767.                 {
  1768.                     *Usage            = "Protected"
  1769.                     *VALUE            = -90
  1770.                     *DISPLAYNAME    = "Z Fix"
  1771.                 }
  1772.  
  1773.                 *FLOAT = "NearBasePitchMax"
  1774.                 {
  1775.                     *Usage            = "Protected"
  1776.                     *VALUE            = 20
  1777.                     *DISPLAYNAME    = "Pitch Max"
  1778.                 }
  1779.  
  1780.                 *FLOAT = "NearBasePitchMin"
  1781.                 {
  1782.                     *Usage            = "Protected"
  1783.                     *VALUE            = -20
  1784.                     *DISPLAYNAME    = "Pitch Min"
  1785.                 }
  1786.  
  1787.                 *FLOAT = "NearBaseYawMax"
  1788.                 {
  1789.                     *Usage            = "Protected"
  1790.                     *VALUE            = 30
  1791.                     *DISPLAYNAME    = "Yaw Max"
  1792.                 }
  1793.  
  1794.                 *FLOAT = "NearBaseYawMin"
  1795.                 {
  1796.                     *Usage            = "Protected"
  1797.                     *VALUE            = -30
  1798.                     *DISPLAYNAME    = "Yaw Min"
  1799.                 }
  1800.  
  1801.                 *FLOAT = "NearBasePitchCorr"
  1802.                 {
  1803.                     *Usage            = "Protected"
  1804.                     *VALUE            = 0
  1805.                     *DISPLAYNAME    = "Pitch Correction"
  1806.                 }
  1807.             }
  1808.  
  1809.             *Group = "NearTip"
  1810.             {
  1811.                 *int = "NearTipBoneIndex"
  1812.                 {
  1813.                     *Usage            = "Protected"
  1814.                     *VALUE            = -1
  1815.                     *DISPLAYNAME    = "BoneIndex"
  1816.                 }
  1817.  
  1818.                 *Combo = "NearTipPitchAxis"
  1819.                 {
  1820.                     *Usage            = "Protected"
  1821.                     *DisplayName    = "Pitch Axis"
  1822.                     *Value            = 3 
  1823.                     *ComboList        =
  1824.                     {
  1825.                         "X+",
  1826.                         "X-",
  1827.                         "Y+",
  1828.                         "Y-",
  1829.                         "Z+",
  1830.                         "Z-"
  1831.                     }
  1832.                 }
  1833.  
  1834.                 *Combo = "NearTipYawAxis"
  1835.                 {
  1836.                     *Usage            = "Protected"
  1837.                     *DisplayName    = "Yaw Axis"
  1838.                     *Value            = 5
  1839.                     *ComboList        =
  1840.                     {
  1841.                         "X+",
  1842.                         "X-",
  1843.                         "Y+",
  1844.                         "Y-",
  1845.                         "Z+",
  1846.                         "Z-"
  1847.                     }
  1848.                 }
  1849.  
  1850.                 *FLOAT = "NearTipXFix"
  1851.                 {
  1852.                     *Usage            = "Protected"
  1853.                     *VALUE            = -90
  1854.                     *DISPLAYNAME    = "X Fix"
  1855.                 }
  1856.  
  1857.                 *FLOAT = "NearTipYFix"
  1858.                 {
  1859.                     *Usage            = "Protected"
  1860.                     *VALUE            = 0
  1861.                     *DISPLAYNAME    = "Y Fix"
  1862.                 }
  1863.  
  1864.                 *FLOAT = "NearTipZFix"
  1865.                 {
  1866.                     *Usage            = "Protected"
  1867.                     *VALUE            = -90
  1868.                     *DISPLAYNAME    = "Z Fix"
  1869.                 }
  1870.  
  1871.                 *FLOAT = "NearTipPitchMax"
  1872.                 {
  1873.                     *Usage            = "Protected"
  1874.                     *VALUE            = 30
  1875.                     *DISPLAYNAME    = "Pitch Max"
  1876.                 }
  1877.  
  1878.                 *FLOAT = "NearTipPitchMin"
  1879.                 {
  1880.                     *Usage            = "Protected"
  1881.                     *VALUE            = -30
  1882.                     *DISPLAYNAME    = "Pitch Min"
  1883.                 }
  1884.  
  1885.                 *FLOAT = "NearTipYawMax"
  1886.                 {
  1887.                     *Usage            = "Protected"
  1888.                     *VALUE            = 30
  1889.                     *DISPLAYNAME    = "Yaw Max"
  1890.                 }
  1891.  
  1892.                 *FLOAT = "NearTipYawMin"
  1893.                 {
  1894.                     *Usage            = "Protected"
  1895.                     *VALUE            = -30
  1896.                     *DISPLAYNAME    = "Yaw Min"
  1897.                 }
  1898.  
  1899.                 *FLOAT = "NearTipPitchCorr"
  1900.                 {
  1901.                     *Usage            = "Protected"
  1902.                     *VALUE            = 0
  1903.                     *DISPLAYNAME    = "Pitch Correction"
  1904.                 }
  1905.             }
  1906.  
  1907.             *Group = "Tip"
  1908.             {
  1909.                 *int = "TipBoneIndex"
  1910.                 {
  1911.                     *Usage            = "Protected"
  1912.                     *VALUE            = -1
  1913.                     *DISPLAYNAME    = "BoneIndex"
  1914.                 }
  1915.  
  1916.                 *Combo = "TipPitchAxis"
  1917.                 {
  1918.                     *Usage            = "Protected"
  1919.                     *DisplayName    = "Pitch Axis"
  1920.                     *Value            = 3 
  1921.                     *ComboList        =
  1922.                     {
  1923.                         "X+",
  1924.                         "X-",
  1925.                         "Y+",
  1926.                         "Y-",
  1927.                         "Z+",
  1928.                         "Z-"
  1929.                     }
  1930.                 }
  1931.  
  1932.                 *Combo = "TipYawAxis"
  1933.                 {
  1934.                     *Usage            = "Protected"
  1935.                     *DisplayName    = "Yaw Axis"
  1936.                     *Value            = 5
  1937.                     *ComboList        =
  1938.                     {
  1939.                         "X+",
  1940.                         "X-",
  1941.                         "Y+",
  1942.                         "Y-",
  1943.                         "Z+",
  1944.                         "Z-"
  1945.                     }
  1946.                 }
  1947.  
  1948.                 *FLOAT = "TipXFix"
  1949.                 {
  1950.                     *Usage            = "Protected"
  1951.                     *VALUE            = -90
  1952.                     *DISPLAYNAME    = "X Fix"
  1953.                 }
  1954.  
  1955.                 *FLOAT = "TipYFix"
  1956.                 {
  1957.                     *Usage            = "Protected"
  1958.                     *VALUE            = 0
  1959.                     *DISPLAYNAME    = "Y Fix"
  1960.                 }
  1961.  
  1962.                 *FLOAT = "TipZFix"
  1963.                 {
  1964.                     *Usage            = "Protected"
  1965.                     *VALUE            = -90
  1966.                     *DISPLAYNAME    = "Z Fix"
  1967.                 }
  1968.  
  1969.                 *FLOAT = "TipPitchMax"
  1970.                 {
  1971.                     *Usage            = "Protected"
  1972.                     *VALUE            = 30
  1973.                     *DISPLAYNAME    = "Pitch Max"
  1974.                 }
  1975.  
  1976.                 *FLOAT = "TipPitchMin"
  1977.                 {
  1978.                     *Usage            = "Protected"
  1979.                     *VALUE            = -30
  1980.                     *DISPLAYNAME    = "Pitch Min"
  1981.                 }
  1982.  
  1983.                 *FLOAT = "TipYawMax"
  1984.                 {
  1985.                     *Usage            = "Protected"
  1986.                     *VALUE            = 30
  1987.                     *DISPLAYNAME    = "Yaw Max"
  1988.                 }
  1989.  
  1990.                 *FLOAT = "TipYawMin"
  1991.                 {
  1992.                     *Usage            = "Protected"
  1993.                     *VALUE            = -30
  1994.                     *DISPLAYNAME    = "Yaw Min"
  1995.                 }
  1996.  
  1997.                 *FLOAT = "TipPitchCorr"
  1998.                 {
  1999.                     *Usage            = "Protected"
  2000.                     *VALUE            = 0
  2001.                     *DISPLAYNAME    = "Pitch Correction"
  2002.                 }
  2003.             }
  2004.         }
  2005.  
  2006.  
  2007.         *String = "InitialState"
  2008.         {
  2009.             *DisplayName    =    "Initial State"
  2010.             *Value            =    ""
  2011.             *Comment        =    "The initial state"
  2012.         }
  2013.  
  2014.         *String = "InitialMode"
  2015.         {
  2016.             *DisplayName    =    "Initial Mode"
  2017.             *Value            =    ""
  2018.             *Comment        =    "The initial Mode"
  2019.         }
  2020.  
  2021.         *Combo = "InitialAlert"
  2022.         {
  2023.             *DisplayName    =    "Initial Alert Level"
  2024.             *Value            =    0 
  2025.             *ComboList        =
  2026.             {
  2027.                 "None",
  2028.                 "Low",
  2029.                 "Medium",
  2030.                 "High"
  2031.             }
  2032.         }
  2033.  
  2034.         *FLOAT = "DefTransBlend"
  2035.         {
  2036.             *VALUE            =    0.266667
  2037.             *DISPLAYNAME    =    "Default Blend"
  2038.             *Comment        =    "Default transition blend time"
  2039.         }
  2040.  
  2041.         *Group = "Wander/Search"
  2042.         {
  2043.             *FLOAT = "WTime"
  2044.             {
  2045.                 *VALUE            =    -1.0
  2046.                 *DISPLAYNAME    =    "Wander Time"
  2047.                 *Comment        =    "The time to stay in wander before switching to patrol"
  2048.                 *Comment        =    "Use -1 for never switching"
  2049.             }
  2050.  
  2051.             *FLOAT = "WPTime"
  2052.             {
  2053.                 *VALUE            =    -1.0
  2054.                 *DISPLAYNAME    =    "Wander Pause Time"
  2055.                 *Comment        =    "The time to pause at wander destination before moving to the next one"
  2056.                 *Comment        =    "Use -1 for never switching"
  2057.             }
  2058.  
  2059.         }
  2060.  
  2061.         *Group = "Death"
  2062.         {
  2063.  
  2064.             *BOOL = "ResetWhenDie"
  2065.             {
  2066.                 *VALUE    = "False"
  2067.                 *DISPLAYNAME = "Reset When Die"
  2068.                 *Comment = "True if resets after dying."
  2069.             }
  2070.  
  2071.             *FLOAT = "RDelay"
  2072.             {
  2073.                 *VALUE            =    -1.0
  2074.                 *DISPLAYNAME    =    "Reset Delay"
  2075.                 *Comment        =    "The time to delay before resetting"
  2076.                 *Comment        =    "Use -1 for no delay"
  2077.             }
  2078.  
  2079.             *BOOL = "GibDeath"
  2080.             {
  2081.                 *VALUE    = "False"
  2082.                 *DISPLAYNAME = "Gib When Die"
  2083.                 *Comment = "True if gibs on death."
  2084.             }
  2085.  
  2086.             *FilePick = "GibPart"
  2087.             {
  2088.                 *DisplayName    =    "Gib Particle"
  2089.                 *Value            =    ""
  2090.                 *Directory      =   "$\Data\Particle\"
  2091.                 *Extension      =   "par"
  2092.                 *Extension      =   "eff"
  2093.             }
  2094.         }
  2095.  
  2096.         *Group = "Sound"
  2097.         {
  2098.             *Sound = "LDSound"
  2099.             {
  2100.                 *DisplayName    =   "Light Damage Sound"
  2101.             }
  2102.             *Sound = "MDSound"
  2103.             {
  2104.                 *DisplayName    =   "Medium Damage Sound"
  2105.             }
  2106.             *Sound = "HDSound"
  2107.             {
  2108.                 *DisplayName    =   "Heavy Damage Sound"
  2109.             }
  2110.             
  2111.         }
  2112.  
  2113.  
  2114.  
  2115.         *BOOL = "UseGroundTracking"
  2116.         {
  2117.             *Usage            = "Protected"
  2118.             *VALUE            = "False"
  2119.             *DISPLAYNAME    = "Ground Tracking"
  2120.             *COMMENT        = "AI aligns itself to the slope of the ground."
  2121.         }
  2122.  
  2123.         *BOOL = "CanBeSwarmBored"
  2124.         {
  2125.             *Usage            = "Protected"
  2126.             *VALUE    = "True"
  2127.             *DISPLAYNAME = "Can Be Swarm Bored?"
  2128.         }
  2129.  
  2130.         *Group = "Spawn Actors"
  2131.         {
  2132.             *Comment = "Actors to spawn when this enemy dies"
  2133.  
  2134.             *FilePick = "SpawnActor1"
  2135.             {
  2136.                 *DISPLAYNAME = "SpawnActor1"
  2137.                 *Value         = ""
  2138.                 *Directory   = "$\Data\Actors"
  2139.                 *Extension   = "atr"
  2140.             }
  2141.  
  2142.             *FilePick = "SpawnActor2"
  2143.             {
  2144.                 *DISPLAYNAME = "SpawnActor2"
  2145.                 *Value         = ""
  2146.                 *Directory   = "$\Data\Actors"
  2147.                 *Extension   = "atr"
  2148.             }
  2149.  
  2150.             *FilePick = "SpawnActor3"
  2151.             {
  2152.                 *DISPLAYNAME = "SpawnActor3"
  2153.                 *Value         = ""
  2154.                 *Directory   = "$\Data\Actors"
  2155.                 *Extension   = "atr"
  2156.             }
  2157.  
  2158.             *FilePick = "SpawnActor4"
  2159.             {
  2160.                 *DISPLAYNAME = "SpawnActor4"
  2161.                 *Value         = ""
  2162.                 *Directory   = "$\Data\Actors"
  2163.                 *Extension   = "atr"
  2164.             }
  2165.  
  2166.             *FilePick = "SpawnActor5"
  2167.             {
  2168.                 *DISPLAYNAME = "SpawnActor5"
  2169.                 *Value         = ""
  2170.                 *Directory   = "$\Data\Actors"
  2171.                 *Extension   = "atr"
  2172.             }
  2173.  
  2174.             *FLOAT      = "SpawnActor1Velocity"
  2175.             {
  2176.                 *VALUE    = 3.0f
  2177.                 *DISPLAYNAME = "Actor 1 Velocity"
  2178.                 *Comment = "Speed that the first spawned actor moves away from the enemy"
  2179.             }
  2180.  
  2181.             *FLOAT      = "SpawnActor2Velocity"
  2182.             {
  2183.                 *VALUE    = 3.0f
  2184.                 *DISPLAYNAME = "Actor 2 Velocity"
  2185.                 *Comment = "Speed that the second spawned actor moves away from the enemy"
  2186.             }
  2187.  
  2188.             *FLOAT      = "SpawnActor3Velocity"
  2189.             {
  2190.                 *VALUE    = 3.0f
  2191.                 *DISPLAYNAME = "Actor 3 Velocity"
  2192.                 *Comment = "Speed that the third spawned actor moves away from the enemy"
  2193.             }
  2194.  
  2195.             *FLOAT      = "SpawnActor4Velocity"
  2196.             {
  2197.                 *VALUE    = 3.0f
  2198.                 *DISPLAYNAME = "Actor 4 Velocity"
  2199.                 *Comment = "Speed that the fourth spawned actor moves away from the enemy"
  2200.             }
  2201.  
  2202.             *FLOAT      = "SpawnActor5Velocity"
  2203.             {
  2204.                 *VALUE    = 3.0f
  2205.                 *DISPLAYNAME = "Actor 5 Velocity"
  2206.                 *Comment = "Speed that the fifth spawned actor moves away from the enemy"
  2207.             }
  2208.  
  2209.  
  2210.             *INT      = "SpawnActor1Chance"
  2211.             {
  2212.                 *VALUE    = 100
  2213.                 *MAX    = 100
  2214.                 *MIN    = 0
  2215.                 *DISPLAYNAME = "Actor 1 Chance"
  2216.                 *Comment = "The chance of the first spawned actor actually appearing"
  2217.             }
  2218.  
  2219.             *INT      = "SpawnActor2Chance"
  2220.             {
  2221.                 *VALUE    = 100
  2222.                 *MAX    = 100
  2223.                 *MIN    = 0
  2224.                 *DISPLAYNAME = "Actor 2 Chance"
  2225.                 *Comment = "The chance of the second spawned actor actually appearing"
  2226.             }
  2227.  
  2228.             *INT      = "SpawnActor3Chance"
  2229.             {
  2230.                 *VALUE    = 100
  2231.                 *MAX    = 100
  2232.                 *MIN    = 0
  2233.                 *DISPLAYNAME = "Actor 3 Chance"
  2234.                 *Comment = "The chance of the third spawned actor actually appearing"
  2235.             }
  2236.  
  2237.             *INT      = "SpawnActor4Chance"
  2238.             {
  2239.                 *VALUE    = 100
  2240.                 *MAX    = 100
  2241.                 *MIN    = 0
  2242.                 *DISPLAYNAME = "Actor 4 Chance"
  2243.                 *Comment = "The chance of the fourth spawned actor actually appearing"
  2244.             }
  2245.  
  2246.             *INT      = "SpawnActor5Chance"
  2247.             {
  2248.                 *VALUE    = 100
  2249.                 *MAX    = 100
  2250.                 *MIN    = 0
  2251.                 *DISPLAYNAME = "Actor 5 Chance"
  2252.                 *Comment = "The chance of the fifth spawned actor actually appearing"
  2253.             }
  2254.         }
  2255.     }
  2256.  
  2257.     *Protected    =    "Mass"
  2258.     *Protected    =    "Gravity"
  2259.     *Protected    =    "Density"
  2260.     *Protected    =    "Drag"
  2261.     *Protected    =    "Type"
  2262.     *Protected    =    "Collides"
  2263.     *Protected    =    "Touches"
  2264.     *Protected    =    "Regions"
  2265.     *Protected    =    "Platforms"
  2266.     *Protected    =    "smStep"
  2267.     *Protected    =    "smWall"
  2268. }
  2269.  
  2270.  
  2271. *OBJECT = "TestEnemyAI"
  2272. {
  2273.     *NAME    = "TestEnemyAI"
  2274.     *TYPE    = "OBJECT"
  2275.     *INHERITS = "EnemyAIObject"
  2276.     *UseInActorEd = "True"
  2277.  
  2278.     *AIMODES = 
  2279.     {
  2280.         Idle,
  2281.         AlertIdle,
  2282.         CrouchIdle,
  2283.         ProneIdle,
  2284.         Walk,
  2285.         AlertWalk,
  2286.         CrouchWalk,
  2287.         ProneCrawl,
  2288.         Run,
  2289.         AlertRun,
  2290.         Jump,
  2291.         Climb,
  2292.         HangClimb,
  2293.         Damaged,
  2294.         Death,
  2295.         CornerCover,
  2296.         PopoutLeft,
  2297.         PopoutRight,
  2298.         Attack,
  2299.         CrouchAttack,
  2300.         ProneAttack,
  2301.         UnderwaterIdle,
  2302.         UnderwaterSwim,
  2303.         WatersurfaceIdle,
  2304.         WatersurfaceSwim
  2305.     }
  2306.  
  2307. }
  2308.  
  2309.  
  2310. ;------------------------------------------------------------------------------
  2311. ; Player
  2312. ;
  2313. ; PlayerAI
  2314. ;------------------------------------------------------------------------------
  2315. *OBJECT = "Player"
  2316. {
  2317.     *NAME    = "Player"
  2318.     *INHERITS = "TurokAIObject"
  2319.     *TYPE    = "OBJECT"
  2320.     *UseInActorEd = "True"
  2321.  
  2322.     *AIMODES = 
  2323.     {
  2324.         "Idle"                    ,
  2325.         "IdleNoControl"            ,
  2326.         "Run"                    ,
  2327.         "Jump"                     ,
  2328.         "JumpBack"                ,
  2329.         "Fall"                     ,
  2330.         "CheatFly"                 ,
  2331.         "Shoved"                 ,
  2332.                                     
  2333.         "LedgeHang"             ,
  2334.         "LedgeShimmy"            ,
  2335.                                     
  2336.         "Ride"                     ,
  2337.         "RideSteracosaurIdle"    ,
  2338.         "RideSteracosaurMove"    ,
  2339.         "RideSteracosaurDash"    ,
  2340.                                 
  2341.         "Climb"                 ,
  2342.         "HangClimb"                ,
  2343.                                      
  2344.         "WaterSurfaceIdle"        ,
  2345.         "WaterSurfaceMove"        ,
  2346.         "UnderwaterIdle"        ,
  2347.         "UnderwaterMove"        ,
  2348.         "SwimBurst"                ,
  2349.         "LeapToShore"            ,
  2350.                                      
  2351.         "UsingTurret"            ,
  2352.         "UsingRC"                ,
  2353.                                      
  2354.         "PteranadonSetup"    ,
  2355.         "PteranadonIdle"    ,
  2356.         "PteranadonFlyUp"    ,
  2357.         "PteranadonFlyUpMed"     ,
  2358.         "PteranadonFlyUpFull"    ,
  2359.         "PteranadonFlyDown"      ,
  2360.         "PteranadonFlyDownMed"    ,
  2361.         "PteranadonFlyDownFull"    ,
  2362.         "PteranadonFlyLeft"    ,
  2363.         "PteranadonFlyRight"    ,
  2364.         "PteranadonEdgeLeft"    ,
  2365.         "PteranadonEdgeRight"    ,
  2366.         "PteranadonFireGun"    ,
  2367.         "PteranadonFireMissile"    ,
  2368.         "PteranadonWorldCollsion",
  2369.         "PteranadonActorCollsion",
  2370.  
  2371.         "Dead",
  2372.  
  2373.         "RaptorRideIdle",
  2374.         "RaptorRideIdleNoControl",
  2375.         "RaptorRideRun",
  2376.         "RaptorRideJump",
  2377.         "RaptorRideFall"
  2378.     }
  2379.  
  2380.     *VARIABLES = 
  2381.     {
  2382.         *Combo = "PLAYERTYPE"
  2383.         {
  2384.             *DisplayName    =    "Player Type"
  2385.             *Value            =    0 
  2386.             *ComboList        =
  2387.             {
  2388.                 "Normal player",
  2389.                 "Raptor ride",
  2390.                 "Steracosaur ride",
  2391.                 "Pteranadon ride"
  2392.             }
  2393.         }
  2394.         *Group = "Inventory Capacity"
  2395.         {
  2396.             *Int = "MaxBowAmmo"
  2397.             {
  2398.                 *DisplayName = "Max Bow Ammo"
  2399.                 *Value = 20;
  2400.                 *Comment = "Maximum number of arrows player can take"
  2401.             }
  2402.             *Int = "MaxTekBowAmmo"
  2403.             {
  2404.                 *DisplayName = "Max TekBow Ammo"
  2405.                 *Value = 20;
  2406.                 *Comment = "Maximum number of tek arrows player can take"
  2407.             }
  2408.             *Int = "MaxPistolAmmo"
  2409.             {
  2410.                 *DisplayName = "Max Pistol Ammo"
  2411.                 *Value = 5;
  2412.                 *Comment = "Maximum number of CLIPS of pistol slugs the player can take"
  2413.             }                    
  2414.             *Int = "MaxShotgunAmmo"
  2415.             {
  2416.                 *DisplayName = "Max Shotgun Ammo"
  2417.                 *Value = 3;
  2418.                 *Comment = "Maximum number of shotgun CLIPS the player can take"
  2419.             }
  2420.             *Int = "MaxMinigunAmmo"
  2421.             {
  2422.                 *DisplayName = "Max Minigun Ammo"
  2423.                 *Value = 5;
  2424.                 *Comment = "Maximum number of minigun CLIPS the player can take"
  2425.             }                    
  2426.             *Int = "MaxLauncherAmmo"
  2427.             {
  2428.                 *DisplayName = "Max Rockets Ammo"
  2429.                 *Value = 4;
  2430.                 *Comment = "Maximum number of rocket CLIPS the player can take"
  2431.             }    
  2432.             *Int = "MaxGrenadeAmmo"
  2433.             {
  2434.                 *DisplayName = "Max Grenades"
  2435.                 *Value = 10;
  2436.                 *Comment = "Maximum number of grenades the player can take"
  2437.             }                    
  2438.             *Int = "MaxGuidedDeviceAmmo"
  2439.             {
  2440.                 *DisplayName = "Max Guided Device Ammo (DON'T CHANGE)"
  2441.                 *Value = 1;
  2442.                 *Comment = "Leave this as 1, please"
  2443.             }                    
  2444.             *Int = "MaxTechWeaponAmmo"
  2445.             {
  2446.                 *DisplayName = "Max Tech Weapon Ammo"
  2447.                 *Value = 4;
  2448.                 *Comment = "Maximum number of Tech Weapon CLIPS the player can take"
  2449.             }        
  2450.             *Int = "MaxDarkMatterCubeAmmo"
  2451.             {
  2452.                 *DisplayName = "Max Dark Matter cube Ammo (DON'T CHANGE)"
  2453.                 *Value = 1;
  2454.                 *Comment = "Leave this as 1, please"
  2455.             }                    
  2456.         }
  2457.         *Group = "Standard Movement"
  2458.         {
  2459.             *FLOAT = "EYEHEIGHT"
  2460.             {
  2461.                 *VALUE    = 1.5
  2462.                 *MIN    = 0.1
  2463.                 *MAX    = 50
  2464.                 *DISPLAYNAME = "Eye Height"
  2465.             }
  2466.     
  2467.             *FLOAT = "MAXRUNSPEED"
  2468.             {
  2469.                 *VALUE    = 8
  2470.                 *MIN    = 1
  2471.                 *MAX    = 50
  2472.                 *DISPLAYNAME = "Run Speed"
  2473.             }
  2474.     
  2475.             *FLOAT = "MAXSTRAFESPEED"
  2476.             {
  2477.                 *VALUE    = 8
  2478.                 *MIN    = 1
  2479.                 *MAX    = 50
  2480.                 *DISPLAYNAME = "Strafe Speed"
  2481.             }
  2482.     
  2483.             *FLOAT = "JUMPVELOCITY"
  2484.             {
  2485.                 *VALUE    = 12
  2486.                 *MIN    = 0.1
  2487.                 *MAX    = 50
  2488.                 *DISPLAYNAME = "Jump Velocity"
  2489.             }
  2490.  
  2491.             *FLOAT = "TURNSPEED"
  2492.             {
  2493.                 *VALUE    = 240
  2494.                 *MIN    = 1
  2495.                 *MAX    = 720
  2496.                 *DISPLAYNAME = "Turn Speed"
  2497.             }
  2498.  
  2499.             *FLOAT = "LEDGESHIMMYSPEED"
  2500.             {
  2501.                 *VALUE    = 0.25
  2502.                 *MIN    = 0.01
  2503.                 *MAX    = 10
  2504.                 *DISPLAYNAME = "Ledge Shimmy Speed"
  2505.             }
  2506.         }
  2507.  
  2508.         *Group = "Crouch Movement"
  2509.         {
  2510.             *FLOAT = "CROUCHEYEHEIGHT"
  2511.             {
  2512.                 *VALUE    = 1.2
  2513.                 *MIN    = 0.1
  2514.                 *MAX    = 50
  2515.                 *DISPLAYNAME = "Crouch Eye Height"
  2516.             }
  2517.     
  2518.             *FLOAT = "MAXCROUCHRUNSPEED"
  2519.             {
  2520.                 *VALUE    = 3
  2521.                 *MIN    = 1
  2522.                 *MAX    = 20
  2523.                 *DISPLAYNAME = "Crouch Run Speed"
  2524.             }
  2525.     
  2526.             *FLOAT = "MAXCROUCHSTRAFESPEED"
  2527.             {
  2528.                 *VALUE    = 3
  2529.                 *MIN    = 1
  2530.                 *MAX    = 20
  2531.                 *DISPLAYNAME = "Crouch Strafe Speed"
  2532.             }
  2533.         }
  2534.  
  2535.         *Group = "Fall damage"
  2536.         {
  2537.             *FLOAT = "FALLDAMAGEMINSPEED"
  2538.             {
  2539.                 *VALUE    = 30
  2540.                 *MIN    = 1
  2541.                 *MAX    = 200
  2542.                 *DISPLAYNAME = "Min speed for damage"
  2543.             }
  2544.  
  2545.             *FLOAT = "FALLDAMAGEMAXSPEED"
  2546.             {
  2547.                 *VALUE    = 80
  2548.                 *MIN    = 1
  2549.                 *MAX    = 200
  2550.                 *DISPLAYNAME = "Max (100 dmg) speed"
  2551.             }
  2552.         }
  2553.     
  2554.         *Group = "Water interaction"
  2555.         {
  2556.             *FLOAT = "SWIMSPEED"
  2557.             {
  2558.                 *VALUE    = 5
  2559.                 *MIN    = 1
  2560.                 *MAX    = 50
  2561.                 *DISPLAYNAME = "Swim Speed"
  2562.             }
  2563.  
  2564.             *FLOAT = "DROWNINITIALTIME"
  2565.             {
  2566.                 *VALUE    = 10.0
  2567.                 *MIN    = 1.0
  2568.                 *MAX    = 100.0
  2569.                 *DISPLAYNAME = "Time to start drowning"
  2570.             }
  2571.  
  2572.             *FLOAT = "DROWNINTERVAL"
  2573.             {
  2574.                 *VALUE    = 2.0
  2575.                 *MIN    = 0.1
  2576.                 *MAX    = 100.0
  2577.                 *DISPLAYNAME = "Drown damage time interval"
  2578.             }
  2579.  
  2580.             *FLOAT = "DROWNDAMAGE"
  2581.             {
  2582.                 *VALUE    = 5
  2583.                 *MIN    = 1
  2584.                 *MAX    = 500
  2585.                 *DISPLAYNAME = "Drown damage"
  2586.             }
  2587.         }
  2588.  
  2589.         *Group = "Climbing"
  2590.         {
  2591.             *FLOAT = "CLIMB_SPEED"
  2592.             {
  2593.                 *VALUE    = 8
  2594.                 *MIN    = 1
  2595.                 *MAX    = 20
  2596.                 *DISPLAYNAME = "Climb Speed"
  2597.             }
  2598.  
  2599.             *FLOAT = "CLIMB_ACCEL"
  2600.             {
  2601.                 *VALUE    = 0.8
  2602.                 *MIN    = 0.1
  2603.                 *MAX    = 5
  2604.                 *DISPLAYNAME = "Acceleration"
  2605.             }
  2606.  
  2607.             *FLOAT = "CLIMB_DECEL"
  2608.             {
  2609.                 *VALUE    = 0.2
  2610.                 *MIN    = 0.1
  2611.                 *MAX    = 5
  2612.                 *DISPLAYNAME = "Deceleration"
  2613.             }
  2614.  
  2615.             *FLOAT = "CLIMB_HORIZVIEWANGLE"
  2616.             {
  2617.                 *VALUE    = 120
  2618.                 *MIN    = 0
  2619.                 *MAX    = 180
  2620.                 *DISPLAYNAME = "Horizontal View Angle"
  2621.             }
  2622.         }
  2623.  
  2624.         *Group = "Raptor-riding"
  2625.         {
  2626.             *FLOAT = "RAPTOR_EYEHEIGHT"
  2627.             {
  2628.                 *VALUE    = 2.0
  2629.                 *MIN    = 1
  2630.                 *MAX    = 10
  2631.                 *DISPLAYNAME = "Eye Height"
  2632.             }
  2633.  
  2634.             *FLOAT = "RAPTOR_MAXRUNSPEED"
  2635.             {
  2636.                 *VALUE    = 14
  2637.                 *MIN    = 1
  2638.                 *MAX    = 50
  2639.                 *DISPLAYNAME = "Run Speed"
  2640.             }
  2641.     
  2642.             *FLOAT = "RAPTOR_MAXSTRAFESPEED"
  2643.             {
  2644.                 *VALUE    = 11
  2645.                 *MIN    = 1
  2646.                 *MAX    = 50
  2647.                 *DISPLAYNAME = "Strafe Speed"
  2648.             }
  2649.     
  2650.             *FLOAT = "RAPTOR_JUMPVELOCITY"
  2651.             {
  2652.                 *VALUE    = 15
  2653.                 *MIN    = 0.1
  2654.                 *MAX    = 50
  2655.                 *DISPLAYNAME = "Jump Velocity"
  2656.             }
  2657.  
  2658.             *FLOAT = "RAPTOR_EYEZOFFSET"
  2659.             {
  2660.                 *VALUE    = 0.0
  2661.                 *MIN    = -10
  2662.                 *MAX    = 10
  2663.                 *DISPLAYNAME = "Eye Offset (Z axis)"
  2664.             }
  2665.  
  2666.             *FLOAT = "RAPTOR_TURNLAG"
  2667.             {
  2668.                 *VALUE    = 0.035
  2669.                 *MIN    = 0
  2670.                 *MAX    = 10
  2671.                 *DISPLAYNAME = "Raptor Turn Lag"
  2672.             }
  2673.         }
  2674.  
  2675.         *Group = "Steracosaur riding"
  2676.         {
  2677.             *FLOAT = "STERACOSAUR_CAMERAHEIGHT"
  2678.             {
  2679.                 *VALUE    = 5.0
  2680.                 *MIN    = 0
  2681.                 *MAX    = 100
  2682.                 *DISPLAYNAME = "Camera Height"
  2683.             }
  2684.  
  2685.             *FLOAT = "STERACOSAUR_CAMERADISTANCE"
  2686.             {
  2687.                 *VALUE    = 10.0
  2688.                 *MIN    = 0
  2689.                 *MAX    = 100
  2690.                 *DISPLAYNAME = "Camera - Distance behind Steracosaur"
  2691.             }
  2692.  
  2693.             *FLOAT = "STERACOSAUR_MAXRUNSPEED"
  2694.             {
  2695.                 *VALUE    = 14
  2696.                 *MIN    = 1
  2697.                 *MAX    = 50
  2698.                 *DISPLAYNAME = "Run Speed"
  2699.             }
  2700.     
  2701.             *FLOAT = "STERACOSAUR_MAXSTRAFESPEED"
  2702.             {
  2703.                 *VALUE    = 11
  2704.                 *MIN    = 1
  2705.                 *MAX    = 50
  2706.                 *DISPLAYNAME = "Strafe Speed"
  2707.             }
  2708.  
  2709.             *FLOAT = "STERACOSAUR_TURNSPEED"
  2710.             {
  2711.                 *VALUE    = 60
  2712.                 *MIN    = 1
  2713.                 *MAX    = 720
  2714.                 *DISPLAYNAME = "Turn Speed"
  2715.             }
  2716.  
  2717.             *FLOAT = "STERACOSAUR_DASHSPEED"
  2718.             {
  2719.                 *VALUE    = 18
  2720.                 *MIN    = 1
  2721.                 *MAX    = 50
  2722.                 *DISPLAYNAME = "Dash Speed"
  2723.             }
  2724.  
  2725.             *FLOAT = "STERACOSAUR_DASHTIME"
  2726.             {
  2727.                 *VALUE    = 3
  2728.                 *MIN    = 1
  2729.                 *MAX    = 120
  2730.                 *DISPLAYNAME = "Dash Time"
  2731.             }
  2732.  
  2733.             *FLOAT = "STERACOSAUR_DASHRECHARGETIME"
  2734.             {
  2735.                 *VALUE    = 5
  2736.                 *MIN    = 1
  2737.                 *MAX    = 120
  2738.                 *DISPLAYNAME = "Dash Recharge Time"
  2739.             }
  2740.         }
  2741.         
  2742.         *Group = "Pteranadon-riding"
  2743.         {
  2744.  
  2745.             *FLOAT = "PT_WODAM"
  2746.             {
  2747.                     *VALUE    = 25.0
  2748.                     *MIN    = 0.0
  2749.                     *DISPLAYNAME = "World collision damage"
  2750.                     *Comment = "How much damage will the player receive if there's a collision with the world."
  2751.             }
  2752.  
  2753.             *FLOAT = "PT_ACDAM"
  2754.             {
  2755.                     *VALUE    = 10.0
  2756.                     *MIN    = 0.0
  2757.                     *DISPLAYNAME = "Actor collision damage "
  2758.                     *Comment = "How much damage will the player receive if there's a collision with the actor."
  2759.             }
  2760.  
  2761.             *FLOAT = "PT_WOSTN"
  2762.             {
  2763.                     *VALUE    = 30.0
  2764.                     *MIN    = 0.0
  2765.                     *DISPLAYNAME = "World collision stun"
  2766.                     *Comment = "How much stun delay the player receives if there's a collision with the world."
  2767.             }
  2768.  
  2769.             *FLOAT = "PT_ACSTN"
  2770.             {
  2771.                     *VALUE    = 20.0
  2772.                     *MIN    = 0.0
  2773.                     *DISPLAYNAME = "Actor collision stun"
  2774.                     *Comment = "How much stun delay the player receives if there's a collision with another actor."
  2775.             }
  2776.  
  2777.             *FLOAT = "PT_FRSDACC"
  2778.                 {
  2779.                     *VALUE    = 2.0
  2780.                     *MIN    = 0.5
  2781.                     *MAX    = 10
  2782.                     *DISPLAYNAME = "Fly forward acceleration"
  2783.             }
  2784.  
  2785.             *FLOAT = "PT_FRSDMAX"
  2786.                 {
  2787.                     *VALUE    = 8.0
  2788.                     *MIN    = 0
  2789.                     *MAX    = 20
  2790.                     *DISPLAYNAME = "Fly forward max speed"
  2791.             }
  2792.  
  2793.             *FLOAT = "PT_FRSDMIN"
  2794.                 {
  2795.                     *VALUE    = 2.0
  2796.                     *MIN    = 0
  2797.                     *MAX    = 20
  2798.                     *DISPLAYNAME = "Fly forward min speed"
  2799.             }
  2800.  
  2801.             *FLOAT = "PT_FRSDSTART"
  2802.                 {
  2803.                     *VALUE    = 4.5
  2804.                     *MIN    = 0
  2805.                     *MAX    = 20
  2806.                     *DISPLAYNAME = "Fly forward start speed"
  2807.             }
  2808.  
  2809.  
  2810.             *FLOAT = "PT_FRHACC"
  2811.                 {
  2812.                     *VALUE    = 3.0
  2813.                     *MIN    = 0.0
  2814.                     *MAX    = 10
  2815.                     *DISPLAYNAME = "Move horizontal accel"
  2816.             }
  2817.  
  2818.             *FLOAT = "PT_FRDACC"
  2819.                 {
  2820.                     *VALUE    = 3.0
  2821.                     *MIN    = 0.0
  2822.                     *MAX    = 10
  2823.                     *DISPLAYNAME = "Move down accel"
  2824.             }
  2825.  
  2826.             *FLOAT = "PT_FRUACC"
  2827.                 {
  2828.                     *VALUE    = 3.0
  2829.                     *MIN    = 0.0
  2830.                     *MAX    = 10
  2831.                     *DISPLAYNAME = "Move up accel"
  2832.             }
  2833.  
  2834.             *FLOAT = "PT_FRHDMP"
  2835.                 {
  2836.                     *VALUE    = 0.95
  2837.                     *MIN    = 0.1
  2838.                     *MAX    = 10
  2839.                     *DISPLAYNAME = "Horizontal movement dampen"
  2840.             }
  2841.  
  2842.             *FLOAT = "PT_FRVDMP"
  2843.                 {
  2844.                     *VALUE    = 0.95
  2845.                     *MIN    = 0.1
  2846.                     *MAX    = 10
  2847.                     *DISPLAYNAME = "Vertical movement dampen"
  2848.             }
  2849.  
  2850.  
  2851.  
  2852.             *FLOAT = "PT_FRFGUPSPD"
  2853.             {
  2854.                     *VALUE    = 2.5
  2855.                     *MIN    = 0.0
  2856.                     *MAX    = 255
  2857.                     *DISPLAYNAME = "Faux gravity up deceleration"
  2858.                     *Comment = "This is the speed that the gravity will be applied in against an upward motion"
  2859.             }
  2860.  
  2861.             *FLOAT = "PT_FRFGDNSPD"
  2862.             {
  2863.                     *VALUE    = 2.5
  2864.                     *MIN    = 0.0
  2865.                     *MAX    = 255
  2866.                     *DISPLAYNAME = "Faux gravity down acceleration"
  2867.                     *Comment = "This is the speed that the gravity will be applied towards a downward motion"
  2868.             }
  2869.  
  2870.  
  2871.             *FLOAT = "PT_FRFGUPAMNT"
  2872.             {
  2873.                     *VALUE    = 10.0
  2874.                     *MIN    = 0.0
  2875.                     *MAX    = 255
  2876.                     *DISPLAYNAME = "Faux gravity amount Up"
  2877.                     *Comment = "Amount of faux gravity added when in trying to fly up"
  2878.             }
  2879.  
  2880.             *FLOAT = "PT_FRFGDNAMNT"
  2881.             {
  2882.                     *VALUE    = 10.0
  2883.                     *MIN    = 0.0
  2884.                     *MAX    = 255
  2885.                     *DISPLAYNAME = "Faux gravity amount Down"
  2886.                     *Comment = "Amount of faux gravity added when in trying to fly up"
  2887.             }
  2888.  
  2889.             *FLOAT = "PT_FRFGUPBLN"
  2890.             {
  2891.                     *VALUE    = 2.5
  2892.                     *MIN    = 0.0
  2893.                     *MAX    = 100
  2894.                     *DISPLAYNAME = "Faux gravity blend Up to Down"
  2895.                     *Comment = "Speed that faux gravity effect is blended from Up to Down"
  2896.             }
  2897.  
  2898.             *FLOAT = "PT_FRFGDNBLN"
  2899.             {
  2900.                     *VALUE    = 2.5
  2901.                     *MIN    = 0.0
  2902.                     *MAX    = 100
  2903.                     *DISPLAYNAME = "Faux gravity blend Down to Up"
  2904.                     *Comment = "Speed that faux gravity effect is blended from Down to Up"
  2905.             }
  2906.  
  2907.             *FLOAT = "PT_FREDHACC"
  2908.             {
  2909.                     *VALUE    = 6.0
  2910.                     *MIN    = 0.0
  2911.                     *MAX    = 10
  2912.                     *DISPLAYNAME = "Edge mode horizontal accelerate"
  2913.             }
  2914.  
  2915.             *FLOAT = "PT_FREDVACC"
  2916.             {
  2917.                     *VALUE    = 3.0
  2918.                     *MIN    = 0.0
  2919.                     *MAX    = 10
  2920.                     *DISPLAYNAME = "Edge mode vertical accelerate"
  2921.             }
  2922.  
  2923.             *FLOAT = "PT_FRGR"
  2924.                 {
  2925.                     *VALUE    = 0.05
  2926.                     *MIN    = 0.0
  2927.                     *MAX    = 10
  2928.                     *DISPLAYNAME = "Gravity value"
  2929.             }
  2930.  
  2931.             *FLOAT = "PT_FREDGR"
  2932.                 {
  2933.                     *VALUE    = 0.1
  2934.                     *MIN    = 0.0
  2935.                     *MAX    = 10
  2936.                     *DISPLAYNAME = "Edge mode gravity value"
  2937.             }
  2938.  
  2939.  
  2940.         
  2941.             *FLOAT = "PT_LPWAV"
  2942.                 {
  2943.                     *VALUE  = 55
  2944.                     *MIN    = 0
  2945.                     *MAX    = 90
  2946.                     *DISPLAYNAME = "Degrees player can drift to sides."
  2947.             }
  2948.  
  2949.             *Group = "Weapon settings"
  2950.             {
  2951.                 *FLOAT = "PT_WEAMGD"
  2952.                 {
  2953.                     *VALUE    = 0.25
  2954.                     *MIN    = 0.0
  2955.                     *DISPLAYNAME = "Machine Gun Delay"
  2956.                     *Comment = "Delay between shots."
  2957.                 }            
  2958.                 *FLOAT = "PT_WEAMSD"
  2959.                 {
  2960.                     *VALUE    = 1.0
  2961.                     *MIN    = 0.0
  2962.                     *DISPLAYNAME = "Missile Delay"
  2963.                     *Comment = "Delay between shots."
  2964.                 }            
  2965.                 *FLOAT = "PT_WEAMSSPD"
  2966.                 {
  2967.                     *VALUE    = 200.0
  2968.                     *MIN    = 0.0
  2969.                     *DISPLAYNAME = "Missile Speed"
  2970.                     *Comment = "Speed at which missiles travel"
  2971.                 }
  2972.                 *FLOAT = "PT_WEAMGDMG"
  2973.                 {
  2974.                     *VALUE = 100.0
  2975.                     *MIN = 0.0
  2976.                     *DISPLAYNAME = "Machine Gun Damage Modifier" 
  2977.                     *Comment = "Set this to modify the amount of damage the machine gun does. "
  2978.                     *Comment = "E.g., 200% means double the damage"
  2979.                 }
  2980.                 *FLOAT = "PT_WEAMSDMG"
  2981.                 {
  2982.                     *VALUE = 100.0
  2983.                     *MIN = 0.0
  2984.                     *DISPLAYNAME = "Missile Damage Modifier" 
  2985.                     *Comment = "Set this to modify the amount of damage the missiles do."
  2986.                     *Comment = "E.g., 200% means double the damage, 50% halves the damage"
  2987.                 }
  2988.                     
  2989.             }
  2990.  
  2991.             *Group = "Rider settings"
  2992.             {
  2993.                 *FilePick = "PT_RiderName"
  2994.                 {
  2995.                     *Usage            =    "Protected"
  2996.                     *DISPLAYNAME    =    "Rider Actor"
  2997.                     *Value            =    ""
  2998.                     *Directory      =   "$\Data\Actors\Players\Pteranadon\Riders"
  2999.                     *Extension      =   "atr"
  3000.                 }
  3001.  
  3002.                 *String = "PT_RiderPoint"
  3003.                 {
  3004.                     *Usage            =    "Protected"
  3005.                     *DisplayName    =    "Rider HotPoint"
  3006.                     *Value            =    ""
  3007.                     *Comment        =    "The hotpoint to attach the rider to"
  3008.                 }
  3009.             }
  3010.     
  3011.             *Group = "Camera settings"
  3012.             {
  3013.                 *Group = "1st person"
  3014.                 {
  3015.                     *FLOAT = "PT_CAM1FOV"
  3016.                     {
  3017.                         *VALUE    = 50.0
  3018.                         *MIN    = 0.0
  3019.                         *DISPLAYNAME = "FOV"
  3020.                         *Comment = "Field of View, (60degrees is about normal)."
  3021.                     }
  3022.                 
  3023.                     *FLOAT = "PT_CAM1YPB"
  3024.                     {
  3025.                         *VALUE    = 1.0
  3026.                         *MIN    = 0.0
  3027.                         *DISPLAYNAME = "Y pos on bird"
  3028.                         *Comment = "Y offset of the camera."
  3029.                         *Comment = "i.e How high/low you want the camera to be sat on the bird."
  3030.                     }
  3031.                                         
  3032.                     *FLOAT = "PT_CAM1ZPB"
  3033.                     {
  3034.                         *VALUE    = 0.0
  3035.                         *DISPLAYNAME = "Z pos on bird"
  3036.                         *Comment = "Z offset of the camera."
  3037.                         *Comment = "i.e How far along the bird you want the camera to be positioned."
  3038.                     }
  3039.                     
  3040.                     *FLOAT = "PT_CAM1CROLL"
  3041.                     {
  3042.                         *VALUE    = 0.25
  3043.                         *MIN    = 0.0
  3044.                         *MAX    = 1
  3045.                         *DISPLAYNAME = "Camera roll with turn effect"
  3046.                     }                    
  3047.                     
  3048.                 }
  3049.  
  3050.                 *Group = "3rd person"
  3051.                 {
  3052.                     *FLOAT = "PT_CAM3FOV"
  3053.                     {
  3054.                         *VALUE    = 60.0
  3055.                         *DISPLAYNAME = "FOV"
  3056.                         *Comment = "Field of View, (60degrees is about normal)."
  3057.                     }
  3058.                 
  3059.                     *FLOAT = "PT_CAM3ETB"
  3060.                     {
  3061.                         *VALUE    = 8.0
  3062.                         *MIN    = 0.0
  3063.                         *DISPLAYNAME = "Eye to bird distance"
  3064.                         *Comment = "How far back the camera eye is placed to the bird."
  3065.                     }
  3066.  
  3067.                     *FLOAT = "PT_CAM3EL"
  3068.                     {
  3069.                         *VALUE    = 10.0
  3070.                         *MIN    = 0.0
  3071.                         *MAX    = 10.0
  3072.                         *DISPLAYNAME = "Eye lag time"
  3073.                     }
  3074.     
  3075.                     *FLOAT = "PT_CAM3LAL"
  3076.                     {
  3077.                         *VALUE    = 10.0
  3078.                         *MIN    = 0.0
  3079.                         *MAX    = 10.0
  3080.                         *DISPLAYNAME = "LookAt lag time"
  3081.                     }
  3082.  
  3083.  
  3084.                     *FLOAT = "PT_CAM3EAC"
  3085.                     {
  3086.                         *VALUE    = 10.0
  3087.                         *MIN    = 0.0
  3088.                         *DISPLAYNAME = "Eye corrdior pos adjust"
  3089.                         *Comment = "Based on the players vertical position within the corridor,"
  3090.                         *Comment = "the camera eye pos will be adjust by X amount."
  3091.                     }
  3092.     
  3093.                     *FLOAT = "PT_CAM3LAC"
  3094.                     {
  3095.                         *VALUE    = 10.0
  3096.                         *MIN    = 0.0
  3097.                         *DISPLAYNAME = "LookAt corrdior pos adjust"
  3098.                         *Comment = "Based on the players vertical position within the corridor,"
  3099.                         *Comment = "the camera LookAt pos will be adjust by X amount."
  3100.                     }
  3101.                     
  3102.                     *FLOAT = "PT_CAM3CROLL"
  3103.                     {
  3104.                         *VALUE    = 0.25
  3105.                         *MIN    = 0.0
  3106.                         *MAX    = 1
  3107.                         *DISPLAYNAME = "Camera roll with turn effect"
  3108.                     }                        
  3109.                 }
  3110.                 *Group = "Levy Cam"
  3111.                 {
  3112.                 
  3113.                     *FLOAT = "PT_CAMLFOV"
  3114.                     {
  3115.                         *VALUE    = 60.0
  3116.                         *DISPLAYNAME = "FOV"
  3117.                         *Comment = "Field of View, (60degrees is about normal)."
  3118.                     }
  3119.                 
  3120.                     *FLOAT = "PT_CAMLETB"
  3121.                     {
  3122.                         *VALUE    = 8.0
  3123.                         *MIN    = 0.0
  3124.                         *DISPLAYNAME = "Eye to bird distance"
  3125.                         *Comment = "How far back the camera eye is placed to the bird."
  3126.                     }
  3127.  
  3128.                     *FLOAT = "PT_CAMLCLA"
  3129.                     {
  3130.                         *VALUE    = 2.0
  3131.                         *MIN    = 0.0
  3132.                         *DISPLAYNAME = "LookAt in front of Pteranadon"
  3133.                         *Comment = "How many meters to look ahead of the player/pteranadon."
  3134.                     }
  3135.  
  3136.                     *FLOAT = "PT_CAMLEL"
  3137.                     {
  3138.                         *VALUE    = 2.5
  3139.                         *MIN    = 0.0
  3140.                         *MAX    = 10.0
  3141.                         *DISPLAYNAME = "Eye lag time"
  3142.                         *Comment = "Delay Eye has catching up when player moves.."
  3143.                     }
  3144.     
  3145.                     *FLOAT = "PT_CAMLLAL"
  3146.                     {
  3147.                         *VALUE    = 10.0
  3148.                         *MIN    = 0.0
  3149.                         *MAX    = 10.0
  3150.                         *DISPLAYNAME = "LookAt lag time"
  3151.                         *Comment = "Delay LookAt has catching up when player moves.."
  3152.                     }
  3153.  
  3154.                     *FLOAT = "Pt_Camlylaoff"
  3155.                     {
  3156.                         *VALUE    = 4.0
  3157.                         *DISPLAYNAME = "Y offset on LookAt"
  3158.                         *Comment = "LookAt Y offset, you can position the bird vertically on screen with this value"
  3159.                     }
  3160.  
  3161.                     *FLOAT = "PT_CAMLYEYOFF"
  3162.                     {
  3163.                         *VALUE    = 2.0
  3164.                         *DISPLAYNAME = "Y offset on Eye"
  3165.                         *Comment = "Eye Y offset, you can control the vertical angle the bird is viewed from with this value"
  3166.                     }
  3167.  
  3168.                     *FLOAT = "PT_CAMLYLASW"
  3169.                     {
  3170.                         *VALUE    = 1.0
  3171.                         *DISPLAYNAME = "LookAt X swing"
  3172.                         *Comment = "When the player moves horizontally this is the amount the LookAt will swing horizonatlly."
  3173.                     }
  3174.  
  3175.                     *FLOAT = "PT_CAMLYEYSW"
  3176.                     {
  3177.                         *VALUE    = 4.0
  3178.                         *DISPLAYNAME = "Eye X swing"
  3179.                         *Comment = "When the player moves horizontally this is the amount the Eye will swing horizonatlly."
  3180.                     }
  3181.                     
  3182.                     *FLOAT = "PT_CAMLCROLL"
  3183.                     {
  3184.                         *VALUE    = 0.65
  3185.                         *MIN    = 0.0
  3186.                         *MAX    = 1
  3187.                         *DISPLAYNAME = "Camera roll with turn"
  3188.                     }                
  3189.                     
  3190.                     *FLOAT = "PT_CAMLPROLL"
  3191.                     {
  3192.                         *VALUE    = 1.0
  3193.                         *MIN    = 0.0
  3194.                         *MAX    = 1
  3195.                         *DISPLAYNAME = "Player roll with turn"
  3196.                     }                
  3197.                     
  3198.                 
  3199.                     *INT   = "PT_CAMLCHLAG"
  3200.                     {
  3201.                         *VALUE    = 10
  3202.                         *MIN    = 0
  3203.                         *MAX    = 255
  3204.                         *DISPLAYNAME = "CrossHair lag frames"
  3205.                         *Comment = "How many frames lag on the crosshair position."
  3206.                         
  3207.                     }
  3208.                 }
  3209.             }
  3210.             *Group = "Sound"
  3211.             {
  3212.                 *Sound = "FltLeftSnd"
  3213.                 {
  3214.                     *DisplayName    =   "Flight Whoosh Left"
  3215.                 }
  3216.                 *Sound = "FltRightSnd"
  3217.                 {
  3218.                     *DisplayName    =   "Flight Whoosh Right"
  3219.                 }
  3220.                 *Sound = "FltSpeedSnd"
  3221.                 {
  3222.                     *DisplayName    =   "Speed whoosh sound"
  3223.                 }
  3224.                 
  3225.                 *Sound = "FltLockOnSnd"
  3226.                 {
  3227.                     *DisplayName    =   "Missile lock-on sound"
  3228.                 }
  3229.                 
  3230.                 *Sound = "FltHitWorldSnd"
  3231.                 {
  3232.                     *DisplayName    =   "Environment collision sound"
  3233.                 }
  3234.                 
  3235.                 *Sound = "FltWaterSkimSnd"
  3236.                 {
  3237.                     *DisplayName    =   "Water skimming sound"
  3238.                 }
  3239.                 
  3240.                 *Sound = "FltNoMissileSnd"
  3241.                 {
  3242.                     *DisplayName    =   "Out-of-missiles sound"
  3243.                 }
  3244.                 
  3245.                 *Sound = "FltMissileFireSnd"
  3246.                 {
  3247.                     *DisplayName    =   "Fire missile sound"
  3248.                 }
  3249.                 
  3250.             }
  3251.  
  3252.         }        
  3253.  
  3254.         *Group = "Sound"
  3255.         {
  3256.             *Sound = "FootSnd"
  3257.             {
  3258.                 *DisplayName    =   "Footstep"
  3259.             }
  3260.             *Sound = "JmpSnd"
  3261.             {
  3262.                 *DisplayName    =   "Jump"
  3263.             }
  3264.             *Sound = "JmpLndSnd"
  3265.             {
  3266.                 *DisplayName    =   "Jump Land"
  3267.             }
  3268.             *Sound = "TurnSnd"
  3269.             {
  3270.                 *DisplayName    =   "Turn"
  3271.             }
  3272.             *Sound = "SurfaceSwimSnd"
  3273.             {
  3274.                 *DisplayName    =   "Surface Swim"
  3275.             }
  3276.             *Sound = "UnderwaterSwimSnd"
  3277.             {
  3278.                 *DisplayName    =   "Underwater Swim"
  3279.             }
  3280.             *Sound = "EnterWaterSnd"
  3281.             {
  3282.                 *DisplayName    =   "Enter Water"
  3283.             }
  3284.             *Sound = "ExitWaterSnd"
  3285.             {
  3286.                 *DisplayName    =   "Exit Water"
  3287.             }
  3288.             *Sound = "WaterSurfaceGoodSnd"
  3289.             {
  3290.                 *DisplayName    =   "Water Surface (Good)"
  3291.             }
  3292.             *Sound = "WaterSurfaceBadSnd"
  3293.             {
  3294.                 *DisplayName    =   "Water Surface (Bad)"
  3295.             }
  3296.             *Sound = "DrownSnd"
  3297.             {
  3298.                 *DisplayName    =   "Drown"
  3299.             }
  3300.             *Sound = "DrownDeathSnd"
  3301.             {
  3302.                 *DisplayName    =   "Drown Death"
  3303.             }
  3304.             *Sound = "FallingSnd"
  3305.             {
  3306.                 *DisplayName    =   "Fall"
  3307.             }
  3308.             *Sound = "ClimbSnd"
  3309.             {
  3310.                 *DisplayName    =   "Climb"
  3311.             }
  3312.             *Sound = "WadeSnd"
  3313.             {
  3314.                 *DisplayName    =   "Wade thru water"
  3315.             }
  3316.             *Sound = "PainLightSnd"
  3317.             {
  3318.                 *DisplayName    =   "Pain (light)"
  3319.             }
  3320.             *Sound = "PainMediumSnd"
  3321.             {
  3322.                 *DisplayName    =   "Pain (medium)"
  3323.             }
  3324.             *Sound = "PainHeavySnd"
  3325.             {
  3326.                 *DisplayName    =   "Pain (heavy)"
  3327.             }
  3328.             *Sound = "PainPoisonChokeSnd"
  3329.             {
  3330.                 *DisplayName    =   "Pain (poisoned choke)"
  3331.             }
  3332.             *Sound = "PainPoisonGroanSnd"
  3333.             {
  3334.                 *DisplayName    =   "Pain (poisoned groan)"
  3335.             }
  3336.             *Sound = "DeathShortSnd"
  3337.             {
  3338.                 *DisplayName    =   "Death (short)"
  3339.             }
  3340.             *Sound = "DeathLongSnd"
  3341.             {
  3342.                 *DisplayName    =   "Death (long)"
  3343.             }
  3344.             *Sound = "DeathSwarmBoredSnd"
  3345.             {
  3346.                 *DisplayName    =   "Death (swarmbored)"
  3347.             }
  3348.             *Sound = "JumpLandHeavySnd"
  3349.             {
  3350.                 *DisplayName    =   "Jump Land (heavy)"
  3351.             }
  3352.             *Sound = "FallingSplatSnd"
  3353.             {
  3354.                 *DisplayName    =   "Falling splat"
  3355.             }
  3356.         }
  3357.         *Group = "Cheats"
  3358.         {
  3359.             *FLOAT = "EasyAimRadius"
  3360.             {
  3361.                 *VALUE    = 10
  3362.                 *MIN    = 0
  3363.                 *MAX    = 90
  3364.                 *DISPLAYNAME = "Easy Aim Radius"
  3365.                 *COMMENT = "Angle (in degrees) of the Easy Aim Radius"
  3366.             }
  3367.  
  3368.         }
  3369.     }
  3370.  
  3371.     ; Don't let certain variables be changed on an instance basis.
  3372.     *Protected    =    "Mass"
  3373.     *Protected    =    "Health"
  3374.     *Protected    =    "MaxHealth"
  3375.     *Protected    =    "Density"
  3376.     *Protected    =    "Drag"
  3377.     *Protected    =    "Type"
  3378.     *Protected    =    "Collides"
  3379.     *Protected    =    "Touches"
  3380.     *Protected    =    "Regions"
  3381.     *Protected    =    "Platforms"
  3382.     *Protected  =   "Sound"
  3383. }
  3384.  
  3385. ;------------------------------------------------------------------------------
  3386. ; Device
  3387. ;------------------------------------------------------------------------------
  3388. *OBJECT = "DeviceAIObject"
  3389. {
  3390.     *NAME    = "DeviceAI"
  3391.     *INHERITS = "TurokAIObject"
  3392.     *TYPE    = "OBJECT"
  3393.     *UseInActorEd = "True"
  3394.  
  3395.  
  3396.  
  3397.     *AIMODES = 
  3398.     {
  3399.         Idle,
  3400.         Move,
  3401.     }
  3402.  
  3403. }
  3404.  
  3405. ;------------------------------------------------------------------------------
  3406. ; Bullet Object
  3407. ;------------------------------------------------------------------------------
  3408. *OBJECT = "BulletAIObject"
  3409. {
  3410.     *NAME    = "BulletAI"
  3411.     *INHERITS = "DeviceAIObject"
  3412.     *TYPE    = "OBJECT"
  3413.     *UseInActorEd = "True"
  3414.  
  3415.     *VARIABLES = 
  3416.     {
  3417.         *FLOAT = "BULLET_NORMAL_VELOCITY"
  3418.         {
  3419.             *VALUE    = 25.0
  3420.             *DISPLAYNAME = "Normal Bullet Velocity"
  3421.         }
  3422.  
  3423.         *FLOAT = "BULLET_BIRD_VELOCITY"
  3424.         {
  3425.             *VALUE    = 150.0
  3426.             *DISPLAYNAME = "Bird Bullet Velocity"
  3427.         }
  3428.  
  3429.         *FLOAT = "BULLET_BIRDMISSILE_VELOCITY"
  3430.         {
  3431.             *VALUE    = 200.0
  3432.             *DISPLAYNAME = "Bird Missile Velocity"
  3433.         }
  3434.  
  3435.         *FLOAT = "BULLET_ENEMY_BIRD_VELOCITY"
  3436.         {
  3437.             *VALUE    = 400.0
  3438.             *DISPLAYNAME = "Enemy Bird Bullet Velocity"
  3439.         }
  3440.  
  3441.         *FLOAT = "BULLET_NORMAL_DAMAGE"
  3442.         {
  3443.             *VALUE    = 5.0
  3444.             *DISPLAYNAME = "Normal Bullet Damage"
  3445.         }
  3446.  
  3447.         *FLOAT = "BULLET_BIRD_DAMAGE"
  3448.         {
  3449.             *VALUE    = 5.0
  3450.             *DISPLAYNAME = "Bird Bullet Damage"
  3451.         }
  3452.  
  3453.         *FLOAT = "BULLET_BIRDMISSILE_DAMAGE"
  3454.         {
  3455.             *VALUE    = 5.0
  3456.             *DISPLAYNAME = "Bird Missile Damage"
  3457.         }
  3458.     }
  3459.  
  3460.     *AIMODES = 
  3461.     {
  3462.         Move,
  3463.     }
  3464. }
  3465.  
  3466. ;------------------------------------------------------------------------------
  3467. ; Cover Object
  3468. ;------------------------------------------------------------------------------
  3469. *OBJECT = "CoverObject"
  3470. {
  3471.     *NAME    = "CoverObject"
  3472.     *INHERITS = "DeviceAIObject"
  3473.     *TYPE    = "OBJECT"
  3474.     *UseInActorEd = "True"
  3475.  
  3476.     *VARIABLES = 
  3477.     {
  3478.         *Combo = "COVER_TYPE"
  3479.         {
  3480.             *DisplayName    =    "Cover Type"
  3481.             *Value            =    0 
  3482.             *ComboList        =    { "Stepout" , "Circle" }
  3483.         }
  3484.  
  3485.         *Combo = "STEPOUT_DIR"
  3486.         {
  3487.             *DisplayName    =    "Stepout Direction"
  3488.             *Value            =    0 
  3489.             *ComboList        =    { "Left" , "Right", "Both", "Up" }
  3490.         }
  3491.  
  3492.         *FLOAT = "COVER_RADIUS"
  3493.         {
  3494.             *VALUE    = 4
  3495.             *MIN    = 0
  3496.             *DISPLAYNAME = "Cover Radius"
  3497.             *DISPLAYASDISC = "52,43,113"
  3498.         }
  3499.     }
  3500. }
  3501.  
  3502.  
  3503.  
  3504. ;------------------------------------------------------------------------------
  3505. ; Level Exit
  3506. ;------------------------------------------------------------------------------
  3507. *OBJECT = "LevelExitObject"
  3508. {
  3509.     *NAME    = "LevelExitObject"
  3510.     *INHERITS = "DeviceAIObject"
  3511.     *TYPE    = "OBJECT"
  3512.     *UseInActorEd = "True"
  3513.  
  3514.     *VARIABLES = 
  3515.     {
  3516.         *FLOAT = "LevelExitRadius"
  3517.         {
  3518.             *VALUE = 8.0
  3519.             *DISPLAYNAME = "Radius"
  3520.             *Comment = "How close the player must be to the exit, in the XZ plane, to leave the level"
  3521.         }
  3522.  
  3523.         *FLOAT = "LevelExitHeight"
  3524.         {
  3525.             *VALUE = 2.0
  3526.             *DISPLAYNAME = "Height"
  3527.             *Comment = "The height of the exit cylinder"
  3528.         }
  3529.  
  3530.         *FilePick           =   "LevelExitDestinationLevelName"
  3531.         {
  3532.             *DISPLAYNAME = "Destination Level Name"
  3533.             *Comment = "The name of the level to go to (don't include full path)"
  3534.             *Value          =   ""
  3535.             *Directory      =   "$/Data/Levels/"
  3536.             *Extension      =   "atr"
  3537.         }
  3538.     }
  3539. }
  3540.  
  3541. *OBJECT = "TurokPickup"
  3542. {
  3543.     *NAME    = "TurokPickup"
  3544.     *INHERITS = "Pickup"
  3545.     *TYPE    = "OBJECT"
  3546.     *UseInActorEd = "True"
  3547.  
  3548.     *AIMODES = 
  3549.     {
  3550.         Enter,
  3551.         Exit,
  3552.         Idle,
  3553.         WaitToSpawn,
  3554.         Respawn
  3555.     }
  3556.     *VARIABLES =
  3557.     {
  3558.         *Combo = "PickupType"
  3559.         {
  3560.             *DisplayName    =    "Pickup Type"
  3561.             *Value            =    0
  3562.             *ComboList        =
  3563.             {
  3564.                 "Dark Matter Cube Ammo",
  3565.                 "Flame Thrower Ammo",
  3566.                 "Grenade Ammo",
  3567.                 "Guided Device Ammo",
  3568.                 "Minigun Ammo",
  3569.                 "Pistol Ammo",
  3570.                 "Rocket Ammo",
  3571.                 "Shotgun Ammo",
  3572.                 "Tech Weapon Ammo",
  3573.                 "Spiked Mine Ammo",
  3574.                 "Flachette Ammo",
  3575.                 "Nuke Ammo",
  3576.                 "Arrow Ammo",
  3577.                 "Explosive Arrow Ammo",
  3578.                 "Poison Arrow Ammo",
  3579.                 "Gravity Gun Ammo",
  3580.                 "Swarm Bore Ammo",
  3581.                 "Baloon",
  3582.                 "Proxy",
  3583.                 "Healing Crystal",
  3584.                 "Healing Herb",
  3585.                 "Large MedKit",
  3586.                 "Small MedKit",
  3587.                 "Warclub",
  3588.                 "Bow",
  3589.                 "Crossbow",
  3590.                 "Dark Matter Cube",
  3591.                 "Flame Thrower",
  3592.                 "Remote Device",
  3593.                 "MiniGun",
  3594.                 "Sniper Pistol",
  3595.                 "Rocket Launcher",
  3596.                 "Shotgun",
  3597.                 "Tech Weapon",
  3598.                 "Spiked Mine",
  3599.                 "TekBow",
  3600.                 "Gravity Gun",
  3601.                 "Minigun Upgrade",
  3602.                 "Sniper Pistol Upgrade",
  3603.                 "RL Swarm Bore Upgrade"
  3604.                 "Shotgun Upgrade",
  3605.                 "Nuke Upgrade",
  3606.                 "Tech Weapon Beam Upgrade",
  3607.                 "Tech Weapon Smart Upgrade",
  3608.                 "Jump Boots",
  3609.                 "Cloaking Belt",
  3610.                 "Shield Belt",
  3611.                 "Empathy Chest plate",
  3612.                 "Death Helm",
  3613.                 "Speed",
  3614.                 "Max Health",
  3615.                 "Damage",
  3616.                 "Regeneration",
  3617.                 "Predator",
  3618.                 "FlightHealth",
  3619.                 "FlightOverdrive",
  3620.                 "FlightRocketsAmmo",
  3621.                 "Key"
  3622.             }
  3623.             *Usage         = "Protected"
  3624.             *Comment        =    "What Kind of Pickup this is"
  3625.         }
  3626.         *Int = "AmmoAmount"
  3627.         {
  3628.             *DisplayName    =    "Ammo Ammount"
  3629.             *Value            =    0
  3630.             *Comment        =    "The amount of ammunition contained in this pickup. Use a value of 0 if not applicable, e.g., this is not an ammo pickup."
  3631.             *Usage            =    "Protected"
  3632.         }
  3633.         *Float = "HealthAmount"
  3634.         {
  3635.             *DisplayName    =    "Health Ammount"
  3636.             *Value            =    0.0000
  3637.             *Comment        =    "The amount of health contained in this pickup. Use a value of 0.0 if not applicable, e.g., this is not an ammo pickup."
  3638.             *Usage            =    "Protected"
  3639.         }
  3640.         *Group = "Dancing"
  3641.         {
  3642.             *Bool = "Dances"
  3643.             {
  3644.                 *DisplayName    =    "Dances?"
  3645.                 *Value            =    false
  3646.                 *Comment        =    "If true, this pickup will sorta dance. "
  3647.             }
  3648.             *Float = "DanceAmount"
  3649.             {
  3650.                 *DisplayName    =    "Dance Amount"
  3651.                 *Value            =    1.0
  3652.                 *Comment        =    "The higher the value the less subtle the dance"
  3653.             }
  3654.             *Float = "DanceSpeed"
  3655.             {
  3656.                 *DisplayName    =    "Dance Speed"
  3657.                 *Value            =    1.0
  3658.                 *Comment        =    "The higher the value the faster the dance."
  3659.             }
  3660.         }
  3661.         
  3662.         *Float = "RSpwnt"
  3663.         {
  3664.             *DisplayName    =    "Respawn time"
  3665.             *Value            =    -1
  3666.             *Comment        =    "This is the amount of time in seconds it takes the pickup to reappear."
  3667.             *Comment        =    "If the time is -1 then the pickup will never respawn."
  3668.         }
  3669.     }
  3670. }
  3671.  
  3672.  
  3673. ;------------------------------------------------------------------------------
  3674. ; Weapon Wheel
  3675. ;------------------------------------------------------------------------------
  3676. *Object = "WeaponWheel"
  3677. {
  3678.     *Name            =    "Weapon Wheel"
  3679.     *Access         =    "Protected"
  3680.     *Type            =    "Object"
  3681.     *UseInActorEd = "True"
  3682.  
  3683.     ;-----------------------------------
  3684.     ; Variables
  3685.     ;-----------------------------------
  3686.     *Variables    = 
  3687.     {
  3688.         *Group = "Slot 0"
  3689.         {
  3690.             *Combo = "WeaponSlot0"
  3691.             {
  3692.                 *DisplayName    =    "Weapon"
  3693.                 *Value            =    0
  3694.                 *ComboList        =
  3695.                 {
  3696.                     ; this list must be kept synchronized with WeaponInfo.h!
  3697.                     "War Club",
  3698.                     "Bow",
  3699.                     "TekBow",
  3700.                     "Grenade",
  3701.                     "Pistol",
  3702.                     "Shotgun",
  3703.                     "Machine Gun",
  3704.                     "Launcher",
  3705.                     "Tek Weapon",
  3706.                     "Flame Thrower",
  3707.                     "Guided Device",
  3708.                     "Gravity Disrupter",
  3709.                     "Dark Matter Cube",
  3710.                     "Crossbow"
  3711.                 }
  3712.                 *Usage         = "Public"
  3713.                 *Comment        =    "The weapon that is to be used in this weapon wheel slot."
  3714.             }
  3715.             *BOOL = "Upgrade1Slot0"
  3716.             {
  3717.                 *Value            =    0
  3718.                 *DisplayName    =    "Upgrade 1"
  3719.                 *Comment     = "Does this weapon have the first upgrade?"
  3720.                 *Usage         = "Public"
  3721.             }
  3722.             *BOOL = "Upgrade2Slot0"
  3723.             {
  3724.                 *Value            =    0
  3725.                 *DisplayName    =    "Upgrade 2"
  3726.                 *Comment     = "Does this weapon have the second upgrade?"
  3727.                 *Usage         = "Public"
  3728.             }
  3729.             *BOOL = "StartsOffWithWeapon0"
  3730.             {
  3731.                 *VALUE    = "True"
  3732.                 *DISPLAYNAME = "Starts Off With Weapon?"
  3733.                 *Comment = "Does the player start out with the weapon in this slot in his inventory?"
  3734.                 *Usage         = "Public"
  3735.             }
  3736.             *Int = "AmmoUPG0Slot0"
  3737.             {
  3738.                 *DisplayName    =    "Base Ammo"
  3739.                 *Value            =    0
  3740.                 *Comment        =    "If the player starts out with the weapon in this slot, how much ammo comes along with it?"
  3741.                 *Usage         = "Public"
  3742.             }
  3743.             *Int = "AmmoUPG1Slot0"
  3744.             {
  3745.                 *DisplayName    =    "Ammo for Upgrade 1"
  3746.                 *Value            =    0
  3747.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  3748.                 *Usage         = "Public"
  3749.             }
  3750.             *Int = "AmmoUPG2Slot0"
  3751.             {
  3752.                 *DisplayName    =    "Ammo for Upgrade 2"
  3753.                 *Value            =    0
  3754.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  3755.                 *Usage         = "Public"
  3756.             }
  3757.         }
  3758.  
  3759.  
  3760.         *Group = "Slot 1"
  3761.         {
  3762.             *Combo = "WeaponSlot1"
  3763.             {
  3764.                 *DisplayName    =    "Weapon"
  3765.                 *Value            =    0
  3766.                 *ComboList        =
  3767.                 {
  3768.                     ; this list must be kept synchronized with WeaponInfo.h!
  3769.                     "War Club",
  3770.                     "Bow",
  3771.                     "TekBow",
  3772.                     "Grenade",
  3773.                     "Pistol",
  3774.                     "Shotgun",
  3775.                     "Machine Gun",
  3776.                     "Launcher",
  3777.                     "Tek Weapon",
  3778.                     "Flame Thrower",
  3779.                     "Guided Device",
  3780.                     "Gravity Disrupter",
  3781.                     "Dark Matter Cube",
  3782.                     "Crossbow"
  3783.                 }
  3784.                 *Usage         = "Public"
  3785.                 *Comment        =    "The weapon that is to be used in this weapon wheel slot."
  3786.             }
  3787.             *BOOL = "Upgrade1Slot1"
  3788.             {
  3789.                 *Value            =    0
  3790.                 *DisplayName    =    "Upgrade 1"
  3791.                 *Comment     = "Does this weapon have the first upgrade?"
  3792.                 *Usage         = "Public"
  3793.             }
  3794.             *BOOL = "Upgrade2Slot1"
  3795.             {
  3796.                 *Value            =    0
  3797.                 *DisplayName    =    "Upgrade 2"
  3798.                 *Comment     = "Does this weapon have the second upgrade?"
  3799.                 *Usage         = "Public"
  3800.             }
  3801.  
  3802.             *BOOL = "StartsOffWithWeapon1"
  3803.             {
  3804.                 *VALUE    = "False"
  3805.                 *DISPLAYNAME = "Starts Off With Weapon?"
  3806.                 *Comment = "Does the player start out with the weapon in this slot in his inventory?"
  3807.                 *Usage         = "Public"
  3808.             }
  3809.             *Int = "AmmoUPG0Slot1"
  3810.             {
  3811.                 *DisplayName    =    "Base Ammo"
  3812.                 *Value            =    0
  3813.                 *Comment        =    "If the player starts out with the weapon in this slot, how much ammo comes along with it?"
  3814.                 *Usage         = "Public"
  3815.             }
  3816.             *Int = "AmmoUPG1Slot1"
  3817.             {
  3818.                 *DisplayName    =    "Ammo for Upgrade 1"
  3819.                 *Value            =    0
  3820.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  3821.                 *Usage         = "Public"
  3822.             }
  3823.             *Int = "AmmoUPG2Slot1"
  3824.             {
  3825.                 *DisplayName    =    "Ammo for Upgrade 2"
  3826.                 *Value            =    0
  3827.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  3828.                 *Usage         = "Public"
  3829.             }
  3830.         }
  3831.  
  3832.         *Group = "Slot 2"
  3833.         {
  3834.             *Combo = "WeaponSlot2"
  3835.             {
  3836.                 *DisplayName    =    "Weapon"
  3837.                 *Value            =    0
  3838.                 *ComboList        =
  3839.                 {
  3840.                     ; this list must be kept synchronized with WeaponInfo.h!
  3841.                     "War Club",
  3842.                     "Bow",
  3843.                     "TekBow",
  3844.                     "Grenade",
  3845.                     "Pistol",
  3846.                     "Shotgun",
  3847.                     "Machine Gun",
  3848.                     "Launcher",
  3849.                     "Tek Weapon",
  3850.                     "Flame Thrower",
  3851.                     "Guided Device",
  3852.                     "Gravity Disrupter",
  3853.                     "Dark Matter Cube",
  3854.                     "Crossbow"
  3855.                 }
  3856.                 *Usage         = "Public"
  3857.                 *Comment        =    "The weapon that is to be used in this weapon wheel slot."
  3858.             }
  3859.             *BOOL = "Upgrade1Slot2"
  3860.             {
  3861.                 *Value            =    0
  3862.                 *DisplayName    =    "Upgrade 1"
  3863.                 *Comment     = "Does this weapon have the first upgrade?"
  3864.                 *Usage         = "Public"
  3865.             }
  3866.             *BOOL = "Upgrade2Slot2"
  3867.             {
  3868.                 *Value            =    0
  3869.                 *DisplayName    =    "Upgrade 2"
  3870.                 *Comment     = "Does this weapon have the second upgrade?"
  3871.                 *Usage         = "Public"
  3872.             }
  3873.             *BOOL = "StartsOffWithWeapon2"
  3874.             {
  3875.                 *VALUE    = "False"
  3876.                 *DISPLAYNAME = "Starts Off With Weapon?"
  3877.                 *Comment = "Does the player start out with the weapon in this slot in his inventory?"
  3878.                 *Usage         = "Public"
  3879.             }
  3880.             *Int = "AmmoUPG0Slot2"
  3881.             {
  3882.                 *DisplayName    =    "Base Ammo"
  3883.                 *Value            =    0
  3884.                 *Comment        =    "If the player starts out with the weapon in this slot, how much ammo comes along with it?"
  3885.                 *Usage         = "Public"
  3886.             }
  3887.             *Int = "AmmoUPG1Slot2"
  3888.             {
  3889.                 *DisplayName    =    "Ammo for Upgrade 1"
  3890.                 *Value            =    0
  3891.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  3892.                 *Usage         = "Public"
  3893.             }
  3894.             *Int = "AmmoUPG2Slot2"
  3895.             {
  3896.                 *DisplayName    =    "Ammo for Upgrade 2"
  3897.                 *Value            =    0
  3898.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  3899.                 *Usage         = "Public"
  3900.             }
  3901.         }
  3902.  
  3903.         *Group = "Slot 3"
  3904.         {
  3905.             *Combo = "WeaponSlot3"
  3906.             {
  3907.                 *DisplayName    =    "Weapon"
  3908.                 *Value            =    0
  3909.                 *ComboList        =
  3910.                 {
  3911.                     ; this list must be kept synchronized with WeaponInfo.h!
  3912.                     "War Club",
  3913.                     "Bow",
  3914.                     "TekBow",
  3915.                     "Grenade",
  3916.                     "Pistol",
  3917.                     "Shotgun",
  3918.                     "Machine Gun",
  3919.                     "Launcher",
  3920.                     "Tek Weapon",
  3921.                     "Flame Thrower",
  3922.                     "Guided Device",
  3923.                     "Gravity Disrupter",
  3924.                     "Dark Matter Cube",
  3925.                     "Crossbow"
  3926.                 }
  3927.                 *Usage         = "Public"
  3928.                 *Comment        =    "The weapon that is to be used in this weapon wheel slot."
  3929.             }
  3930.             *BOOL = "Upgrade1Slot3"
  3931.             {
  3932.                 *Value            =    0
  3933.                 *DisplayName    =    "Upgrade 1"
  3934.                 *Comment     = "Does this weapon have the first upgrade?"
  3935.                 *Usage         = "Public"
  3936.             }
  3937.             *BOOL = "Upgrade2Slot3"
  3938.             {
  3939.                 *Value            =    0
  3940.                 *DisplayName    =    "Upgrade 2"
  3941.                 *Comment     = "Does this weapon have the second upgrade?"
  3942.                 *Usage         = "Public"
  3943.             }
  3944.             *BOOL = "StartsOffWithWeapon3"
  3945.             {
  3946.                 *VALUE    = "False"
  3947.                 *DISPLAYNAME = "Starts Off With Weapon?"
  3948.                 *Comment = "Does the player start out with the weapon in this slot in his inventory?"
  3949.                 *Usage         = "Public"
  3950.             }
  3951.             *Int = "AmmoUPG0Slot3"
  3952.             {
  3953.                 *DisplayName    =    "Base Ammo"
  3954.                 *Value            =    0
  3955.                 *Comment        =    "If the player starts out with the weapon in this slot, how much ammo comes along with it?"
  3956.                 *Usage         = "Public"
  3957.             }
  3958.             *Int = "AmmoUPG1Slot3"
  3959.             {
  3960.                 *DisplayName    =    "Ammo for Upgrade 1"
  3961.                 *Value            =    0
  3962.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  3963.                 *Usage         = "Public"
  3964.             }
  3965.             *Int = "AmmoUPG2Slot3"
  3966.             {
  3967.                 *DisplayName    =    "Ammo for Upgrade 2"
  3968.                 *Value            =    0
  3969.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  3970.                 *Usage         = "Public"
  3971.             }
  3972.         }
  3973.  
  3974.         *Group = "Slot 4"
  3975.         {
  3976.             *Combo = "WeaponSlot4"
  3977.             {
  3978.                 *DisplayName    =    "Weapon"
  3979.                 *Value            =    0
  3980.                 *ComboList        =
  3981.                 {
  3982.                     ; this list must be kept synchronized with WeaponInfo.h!
  3983.                     "War Club",
  3984.                     "Bow",
  3985.                     "TekBow",
  3986.                     "Grenade",
  3987.                     "Pistol",
  3988.                     "Shotgun",
  3989.                     "Machine Gun",
  3990.                     "Launcher",
  3991.                     "Tek Weapon",
  3992.                     "Flame Thrower",
  3993.                     "Guided Device",
  3994.                     "Gravity Disrupter",
  3995.                     "Dark Matter Cube",
  3996.                     "Crossbow"
  3997.                 }
  3998.                 *Usage         = "Public"
  3999.                 *Comment        =    "The weapon that is to be used in this weapon wheel slot."
  4000.             }
  4001.             *BOOL = "Upgrade1Slot4"
  4002.             {
  4003.                 *Value            =    0
  4004.                 *DisplayName    =    "Upgrade 1"
  4005.                 *Comment     = "Does this weapon have the first upgrade?"
  4006.                 *Usage         = "Public"
  4007.             }
  4008.             *BOOL = "Upgrade2Slot4"
  4009.             {
  4010.                 *Value            =    0
  4011.                 *DisplayName    =    "Upgrade 2"
  4012.                 *Comment     = "Does this weapon have the second upgrade?"
  4013.                 *Usage         = "Public"
  4014.             }
  4015.             *BOOL = "StartsOffWithWeapon4"
  4016.             {
  4017.                 *VALUE    = "False"
  4018.                 *DISPLAYNAME = "Starts Off With Weapon?"
  4019.                 *Comment = "Does the player start out with the weapon in this slot in his inventory?"
  4020.                 *Usage         = "Public"
  4021.             }
  4022.             *Int = "AmmoUPG0Slot4"
  4023.             {
  4024.                 *DisplayName    =    "Base Ammo"
  4025.                 *Value            =    0
  4026.                 *Comment        =    "If the player starts out with the weapon in this slot, how much ammo comes along with it?"
  4027.                 *Usage         = "Public"
  4028.             }
  4029.             *Int = "AmmoUPG1Slot4"
  4030.             {
  4031.                 *DisplayName    =    "Ammo for Upgrade 1"
  4032.                 *Value            =    0
  4033.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  4034.                 *Usage         = "Public"
  4035.             }
  4036.             *Int = "AmmoUPG2Slot4"
  4037.             {
  4038.                 *DisplayName    =    "Ammo for Upgrade 2"
  4039.                 *Value            =    0
  4040.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  4041.                 *Usage         = "Public"
  4042.             }
  4043.         }
  4044.  
  4045.         *Group = "Slot 5"
  4046.         {
  4047.             *Combo = "WeaponSlot5"
  4048.             {
  4049.                 *DisplayName    =    "Weapon"
  4050.                 *Value            =    0
  4051.                 *ComboList        =
  4052.                 {
  4053.                     ; this list must be kept synchronized with WeaponInfo.h!
  4054.                     "War Club",
  4055.                     "Bow",
  4056.                     "TekBow",
  4057.                     "Grenade",
  4058.                     "Pistol",
  4059.                     "Shotgun",
  4060.                     "Machine Gun",
  4061.                     "Launcher",
  4062.                     "Tek Weapon",
  4063.                     "Flame Thrower",
  4064.                     "Guided Device",
  4065.                     "Gravity Disrupter",
  4066.                     "Dark Matter Cube",
  4067.                     "Crossbow"
  4068.                 }
  4069.                 *Usage         = "Public"
  4070.                 *Comment        =    "The weapon that is to be used in this weapon wheel slot."
  4071.             }
  4072.             *BOOL = "Upgrade1Slot5"
  4073.             {
  4074.                 *Value            =    0
  4075.                 *DisplayName    =    "Upgrade 1"
  4076.                 *Comment     = "Does this weapon have the first upgrade?"
  4077.                 *Usage         = "Public"
  4078.             }
  4079.             *BOOL = "Upgrade2Slot5"
  4080.             {
  4081.                 *Value            =    0
  4082.                 *DisplayName    =    "Upgrade 2"
  4083.                 *Comment     = "Does this weapon have the second upgrade?"
  4084.                 *Usage         = "Public"
  4085.             }
  4086.             *BOOL = "StartsOffWithWeapon5"
  4087.             {
  4088.                 *VALUE    = "False"
  4089.                 *DISPLAYNAME = "Starts Off With Weapon?"
  4090.                 *Comment = "Does the player start out with the weapon in this slot in his inventory?"
  4091.                 *Usage         = "Public"
  4092.             }
  4093.             *Int = "AmmoUPG0Slot5"
  4094.             {
  4095.                 *DisplayName    =    "Base Ammo"
  4096.                 *Value            =    0
  4097.                 *Comment        =    "If the player starts out with the weapon in this slot, how much ammo comes along with it?"
  4098.                 *Usage         = "Public"
  4099.             }
  4100.             *Int = "AmmoUPG1Slot5"
  4101.             {
  4102.                 *DisplayName    =    "Ammo for Upgrade 1"
  4103.                 *Value            =    0
  4104.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  4105.                 *Usage         = "Public"
  4106.             }
  4107.             *Int = "AmmoUPG2Slot5"
  4108.             {
  4109.                 *DisplayName    =    "Ammo for Upgrade 2"
  4110.                 *Value            =    0
  4111.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  4112.                 *Usage         = "Public"
  4113.             }
  4114.         }
  4115.         *Group = "Slot 6"
  4116.         {
  4117.             *Combo = "WeaponSlot6"
  4118.             {
  4119.                 *DisplayName    =    "Weapon"
  4120.                 *Value            =    0
  4121.                 *ComboList        =
  4122.                 {
  4123.                     ; this list must be kept synchronized with WeaponInfo.h!
  4124.                     "War Club",
  4125.                     "Bow",
  4126.                     "TekBow",
  4127.                     "Grenade",
  4128.                     "Pistol",
  4129.                     "Shotgun",
  4130.                     "Machine Gun",
  4131.                     "Launcher",
  4132.                     "Tek Weapon",
  4133.                     "Flame Thrower",
  4134.                     "Guided Device",
  4135.                     "Gravity Disrupter",
  4136.                     "Dark Matter Cube",
  4137.                     "Crossbow"
  4138.                 }
  4139.                 *Usage         = "Public"
  4140.                 *Comment        =    "The weapon that is to be used in this weapon wheel slot."
  4141.             }
  4142.             *BOOL = "Upgrade1Slot6"
  4143.             {
  4144.                 *Value            =    0
  4145.                 *DisplayName    =    "Upgrade 1"
  4146.                 *Comment     = "Does this weapon have the first upgrade?"
  4147.                 *Usage         = "Public"
  4148.             }
  4149.             *BOOL = "Upgrade2Slot6"
  4150.             {
  4151.                 *Value            =    0
  4152.                 *DisplayName    =    "Upgrade 2"
  4153.                 *Comment     = "Does this weapon have the second upgrade?"
  4154.                 *Usage         = "Public"
  4155.             }
  4156.             *BOOL = "StartsOffWithWeapon6"
  4157.             {
  4158.                 *VALUE    = "False"
  4159.                 *DISPLAYNAME = "Starts Off With Weapon?"
  4160.                 *Comment = "Does the player start out with the weapon in this slot in his inventory?"
  4161.                 *Usage         = "Public"
  4162.             }
  4163.             *Int = "AmmoUPG0Slot6"
  4164.             {
  4165.                 *DisplayName    =    "Base Ammo"
  4166.                 *Value            =    0
  4167.                 *Comment        =    "If the player starts out with the weapon in this slot, how much ammo comes along with it?"
  4168.                 *Usage         = "Public"
  4169.             }
  4170.             *Int = "AmmoUPG1Slot6"
  4171.             {
  4172.                 *DisplayName    =    "Ammo for Upgrade 1"
  4173.                 *Value            =    0
  4174.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  4175.                 *Usage         = "Public"
  4176.             }
  4177.             *Int = "AmmoUPG2Slot6"
  4178.             {
  4179.                 *DisplayName    =    "Ammo for Upgrade 2"
  4180.                 *Value            =    0
  4181.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  4182.                 *Usage         = "Public"
  4183.             }
  4184.         }
  4185.  
  4186.         *Group = "Slot 7"
  4187.         {
  4188.             *Combo = "WeaponSlot7"
  4189.             {
  4190.                 *DisplayName    =    "Weapon"
  4191.                 *Value            =    0
  4192.                 *ComboList        =
  4193.                 {
  4194.                     ; this list must be kept synchronized with WeaponInfo.h!
  4195.                     "War Club",
  4196.                     "Bow",
  4197.                     "TekBow",
  4198.                     "Grenade",
  4199.                     "Pistol",
  4200.                     "Shotgun",
  4201.                     "Machine Gun",
  4202.                     "Launcher",
  4203.                     "Tek Weapon",
  4204.                     "Flame Thrower",
  4205.                     "Guided Device",
  4206.                     "Gravity Disrupter",
  4207.                     "Dark Matter Cube",
  4208.                     "Crossbow"
  4209.                 }
  4210.                 *Usage         = "Public"
  4211.                 *Comment        =    "The weapon that is to be used in this weapon wheel slot."
  4212.             }
  4213.             *BOOL = "Upgrade1Slot7"
  4214.             {
  4215.                 *Value            =    0
  4216.                 *DisplayName    =    "Upgrade 1"
  4217.                 *Comment     = "Does this weapon have the first upgrade?"
  4218.                 *Usage         = "Public"
  4219.             }
  4220.             *BOOL = "Upgrade2Slot7"
  4221.             {
  4222.                 *Value            =    0
  4223.                 *DisplayName    =    "Upgrade 2"
  4224.                 *Comment     = "Does this weapon have the second upgrade?"
  4225.                 *Usage         = "Public"
  4226.             }
  4227.             *BOOL = "StartsOffWithWeapon7"
  4228.             {
  4229.                 *VALUE    = "False"
  4230.                 *DISPLAYNAME = "Starts Off With Weapon?"
  4231.                 *Comment = "Does the player start out with the weapon in this slot in his inventory?"
  4232.                 *Usage         = "Public"
  4233.             }
  4234.             *Int = "AmmoUPG0Slot7"
  4235.             {
  4236.                 *DisplayName    =    "Base Ammo"
  4237.                 *Value            =    0
  4238.                 *Comment        =    "If the player starts out with the weapon in this slot, how much ammo comes along with it?"
  4239.                 *Usage         = "Public"
  4240.             }
  4241.             *Int = "AmmoUPG1Slot7"
  4242.             {
  4243.                 *DisplayName    =    "Ammo for Upgrade 1"
  4244.                 *Value            =    0
  4245.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  4246.                 *Usage         = "Public"
  4247.             }
  4248.             *Int = "AmmoUPG2Slot7"
  4249.             {
  4250.                 *DisplayName    =    "Ammo for Upgrade 2"
  4251.                 *Value            =    0
  4252.                 *Comment        =    "If the player starts out with this upgrade, how much ammo comes along with it?"
  4253.                 *Usage         = "Public"
  4254.             }
  4255.         }
  4256.  
  4257.  
  4258. ;             *Combo = "WeaponSlot1"
  4259. ;             {
  4260. ;                 *DisplayName     =     "WeaponSlot1"
  4261. ;                 *Value          =     0
  4262. ;                 *ComboList      =
  4263. ;                 {
  4264. ;                     ; this list must be kept synchronized with WeaponInfo.h!
  4265. ;                     "War Club",
  4266. ;                     "Bow",
  4267. ;                     "TekBow",
  4268. ;                     "Grenade",
  4269. ;                     "Pistol",
  4270. ;                     "Sniper Pistol",
  4271. ;                     "Shotgun",
  4272. ;                     "Shotgun MultiLoad",
  4273. ;                     "Machine Gun",
  4274. ;                     "Machine Gun Flechette",
  4275. ;                     "Rocket Launcher",
  4276. ;                     "Cluster Launcher",
  4277. ;                     "Swarm Launcher",
  4278. ;                     "Tech Weapon Pulse",
  4279. ;                     "Tech Weapon Beam",
  4280. ;                     "Tech Weapon Full",
  4281. ;                     "Flame Thrower",
  4282. ;                     "Guided Device",
  4283. ;                     "Gravity Disrupter",
  4284. ;                     "Gravity Disrupter Grapple",
  4285. ;                     "Dark Matter Cube"
  4286. ;                 }
  4287. ;                 *Comment         =     "The weapon that is to be used in this weapon wheel slot."
  4288. ;                 *Usage       = "Public"
  4289. ;             }
  4290. ;             *BOOL = "HasWeaponInSlot1"
  4291. ;             {
  4292. ;                 *VALUE  = "False"
  4293. ;                 *DISPLAYNAME = "Has Weapon in Slot 1?"
  4294. ;                 *Comment = "Does the player start out with the weapon in this slot in his inventory?"
  4295. ;                 *Usage       = "Public"
  4296. ;             }
  4297. ;             *Int = "ClipsForSlot1"
  4298. ;             {
  4299. ;                 *DisplayName     =     "Ammo Clips For Slot 1"
  4300. ;                 *Value          =     1
  4301. ;                 *Comment         =     "If the player starts out with the weapon in this slot, how many clips of ammo comes along with it."
  4302. ;                 *Usage       = "Public"
  4303. ;             }
  4304. ;
  4305. ;
  4306.     }
  4307.  
  4308. }
  4309.  
  4310. ;*Object = "WeaponAmmo"
  4311. ;{
  4312. ;     *Name             =     "Weapon Ammo"
  4313. ;     *Access         =     "Public"
  4314. ;     *Type             =     "Object"
  4315. ;
  4316. ;     ;-----------------------------------
  4317. ;     ; Variables
  4318. ;     ;-----------------------------------
  4319. ;     *Variables  = 
  4320. ;     {
  4321. ;         *Int = "AmmoPerClip"
  4322. ;         {
  4323. ;             *DisplayName     =     "Ammo Per Clip"
  4324. ;             *Value          =     5
  4325. ;             *Min             =     1
  4326. ;             *Max             =     100
  4327. ;             *Comment         =     "The number of rounds of ammo can each clip hold."
  4328. ;         }
  4329. ;
  4330. ;         *Int = "AmmoUsedPerShot"
  4331. ;         {
  4332. ;             *DisplayName     =     "Ammo Used Per Shot"
  4333. ;             *Value          =     1
  4334. ;             *Min             =     0
  4335. ;             *Max             =     100
  4336. ;             *Comment         =     "The number of rounds of ammo that is used each time the weapon is fired."
  4337. ;         }
  4338. ;
  4339. ;         *Float = "MuzzleRidingXFactor"
  4340. ;         {
  4341. ;             *DisplayName     =     "Muzzle Riding X Factor"
  4342. ;             *Value          =     0.1
  4343. ;             *Min             =     0.0
  4344. ;             *Max             =     10.0
  4345. ;             *Comment         =     "The amount by which the weapon will move left/right while firing."
  4346. ;         }
  4347. ;
  4348. ;         *Float = "MuzzleRidingYFactor"
  4349. ;         {
  4350. ;             *DisplayName     =     "Muzzle Riding Y Factor"
  4351. ;             *Value          =     0.1
  4352. ;             *Min             =     0.0
  4353. ;             *Max             =     10.0
  4354. ;             *Comment         =     "The amount by which the weapon will move up/down while firing."
  4355. ;         }
  4356. ;     }
  4357. ;}
  4358. ;------------------------------------------------------------------------------
  4359. ; Weapon Object
  4360. ;------------------------------------------------------------------------------
  4361. *OBJECT = "WeaponObject"
  4362. {
  4363.     *NAME    = "Weapon"
  4364. ;     *INHERITS = "WeaponAmmo"
  4365.     *INHERITS = "TurokAIObject"
  4366.     *TYPE    = "OBJECT"
  4367.     *UseInActorEd = "False"
  4368.  
  4369.     *VARIABLES = 
  4370.     {
  4371.         *Combo = "Weapon"
  4372.         {
  4373.             *DisplayName    =    "Weapon"
  4374.             *Value            =    0
  4375.             *ComboList        =
  4376.             {
  4377.                 ; this list must be kept synchronized with WeaponInfo.h!
  4378.                 "War Club",
  4379.                 "Bow",
  4380.                 "TekBow",
  4381.                 "Grenade",
  4382.                 "Pistol",
  4383.                 "Shotgun",
  4384.                 "Machine Gun",
  4385.                 "Launcher",
  4386.                 "Tek Weapon",
  4387.                 "Flame Thrower",
  4388.                 "Guided Device",
  4389.                 "Gravity Disrupter",
  4390.                 "Dark Matter Cube",
  4391.                 "Crossbow"
  4392.             }
  4393.             *Comment        =    "The weapon type."
  4394.         }
  4395.  
  4396.         *Group = "Base Weapon"
  4397.         {
  4398.             *PICKFROMFILE = "WeaponNameBase"
  4399.             {
  4400.                 *VALUE = "ID_NONE"
  4401.                 *FILE = "$/\data\EnglishText.txt"
  4402.                 *DISPLAYNAME = "Weapon Name"
  4403.             }
  4404.  
  4405.  
  4406.             *BOOL = "UsableUnderWaterBase"
  4407.             {
  4408.                 *VALUE    = "False"
  4409.                 *DISPLAYNAME = "Usable Under Water?"
  4410.                 *Comment = "Can this weapon be used underwater?"
  4411.             }
  4412.  
  4413.             *BOOL = "TwoHandedWeaponBase"
  4414.             {
  4415.                 *VALUE    = "False"
  4416.                 *DISPLAYNAME = "Two Handed Weapon?"
  4417.                 *Comment = "Is this a two handed weapon?"
  4418.             }
  4419.  
  4420.             *BOOL = "UsableWhenClimbingBase"
  4421.             {
  4422.                 *VALUE    = "False"
  4423.                 *DISPLAYNAME = "Usable When Climbing?"
  4424.                 *Comment = "Can this weapon be used while climbing?"
  4425.             }
  4426.  
  4427.             *Combo = "WeaponTypeBase"
  4428.             {
  4429.                 *DisplayName    =    "Weapon Type"
  4430.                 *Value            =    0
  4431.                 *ComboList        =
  4432.                 {
  4433.                     "Melee",
  4434.                     "Primitive Projectile",
  4435.                     "Thrown",
  4436.                     "Ballistic"
  4437.                 }
  4438.             }
  4439.  
  4440.             *Group =  "Onscreen Position"
  4441.             {
  4442.                 *Float = "PositionXBase"
  4443.                 {
  4444.                     *DisplayName    =    "X"
  4445.                     *Value            =    0.0
  4446.                 }
  4447.                 *Float = "PositionYBase"
  4448.                 {
  4449.                     *DisplayName    =    "Y"
  4450.                     *Value            =    0.0
  4451.                 }
  4452.                 *Float = "PositionZBase"
  4453.                 {
  4454.                     *DisplayName    =    "Z"
  4455.                     *Value            =    0.0
  4456.                 }
  4457.                 *Float = "ScaleBase"
  4458.                 {
  4459.                     *DisplayName    =    "Scale"
  4460.                     *Value            =    1.0
  4461.                 }
  4462.             }
  4463.  
  4464.             *Group =  "Ammo"
  4465.             {
  4466.                 *Int = "AmmoPerClipBase"
  4467.                 {
  4468.                     *DisplayName    =    "Ammo Per Clip"
  4469.                     *Value            =    5
  4470.                     *Min            =    1
  4471.                     *Max            =    100
  4472.                     *Comment        =    "The number of rounds of ammo can each clip hold."
  4473.                 }
  4474.  
  4475.                 *Int = "AmmoUsedPerShotBase"
  4476.                 {
  4477.                     *DisplayName    =    "Ammo Used Per Shot"
  4478.                     *Value            =    1
  4479.                     *Min            =    0
  4480.                     *Max            =    100
  4481.                     *Comment        =    "The number of rounds of ammo that is used each time the weapon is fired."
  4482.                 }
  4483.  
  4484.                 *Float = "MuzzleRidingXFactorBase"
  4485.                 {
  4486.                     *DisplayName    =    "Muzzle Riding X Factor"
  4487.                     *Value            =    0.1
  4488.                     *Min            =    0.0
  4489.                     *Max            =    10.0
  4490.                     *Comment        =    "The amount by which the weapon will move left/right while firing."
  4491.                 }
  4492.  
  4493.                 *Float = "MuzzleRidingYFactorBase"
  4494.                 {
  4495.                     *DisplayName    =    "Muzzle Riding Y Factor"
  4496.                     *Value            =    0.1
  4497.                     *Min            =    0.0
  4498.                     *Max            =    10.0
  4499.                     *Comment        =    "The amount by which the weapon will move up/down while firing."
  4500.                 }
  4501.             }
  4502.         }
  4503.  
  4504.  
  4505.         *Group = "Upgrade1"
  4506.         {
  4507.             *BOOL = "IsUpgrade1"
  4508.             {
  4509.                 *VALUE    = "False"
  4510.                 *DISPLAYNAME = "Level 1 Upgrade?"
  4511.                 *Comment = "Set to True if this weapon has this level upgrade. Fill out the rest of the data in this group"
  4512.                 *Comment = ""
  4513.                 *Comment = "If False, the weapon will not have this level upgrade and the rest of the data in this group"
  4514.                 *Comment = "will be ignored."
  4515.             }
  4516.  
  4517. ;             *Combo = "Upgrade1"
  4518. ;             {
  4519. ;                 *DisplayName     =     "Upgrade 1"
  4520. ;                 *Value          =     0
  4521. ;                 *ComboList      =
  4522. ;                 {
  4523. ;                     "None",
  4524. ;                     "1",
  4525. ;                     "2"
  4526. ;                 }
  4527. ;                 *Comment      = "The upgrade, if any, this weapon has."
  4528. ;             }
  4529.  
  4530.             *PICKFROMFILE = "WeaponNameUpgrade1"
  4531.             {
  4532.                 *VALUE = "ID_NONE"
  4533.                 *FILE = "$/\data\EnglishText.txt"
  4534.                 *DISPLAYNAME = "Weapon Name"
  4535.             }
  4536.  
  4537.  
  4538.             *BOOL = "UsableUnderWaterUpgrade1"
  4539.             {
  4540.                 *VALUE    = "False"
  4541.                 *DISPLAYNAME = "Usable Under Water?"
  4542.                 *Comment = "Can this weapon be used underwater?"
  4543.             }
  4544.  
  4545.             *BOOL = "TwoHandedWeaponUpgrade1"
  4546.             {
  4547.                 *VALUE    = "False"
  4548.                 *DISPLAYNAME = "Two Handed Weapon?"
  4549.                 *Comment = "Is this a two handed weapon?"
  4550.             }
  4551.  
  4552.             *BOOL = "UsableWhenClimbingUpgrade1"
  4553.             {
  4554.                 *VALUE    = "False"
  4555.                 *DISPLAYNAME = "Usable When Climbing?"
  4556.                 *Comment = "Can this weapon be used while climbing?"
  4557.             }
  4558.  
  4559.             *Combo = "WeaponTypeUpgrade1"
  4560.             {
  4561.                 *DisplayName    =    "Weapon Type"
  4562.                 *Value            =    0
  4563.                 *ComboList        =
  4564.                 {
  4565.                     "Melee",
  4566.                     "Primitive Projectile",
  4567.                     "Thrown",
  4568.                     "Ballistic"
  4569.                 }
  4570.             }
  4571.  
  4572.             *Group =  "Onscreen Position"
  4573.             {
  4574.                 *Float = "PositionXUpgrade1"
  4575.                 {
  4576.                     *DisplayName    =    "X"
  4577.                     *Value            =    0.0
  4578.                 }
  4579.                 *Float = "PositionYUpgrade1"
  4580.                 {
  4581.                     *DisplayName    =    "Y"
  4582.                     *Value            =    0.0
  4583.                 }
  4584.                 *Float = "PositionZUpgrade1"
  4585.                 {
  4586.                     *DisplayName    =    "Z"
  4587.                     *Value            =    -1.5
  4588.                 }
  4589.                 *Float = "ScaleUpgrade1"
  4590.                 {
  4591.                     *DisplayName    =    "Scale"
  4592.                     *Value            =    1.0
  4593.                 }
  4594.             }
  4595.  
  4596.             *Group =  "Ammo"
  4597.             {
  4598.                 *Int = "AmmoPerClipUpgrade1"
  4599.                 {
  4600.                     *DisplayName    =    "Ammo Per Clip"
  4601.                     *Value            =    5
  4602.                     *Min            =    1
  4603.                     *Max            =    100
  4604.                     *Comment        =    "The number of rounds of ammo can each clip hold."
  4605.                 }
  4606.  
  4607.                 *Int = "AmmoUsedPerShotUpgrade1"
  4608.                 {
  4609.                     *DisplayName    =    "Ammo Used Per Shot"
  4610.                     *Value            =    1
  4611.                     *Min            =    0
  4612.                     *Max            =    100
  4613.                     *Comment        =    "The number of rounds of ammo that is used each time the weapon is fired."
  4614.                 }
  4615.  
  4616.                 *Float = "MuzzleRidingXFactorUpgrade1"
  4617.                 {
  4618.                     *DisplayName    =    "Muzzle Riding X Factor"
  4619.                     *Value            =    0.1
  4620.                     *Min            =    0.0
  4621.                     *Max            =    10.0
  4622.                     *Comment        =    "The amount by which the weapon will move left/right while firing."
  4623.                 }
  4624.  
  4625.                 *Float = "MuzzleRidingYFactorUpgrade1"
  4626.                 {
  4627.                     *DisplayName    =    "Muzzle Riding Y Factor"
  4628.                     *Value            =    0.1
  4629.                     *Min            =    0.0
  4630.                     *Max            =    10.0
  4631.                     *Comment        =    "The amount by which the weapon will move up/down while firing."
  4632.                 }
  4633.             }
  4634.         }
  4635.     
  4636.         *Group = "Upgrade2"
  4637.         {
  4638.             *BOOL = "IsUpgrade2"
  4639.             {
  4640.                 *VALUE    = "False"
  4641.                 *DISPLAYNAME = "Level 2 Upgrade?"
  4642.                 *Comment = "Set to True if this weapon has this level upgrade. Fill out the rest of the data in this group"
  4643.                 *Comment = ""
  4644.                 *Comment = "If False, the weapon will not have this level upgrade and the rest of the data in this group"
  4645.                 *Comment = "will be ignored."
  4646.             }
  4647.  
  4648.             *PICKFROMFILE = "WeaponNameUpgrade2"
  4649.             {
  4650.                 *VALUE = "ID_NONE"
  4651.                 *FILE = "$/\data\EnglishText.txt"
  4652.                 *DISPLAYNAME = "Weapon Name"
  4653.             }
  4654.  
  4655.  
  4656.             *BOOL = "UsableUnderWaterUpgrade2"
  4657.             {
  4658.                 *VALUE    = "False"
  4659.                 *DISPLAYNAME = "Usable Under Water?"
  4660.                 *Comment = "Can this weapon be used underwater?"
  4661.             }
  4662.  
  4663.             *BOOL = "TwoHandedWeaponUpgrade2"
  4664.             {
  4665.                 *VALUE    = "False"
  4666.                 *DISPLAYNAME = "Two Handed Weapon?"
  4667.                 *Comment = "Is this a two handed weapon?"
  4668.             }
  4669.  
  4670.             *BOOL = "UsableWhenClimbingUpgrade2"
  4671.             {
  4672.                 *VALUE    = "False"
  4673.                 *DISPLAYNAME = "Usable When Climbing?"
  4674.                 *Comment = "Can this weapon be used while climbing?"
  4675.             }
  4676.  
  4677.             *Combo = "WeaponTypeUpgrade2"
  4678.             {
  4679.                 *DisplayName    =    "Weapon Type"
  4680.                 *Value            =    0
  4681.                 *ComboList        =
  4682.                 {
  4683.                     "Melee",
  4684.                     "Primitive Projectile",
  4685.                     "Thrown",
  4686.                     "Ballistic"
  4687.                 }
  4688.             }
  4689.  
  4690.             *Group =  "Onscreen Position"
  4691.             {
  4692.                 *Float = "PositionXUpgrade2"
  4693.                 {
  4694.                     *DisplayName    =    "X"
  4695.                     *Value            =    0.0
  4696.                 }
  4697.                 *Float = "PositionYUpgrade2"
  4698.                 {
  4699.                     *DisplayName    =    "Y"
  4700.                     *Value            =    0.0
  4701.                 }
  4702.                 *Float = "PositionZUpgrade2"
  4703.                 {
  4704.                     *DisplayName    =    "Z"
  4705.                     *Value            =    -1.5
  4706.                 }
  4707.                 *Float = "ScaleUpgrade2"
  4708.                 {
  4709.                     *DisplayName    =    "Scale"
  4710.                     *Value            =    1.0
  4711.                 }
  4712.             }
  4713.  
  4714.             *Group =  "Ammo"
  4715.             {
  4716.                 *Int = "AmmoPerClipUpgrade2"
  4717.                 {
  4718.                     *DisplayName    =    "Ammo Per Clip"
  4719.                     *Value            =    5
  4720.                     *Min            =    1
  4721.                     *Max            =    100
  4722.                     *Comment        =    "The number of rounds of ammo can each clip hold."
  4723.                 }
  4724.  
  4725.                 *Int = "AmmoUsedPerShotUpgrade2"
  4726.                 {
  4727.                     *DisplayName    =    "Ammo Used Per Shot"
  4728.                     *Value            =    1
  4729.                     *Min            =    0
  4730.                     *Max            =    100
  4731.                     *Comment        =    "The number of rounds of ammo that is used each time the weapon is fired."
  4732.                 }
  4733.  
  4734.                 *Float = "MuzzleRidingXFactorUpgrade2"
  4735.                 {
  4736.                     *DisplayName    =    "Muzzle Riding X Factor"
  4737.                     *Value            =    0.1
  4738.                     *Min            =    0.0
  4739.                     *Max            =    10.0
  4740.                     *Comment        =    "The amount by which the weapon will move left/right while firing."
  4741.                 }
  4742.  
  4743.                 *Float = "MuzzleRidingYFactorUpgrade2"
  4744.                 {
  4745.                     *DisplayName    =    "Muzzle Riding Y Factor"
  4746.                     *Value            =    0.1
  4747.                     *Min            =    0.0
  4748.                     *Max            =    10.0
  4749.                     *Comment        =    "The amount by which the weapon will move up/down while firing."
  4750.                 }
  4751.             }
  4752.         }
  4753.     }
  4754. }
  4755.  
  4756. *OBJECT = "WarClubObject"
  4757. {
  4758.     *NAME    = "WarClubObject"
  4759.     *INHERITS = "WeaponObject"
  4760.     *TYPE    = "OBJECT"
  4761.     *UseInActorEd = "True"
  4762.  
  4763.     ;-----------------------------------
  4764.     ; Variables
  4765.     ;-----------------------------------
  4766.     *Variables    = 
  4767.     {
  4768.         *Float = "RelaxDelay"
  4769.         {
  4770.             *DisplayName    =    "Relax Delay"
  4771.             *Value            =    5.0
  4772.             *Comment        =    "The amount of time, in seconds, to stay in Idle Mode before"
  4773.             *Comment        =    "entering Relax Idle Mode."
  4774.             *Usage         = "Protected"
  4775.         }
  4776.     }
  4777.  
  4778.     *AIMODES = 
  4779.     {
  4780.         IdleRelax,      
  4781.         IdleRelaxEnter,
  4782.         IdleRelaxExit, 
  4783.         Enter,          
  4784.         Exit,          
  4785.         Idle,          
  4786.         Fire,          
  4787.         FireReturn,   
  4788.         Combo1,       
  4789.         Combo1Return,  
  4790.         Combo2,       
  4791.         Combo2Return,  
  4792.         Combo3,       
  4793.         Combo3Return,  
  4794.         Charge,       
  4795.         ChargeReturn
  4796.     }
  4797. }
  4798.  
  4799. *OBJECT = "BowObject"
  4800. {
  4801.     *NAME    = "BowObject"
  4802.     *INHERITS = "WeaponObject"
  4803.     *TYPE    = "OBJECT"
  4804.     *UseInActorEd = "True"
  4805.  
  4806.     ;-----------------------------------
  4807.     ; Variables
  4808.     ;-----------------------------------
  4809.     *Variables    = 
  4810.     {
  4811.         *FilePick = "SparkleParticle"
  4812.         {
  4813.             *DISPLAYNAME = "Sparkle Particle"
  4814.             *Value        =    ""
  4815.             *Directory      =   "$\Data\Particle"
  4816.             *Extension      =   "par"
  4817.             *Extension      =   "eff"
  4818.         }
  4819.         *FilePick = "NormalArrow"
  4820.         {
  4821.             *DISPLAYNAME = "Normal Arrow"
  4822.             *Value        =    ""
  4823.             *Directory      =   "$\Data\Particle"
  4824.             *Extension      =   "par"
  4825.             *Extension      =   "eff"
  4826.         }
  4827.         *FilePick = "ExplosiveArrow"
  4828.         {
  4829.             *DISPLAYNAME = "Explosive Arrow"
  4830.             *Value        =    ""
  4831.             *Directory      =   "$\Data\Particle"
  4832.             *Extension      =   "par"
  4833.             *Extension      =   "eff"
  4834.         }
  4835.         *Float = "SnipeFOV"
  4836.         {
  4837.             *DisplayName    =    "Snipe FOV"
  4838.             *Value            =    18.0
  4839.             *Min            =    10.0
  4840.             *Max            =    90.0
  4841.             *Comment        =    "The field of view used for snipe mode."
  4842.             *Comment        =    "Normal is ~75."
  4843.             *Comment        =    "The smaller the number means the more you zoom in."
  4844.             *Usage         = "Protected"
  4845.         }
  4846.         *Float = "HoldMod"
  4847.         {
  4848.             *DisplayName    =    "Hold Modifier"
  4849.             *Value            =    2.0
  4850.             *Min            =    0.10
  4851.             *Max            =    90.0
  4852.             *Comment        =    "This is the amount of effect each second has on the Bow Wobble"
  4853.             *Usage         = "Protected"
  4854.         }
  4855.         *Float = "BaseWobble"
  4856.         {
  4857.             *DisplayName    =    "Base Wobble"
  4858.             *Value            =    4.0
  4859.             *Min            =    1.0
  4860.             *Max            =    90.0
  4861.             *Comment        =    "This is the base value used for wobble rotation."
  4862.             *Usage         = "Protected"
  4863.         }
  4864.         *Float = "RandWobble"
  4865.         {
  4866.             *DisplayName    =    "Random Wobble"
  4867.             *Value            =    2.0
  4868.             *Min            =    1.0
  4869.             *Max            =    90.0
  4870.             *Comment        =    "This is a random amount of wobble added to rotation."
  4871.             *Usage         = "Protected"
  4872.         }
  4873.     }
  4874.  
  4875.     *AIMODES = 
  4876.     {
  4877.         Enter,
  4878.         Exit,
  4879.         Idle,
  4880.         PullBack,
  4881.         Hold,
  4882.         Release,
  4883.         ReleaseDbl,
  4884.             Reload,
  4885.         DefaultIdle,
  4886.             SnipeEnter,
  4887.             SnipeExit,
  4888.         ShortFire,
  4889.         SwitchToExplosive,
  4890.         SwitchToNormal,
  4891.         ShortExplodeFire,
  4892.         EmptyToLoaded,
  4893.         FireToEmpty,
  4894.         IdleEmpty,
  4895.         ExitEmpty
  4896.     }
  4897. }
  4898.  
  4899.  
  4900. *OBJECT = "Shotgun"
  4901. {
  4902.     *NAME    = "Shotgun"
  4903.     *INHERITS = "WeaponObject"
  4904.     *TYPE    = "OBJECT"
  4905.     *UseInActorEd = "True"
  4906.  
  4907.  
  4908.     *AIMODES = 
  4909.     {
  4910.         Enter,
  4911.         Exit,
  4912.         Idle,
  4913.         Fire,
  4914.         Fire2,
  4915.         Fire3,
  4916.         Fire4,
  4917.             Reload,
  4918.         Switch,
  4919.         DefaultIdle
  4920.     }
  4921.     *Sound = "DryClick"
  4922.     {
  4923.         *DisplayName    =   "No Ammo Click Sound"
  4924.     }
  4925. }
  4926.  
  4927. *OBJECT = "SuperShotgun"
  4928. {
  4929.     *NAME    = "SuperShotgun"
  4930.     *INHERITS = "WeaponObject"
  4931.     *TYPE    = "OBJECT"
  4932.     *UseInActorEd = "True"
  4933.  
  4934.  
  4935.     *AIMODES = 
  4936.     {
  4937.         Enter,
  4938.         Exit,
  4939.         Idle,
  4940.         Fire,
  4941.             Reload,
  4942.         BigShot
  4943.     }
  4944. }
  4945.  
  4946. *OBJECT = "FlameThrower"
  4947. {
  4948.     *NAME    = "FlameThrower"
  4949.     *INHERITS = "WeaponObject"
  4950.     *TYPE    = "OBJECT"
  4951.     *UseInActorEd = "True"
  4952.  
  4953.     ;-----------------------------------
  4954.     ; Variables
  4955.     ;-----------------------------------
  4956.     *Variables    = 
  4957.     {
  4958.         *FilePick           =   "FTName"
  4959.         {
  4960.             *DisplayName    =   "Flame Particle"
  4961.             *Value          =   ""
  4962.             *Directory      =   "$\Data\Particle\"
  4963.             *Extension      =   "par"
  4964.             *Extension      =   "eff"
  4965.             *Comment        =   "This is the Flame Thrower particle to spawn."
  4966.         }
  4967.         *Sound = "DryClick"
  4968.         {
  4969.             *DisplayName    =   "No Ammo Click Sound"
  4970.         }
  4971.     }
  4972.  
  4973.     *AIMODES = 
  4974.     {
  4975.         Enter,
  4976.         Exit,
  4977.         Idle,
  4978.         DefaultIdle,
  4979.         Fire,
  4980.         FireLoop,
  4981.         FireEnd,
  4982.         NapalmLaunch,
  4983.         Reload,
  4984.         Switch
  4985.     }
  4986. }
  4987.  
  4988. *OBJECT = "MiniGun"
  4989. {
  4990.     *NAME    = "MiniGun"
  4991.     *INHERITS = "WeaponObject"
  4992.     *TYPE    = "OBJECT"
  4993.     *UseInActorEd = "True"
  4994.  
  4995.  
  4996.     *AIMODES = 
  4997.     {
  4998.         Flc_Enter,
  4999.         Flc_Exit,
  5000.         Flc_Fire,
  5001.         Flc_Idle,
  5002.         Flc_to_Mni,
  5003.         Mni_Enter,
  5004.         Mni_Exit,
  5005.         Mni_Fire,
  5006.         Mni_to_Flc,
  5007.         Mni_Idle,
  5008.         Mni_SpinUp,
  5009.         Mni_SpinDown,
  5010.         Upg_Flc_Enter,
  5011.         Upg_Mni_Enter
  5012.     }
  5013.     *Sound = "DryClick"
  5014.     {
  5015.         *DisplayName    =   "No Ammo Click Sound"
  5016.     }
  5017.     *Sound = "SpinSound"
  5018.     {
  5019.         *DisplayName    =   "Sound to use for both the spin up and spin down."
  5020.     }
  5021. }
  5022.  
  5023. *OBJECT = "GasGrenade"
  5024. {
  5025.     *NAME    = "GasGrenade"
  5026.     *INHERITS = "WeaponObject"
  5027.     *TYPE    = "OBJECT"
  5028.     *UseInActorEd = "True"
  5029.  
  5030.  
  5031.     *AIMODES = 
  5032.     {
  5033.         Enter,
  5034.         Exit,
  5035.         Idle,
  5036.         Fire,
  5037.             Reload
  5038.     }
  5039. }
  5040.  
  5041. *OBJECT = "Mine"
  5042. {
  5043.     *NAME    = "Mine"
  5044.     *INHERITS = "WeaponObject"
  5045.     *TYPE    = "OBJECT"
  5046.     *UseInActorEd = "True"
  5047.  
  5048.  
  5049.     *AIMODES = 
  5050.     {
  5051.         Enter,
  5052.         Exit,
  5053.         Idle,
  5054.         Fire,
  5055.             Reload
  5056.     }
  5057. }
  5058.  
  5059. *OBJECT = "RocketLauncher"
  5060. {
  5061.     *NAME    = "RocketLauncher"
  5062.     *INHERITS = "WeaponObject"
  5063.     *TYPE    = "OBJECT"
  5064.     *UseInActorEd = "True"
  5065.  
  5066.  
  5067.     *AIMODES = 
  5068.     {
  5069.         Enter,
  5070.         RocketExit,
  5071.         SwarmExit,
  5072.         NukeExit,
  5073.         EmptyToRocket,
  5074.         EmptyToSwarm,
  5075.         EmptyToNuke,
  5076.         RocketToEmpty,
  5077.         SwarmToEmpty,
  5078.         NukeToEmpty,
  5079.         RocketFire,
  5080.         SwarmFire,
  5081.         NukeCharge,
  5082.         NukeFire,
  5083.         RocketIdle,
  5084.         SwarmIdle,
  5085.         NukeIdle,
  5086.         RocketDefaultIdle,
  5087.         SwarmDefaultIdle,
  5088.         NukeDefaultIdle,
  5089.     }
  5090.  
  5091.     *Variables    = 
  5092.     {
  5093.         *FilePick           =   "CrosshairName"
  5094.         {
  5095.             *DisplayName    =   "Crosshair Name"
  5096.             *Value          =   ""
  5097.             *Directory      =   "$\Data\Textures\"
  5098.             *Extension      =   "bmp"
  5099.             *Extension      =   "jpg"
  5100.             *Extension      =   "tga"
  5101.             *Comment        =   "The sprite used for the Rocket Launcher lock crosshair"
  5102.         }
  5103.  
  5104.         *Sound = "DryClick"
  5105.         {
  5106.             *DisplayName    =   "No Ammo Click Sound"
  5107.         }
  5108.  
  5109.         *Sound = "LockOnSound"
  5110.             {
  5111.                     *DisplayName    =   "Swarm Bore Lock On Sound"
  5112.         }
  5113.     }
  5114. }
  5115.  
  5116. *OBJECT = "TekBow"
  5117. {
  5118.     *NAME    = "TekBow"
  5119.     *INHERITS = "WeaponObject"
  5120.     *TYPE    = "OBJECT"
  5121.     *UseInActorEd = "True"
  5122.  
  5123.     ;-----------------------------------
  5124.     ; Variables
  5125.     ;-----------------------------------
  5126.     *Variables    = 
  5127.     {
  5128.         *Float = "SnipeFOV"
  5129.         {
  5130.             *DisplayName    =    "Snipe FOV"
  5131.             *Value            =    18.0
  5132.             *Min            =    10.0
  5133.             *Max            =    90.0
  5134.             *Comment        =    "The field of view used for snipe mode."
  5135.             *Comment        =    "Normal FOV is ~75."
  5136.             *Comment        =    "The smaller the number means the more you zoom in."
  5137.             *Usage         = "Protected"
  5138.         }
  5139.             *FilePick           =   "SPOlName"
  5140.             {
  5141.                 *DisplayName    =   "Sniper Overlay"
  5142.                 *Value          =   ""
  5143.                 *Directory      =   "$\Data\Textures\"
  5144.                 *Extension      =   "tga"
  5145.                 *Extension      =   "bmp"
  5146.                 *Comment        =   "This is the Snipe mode screen overlay."
  5147.             }
  5148.         *Float = "BaseWobble"
  5149.         {
  5150.             *DisplayName    =    "Base Wobble"
  5151.             *Value            =    4.0
  5152.             *Min            =    1.0
  5153.             *Max            =    90.0
  5154.             *Comment        =    "This is the base value used for wobble rotation."
  5155.             *Usage         = "Protected"
  5156.         }
  5157.         *Float = "RandWobble"
  5158.         {
  5159.             *DisplayName    =    "Random Wobble"
  5160.             *Value            =    2.0
  5161.             *Min            =    1.0
  5162.             *Max            =    90.0
  5163.             *Comment        =    "This is a random amount of wobble added to rotation."
  5164.             *Usage         = "Protected"
  5165.         }
  5166.         *FilePick = "NormalArrow"
  5167.         {
  5168.             *DISPLAYNAME = "Normal Arrow"
  5169.             *Value        =    ""
  5170.             *Directory      =   "$\Data\Particle"
  5171.             *Extension      =   "par"
  5172.             *Extension      =   "eff"
  5173.         }
  5174.         *FilePick = "ExplosiveArrow"
  5175.         {
  5176.             *DISPLAYNAME = "Explosive Arrow"
  5177.             *Value        =    ""
  5178.             *Directory      =   "$\Data\Particle"
  5179.             *Extension      =   "par"
  5180.             *Extension      =   "eff"
  5181.         }
  5182.         *FilePick = "PoisonArrow"
  5183.         {
  5184.             *DISPLAYNAME = "Poison Arrow"
  5185.             *Value        =    ""
  5186.             *Directory      =   "$\Data\Particle"
  5187.             *Extension      =   "par"
  5188.             *Extension      =   "eff"
  5189.         }
  5190.     }
  5191.  
  5192.     *AIMODES = 
  5193.     {
  5194.         Enter,
  5195.         Exit,
  5196.         Idle,
  5197.         PullBack,
  5198.         Hold,
  5199.         Release,
  5200.         Reload,
  5201.         DefaultIdle,
  5202.         SnipeEnter,
  5203.         SnipeExit,
  5204.         SnipeFire,
  5205.         SwitchToExplosive,
  5206.         SwitchToPoison,
  5207.         SwitchToBroadHead,
  5208.         EmptyToLoaded,
  5209.         FireToEmpty,
  5210.         IdleEmpty,
  5211.         ExitEmpty
  5212.     }
  5213. }
  5214.  
  5215.  
  5216. *OBJECT = "CrossBow"
  5217. {
  5218.     *NAME    = "CrossBow"
  5219.     *INHERITS = "WeaponObject"
  5220.     *TYPE    = "OBJECT"
  5221.     *UseInActorEd = "True"
  5222.  
  5223.     ;-----------------------------------
  5224.     ; Variables
  5225.     ;-----------------------------------
  5226.     *Variables    = 
  5227.     {
  5228.         *Float = "SnipeFOV"
  5229.         {
  5230.             *DisplayName    =    "Snipe FOV"
  5231.             *Value            =    18.0
  5232.             *Min            =    10.0
  5233.             *Max            =    90.0
  5234.             *Comment        =    "The field of view used for snipe mode."
  5235.             *Comment        =    "Normal FOV is ~75."
  5236.             *Comment        =    "The smaller the number means the more you zoom in."
  5237.             *Usage         = "Protected"
  5238.         }
  5239.             *FilePick           =   "SPOlName"
  5240.             {
  5241.                 *DisplayName    =   "Sniper Overlay"
  5242.                 *Value          =   ""
  5243.                 *Directory      =   "$\Data\Textures\"
  5244.                 *Extension      =   "tga"
  5245.                 *Extension      =   "bmp"
  5246.                 *Comment        =   "This is the Snipe mode screen overlay."
  5247.             }
  5248.         *Float = "BaseWobble"
  5249.         {
  5250.             *DisplayName    =    "Base Wobble"
  5251.             *Value            =    4.0
  5252.             *Min            =    1.0
  5253.             *Max            =    90.0
  5254.             *Comment        =    "This is the base value used for wobble rotation."
  5255.             *Usage         = "Protected"
  5256.         }
  5257.         *Float = "RandWobble"
  5258.         {
  5259.             *DisplayName    =    "Random Wobble"
  5260.             *Value            =    2.0
  5261.             *Min            =    1.0
  5262.             *Max            =    90.0
  5263.             *Comment        =    "This is a random amount of wobble added to rotation."
  5264.             *Usage         = "Protected"
  5265.         }
  5266.         *FilePick = "NormalArrow"
  5267.         {
  5268.             *DISPLAYNAME = "Normal Arrow"
  5269.             *Value        =    ""
  5270.             *Directory      =   "$\Data\Particle"
  5271.             *Extension      =   "par"
  5272.             *Extension      =   "eff"
  5273.         }
  5274.         *FilePick = "ExplosiveArrow"
  5275.         {
  5276.             *DISPLAYNAME = "Explosive Arrow"
  5277.             *Value        =    ""
  5278.             *Directory      =   "$\Data\Particle"
  5279.             *Extension      =   "par"
  5280.             *Extension      =   "eff"
  5281.         }
  5282.         *FilePick = "PoisonArrow"
  5283.         {
  5284.             *DISPLAYNAME = "Poison Arrow"
  5285.             *Value        =    ""
  5286.             *Directory      =   "$\Data\Particle"
  5287.             *Extension      =   "par"
  5288.             *Extension      =   "eff"
  5289.         }
  5290.     }
  5291.  
  5292.     *AIMODES = 
  5293.     {
  5294.         Enter,
  5295.         ExitA,
  5296.         ExitB,
  5297.         IdleA,
  5298.         IdleB,
  5299.         PullBack,
  5300.         Hold,
  5301.         Release,
  5302.         Reload,
  5303.         DefaultIdle,
  5304.         SnipeEnterA,
  5305.         SnipeEnterB,
  5306.         SnipeExitA,
  5307.         SnipeExitB,
  5308.         SnipeFire,
  5309.         SwitchToExplosive,
  5310.         SwitchToPoison,
  5311.         SwitchToBroadHead
  5312.     }
  5313. }
  5314.  
  5315.  
  5316. *OBJECT = "DarkMatterCube"
  5317. {
  5318.     *NAME    = "DarkMatterCube"
  5319.     *INHERITS = "WeaponObject"
  5320.     *TYPE    = "OBJECT"
  5321.     *UseInActorEd = "True"
  5322.  
  5323.  
  5324.     ;-----------------------------------
  5325.     ; Variables
  5326.     ;-----------------------------------
  5327.     *Variables    = 
  5328.     {
  5329.         *Float = "MaxHoldTime"
  5330.         {
  5331.             *DisplayName    =    "Max Hold Time"
  5332.             *Value            =    2
  5333.             *Comment        =    "The amount of time, in seconds, that the code pays attention"
  5334.             *Comment        =    "to holding down the button."
  5335.             *Usage         = "Public"
  5336.         }
  5337.         *Float = "MaxThrowDist"
  5338.         {
  5339.             *DisplayName    =    "Max Throw Distance"
  5340.             *Value            =    12
  5341.             *Comment        =    "This is the maximum velocity (which relates to the maximum distance)"
  5342.             *Comment        =    "that the grenade has upon leaving Tal'Set's hand."
  5343.             *Usage         = "Public"
  5344.         }
  5345.         *Float = "MinThrowDist"
  5346.         {
  5347.             *DisplayName    =    "Min Throw Distance"
  5348.             *Value            =    5
  5349.             *Comment        =    "This is the minimum velocity (which relates to the maximum distance)"
  5350.             *Comment        =    "that the grenade has upon leaving Tal'Set's hand."
  5351.             *Usage         = "Public"
  5352.         }
  5353.     }
  5354.  
  5355.     *AIMODES = 
  5356.     {
  5357.         Enter,
  5358.         Exit,
  5359.         Idle,
  5360.         DefaultIdle,
  5361.         Fire,
  5362.         ImplodeTransform,
  5363.         ExplodeTransform,
  5364.         Pullback
  5365.     }
  5366. }
  5367.  
  5368. *OBJECT = "SniperPistol"
  5369. {
  5370.     *NAME    = "SniperPistol"
  5371.     *INHERITS = "WeaponObject"
  5372.     *TYPE    = "OBJECT"
  5373.     *UseInActorEd = "True"
  5374.  
  5375.     ;-----------------------------------
  5376.     ; Variables
  5377.     ;-----------------------------------
  5378.     *Variables    = 
  5379.     {
  5380.         *Float = "SnipeFOV"
  5381.         {
  5382.             *DisplayName    =    "Snipe FOV"
  5383.             *Value            =    18.0
  5384.             *Min            =    10.0
  5385.             *Max            =    90.0
  5386.             *Comment        =    "The field of view used for snipe mode."
  5387.             *Comment        =    "Normal FOV is ~75."
  5388.             *Comment        =    "The smaller the number means the more you zoom in."
  5389.             *Usage         = "Protected"
  5390.         }
  5391.  
  5392.         *FilePick           =   "SPOlName"
  5393.         {
  5394.             *DisplayName    =   "Sniper Overlay"
  5395.             *Value          =   ""
  5396.             *Directory      =   "$\Data\Textures\"
  5397.             *Extension      =   "tga"
  5398.             *Extension      =   "bmp"
  5399.             *Comment        =   "This is the Snipe mode screen overlay."
  5400.         }
  5401.  
  5402.         *Sound = "DryClick"
  5403.         {
  5404.             *DisplayName    =   "No Ammo Click Sound"
  5405.         }
  5406.  
  5407.  
  5408.         *Group = "Kick"
  5409.         {
  5410.             *Float = "SKTP"
  5411.             {
  5412.                 *DisplayName    =    "Kick Top Pitch Static"
  5413.                 *Value            =    7.5
  5414.                 *Min            =    -90.0
  5415.                 *Max            =    90.0
  5416.                 *Comment        =    "Base Value for the Pitch used at the Top of the Snipe Kick."
  5417.                 *Usage            =    "Protected"
  5418.             }
  5419.             *Float = "SKTY"
  5420.             {
  5421.                 *DisplayName    =    "Kick Top Yaw Static"
  5422.                 *Value            =    0.0
  5423.                 *Min            =    -90.0
  5424.                 *Max            =    90.0
  5425.                 *Comment        =    "Base Value for the Yaw used at the Top of the Snipe Kick."
  5426.                 *Usage            =    "Protected"
  5427.             }
  5428.             *Float = "RKTP"
  5429.             {
  5430.                 *DisplayName    =    "Kick Top Pitch Random"
  5431.                 *Value            =    2.0
  5432.                 *Min            =    -90.0
  5433.                 *Max            =    90.0
  5434.                 *Comment        =    "Random adjustment to the Pitch used at the Top of the Kick."
  5435.                 *Usage            =    "Protected"
  5436.             }
  5437.             *Float = "RKTY"
  5438.             {
  5439.                 *DisplayName    =    "Kick Top Yaw Random"
  5440.                 *Value            =    2.0
  5441.                 *Min            =    -90.0
  5442.                 *Max            =    90.0
  5443.                 *Comment        =    "Random adjustment to the Yaw used at the Top of the Kick."
  5444.                 *Usage            =    "Protected"
  5445.             }
  5446.             *Float = "SKBP"
  5447.             {
  5448.                 *DisplayName    =    "Kick Bottom Pitch Static"
  5449.                 *Value            =    0.50
  5450.                 *Min            =    -90.0
  5451.                 *Max            =    90.0
  5452.                 *Comment        =    "Base Value for the Pitch used at the Bottom of the Snipe Kick."
  5453.                 *Usage            =    "Protected"
  5454.             }
  5455.             *Float = "SKBY"
  5456.             {
  5457.                 *DisplayName    =    "Kick Bottom Yaw Static"
  5458.                 *Value            =    0.0
  5459.                 *Min            =    -90.0
  5460.                 *Max            =    90.0
  5461.                 *Comment        =    "Base Value for the Yaw used at the Bottom of the Snipe Kick."
  5462.                 *Usage            =    "Protected"
  5463.             }
  5464.             *Float = "RKBP"
  5465.             {
  5466.                 *DisplayName    =    "Kick Bottom Pitch Random"
  5467.                 *Value            =    2.0
  5468.                 *Min            =    -90.0
  5469.                 *Max            =    90.0
  5470.                 *Comment        =    "Random adjustment to the Pitch used at the Bottom of the Kick."
  5471.                 *Usage            =    "Protected"
  5472.             }
  5473.             *Float = "RKBY"
  5474.             {
  5475.                 *DisplayName    =    "Kick Bottom Yaw Random"
  5476.                 *Value            =    3.0
  5477.                 *Min            =    -90.0
  5478.                 *Max            =    90.0
  5479.                 *Comment        =    "Random adjustment to the Yaw used at the Bottom of the Kick."
  5480.                 *Usage            =    "Protected"
  5481.             }
  5482.         }
  5483.  
  5484.     }
  5485.  
  5486.     *AIMODES = 
  5487.     {
  5488.         Enter,
  5489.         Exit,
  5490.         Idle,
  5491.         Fire,
  5492.             Reload,
  5493.         DefaultIdle,
  5494.             SnipeEnter,
  5495.             SnipeExit,
  5496.         SnipeFire,
  5497.         UpgradeEnter
  5498.     }
  5499. }
  5500.  
  5501. *OBJECT = "GuidedDevice"
  5502. {
  5503.     *NAME    = "GuidedDevice"
  5504.     *INHERITS = "WeaponObject"
  5505.     *TYPE    = "OBJECT"
  5506.     *UseInActorEd = "True"
  5507.  
  5508.  
  5509.     *AIMODES = 
  5510.     {
  5511.         Enter,
  5512.         Exit,
  5513.         Idle,
  5514.         Fire,
  5515.         DefaultIdle
  5516.     }
  5517. }
  5518.  
  5519. *OBJECT = "SpikedMine"
  5520. {
  5521.     *NAME    = "SpikedMine"
  5522.     *INHERITS = "WeaponObject"
  5523.     *TYPE    = "OBJECT"
  5524.     *UseInActorEd = "True"
  5525.  
  5526.  
  5527.     ;-----------------------------------
  5528.     ; Variables
  5529.     ;-----------------------------------
  5530.     *Variables    = 
  5531.     {
  5532.         *Float = "MaxHoldTime"
  5533.         {
  5534.             *DisplayName    =    "Max Hold Time"
  5535.             *Value            =    "2.0000"
  5536.             *Comment        =    "The amount of time, in seconds, that the code pays attention"
  5537.             *Comment        =    "to holding down the button."
  5538.             *Usage         = "Public"
  5539.         }
  5540.         *Float = "MaxThrowDist"
  5541.         {
  5542.             *DisplayName    =    "Max Throw Distance"
  5543.             *Value            =    "12.0000"
  5544.             *Comment        =    "This is the maximum velocity (which relates to the maximum distance)"
  5545.             *Comment        =    "that the grenade has upon leaving Tal'Set's hand."
  5546.             *Usage         = "Public"
  5547.         }
  5548.         *Float = "MinThrowDist"
  5549.         {
  5550.             *DisplayName    =    "Min Throw Distance"
  5551.             *Value            =    "5.0000"
  5552.             *Comment        =    "This is the minimum velocity (which relates to the maximum distance)"
  5553.             *Comment        =    "that the grenade has upon leaving Tal'Set's hand."
  5554.             *Usage         = "Public"
  5555.         }
  5556.     }
  5557.  
  5558.  
  5559.  
  5560.     *AIMODES = 
  5561.     {
  5562.         Enter,
  5563.         Exit,
  5564.         Idle,
  5565.         Fire,
  5566.         DefaultIdle,
  5567.         SpikeIdle,
  5568.         DefaultSpikeIdle,
  5569.         SpikeExpand,
  5570.         SpikeRetract,
  5571.         SpikeFire,
  5572.         DetonatorDraw,
  5573.         DetonatorExit,
  5574.         DetonatorFire,
  5575.         DetonatorIdle,
  5576.         DefaultDetonatorIdle,
  5577.         SpikePullBack,
  5578.         PullBack,
  5579.         SpikeDraw,
  5580.         SpikeExit
  5581.     }
  5582. }
  5583.  
  5584.  
  5585. *OBJECT = "GravityDisrupter"
  5586. {
  5587.     *NAME    = "GravityDisrupter"
  5588.     *INHERITS = "WeaponObject"
  5589.     *TYPE    = "OBJECT"
  5590.     *UseInActorEd = "True"
  5591.  
  5592.  
  5593.     ;-----------------------------------
  5594.     ; Variables
  5595.     ;-----------------------------------
  5596.     *Variables    = 
  5597.     {
  5598.         *FilePick           =   "GDBName"
  5599.         {
  5600.             *DisplayName    =   "Gravity Beam"
  5601.             *Value          =   ""
  5602.             *Directory      =   "$\Data\Particle\"
  5603.             *Extension      =   "par"
  5604.             *Extension      =   "eff"
  5605.             *Comment        =   "This is the Gravity Beam particle to spawn."
  5606.         }
  5607.         *Sound = "DryClick"
  5608.         {
  5609.             *DisplayName    =   "No Ammo Click Sound"
  5610.         }
  5611.         *Sound = "ChargeWaveSound"
  5612.         {
  5613.             *DisplayName    =   "Wave Charge Sound."
  5614.         }
  5615.         *Sound = "GrappleIdleSound"
  5616.         {
  5617.             *DisplayName    =   "Grapple Idle Sound"
  5618.         }
  5619.         *Sound = "ChargeFullSound"
  5620.             {
  5621.                     *DisplayName    =   "Full Charge Beep"
  5622.         }
  5623.     }
  5624.  
  5625.     *AIMODES = 
  5626.     {
  5627.         Enter,
  5628.         Exit,
  5629.         Idle,
  5630.         WaveFire,
  5631.         GrappleFire,
  5632.         GrappleOut,
  5633.         GrappleHit,
  5634.         GrappleHold,
  5635.         GrappleRelease,
  5636.         DefaultIdle
  5637.         WaveCharge,
  5638.         WaveChargeIdle,
  5639.         WaveShortFire,
  5640.         GrappleSpinUp,
  5641.         Switch1,
  5642.         Switch2,
  5643.         GrappleRelease2,
  5644.         WaveDefaultIdle,
  5645.         WaveIdle,
  5646.         UpgExit
  5647.     }
  5648. }
  5649.  
  5650.  
  5651. *OBJECT = "TekWeapon"
  5652. {
  5653.     *NAME    = "TekWeapon"
  5654.     *INHERITS = "WeaponObject"
  5655.     *TYPE    = "OBJECT"
  5656.     *UseInActorEd = "True"
  5657.  
  5658.  
  5659.     *AIMODES = 
  5660.     {
  5661.         Enter,
  5662.         DefaultIdle,
  5663.         SmartExit,
  5664.         SmartIdle,
  5665.         SmartDefaultIdle,
  5666.         SmartFire,
  5667.         PulseExit,
  5668.         PulseIdle,
  5669.         PulseDefaultIdle,
  5670.         PulseFire,
  5671.         BeamExit,
  5672.         BeamIdle,
  5673.         BeamDefaultIdle,
  5674.         BeamFire,
  5675.         SmartToPulse,
  5676.         SmartToBeam,
  5677.         PulseToBeam,
  5678.         PulseToSmart,
  5679.         BeamToPulse
  5680.     }
  5681.  
  5682.     *Sound = "DryClick"
  5683.     {
  5684.         *DisplayName    =   "No Ammo Click Sound"
  5685.     }
  5686. }
  5687.  
  5688. *OBJECT = "SpikedMineObject"
  5689. {
  5690.     *NAME    = "SpikedMineObject"
  5691.     *INHERITS = "TurokAIObject"
  5692.     *TYPE    = "OBJECT"
  5693.     *UseInActorEd = "True"
  5694.  
  5695.     ;-----------------------------------
  5696.     ; Variables
  5697.     ;-----------------------------------
  5698.     *Variables    = 
  5699.     {
  5700.         *FilePick           =   "SMExpName"
  5701.         {
  5702.             *DisplayName    =   "Explosion Particle"
  5703.             *Value          =   ""
  5704.             *Directory      =   "$\Data\Particle\"
  5705.             *Extension      =   "par"
  5706.             *Extension      =   "eff"
  5707.             *Comment        =   "This is the Spiked Mine explosion particle to spawn."
  5708.         }
  5709.  
  5710.  
  5711.         *Float                = "ArmTime"
  5712.         {
  5713.             *DisplayName    =    "Arming Time"
  5714.             *Value            =    5.0
  5715.             *Min            =    0.0
  5716.             *Comment        =    "Time in Seconds to wait before arming the Spiked Mine."
  5717.         }
  5718.  
  5719.         *Float                = "BoomTime"
  5720.         {
  5721.             *DisplayName    =    "Explode Time"
  5722.             *Value            =    20.0
  5723.             *Min            =    0.0
  5724.             *Comment        =    "Time in Seconds to wait before the Spiked Mine explodes on its own."
  5725.         }
  5726.  
  5727.         *Float                = "Distance"
  5728.         {
  5729.             *DisplayName    =    "Scan Distance"
  5730.             *Value            =    20.0
  5731.             *Min            =    0.0
  5732.             *Comment        =    "Radius of the Collision sphere that determines if the Spiked Mine blows up."
  5733.         }
  5734.     }
  5735.  
  5736. }
  5737.  
  5738. *OBJECT = "DarkMatterObject"
  5739. {
  5740.     *NAME    = "DarkMatterObject"
  5741.     *INHERITS = "TurokAIObject"
  5742.     *TYPE    = "OBJECT"
  5743.     *UseInActorEd = "True"
  5744.  
  5745.     ;-----------------------------------
  5746.     ; Variables
  5747.     ;-----------------------------------
  5748.     *Variables    = 
  5749.     {
  5750.         *FilePick           =   "DMExpName"
  5751.         {
  5752.             *DisplayName    =   "Explosion Particle"
  5753.             *Value          =   ""
  5754.             *Directory      =   "$\Data\Particle\"
  5755.             *Extension      =   "par"
  5756.             *Extension      =   "eff"
  5757.             *Comment        =   "This is the Dark Matter explosion particle to spawn."
  5758.         }
  5759.  
  5760.  
  5761.         *Float = "DMTmOut"
  5762.         {
  5763.             *DisplayName    =    "Time Out"
  5764.             *Value            =    60.0
  5765.             *Min            =    0.0
  5766.             *Comment        =    "Time in Seconds to wait before the Dark Matter explodes on its own."
  5767.         }
  5768.  
  5769.         *Float = "DMExActRad"
  5770.         {
  5771.             *DisplayName    =    "Explosion Activation Radius"
  5772.             *Value            =    2.0
  5773.             *Min            =    0.0
  5774.             *Comment        =    "Distance in feet that activates the explosion cube."
  5775.         }
  5776.  
  5777.         *Float = "DMExDamRad"
  5778.         {
  5779.             *DisplayName    =    "Explosion Damage Radius"
  5780.             *Value            =    15.0
  5781.             *Min            =    0.0
  5782.             *Comment        =    "Distance in feet from the cube that enemies will be instantly killed."
  5783.         }
  5784.  
  5785.         *FilePick           =   "DMImName"
  5786.         {
  5787.             *DisplayName    =   "Implosion Particle"
  5788.             *Value          =   ""
  5789.             *Directory      =   "$\Data\Particle\"
  5790.             *Extension      =   "par"
  5791.             *Extension      =   "eff"
  5792.             *Comment        =   "This is the Dark Matter Implosion particle to spawn."
  5793.         }
  5794.  
  5795.         *Float = "DMImActRad"
  5796.         {
  5797.             *DisplayName    =    "Implode Activation Radius"
  5798.             *Value            =    2.0
  5799.             *Min            =    0.0
  5800.             *Comment        =    "Distance in feet that activates the Implosion cube."
  5801.         }
  5802.  
  5803.         *Float = "DMImDamRad"
  5804.         {
  5805.             *DisplayName    =    "Implode Damage Radius"
  5806.             *Value            =    15.0
  5807.             *Min            =    0.0
  5808.             *Comment        =    "Distance in feet from the cube that enemies will be instantly killed."
  5809.         }
  5810.  
  5811.         *Float = "DMImTm"
  5812.         {
  5813.             *DisplayName    =    "Implode Time"
  5814.             *Value            =    1.0
  5815.             *Min            =    0.1
  5816.             *Comment        =    "Time in seconds it takes an actor to get sucked into the center of the implosion."
  5817.         }
  5818.         *Float = "DMImpTimeOut"
  5819.         {
  5820.             *DisplayName    =    "Implode Timeout"
  5821.             *Value            =    1.0
  5822.             *Min            =    0.1
  5823.             *Comment        =    "Time in seconds that the DMC will stay in Implode Mode."
  5824.         }
  5825.     }
  5826. }
  5827.  
  5828. *OBJECT = "GuidedDeviceObject"
  5829. {
  5830.     *NAME    = "GuidedDeviceObject"
  5831.     *INHERITS = "TurokAIObject"
  5832.     *TYPE    = "OBJECT"
  5833.     *UseInActorEd = "True"
  5834.  
  5835.     *AIMODES = 
  5836.     {
  5837.         Idle,
  5838.         Walk,
  5839.         Transform,
  5840.         Jump
  5841.     }
  5842.  
  5843.     ;-----------------------------------
  5844.     ; Variables
  5845.     ;-----------------------------------
  5846.     *VARIABLES = 
  5847.     {
  5848.         *FLOAT = "GDMoveSpd"
  5849.         {
  5850.             *VALUE    = 5
  5851.             *MIN    = 1
  5852.             *MAX    = 50
  5853.             *DISPLAYNAME = "Movement Speed"
  5854.             *Comment = "Movement speed in m/s."
  5855.         }
  5856.  
  5857.         *FLOAT = "GDTrnSpd"
  5858.         {
  5859.             *VALUE    = 240
  5860.             *MIN    = 0
  5861.             *MAX    = 720
  5862.             *DISPLAYNAME = "Turning Speed"
  5863.             *Comment = "Turning speed in degrees/s."
  5864.         }
  5865.  
  5866.         *FLOAT = "GDJmpSpd"
  5867.         {
  5868.             *VALUE    = 5
  5869.             *MIN    = 0
  5870.             *DISPLAYNAME = "Jump Speed"
  5871.             *Comment = "Jump speed in m/s."
  5872.         }
  5873.  
  5874.         *Float = "GDFOV"
  5875.         {
  5876.             *Comment        = "Low values (<90) for a zoom effect, high values for fisheye"
  5877.             *Value            = 120
  5878.             *MIN            = 1
  5879.             *MAX            = 360
  5880.             *DisplayName    = "Field Of View"
  5881.         }
  5882.  
  5883.         *Float = "GDPUp"
  5884.         {
  5885.             *Comment        = "Max angle, in degrees, you can pitch the camera up"
  5886.             *Value            = 50
  5887.             *MIN            = 0
  5888.             *MAX            = 90
  5889.             *DisplayName    = "Max Camera Pitch Up"
  5890.         }
  5891.  
  5892.         *Float = "GDPDn"
  5893.         {
  5894.             *Comment        = "Max angle, in degrees, you can pitch the camera down"
  5895.             *Value            = 2
  5896.             *MIN            = 0
  5897.             *MAX            = 90
  5898.             *DisplayName    = "Max Camera Pitch Down"
  5899.         }
  5900.  
  5901.         *FilePick           =   "GDBombName"
  5902.         {
  5903.             *DisplayName    =   "Bomb Particle"
  5904.             *Value          =   ""
  5905.             *Directory      =   "$\Data\Particle\"
  5906.             *Extension      =   "par"
  5907.             *Extension      =   "eff"
  5908.             *Comment        =   "This is the Bomb mode particle to spawn."
  5909.         }
  5910.  
  5911.         *FilePick           =   "GDGasSmall"
  5912.         {
  5913.             *DisplayName    =   "Small Poison Gas Particle"
  5914.             *Value          =   ""
  5915.             *Directory      =   "$\Data\Particle\"
  5916.             *Extension      =   "par"
  5917.             *Extension      =   "eff"
  5918.             *Comment        =   "This is the Poison Gas mode particle to spawn."
  5919.         }
  5920.  
  5921.         *FilePick           =   "GDGasMed"
  5922.         {
  5923.             *DisplayName    =   "Medium Poison Gas Particle"
  5924.             *Value          =   ""
  5925.             *Directory      =   "$\Data\Particle\"
  5926.             *Extension      =   "par"
  5927.             *Extension      =   "eff"
  5928.             *Comment        =   "This is the Poison Gas mode particle to spawn."
  5929.         }
  5930.  
  5931.         *FilePick           =   "GDGasLarge"
  5932.         {
  5933.             *DisplayName    =   "Large Poison Gas Particle"
  5934.             *Value          =   ""
  5935.             *Directory      =   "$\Data\Particle\"
  5936.             *Extension      =   "par"
  5937.             *Extension      =   "eff"
  5938.             *Comment        =   "This is the Poison Gas mode particle to spawn."
  5939.         }
  5940.  
  5941.         *FilePick           =   "GDGasStreamName"
  5942.         {
  5943.             *DisplayName    =   "Poison Gas Stream"
  5944.             *Value          =   ""
  5945.             *Directory      =   "$\Data\Particle\"
  5946.             *Extension      =   "par"
  5947.             *Extension      =   "eff"
  5948.             *Comment        =   "This is the Poison Gas Stream particle to spawn."
  5949.         }
  5950.  
  5951.         *FLOAT = "MinStaticDist"
  5952.         {
  5953.             *VALUE    = 30.0
  5954.             *MIN    = 0.0
  5955.             *MAX    = 50.0
  5956.             *DISPLAYNAME = "Minimum Static Distance"
  5957.             *Comment = "This is how far you can get (in meters) away from Tal'Set before the static starts."
  5958.         }
  5959.  
  5960.         *FLOAT = "Cutoff"
  5961.         {
  5962.             *VALUE    = 50.0
  5963.             *MIN    = 0.0
  5964.             *MAX    = 10000.0
  5965.             *DISPLAYNAME = "Cutoff Distance"
  5966.             *Comment = "This is how far you can get (in meters) away from Tal'Set before the device will lose contact."
  5967.         }
  5968.  
  5969.             *Group = "Sound"
  5970.             {
  5971.                 *Sound = "BombMode"
  5972.                 {
  5973.                     *DisplayName    =   "Bomb Mode"
  5974.                 }
  5975.                 *Sound = "GasMode"
  5976.                 {
  5977.                     *DisplayName    =   "Gas Mode"
  5978.                 }
  5979.                 *Sound = "LureMode"
  5980.                 {
  5981.                     *DisplayName    =   "Lure Mode"
  5982.                 }
  5983.                 *Sound = "AbortMode"
  5984.                 {
  5985.                     *DisplayName    =   "Abort Mode"
  5986.                 }
  5987.                 *Sound = "LureSound"
  5988.                 {
  5989.                     *DisplayName    =   "Lure Sound"
  5990.                 }
  5991.                 *Sound = "StartGasSound"
  5992.                 {
  5993.                     *DisplayName    =   "Start Gas Sound"
  5994.                 }
  5995.                 *Sound = "LoopGasSound"
  5996.                 {
  5997.                     *DisplayName    =   "Gas Loop Sound"
  5998.                 }
  5999.                 *Sound = "EndGasSound"
  6000.                 {
  6001.                     *DisplayName    =   "End Gas Sound"
  6002.                 }
  6003.                 *Sound = "CollideSound"
  6004.                 {
  6005.                     *DisplayName    =   "Collide Sound"
  6006.                 }
  6007.                 
  6008.             }
  6009.  
  6010.     }
  6011. }
  6012.  
  6013. *OBJECT = "NapalmGelObject"
  6014. {
  6015.     *NAME    = "NapalmGelObject"
  6016.     *INHERITS = "TurokAIObject"
  6017.     *TYPE    = "OBJECT"
  6018.     *UseInActorEd = "True"
  6019.  
  6020.     ;-----------------------------------
  6021.     ; Variables
  6022.     ;-----------------------------------
  6023.     *Variables    = 
  6024.     {
  6025.         *FilePick           =   "NGFireName"
  6026.         {
  6027.             *DisplayName    =   "Fire Particle"
  6028.             *Value          =   ""
  6029.             *Directory      =   "$\Data\Particle\"
  6030.             *Extension      =   "par"
  6031.             *Extension      =   "eff"
  6032.             *Comment        =   "This is the Napalm Gel Fire particle to spawn."
  6033.         }
  6034.  
  6035.  
  6036.         *Float = "NGTmOut"
  6037.         {
  6038.             *DisplayName    =    "Time Out"
  6039.             *Value            =    6.0
  6040.             *Min            =    0.0
  6041.             *Comment        =    "Time in Seconds to wait before the Napalm Gel dries out and is useless."
  6042.         }
  6043.     }
  6044. }
  6045.  
  6046.  
  6047. *OBJECT = "DinoBite"
  6048. {
  6049.     *NAME    = "DinoBite"
  6050.     *INHERITS = "WeaponObject"
  6051.     *TYPE    = "OBJECT"
  6052.     *UseInActorEd = "True"
  6053.  
  6054.     *AIMODES = 
  6055.     {
  6056.         Enter,
  6057.         Exit,
  6058.         Idle,
  6059.         Fire,
  6060.         DefaultIdle
  6061.     }
  6062. }
  6063.  
  6064. ;------------------------------------------------------------------------------
  6065. ; Remote Object
  6066. ;------------------------------------------------------------------------------
  6067. *OBJECT = "RCDevice"
  6068. {
  6069.     *NAME    = "RCDevice"
  6070.     *INHERITS = "DeviceAIObject"
  6071.     *TYPE    = "OBJECT"
  6072.     *UseInActorEd = "True"
  6073.  
  6074.     *AIMODES = 
  6075.     {
  6076.         Idle,
  6077.         Move,
  6078.     }
  6079.  
  6080.     *VARIABLES = 
  6081.     {
  6082.         *Group = "Remote Device"
  6083.         {
  6084.             *FLOAT = "MovementSpeed"
  6085.             {
  6086.                 *VALUE    = 10
  6087.                 *MIN    = 1
  6088.                 *MAX    = 50
  6089.                 *DISPLAYNAME = "Movement Speed"
  6090.                 *Comment = "Movement speed in m/s."
  6091.             }
  6092.  
  6093.             *FLOAT = "TurningSpeed"
  6094.             {
  6095.                 *VALUE    = 240
  6096.                 *MIN    = 0
  6097.                 *MAX    = 720
  6098.                 *DISPLAYNAME = "Turning Speed"
  6099.                 *Comment = "Turning speed in degrees/s."
  6100.             }
  6101.  
  6102.             *Group = "Placement Offset"
  6103.             {
  6104.                 *Comment    =    "The relative offset from the player where the remote will dropped."
  6105.                 *Float = "OffsetX"
  6106.                 {
  6107.                     *DisplayName    =    "X"
  6108.                     *Value            =    0.0
  6109.                 }
  6110.                 *Float = "OffsetY"
  6111.                 {
  6112.                     *DisplayName    =    "Y"
  6113.                     *Value            =    0.0
  6114.                 }
  6115.                 *Float = "OffsetZ"
  6116.                 {
  6117.                     *DisplayName    =    "Z"
  6118.                     *Value            =    0.0
  6119.                 }
  6120.             }
  6121.  
  6122.             *Float = "FOV"
  6123.             {
  6124.                 *Comment        = "Low values (<90) for a zoom effect, high values for fisheye"
  6125.                 *Value            = 120
  6126.                 *MIN            = 1
  6127.                 *MAX            = 360
  6128.                 *DisplayName    = "Field Of View"
  6129.             }
  6130.         }
  6131.     }
  6132. }
  6133.  
  6134. *OBJECT = "PteranadonRocketLauncher"
  6135. {
  6136.     *NAME    = "PteranadonRocketLauncher"
  6137.     *INHERITS = "WeaponObject"
  6138.     *TYPE    = "OBJECT"
  6139.     *UseInActorEd = "True"
  6140. }
  6141.  
  6142.  
  6143.  
  6144. ;------------------------------------------------------------------------------
  6145. ; CTF Flag
  6146. ;------------------------------------------------------------------------------
  6147.  
  6148. *OBJECT = "Flag"
  6149. {
  6150.     *Name = "Flag"
  6151.     *INHERITS = "Pickup"
  6152.     *TYPE = "OBJECT"
  6153.     *UseInActorEd = "True"
  6154.  
  6155.     *Variables    = 
  6156.     {
  6157.         *Group = "Team"
  6158.         {
  6159.             *Combo    =    "TEAMNAME" ; MAX 255 chars
  6160.             {
  6161.                 *DisplayName    =    "TeamName"
  6162.                 *Value            =    0
  6163.                 *ComboList        =    
  6164.                 {
  6165.                     "Fire",   
  6166.                     "Stone"     
  6167.                 }
  6168.             }
  6169.         }
  6170.         *Sound = "PickupSound"
  6171.         {
  6172.             *DisplayName = "PickupSound"
  6173.             *Comment = "Sound to be played when flag is picked up"
  6174.         }
  6175.         *Sound = "DroppedSound1"
  6176.         {
  6177.             *DisplayName = "DroppedSound1"
  6178.             *Comment = "Sound to be played when flag is dropped"
  6179.         }
  6180.         *Sound = "DroppedSound2"
  6181.         {
  6182.             *DisplayName = "DroppedSound2"
  6183.             *Comment = "Will be played simultaneously w/DroppedSound1"
  6184.         }
  6185.         *Sound = "CaptureSound"
  6186.         {
  6187.             *DisplayName = "CaptureSound"
  6188.             *Comment =  "Sound to be played when flag is captured"
  6189.         }
  6190.         *Sound = "Returned Sound"
  6191.         {
  6192.             *DisplayName = "ReturnedSound"
  6193.             *COmment = "Sound to be played when flag is returned to base"
  6194.         }
  6195.     }
  6196.  
  6197. }
  6198.  
  6199. ;------------------------------------------------------------------------------
  6200. ; Deathmatch Player
  6201. ;------------------------------------------------------------------------------
  6202.  
  6203. *OBJECT = "DMPlayer"
  6204. {
  6205.     *Name = "DMPlayer"
  6206.     *INHERITS = "Player"
  6207.     *TYPE = "OBJECT"
  6208.     *UseInActorEd = "True"
  6209.     *AIMODES = 
  6210.     {
  6211.         "Idle",
  6212.         "AlertIdle",
  6213.         "Run",
  6214.         "Walk",
  6215.         "Jump",
  6216.         "MoveForward"
  6217.         "MoveBackward",
  6218.         "StrafeLeft",
  6219.         "StrafeRight",
  6220.         "MoveLeft",
  6221.         "MoveRight",
  6222.         "TurnLeft",
  6223.         "TurnRight",
  6224.         "BackWalk",
  6225.         "BackRun",
  6226.         "Damaged",
  6227.         "Attack",
  6228.         "LoopAttack",
  6229.         "Fall",
  6230.         "CrouchIdle",
  6231.         "CrouchForward",
  6232.         "CrouchBackward",
  6233.         "CrouchLeft",
  6234.         "CrouchRight",
  6235.         "CrouchTurnRight",
  6236.         "CrouchTurnLeft",
  6237.         "Respawn",
  6238.         "LeftDamage",
  6239.         "ClimbIdle",
  6240.         "ClimbUp",
  6241.         "ClimbDown",
  6242.         "ClimbLeft",
  6243.         "ClimbRight",
  6244.         "EndClimb",
  6245.         "AttackForward",
  6246.         "AttackBackward",
  6247.         "AttackIdle",
  6248.         "AttackStrafeLeft",
  6249.         "AttackStrafeRight",
  6250.         "AttackJump",
  6251.         "AttackTurnLeft",
  6252.         "AttackTurnRight",
  6253.         "CrouchAttackLeft",
  6254.         "CrouchAttackRight",
  6255.         "CrouchAttackForward",
  6256.         "CrouchAttackBackward",
  6257.         "CrouchAttackIdle",
  6258.         "SnipeAttack",
  6259.         "SwimForward",
  6260.         "SwimBackward",
  6261.         "SwimUp",
  6262.         "SwimDown",
  6263.         "SwimLeft",
  6264.         "SwimRight",
  6265.         "SwimBurst",
  6266.         "WaterSurfaceIdle",
  6267.         "UnderwaterIdle",
  6268.         "SwimTurnLeft",
  6269.         "SwimTurnRight",
  6270.         "LeapToShore",
  6271.         "SwimAttack",
  6272.         "DiveIntoWater",
  6273.         "UsingGuidedDevice",
  6274.         "OneHandIdle",
  6275.         "OneHandAlertIdle",
  6276.         "OneHandMoveForward",
  6277.         "OneHandMoveBackward",
  6278.         "OneHandStrafeLeft",
  6279.         "OneHandStrafeRight",
  6280.         "OneHandTurnLeft",
  6281.         "OneHandTurnRight",
  6282.         "OneHandAttackIdle",
  6283.         "OneHandAttackForward",
  6284.         "OneHandAttackBackward",
  6285.         "OneHandAttackStrafeLeft",
  6286.         "OneHandAttackStrafeRight",
  6287.         "OneHandAttackJump",
  6288.         "OneHandAttackTurnLeft",
  6289.         "OneHandAttackTurnRight",
  6290.         "OneHandAttackSnipe",
  6291.         "OneHandCrouchAttackStrafeLeft",
  6292.         "OneHandCrouchAttackStrafeRight",
  6293.         "OneHandCrouchAttackForward",
  6294.         "OneHandCrouchAttackBackward",
  6295.         "OneHandCrouchAttackIdle",
  6296.         "Celebrate",
  6297.         "MonkeyClimbLeft",
  6298.         "MonkeyClimbRight",
  6299.         "MonkeyClimbForward",
  6300.         "MonkeyClimbBackward",
  6301.         "MonkeyClimbIdle",
  6302.         "MonkeyClimbBegin",
  6303.         "MonkeyClimbEnd",
  6304.         "WarclubAttack",
  6305.         "WarclubCombo1",
  6306.         "WarclubCombo2",
  6307.         "WarclubCombo3",
  6308.         "ThrowIdle",
  6309.         "ThrowRunForward",
  6310.         "ThrowRunBackward",
  6311.         "ThrowStrafeRight",
  6312.         "ThrowStrafeLeft",
  6313.         "ThrowGuidedDevice"
  6314.     }
  6315.     *Variables =
  6316.     {
  6317.         *FilePick = "DeadPlayerActor"
  6318.         {
  6319.             *DisplayName    =    "Dead Player"
  6320.             *Value            =    "\Data\Actors\Multiplayer\DeadPlayer\DeadPlayer.atr"
  6321.             *Directory        =    "$/Data/Actors/Multiplayer"
  6322.             *Extension        =    "atr"
  6323.             *Comment        =    "This is the actor that will be spawned when a player is killed."
  6324.         }
  6325.         *FilePick = "GreenTeamMesh"
  6326.         {
  6327.             *DisplayName    =    "Stone Team Mesh"
  6328.             *Value            =    ""
  6329.             *Directory        =    "$/Data/Actors/"
  6330.             *Extension        =    "atf"
  6331.             *Comment        =    "Mesh for team play"
  6332.         }
  6333.         *FilePick = "YellowTeamMesh"
  6334.         {
  6335.             *DisplayName    =    "Fire Team Mesh"
  6336.             *Value            =    ""
  6337.             *Directory        =    "$/Data/Actors/"
  6338.             *Extension        =    "atf"
  6339.             *Comment        =    "Mesh for team play"
  6340.         }
  6341.         *FilePick = "Snapshot"
  6342.         {
  6343.             *DisplayName  = "Player Snapshot"
  6344.             *Value          = ""
  6345.             *Directory      = "$/Data/Textures/OnScreenGraphics/FrontEnd/Players"
  6346.             *Extension      = "bmp"
  6347.             *Extension    = "tga"
  6348.             *Comment      = "Picture of the player"
  6349.         }
  6350.         *Bool = "IsRaptor"
  6351.         {
  6352.             *DisplayName = "Raptor Player?"
  6353.             *Value         = "False"
  6354.             *Comment     = "Set this to true if the player is a Raptor"
  6355.         }
  6356.         ; Shield belt sounds
  6357.         *Group = "Sounds"
  6358.         {
  6359.             *Sound = "ShieldOnSound"
  6360.             {
  6361.                 *Displayname = "Sheild On Sound"
  6362.             }
  6363.             *Sound = "ShieldOffSound"
  6364.             {
  6365.                 *Displayname = "Sheild Off Sound"
  6366.             }
  6367.             *Sound = "ShieldActiveSound"
  6368.             {
  6369.                 *Displayname = "Sheild Active Sound"
  6370.             }
  6371.             *Sound = "ShieldDamageSound"
  6372.             {
  6373.                 *Displayname = "Sheild Damage Sound"
  6374.             }
  6375.             ; Death Helm
  6376.             
  6377.             *Sound = "DeathHelmOnSound"
  6378.             {
  6379.                 *Displayname = "Death Helm On Sound"
  6380.             }
  6381.             *Sound = "DeathHelmActiveSound"
  6382.             {
  6383.                 *Displayname = "Death Helm Active Sound"
  6384.             }
  6385.             *Sound = "DeathHelmOffSound"
  6386.             {
  6387.                 *Displayname = "Death Helm Off Sound"
  6388.             }
  6389.             *Sound = "CloakingBeltOnSound"
  6390.             {
  6391.                 *DisplayName = "Cloaking Belt On Sound"
  6392.             }
  6393.             *Sound = "CloakingBeltOffSound"
  6394.             {
  6395.                 *DisplayName = "Cloaking Belf Off Sound"
  6396.             }
  6397.             *Sound = "PickupSound"
  6398.             {
  6399.                 *DisplayName = "Pickup Sound"
  6400.             }
  6401.             *Sound = "TauntSound"
  6402.             {
  6403.                 *DisplayName = "Taunt Sound"
  6404.             }
  6405.             *Sound = "CelebrateSound"
  6406.             {
  6407.                 *DisplayName = "Celebrate Sound"
  6408.             }
  6409.             *Sound = "RegenerateSound"
  6410.             {
  6411.                 *DisplayName = "Regenerate Sound"    
  6412.             }
  6413.             *Sound = "RespawnSound"
  6414.             {
  6415.                 *DisplayName = "Respawn Sound"
  6416.             }
  6417.             *Sound = "PoisonDamageSound"
  6418.             {
  6419.                 *DisplayName = "Poison Damage"
  6420.             }
  6421.             *Sound = "PoisonRecoverSound"
  6422.             {
  6423.                 *DisplayName = "Poison Recover"
  6424.             }
  6425.             *Sound = "PoisonDeathSound"
  6426.             {
  6427.                 *DisplayName = "Poison Death"
  6428.             }
  6429.             *Sound = "JumpBootsSound"
  6430.             {
  6431.                 *DisplayName = "Super Jump"
  6432.             }
  6433.             *Sound = "EnterRageSound"
  6434.             {
  6435.                 *DisplayName = "Enter Rage"
  6436.             }
  6437.             *Sound = "RageLoopSound"
  6438.             {
  6439.                 *DisplayName = "Rage Loop"
  6440.             }
  6441.             *Sound = "RageEndSound"
  6442.             {
  6443.                 *DisplayName = "Rage End"
  6444.             }
  6445.             *Sound = "SpeedOnSound"
  6446.             {
  6447.                 *DisplayName = "Speed On"
  6448.             }
  6449.             *Sound = "SpeedOffSound"
  6450.             {
  6451.                 *DisplayName = "Speed Off"
  6452.             }
  6453.         }
  6454.     }
  6455. }
  6456. ;------------------------------------------------------------------------------
  6457. ; Compy Player
  6458. ;------------------------------------------------------------------------------
  6459.  
  6460. *OBJECT = "CompyPlayer"
  6461. {
  6462.     *Name = "CompyPlayer"
  6463.     *INHERITS = "DMPlayer"
  6464.     *TYPE = "OBJECT"
  6465.     *UseInActorEd = "True"
  6466.     *AIMODES = 
  6467.     {
  6468.         "Idle",
  6469.         "Run",
  6470.         "Walk",
  6471.         "Jump",
  6472.         "MoveForward"
  6473.         "MoveBackward",
  6474.         "StrafeLeft",
  6475.         "StrafeRight",
  6476.         "MoveLeft",
  6477.         "MoveRight",
  6478.         "TurnLeft",
  6479.         "TurnRight",
  6480.         "BackWalk",
  6481.         "BackRun",
  6482.         "Damaged",
  6483.         "Attack",
  6484.         "LoopAttack",
  6485.         "Fall",
  6486.         "CrouchIdle",
  6487.         "CrouchForward",
  6488.         "CrouchBackward",
  6489.         "CrouchLeft",
  6490.         "CrouchRight",
  6491.         "CrouchTurnRight",
  6492.         "CrouchTurnLeft",
  6493.         "Respawn",
  6494.         "LeftDamage",
  6495.         "ClimbIdle",
  6496.         "ClimbUp",
  6497.         "ClimbDown",
  6498.         "ClimbLeft",
  6499.         "ClimbRight",
  6500.         "EndClimb",
  6501.         "AttackForward",
  6502.         "AttackBackward",
  6503.         "AttackIdle",
  6504.         "AttackStrafeLeft",
  6505.         "AttackStrafeRight",
  6506.         "AttackJump",
  6507.         "CrouchAttackLeft",
  6508.         "CrouchAttackRight",
  6509.         "CrouchAttackForward",
  6510.         "CrouchAttackBackward",
  6511.         "CrouchAttackIdle",
  6512.         "SnipeAttack",
  6513.         "SwimForward",
  6514.         "SwimBackward",
  6515.         "SwimUp",
  6516.         "SwimDown",
  6517.         "SwimLeft",
  6518.         "SwimRight",
  6519.         "SwimBurst",
  6520.         "WaterSurfaceIdle",
  6521.         "UnderwaterIdle",
  6522.         "SwimTurnLeft",
  6523.         "SwimTurnRight",
  6524.         "LeapToShore",
  6525.         "SwimAttack",
  6526.         "DiveIntoWater",
  6527.         "UsingGuidedDevice",
  6528.         "OneHandIdle",
  6529.         "OneHandMoveForward",
  6530.         "OneHandMoveBackward",
  6531.         "OneHandStrafeLeft",
  6532.         "OneHandStrafeRight",
  6533.         "OneHandTurnLeft",
  6534.         "OneHandTurnRight",
  6535.         "OneHandAttackIdle",
  6536.         "OneHandAttackForward",
  6537.         "OneHandAttackBackward",
  6538.         "OneHandAttackStrafeLeft",
  6539.         "OneHandAttackStrafeRight",
  6540.         "OneHandAttackJump",
  6541.         "OneHandAttackSnipe",
  6542.         "OneHandCrouchAttackStrafeLeft",
  6543.         "OneHandCrouchAttackStrafeRight",
  6544.         "OneHandCrouchAttackForward",
  6545.         "OneHandCrouchAttackBackward",
  6546.         "OneHandCrouchAttackIdle"
  6547.     }
  6548.     *Variables =
  6549.     {
  6550.         *Sound = "CallOutSound"
  6551.         {
  6552.             *Displayname = "Call Out Sound"
  6553.         }
  6554.     }
  6555. }
  6556.  
  6557. ;------------------------------------------------------------------------------
  6558. ; Dead Player
  6559. ;------------------------------------------------------------------------------
  6560.  
  6561. *OBJECT = "DeadPlayer"
  6562. {
  6563.     *Name = "DeadPlayer"
  6564.     *TYPE = "OBJECT"
  6565.     *INHERITS = "Actor"
  6566.     *UseInActorEd = "True"
  6567.     *AIMODES = 
  6568.     {
  6569.         "Die",
  6570.         "Decompose",
  6571.         "PoisonDeath",
  6572.         "FallingDeath",
  6573.         "ExplodingDeath",
  6574.         "DrowningDeath",
  6575.         "BurningDeath",
  6576.         "FallingDeath",
  6577.         "RunningDeath",
  6578.         "MeleeDeath",
  6579.         "SwarmBoreDeath",
  6580.         "SwarmBoreFinish",
  6581.         "ImplodingDeath"
  6582.     }
  6583.     *Variables =
  6584.     {
  6585.         *Group = "BodyParts"
  6586.         {
  6587.             *BOOL = "CanDismember"
  6588.             {
  6589.                 *Usage            = "Protected"
  6590.                 *VALUE            = "True"
  6591.                 *DISPLAYNAME    = "Can Dismember"
  6592.             }
  6593.             *String = "BodyPartPrefix"
  6594.             {
  6595.                 *Usage            =    "Protected"
  6596.                 *DisplayName    =    "Prefix"
  6597.                 *Value            =    ""
  6598.             }
  6599.         }
  6600.     }
  6601. }
  6602.  
  6603. ;------------------------------------------------------------------------------
  6604. ; A Spawn-point
  6605. ;------------------------------------------------------------------------------
  6606.  
  6607. *OBJECT = "SpawnPoint"
  6608. {
  6609.     *Name = "SpawnPoint"
  6610.     *TYPE = "OBJECT"
  6611.     *UseInActorEd = "True"
  6612.  
  6613.     *Variables    = 
  6614.     {
  6615.         *Group = "Team"
  6616.         {
  6617.             *Comment = "This is a preliminary list of available teams -> available teams are TBD"
  6618.             *Combo    =    "TEAMNAME" ; MAX 255 chars
  6619.             {
  6620.                 *DisplayName    =    "Team"
  6621.                 *Value            =    0
  6622.                 *ComboList        =    
  6623.                 {
  6624.                     "Fire",
  6625.                     "Stone"
  6626.                 }
  6627.             }
  6628.         }
  6629.         *BitField = "ModeFlags"
  6630.         {
  6631.             *DisplayName = "ExcludeModes"
  6632.             *Value = 0
  6633.             *BitList =
  6634.             {
  6635.                 "Predator",            ; 1
  6636.                 "Flight",            ; 1 << 1
  6637.                 "Deathmatch",        ; 1 << 2
  6638.                 "DinoRider",        ; 1 << 3
  6639.                 "MixedRiding",        ; 1 << 4
  6640.                 "TRex",                ; 1 << 5
  6641.                 "DinoCatcher",        ; 1 << 6
  6642.                 "CTF",                ; 1 << 7
  6643.                 "OneFlagCTF",        ; 1 << 8
  6644.                 "LastManStanding",    ; 1 << 9
  6645.                 "Coop",                ; 1 << 10
  6646.                 "BagTag",            ; 1 << 11
  6647.                 "Assault",            ; 1 << 12
  6648.                 "HumansVsDinos"        ; 1 << 13
  6649.             }
  6650.             *Comment = "SpawnPoint will be available in all game modes except those specified here"
  6651.         }
  6652.     }
  6653. }
  6654.  
  6655. ;------------------------------------------------------------------------------
  6656. ; FlagSpawnPoint
  6657. ;------------------------------------------------------------------------------
  6658.  
  6659. *OBJECT = "FlagSpawnPoint"
  6660. {
  6661.     *Comment = "A place where a flag should be spawned. Not much different than SpawnPoint 'cept for the name"
  6662.     *Name = "FlagSpawnPoint"
  6663.     *INHERITS = "SpawnPoint"
  6664.     *Type = "OBJECT"
  6665.     *UseInActorEd = "True"
  6666.  
  6667. }
  6668.  
  6669. ;------------------------------------------------------------------------------
  6670. ; SingleFlagSpawnPoint
  6671. ;------------------------------------------------------------------------------
  6672.  
  6673. *OBJECT = "SingleFlagSpawnPoint"
  6674. {
  6675.     *Comment = "A place where the a flag will be placed for 1 flag CTF"
  6676.     *Name = "SingleFlagSpawnPoint"
  6677.     *INHERITS = "SpawnPoint"
  6678.     *Type = "OBJECT"
  6679.     *UseInActorEd = "True"
  6680. }
  6681.  
  6682.  
  6683. ;------------------------------------------------------------------------------
  6684. ; AssaultObjective
  6685. ;------------------------------------------------------------------------------
  6686.  
  6687. *OBJECT = "AssaultObjective"
  6688. {
  6689.     *Comment = "An Objective that needs to be secured by the offensive team in the Assault game mode"
  6690.     *Name = "AssaultObjective"
  6691.     *Type = "OBJECT"
  6692.     *UseInActorEd = "True"
  6693.     *Variables =
  6694.     {
  6695.         *String = "Identifier"
  6696.         {
  6697.             *DisplayName = "Identifier"
  6698.             *Value = ""
  6699.             *Comment = "This should be an identifier that distinguishes this objective from any others in this level"
  6700.         }
  6701.         *String = "Description"
  6702.         {
  6703.             *DisplayName = "Description" 
  6704.             *Value = ""
  6705.             *Comment = "A Description of this objective. This is text that will be displayed in the game when description of the objective is requested"
  6706.         }
  6707.     }
  6708. }            
  6709. ;------------------------------------------------------------------------------
  6710. ; BagActor
  6711. ;------------------------------------------------------------------------------
  6712.  
  6713. *Object = "BagActor"
  6714. {
  6715.     *Comment = "An actor carried by the player who is "it" in BagTag mode
  6716.     *Name = "BagActor"
  6717.     *Type = "Object"
  6718.     *Inherits = "Actor"
  6719.     *UseInActorEd = "True"
  6720.     *AIMODES = 
  6721.     {
  6722.         Idle1,
  6723.         Idle2, 
  6724.     }
  6725.     *VARIABLES = 
  6726.     {
  6727.         *Sound = "PickupSound"
  6728.         {
  6729.             *DisplayName = "Pickup Sound"
  6730.             *Comment = "Sound to player when picked up"
  6731.             *Usage = "Protected"
  6732.         }
  6733.         *Sound = "DroppedSound"
  6734.         {
  6735.             *DisplayName = "Dropped Sound"
  6736.             *Comment = "Sound to player when bag is dropped"
  6737.             *Usage = "Protected"
  6738.         }
  6739.         *Sound = "RespawnSound"
  6740.         {
  6741.             *DisplayName = "Respawn Sound"
  6742.             *Comment = "Sound to player when bag returned to its original position"
  6743.             *Usage = "Protected"
  6744.         }
  6745.  
  6746.     }
  6747. }
  6748. ;------------------------------------------------------------------------------
  6749. ; MPPickup 
  6750. ;------------------------------------------------------------------------------
  6751. *Object = "MPPickup"
  6752. {
  6753.     *Comment = "Pickup Object for multiplayer"
  6754.     *Name = "MPPickup"
  6755.     *type = "Object"
  6756.     *UseInActorEd = "True"
  6757.     *Variables = 
  6758.     {
  6759.         *FilePick = "PreferredPickup1"
  6760.         {
  6761.             *DisplayName    =    "PreferredPickup1"
  6762.             *Value            =    ""
  6763.             *Directory        =    "$/Data/Actors/Pickups"
  6764.             *Extension        =    "atr"
  6765.         }
  6766.         *FilePick = "PreferredPickup2"
  6767.         {
  6768.             *DisplayName    =    "PreferredPickup2"
  6769.             *Value            =    ""
  6770.             *Directory        =    "$/Data/Actors/Pickups"
  6771.             *Extension        =    "atr"
  6772.         }
  6773.         *FilePick = "PreferredPickup3"
  6774.         {
  6775.             *DisplayName    =    "PreferredPickup3"
  6776.             *Value            =    ""
  6777.             *Directory        =    "$/Data/Actors/Pickups"
  6778.             *Extension        =    "atr"
  6779.         }
  6780.         *FilePick = "PreferredPickup4"
  6781.         {
  6782.             *DisplayName    =    "PreferredPickup4"
  6783.             *Value            =    ""
  6784.             *Directory        =    "$/Data/Actors/Pickups"
  6785.             *Extension        =    "atr"
  6786.         }
  6787.         *FilePick = "PreferredPickup5"
  6788.         {
  6789.             *DisplayName    =    "PreferredPickup5"
  6790.             *Value            =    ""
  6791.             *Directory        =    "$/Data/Actors/Pickups"
  6792.             *Extension        =    "atr"
  6793.         }
  6794.         *Bool = "Random"
  6795.         {
  6796.             *DisplayName = "Random?"
  6797.             *Value = false
  6798.             *Comment = "Random?"
  6799.         }
  6800.         *BitField = "ModeFlags"
  6801.         {
  6802.             *DisplayName = "ExcludeModes"
  6803.             *Value = 0
  6804.             *BitList =
  6805.             {
  6806.                 "Predator",            ; 1
  6807.                 "Flight",            ; 1 << 1
  6808.                 "Deathmatch",        ; 1 << 2
  6809.                 "DinoRider",        ; 1 << 3
  6810.                 "MixedRiding",        ; 1 << 4
  6811.                 "TRex",                ; 1 << 5
  6812.                 "DinoCatcher",        ; 1 << 6
  6813.                 "CTF",                ; 1 << 7
  6814.                 "OneFlagCTF",        ; 1 << 8
  6815.                 "LastManStanding",    ; 1 << 9
  6816.                 "Coop",                ; 1 << 10
  6817.                 "BagTag",            ; 1 << 11
  6818.                 "Assault",            ; 1 << 12
  6819.                 "HumansVsDinos"        ; 1 << 13
  6820.             }
  6821.             *Comment = "Pickup will be available in all game modes except those specified here"
  6822.         }
  6823.         *Float = "RespawnTime"
  6824.         {
  6825.             *DisplayName = "Respawn Time"
  6826.             *Value = 30.0
  6827.             *Comment = "The time that elapses between the time a pickup is picked up and the the"
  6828.             *Comment = "time it should respawn. A value of 0.0 means it the pickup should never"
  6829.             *Comment = "respawn. Default is 30.0 seconds"
  6830.         }
  6831.     }
  6832.     *AIModes
  6833.     {
  6834.         "Idle",
  6835.         "Respawn"
  6836.     }
  6837. }
  6838. ;------------------------------------------------------------------------------
  6839. ; Temporary GameMode Specifier
  6840. ;------------------------------------------------------------------------------
  6841.  
  6842. *OBJECT = "GameModeInfo"
  6843. {
  6844.     *Name = "GameModeInfo"
  6845.     *Type = "OBJECT"
  6846.     *UseInActorEd = "True"
  6847. }
  6848.  
  6849. ;------------------------------------------------------------------------------
  6850. ; EndGameCameraFocusMarker
  6851. ;------------------------------------------------------------------------------
  6852.  
  6853. *Object = "EndGameCameraFocusMarker"
  6854. {
  6855.     *Name = "EndGameCameraFocusMarker"
  6856.     *Type = "OBJECT"
  6857.     *Inherits = "Actor"
  6858.     *UseInActorEd = "True"
  6859. }
  6860. ;------------------------------------------------------------------------------
  6861. ; Empathy Chest Plate Blast
  6862. ;------------------------------------------------------------------------------
  6863.  
  6864. *OBJECT = "EmpathyBlast"
  6865. {
  6866.     *NAME    = "EmpathyBlast"
  6867.     *INHERITS = "Actor"
  6868.     *TYPE    = "OBJECT"
  6869.     *UseInActorEd = "True"
  6870.     *Variables =
  6871.     {
  6872.         *Float = "Speed"
  6873.         {
  6874.             *DisplayName = "Speed"
  6875.             *Value = 30.0
  6876.             *Comment = "The speed at which the blast moves"
  6877.         }
  6878.     }
  6879. }
  6880.  
  6881. ;------------------------------------------------------------------------------
  6882. ; Generator
  6883. ;------------------------------------------------------------------------------
  6884. *OBJECT = "GeneratorObject"
  6885. {
  6886.     *NAME    = "GeneratorObject"
  6887.     *INHERITS = "DeviceAIObject"
  6888.     *TYPE    = "OBJECT"
  6889.     *UseInActorEd = "True"
  6890.  
  6891.     *AIMODES = 
  6892.     {
  6893.         Idle,
  6894.         Inactive,
  6895.         Generate,
  6896.     }
  6897.  
  6898.     *VARIABLES = 
  6899.     {
  6900.         *Group = "Actor 1"
  6901.         {
  6902.             *FilePick = "Actor0"
  6903.             {
  6904.                 *DisplayName    =    "Spawned Actor"
  6905.                 *Value            =    ""
  6906.                 *Directory        =    "$/Data/Actors/"
  6907.                 *Extension        =    "atr"
  6908.             }
  6909.             *FilePick = "Actor0PS2"
  6910.             {
  6911.                 *DisplayName    =    "Spawned Actor PS2"
  6912.                 *Value            =    ""
  6913.                 *Directory        =    "$/Data/Actors/"
  6914.                 *Extension        =    "atr"
  6915.             }
  6916.     
  6917.             *Int = "ActorChance0"
  6918.             {
  6919.                 *DisplayName    =    "Actor Chance"
  6920.                 *Value            =    0
  6921.                 *Min            =    0
  6922.                 *Max            =    100
  6923.                 *Comment        =    "The chance this type will be spawned."
  6924.             }
  6925.             *Int = "ActorQuantity0"
  6926.             {
  6927.                 *DisplayName    =    "Actor Quantity"
  6928.                 *Value            =    -1
  6929.                 *Min            =    -1
  6930.                 *Max            =    100
  6931.                 *Comment        =    "The Maximum number of actors spawned."
  6932.             }
  6933.             *String = "ActorName0"
  6934.             {
  6935.                 *DisplayName    =    "Name"
  6936.                 *Value            =    ""
  6937.                 *Comment        =    "In-game, this is the name that will be associated with this actor."
  6938.             }
  6939.         }
  6940.         *Group = "Actor 2"
  6941.         {
  6942.             *FilePick = "Actor1"
  6943.             {
  6944.                 *DisplayName    =    "Spawned Actor"
  6945.                 *Value            =    ""
  6946.                 *Directory        =    "$/Data/Actors/"
  6947.                 *Extension        =    "atr"
  6948.             }
  6949.             *FilePick = "Actor1PS2"
  6950.             {
  6951.                 *DisplayName    =    "Spawned Actor PS2"
  6952.                 *Value            =    ""
  6953.                 *Directory        =    "$/Data/Actors/"
  6954.                 *Extension        =    "atr"
  6955.             }
  6956.             *Int = "ActorChance1"
  6957.             {
  6958.                 *DisplayName    =    "Actor Chance"
  6959.                 *Value            =    0
  6960.                 *Min            =    0
  6961.                 *Max            =    100
  6962.                 *Comment        =    "The chance this type will be spawned."
  6963.             }
  6964.             *Int = "ActorQuantity1"
  6965.             {
  6966.                 *DisplayName    =    "Actor Quantity"
  6967.                 *Value            =    -1
  6968.                 *Min            =    -1
  6969.                 *Max            =    100
  6970.                 *Comment        =    "The Maximum number of actors spawned."
  6971.             }
  6972.             *String = "ActorName1"
  6973.             {
  6974.                 *DisplayName    =    "Name"
  6975.                 *Value            =    ""
  6976.                 *Comment        =    "In-game, this is the name that will be associated with this actor."
  6977.             }
  6978.         }
  6979.         *Group = "Actor 3"
  6980.         {
  6981.             *FilePick = "Actor2"
  6982.             {
  6983.                 *DisplayName    =    "Spawned Actor"
  6984.                 *Value            =    ""
  6985.                 *Directory        =    "$/Data/Actors/"
  6986.                 *Extension        =    "atr"
  6987.             }
  6988.             *FilePick = "Actor2PS2"
  6989.             {
  6990.                 *DisplayName    =    "Spawned Actor PS2"
  6991.                 *Value            =    ""
  6992.                 *Directory        =    "$/Data/Actors/"
  6993.                 *Extension        =    "atr"
  6994.             }
  6995.  
  6996.             *Int = "ActorChance2"
  6997.             {
  6998.                 *DisplayName    =    "Actor Chance"
  6999.                 *Value            =    0
  7000.                 *Min            =    0
  7001.                 *Max            =    100
  7002.                 *Comment        =    "The chance this type will be spawned."
  7003.             }
  7004.             *Int = "ActorQuantity2"
  7005.             {
  7006.                 *DisplayName    =    "Actor Quantity"
  7007.                 *Value            =    -1
  7008.                 *Min            =    -1
  7009.                 *Max            =    100
  7010.                 *Comment        =    "The Maximum number of actors spawned."
  7011.             }
  7012.             *String = "ActorName2"
  7013.             {
  7014.                 *DisplayName    =    "Name"
  7015.                 *Value            =    ""
  7016.                 *Comment        =    "In-game, this is the name that will be associated with this actor."
  7017.             }
  7018.         }
  7019.         *Group = "Actor 4"
  7020.         {
  7021.             *FilePick = "Actor3"
  7022.             {
  7023.                 *DisplayName    =    "Spawned Actor"
  7024.                 *Value            =    ""
  7025.                 *Directory        =    "$/Data/Actors/"
  7026.                 *Extension        =    "atr"
  7027.             }
  7028.             *FilePick = "Actor3PS2"
  7029.             {
  7030.                 *DisplayName    =    "Spawned Actor PS2"
  7031.                 *Value            =    ""
  7032.                 *Directory        =    "$/Data/Actors/"
  7033.                 *Extension        =    "atr"
  7034.             }
  7035.  
  7036.             *Int = "ActorChance3"
  7037.             {
  7038.                 *DisplayName    =    "Actor Chance"
  7039.                 *Value            =    0
  7040.                 *Min            =    0
  7041.                 *Max            =    100
  7042.                 *Comment        =    "The chance this type will be spawned."
  7043.             }
  7044.             *Int = "ActorQuantity3"
  7045.             {
  7046.                 *DisplayName    =    "Actor Quantity"
  7047.                 *Value            =    -1
  7048.                 *Min            =    -1
  7049.                 *Max            =    100
  7050.                 *Comment        =    "The Maximum number of actors spawned."
  7051.             }
  7052.             *String = "ActorName3"
  7053.             {
  7054.                 *DisplayName    =    "Name"
  7055.                 *Value            =    ""
  7056.                 *Comment        =    "In-game, this is the name that will be associated with this actor."
  7057.             }
  7058.         }
  7059.         *Group = "Actor 5"
  7060.         {
  7061.             *FilePick = "Actor4"
  7062.             {
  7063.                 *DisplayName    =    "Spawned Actor"
  7064.                 *Value            =    ""
  7065.                 *Directory        =    "$/Data/Actors/"
  7066.                 *Extension        =    "atr"
  7067.             }
  7068.             *FilePick = "Actor4PS2"
  7069.             {
  7070.                 *DisplayName    =    "Spawned Actor PS2"
  7071.                 *Value            =    ""
  7072.                 *Directory        =    "$/Data/Actors/"
  7073.                 *Extension        =    "atr"
  7074.             }
  7075.             *Int = "ActorChance4"
  7076.             {
  7077.                 *DisplayName    =    "Actor Chance"
  7078.                 *Value            =    0
  7079.                 *Min            =    0
  7080.                 *Max            =    100
  7081.                 *Comment        =    "The chance this type will be spawned."
  7082.             }
  7083.             *Int = "ActorQuantity4"
  7084.             {
  7085.                 *DisplayName    =    "Actor Quantity"
  7086.                 *Value            =    -1
  7087.                 *Min            =    -1
  7088.                 *Max            =    100
  7089.                 *Comment        =    "The Maximum number of actors spawned."
  7090.             }
  7091.             *String = "ActorName4"
  7092.             {
  7093.                 *DisplayName    =    "Name"
  7094.                 *Value            =    ""
  7095.                 *Comment        =    "In-game, this is the name that will be associated with this actor."
  7096.             }
  7097.         }
  7098.         *Bool = "Sequential"
  7099.         {
  7100.             *DisplayName = "Sequential"
  7101.             *Value    = 0
  7102.             *Comment = "Spawn Actors in order (True/False)"
  7103.         }
  7104.         *Float = "SpawnInterval"
  7105.         {
  7106.             *VALUE    = 10
  7107.             *MIN    = 0
  7108.             *MAX    = 999
  7109.             *DISPLAYNAME = "Spawn Interval"
  7110.             *Comment    =    "The time in seconds between spawns."
  7111.         }
  7112.         *Float = "SpawnIntervalPS2"
  7113.         {
  7114.             *VALUE    = 10
  7115.             *MIN    = 0
  7116.             *MAX    = 999
  7117.             *DISPLAYNAME = "Spawn Interval PS2"
  7118.             *Comment    =    "The time in seconds between spawns."
  7119.         }
  7120.  
  7121.         *Float = "WaitInterval"
  7122.         {
  7123.             *VALUE    = 0
  7124.             *MIN    = 0
  7125.             *MAX    = 999
  7126.             *DISPLAYNAME = "Wait Interval"
  7127.             *Comment    =    "The time in seconds to the first spawn after activating."
  7128.         }
  7129.         *Int = "TotalSpawns"
  7130.         {
  7131.             *DisplayName    =    "Total Spawns"
  7132.             *Value            =    -1
  7133.             *Min            =    -1
  7134.             *Max            =    1000
  7135.             *Comment        =    "The total number of spawns allowed for this generator."
  7136.             *Comment        =    "\nUse -1 for an infinite amount."
  7137.         }
  7138.         *Int = "TotalSpawnsPS2"
  7139.         {
  7140.             *DisplayName    =    "Total Spawns PS2"
  7141.             *Value            =    -1
  7142.             *Min            =    -1
  7143.             *Max            =    1000
  7144.             *Comment        =    "The total number of spawns allowed for this generator."
  7145.             *Comment        =    "\nUse -1 for an infinite amount."
  7146.         }
  7147.         *Int = "ActiveSpawns"
  7148.         {
  7149.             *DisplayName    =    "Active Spawns"
  7150.             *Value            =    -1
  7151.             *Min            =    -1
  7152.             *Max            =    1000
  7153.             *Comment        =    "The total number of generated spawns allowed out at one time."
  7154.             *Comment        =    "\nUse -1 for an infinite amount."
  7155.         }
  7156.         *Int = "ActiveSpawnsPS2"
  7157.         {
  7158.             *DisplayName    =    "Active Spawns PS2"
  7159.             *Value            =    -1
  7160.             *Min            =    -1
  7161.             *Max            =    1000
  7162.             *Comment        =    "The total number of generated spawns allowed out at one time."
  7163.             *Comment        =    "\nUse -1 for an infinite amount."
  7164.         }
  7165.         *Bool = "FollowsPath"
  7166.         {
  7167.             *DisplayName    =    "Follows Path"
  7168.             *Value            =    0
  7169.             *Comment        =    "True: The Generator follows an assigned path."
  7170.             *Comment        =    "False: The Generator ignores assigned paths."
  7171.         }
  7172.  
  7173.         *Bool = "SpawnsFollowsPath"
  7174.         {
  7175.             *DisplayName    =    "Spawns Follow Path"
  7176.             *Value            =    0
  7177.             *Comment        =    "True: The spawned actors are assigned path."
  7178.             *Comment        =    "False: The spawned actors are not given path."
  7179.         }
  7180.         *Bool = "SetReg"
  7181.         {
  7182.             *DisplayName = "Set Regions in Spawns"
  7183.             *Value    = 0
  7184.             *Comment = "Spawns get regions settings turned on (True/False)"
  7185.         }
  7186.         *Int = "WaveNumber"
  7187.         {
  7188.             *DisplayName    =    "Wave Number"
  7189.             *Value            =    1
  7190.             *Min            =    1
  7191.             *Max            =    10
  7192.             *Comment        =    "The wave of attack that this generator will generate enemies for."
  7193.             *Comment        =    "[Note: Only used in multiplayer DinoHunt mode]"
  7194.         }
  7195.         *Group                =    "Offset"
  7196.         {
  7197.             *Comment    =    "The relative offset (in world coordinates) where the new actor should start."
  7198.             *Float = "OffsetX"
  7199.             {
  7200.                 *DisplayName    =    "X"
  7201.                 *Value            =    0.0
  7202.             }
  7203.             *Float = "OffsetY"
  7204.             {
  7205.                 *DisplayName    =    "Y"
  7206.                 *Value            =    0.0
  7207.             }
  7208.             *Float = "OffsetZ"
  7209.             {
  7210.                 *DisplayName    =    "Z"
  7211.                 *Value            =    0.0
  7212.             }
  7213.         }
  7214.     }
  7215. }
  7216. ;------------------------------------------------------------------------------
  7217. ; MPGeneratorObject - same as above, with a couple changes
  7218. ;------------------------------------------------------------------------------
  7219.  
  7220. *OBJECT = "MPGeneratorObject"
  7221. {
  7222.     *NAME = "MPGeneratorObject"
  7223.     *INHERITS = "GeneratorObject"
  7224.     *TYPE = "OBJECT"
  7225.     *UseInActorEd = "True"
  7226.     *AIMODES = 
  7227.     {
  7228.         Idle,
  7229.         Inactive,
  7230.         Generate,
  7231.     }
  7232. }
  7233.  
  7234.  
  7235.  
  7236. ;------------------------------------------------------------------------------
  7237. ; Turret
  7238. ;------------------------------------------------------------------------------
  7239. *OBJECT = "TurretObject"
  7240. {
  7241.     *NAME    = "TurretObject"
  7242.     *INHERITS = "DeviceAIObject"
  7243.     *TYPE    = "OBJECT"
  7244.     *UseInActorEd = "True"
  7245.  
  7246.     *AIMODES = 
  7247.     {
  7248.         Idle,
  7249.         Inactive,
  7250.         Fire,
  7251.         Reload,
  7252.     }
  7253.  
  7254.     *VARIABLES = 
  7255.     {
  7256.         *BOOL = "TIgMX"
  7257.         {
  7258.             *VALUE    = "False"
  7259.             *DISPLAYNAME = "Ignore MaxXRotation"
  7260.             *Comment = "TRUE  = Turret will have no X rotation boundaries."
  7261.             *Comment = "FALSE = Turret will stay within MaxXRotation."
  7262.         }
  7263.         
  7264.         *BOOL = "TIgMY"
  7265.         {
  7266.             *VALUE    = "False"
  7267.             *DISPLAYNAME = "Ignore MaxYRotation"
  7268.             *Comment = "TRUE  = Turret will have no Y rotation boundaries."
  7269.             *Comment = "FALSE = Turret will stay within MaxYRotation."
  7270.         }
  7271.  
  7272.         *Float = "MaxXRotation"
  7273.         {
  7274.             *DisplayName    =    "Max X Rotation"
  7275.             *Value            =    15.0
  7276.             *Min            =    0.0
  7277.             *Max            =    90.0
  7278.             *Comment        =    "The max up and down rotation."
  7279.         }
  7280.  
  7281.         *Float = "MaxYRotation"
  7282.         {
  7283.             *DisplayName    =    "Max Y Rotation"
  7284.             *Value            =    45.0
  7285.             *Min            =    0.0
  7286.             *Max            =    180.0
  7287.             *Comment        =    "The max left and right rotation."
  7288.         }
  7289.  
  7290.         *Float = "XRotationSpeed"
  7291.         {
  7292.             *DisplayName    =    "X Rotation Speed"
  7293.             *Value            =    60.0
  7294.             *Min            =    0.0
  7295.             *Max            =    1000.0
  7296.             *Comment        =    "The up and down rotation speed in degrees per second."
  7297.         }
  7298.  
  7299.         *Float = "YRotationSpeed"
  7300.         {
  7301.             *DisplayName    =    "Y Rotation Speed"
  7302.             *Value            =    60.0
  7303.             *Min            =    0.0
  7304.             *Max            =    1000.0
  7305.             *Comment        =    "The left and right rotation speed in degrees per second."
  7306.         }
  7307.  
  7308.         *Int = "XRotationBone"
  7309.         {
  7310.             *DisplayName    =    "X Rotation Bone ID"
  7311.             *Value            =    0
  7312.             *Min            =    0
  7313.             *Comment        =    "The ID of the bone to use for X up and down rotation."
  7314.             *Comment        =    "Bone IDs are listed under Skeleton in the ActorEditor."
  7315.             *Usage            = "Protected"
  7316.         }
  7317.  
  7318.         *Int = "YRotationBone"
  7319.         {
  7320.             *DisplayName    =    "Y Rotation Bone ID"
  7321.             *Value            =    0
  7322.             *Min            =    0
  7323.             *Comment        =    "The ID of the bone to use for Y left and right rotation."
  7324.             *Comment        =    "Bone IDs are listed under Skeleton in the ActorEditor."
  7325.             *Usage            = "Protected"
  7326.         }
  7327.  
  7328.         *Combo = "PlayerMode"
  7329.         {
  7330.             *DisplayName    =    "Player Mode"
  7331.             *Value            =    0
  7332.             *ComboList = ; 
  7333.             {
  7334.                 "Static"    ,
  7335.                 "Moveable"
  7336.             }
  7337.             *Comment        =    "The type of link:"
  7338.             *Comment        =    ""
  7339.             *Comment        =    "Static - Player doesnt move"
  7340.             *Comment        =    ""
  7341.             *Comment        =    "Moveable - Player moves with turret"
  7342.         }
  7343.  
  7344.  
  7345.         *Combo = "TurretType"
  7346.         {
  7347.             *DisplayName    =    "Turret Type"
  7348.             *Value            =    0
  7349.             *ComboList = 
  7350.             {
  7351.                 "Auto"    ,
  7352.                 "Ally"    ,
  7353.                 "Enemy" 
  7354.             }
  7355.             *Comment        =    ""
  7356.             *Comment        =    "Auto - Will start firing when an enemy is detected."
  7357.             *Comment        =    ""
  7358.             *Comment        =    "Ally - No AI. Can be used by player."
  7359.             *Comment        =    ""
  7360.             *Comment        =    "Enemy - Shoots at given targets."
  7361.         }
  7362.  
  7363.         *Group = "Auto Turret Info"
  7364.         {
  7365.             *Float = "AutoTurretRadius"
  7366.             {
  7367.                 *VALUE    = 5
  7368.                 *MIN    = 0
  7369.                 *DISPLAYNAME = "Radius"
  7370.                 *DISPLAYASDISC = "255,0,0"
  7371.                 *Comment = "The Detection Radius for the turret."
  7372.                 *Comment = "This sets how close you can get to the turret before it opens fire."
  7373.             }
  7374.  
  7375.             *Comment = "These variables will only affect Auto Turrets."
  7376.         }
  7377.  
  7378.         *Group = "Enemy Turret Info"
  7379.         {
  7380.             *Combo = "EnemyTurretType"
  7381.             {
  7382.                 *DisplayName    =    "Type"
  7383.                 *Value            =    0
  7384.                 *ComboList = 
  7385.                 {
  7386.                     "Full Auto"    ,
  7387.                     "At Nodes" 
  7388.                 }
  7389.                 *Comment        =    ""
  7390.                 *Comment        =    "Full Auto - Will fire as fast as reload rate will allow."
  7391.                 *Comment        =    ""
  7392.                 *Comment        =    "At Nodes - Will fire when target is at a path node."
  7393.             }
  7394.  
  7395.             *Comment = "These variables will only affect Enemy Turrets."
  7396.         }
  7397.         
  7398.         
  7399.         *Group = "Auto/Enemy Turret info"
  7400.         {
  7401. ;            *Float = "FAng"
  7402. ;            {
  7403. ;                *VALUE    = 45.0f
  7404. ;                *MIN    = 0
  7405. ;                *DISPLAYNAME = "Target Angle"
  7406. ;                *Comment = "The angle, in degrees, the turret has to be facing from the target before"
  7407. ;                *Comment = "it will start to fire and track it's target."
  7408. ;            }
  7409.             *Float = "SFre"
  7410.             {
  7411.                 *VALUE    = 1.0f
  7412.                 *MIN    = 0
  7413.                 *DISPLAYNAME = "Shoot frequency"
  7414.                 *Comment = "How often the turret will shoot."
  7415.                 *Comment = "i.e   1.0 = As soon as it can."
  7416.                 *Comment = "      0.5 = Sometimes."
  7417.                 *Comment = "      0.0 = Never."
  7418.             }
  7419.             *Float = "TErr"
  7420.             {
  7421.                 *VALUE    = 0.5f
  7422.                 *MIN    = 0
  7423.                 *DISPLAYNAME = "Targeting error (meters)"
  7424.                 *Comment = "How much error will be randomly added to each shot."
  7425.                 *Comment = "i.e   5.0 = It will shoot upto 5 meters wide."
  7426.                 *Comment = "      0.0 = Shoot on target."
  7427.             }
  7428.             
  7429.             
  7430.         }
  7431.         
  7432.     }
  7433. }
  7434.  
  7435. // =============================================
  7436. // used as a dummy actor that follows a path
  7437. // as an aiming point for a turret
  7438. // =============================================
  7439. *OBJECT = "TurretTargetObject"
  7440. {
  7441.     *NAME    = "TurretTargetObject"
  7442.     *TYPE    = "OBJECT"
  7443.     *INHERITS = "Object"
  7444.     *UseInActorEd = "True"
  7445. }
  7446.  
  7447.  
  7448. ;------------------------------------------------------------------------------
  7449. ; AnimalAI
  7450. ;------------------------------------------------------------------------------
  7451. *OBJECT = "AnimalAI"
  7452. {
  7453.     *NAME    = "AnimalAI"
  7454.     *TYPE    = "OBJECT"
  7455.     *INHERITS = "EnemyAIObject"
  7456.     *UseInActorEd = "True"
  7457.  
  7458.     *AIMODES = 
  7459.     {
  7460.         Idle,
  7461.         AlertIdle,
  7462.         Walk,
  7463.         AlertWalk,
  7464.         RotateLeft,
  7465.         RotateRight,
  7466.         AlertRotateLeft,
  7467.         AlertRotateRight,
  7468.         Run,
  7469.         RunningDeath,
  7470.         ExplosionDeath,
  7471.         AlertRun,
  7472.         Jump,
  7473.         Climb,
  7474.         HangClimb,
  7475.         Eat,
  7476.         Stunned,
  7477.         Talk,
  7478.         Damaged,
  7479.         Death,
  7480.         FireRun,
  7481.         FireDeath,
  7482.         Attack,
  7483.         SecondAttack,
  7484.         ThirdAttack,
  7485.         FourthAttack,
  7486.         FifthAttack,
  7487.         UnderwaterIdle,
  7488.         UnderwaterSwim,
  7489.         WatersurfaceIdle,
  7490.         WatersurfaceSwim,
  7491.         SwimmingAttack,
  7492.         Special1,
  7493.         Special2,
  7494.         Special3,
  7495.         Special4
  7496.  
  7497.     }
  7498.  
  7499.  
  7500. }
  7501.  
  7502. ;------------------------------------------------------------------------------
  7503. ; GroupAnimalAI
  7504. ;------------------------------------------------------------------------------
  7505. *OBJECT = "GroupAnimalAI"
  7506. {
  7507.     *NAME    = "GroupAnimalAI"
  7508.     *TYPE    = "OBJECT"
  7509.     *INHERITS = "AnimalAI"
  7510.     *UseInActorEd = "True"
  7511.  
  7512.     *AIMODES = 
  7513.     {
  7514.         Idle,
  7515.         AlertIdle,
  7516.         Walk,
  7517.         AlertWalk,
  7518.         RotateLeft,
  7519.         RotateRight,
  7520.         AlertRotateLeft,
  7521.         AlertRotateRight,
  7522.         Run,
  7523.         RunningDeath,
  7524.         ExplosionDeath,
  7525.         AlertRun,
  7526.         Jump,
  7527.         Climb,
  7528.         HangClimb,
  7529.         Eat,
  7530.         Damaged,
  7531.         Death,
  7532.         FireRun,
  7533.         FireDeath,
  7534.         CallOut,
  7535.         Attack,
  7536.         SecondAttack,
  7537.         ThirdAttack,
  7538.         FourthAttack,
  7539.         FifthAttack,
  7540.         Stunned,
  7541.         UnderwaterIdle,
  7542.         UnderwaterSwim,
  7543.         WatersurfaceIdle,
  7544.         WatersurfaceSwim,
  7545.         Special1,
  7546.         Special2,
  7547.         Special3,
  7548.         Special4
  7549.  
  7550.     }
  7551.  
  7552.     *VARIABLES = 
  7553.     {
  7554.         *String = "GAGroupName"
  7555.         {
  7556.             *DisplayName    =    "GroupName"
  7557.             *Value            =    ""
  7558.             *Comment        =    "The name of the group this AI belongs to"
  7559.         }
  7560.  
  7561.         *INT = "GAMinNumbers"
  7562.         {
  7563.             *VALUE            = 1
  7564.             *MIN            = 0
  7565.             *DISPLAYNAME    = "Min Numbers"
  7566.             *Comment        = "The min number of group members needed to attack a target"
  7567.         }
  7568.  
  7569.         *BOOL = "GAGroupAttack"
  7570.         {
  7571.             *VALUE    = "False"
  7572.             *DISPLAYNAME = "Only attack when group attacked?"
  7573.         }
  7574.     }
  7575.  
  7576. }
  7577.  
  7578.  
  7579. ;------------------------------------------------------------------------------
  7580. ; IndigenousAI
  7581. ;------------------------------------------------------------------------------
  7582. *OBJECT = "IndigenousAI"
  7583. {
  7584.     *NAME    = "IndigenousAI"
  7585.     *TYPE    = "OBJECT"
  7586.     *INHERITS = "AnimalAI"
  7587.     *UseInActorEd = "True"
  7588.  
  7589.     *AIMODES = 
  7590.     {
  7591.         Idle,
  7592.         AlertIdle,
  7593.         Walk,
  7594.         AlertWalk,
  7595.         RotateLeft,
  7596.         RotateRight,
  7597.         AlertRotateLeft,
  7598.         AlertRotateRight,
  7599.         Run,
  7600.         RunningDeath,
  7601.         ExplosionDeath,
  7602.         AlertRun,
  7603.         Jump,
  7604.         Climb,
  7605.         HangClimb,
  7606.         Eat,
  7607.         Damaged,
  7608.         Death,
  7609.         FireRun,
  7610.         FireDeath,
  7611.         Attack,
  7612.         UnderwaterIdle,
  7613.         UnderwaterSwim,
  7614.         WatersurfaceIdle,
  7615.         WatersurfaceSwim,
  7616.         Special1,
  7617.         Special2,
  7618.         Special3,
  7619.         Special4
  7620.  
  7621.     }
  7622.  
  7623. }
  7624.  
  7625. ;------------------------------------------------------------------------------
  7626. ; AquaticAI
  7627. ;------------------------------------------------------------------------------
  7628. *OBJECT = "AquaticAI"
  7629. {
  7630.     *NAME    = "AquaticAI"
  7631.     *TYPE    = "OBJECT"
  7632.     *INHERITS = "AnimalAI"
  7633.     *UseInActorEd = "True"
  7634.  
  7635.     *AIMODES = 
  7636.     {
  7637.         Idle,
  7638.         AlertIdle,
  7639.         Damaged,
  7640.         Death,
  7641.         Attack,
  7642.         Eat,
  7643.         UnderwaterIdle,
  7644.         UnderwaterSwim,
  7645.         WatersurfaceIdle,
  7646.         WatersurfaceSwim
  7647.     }
  7648. }
  7649.  
  7650. ;------------------------------------------------------------------------------
  7651. ; AquaticIndigenousAI
  7652. ;------------------------------------------------------------------------------
  7653. *OBJECT = "AquaticIndigenousAI"
  7654. {
  7655.     *NAME    = "AquaticIndigenousAI"
  7656.     *TYPE    = "OBJECT"
  7657.     *INHERITS = "AquaticAI"
  7658.     *UseInActorEd = "True"
  7659.  
  7660.     *AIMODES = 
  7661.     {
  7662.         Idle,
  7663.         AlertIdle,
  7664.         Damaged,
  7665.         Death,
  7666.         Eat,
  7667.         Attack,
  7668.         UnderwaterIdle,
  7669.         UnderwaterSwim,
  7670.         WatersurfaceIdle,
  7671.         WatersurfaceSwim
  7672.     }
  7673. }
  7674.  
  7675. ;------------------------------------------------------------------------------
  7676. ; Steracosaur
  7677. ;------------------------------------------------------------------------------
  7678. *OBJECT = "Steracosaur"
  7679. {
  7680.     *NAME    = "Steracosaur"
  7681.     *TYPE    = "OBJECT"
  7682.     *INHERITS = "EnemyAIObject"
  7683.     *UseInActorEd = "True"
  7684.  
  7685.     *AIMODES = 
  7686.     {
  7687.         Idle,
  7688.         AlertIdle,
  7689.         Walk,
  7690.         AlertWalk,
  7691.         RotateLeft,
  7692.         RotateRight,
  7693.         AlertRotateLeft,
  7694.         AlertRotateRight,
  7695.         Run,
  7696.         RunningDeath,
  7697.         ExplosionDeath,
  7698.         AlertRun,
  7699.         Jump,
  7700.         Climb,
  7701.         HangClimb,
  7702.         Eat,
  7703.         Damaged,
  7704.         Death,
  7705.         FireRun,
  7706.         FireDeath,
  7707.         Attack,
  7708.         UnderwaterIdle,
  7709.         UnderwaterSwim,
  7710.         WatersurfaceIdle,
  7711.         WatersurfaceSwim,
  7712.         StunFallDown,
  7713.         StunGetUp,
  7714.         Backup
  7715.     }
  7716.  
  7717. }
  7718.  
  7719. ;------------------------------------------------------------------------------
  7720. ; T-Rex
  7721. ;------------------------------------------------------------------------------
  7722. *OBJECT = "TRexAI"
  7723. {
  7724.     *NAME    = "TRexAI"
  7725.     *TYPE    = "OBJECT"
  7726.     *INHERITS = "EnemyAIObject"
  7727.     *UseInActorEd = "True"
  7728.  
  7729.     *AIMODES = 
  7730.     {
  7731.         Idle,
  7732.         AlertIdle,
  7733.         CrouchIdle,
  7734.         ProneIdle,
  7735.         RotateLeft,
  7736.         RotateRight,
  7737.         AlertRotateLeft,
  7738.         AlertRotateRight,
  7739.         StandingSleep,
  7740.         Walk,
  7741.         AlertWalk,
  7742.         CrouchWalk,
  7743.         ProneCrawl,
  7744.         Run,
  7745.         AlertRun,
  7746.         FireRun,
  7747.         FireStarter,
  7748.         FireDeath,
  7749.         Fall,
  7750.         ExaggeratedFall,
  7751.         FallDeath,
  7752.         Jump,
  7753.         Climb,
  7754.         ClimbEnd,
  7755.         HangClimb,
  7756.         Damaged,
  7757.         Death,
  7758.         PoisonDamage,
  7759.         PoisonDeath,
  7760.         ExplosionDeath,
  7761.         ExplosionDamage,
  7762.         GravityHeld,
  7763.         Attack,
  7764.         SecondAttack,
  7765.         ThirdAttack,
  7766.         FourthAttack,
  7767.         FifthAttack,
  7768.         CrouchAttack,
  7769.         ProneAttack,
  7770.         UnderwaterIdle,
  7771.         UnderwaterSwim,
  7772.         WatersurfaceIdle,
  7773.         WatersurfaceSwim,
  7774.         SwimmingAttack,
  7775.         SquatIdle,
  7776.         Taunt,
  7777.         Talk,
  7778.         Frustrated,
  7779.         Stunned
  7780.     }
  7781.  
  7782. }
  7783.  
  7784.  
  7785. ;------------------------------------------------------------------------------
  7786. ; PlesiosaurAI
  7787. ;------------------------------------------------------------------------------
  7788. *OBJECT = "PlesiosaurAI"
  7789. {
  7790.     *NAME    = "PlesiosaurAI"
  7791.     *TYPE    = "OBJECT"
  7792.     *INHERITS = "DeviceAIObject"
  7793.     *UseInActorEd = "True"
  7794.  
  7795.     *AIMODES = 
  7796.     {
  7797.         AttackLeft,
  7798.         AttackRight,
  7799.         AttackSweepLeft,
  7800.         AttackSweepRight,
  7801.  
  7802.         LookAboveWater,
  7803.  
  7804.         SwimAbove,
  7805.         SwimUnder,
  7806.         DiveSwim,
  7807.         FastSwimAttack,
  7808.  
  7809.         SwimTurnLeftSlight,
  7810.         SwimTurnLeftMedium,
  7811.         SwimTurnLeftExtreme,
  7812.         SwimTurnRightSlight,
  7813.         SwimTurnRightMedium,
  7814.         SwimTurnRightExtreme,
  7815.         
  7816.         Flinch,
  7817.  
  7818.         EndSeqBurstUp,
  7819.         EndSeqIdle,
  7820.         EndSeqAttackCenter,
  7821.         EndSeqAttackCenterLeft,
  7822.         EndSeqAttackLeft,
  7823.         EndSeqAttackCenterRight,
  7824.         EndSeqAttackRight,
  7825.         EndSeqHurt,
  7826.  
  7827.         Die
  7828.     }
  7829.     
  7830.     *VARIABLES = 
  7831.     {
  7832.         *BOOL = "ShowZones"
  7833.         {
  7834.             *VALUE    = "False"
  7835.             *DISPLAYNAME = "Show attack zones?"
  7836.             *Comment = "TRUE  = Zones will be displayed."
  7837.             *Comment = "FALSE = You get nothing."
  7838.         }
  7839.  
  7840.  
  7841.         *BOOL = "LastStage"
  7842.         {
  7843.             *VALUE    = "False"
  7844.             *DISPLAYNAME = "Last stage?"
  7845.             *Comment = "TRUE  = Plesiosaur will stay still and fight."
  7846.             *Comment = "FALSE = Plesiosaur will swim around looking for a target."
  7847.         }
  7848.         
  7849.         *FLOAT = "SUWD"
  7850.         {
  7851.             *VALUE    = 8.0
  7852.             *DISPLAYNAME = "Swim under water depth"
  7853.             *Comment = "In meters."
  7854.         }
  7855.         
  7856.         *FLOAT = "SUWDDS"
  7857.         {
  7858.             *VALUE    = 5.0
  7859.             *DISPLAYNAME = "Swim under water dive speed"
  7860.             *Comment = "How fast the plesiosaur will diver under."
  7861.         }
  7862.  
  7863.         *FLOAT = "SUWMDT"
  7864.         {
  7865.             *VALUE    = 5.0
  7866.             *DISPLAYNAME = "Minimum time between dive under water"
  7867.             *Comment = "In seconds."
  7868.         }
  7869.  
  7870.         *FLOAT = "SUWC"
  7871.         {
  7872.             *VALUE    = 0.25
  7873.             *DISPLAYNAME = "Chance of swimming under water"
  7874.             *Comment = "0 = none."
  7875.             *Comment = "1 = Lots."
  7876.         }
  7877.  
  7878.         *FLOAT = "SAWMDT"
  7879.         {
  7880.             *VALUE    = 5.0
  7881.             *DISPLAYNAME = "Minimum time between rise to surface (if under)"
  7882.             *Comment = "In seconds."
  7883.         }
  7884.  
  7885.         *FLOAT = "SAWC"
  7886.         {
  7887.             *VALUE    = 0.50
  7888.             *DISPLAYNAME = "Chance of swimming above water (if under)"
  7889.             *Comment = "0 = none."
  7890.             *Comment = "1 = Lots."
  7891.         }
  7892.  
  7893.         *FLOAT = "FIDMT"
  7894.         {
  7895.             *VALUE    = 10.0
  7896.             *DISPLAYNAME = "Minimum time between fidgets"
  7897.             *Comment = "In seconds."
  7898.         }
  7899.  
  7900.         *FLOAT = "FIDC"
  7901.         {
  7902.             *VALUE    = 0.10
  7903.             *DISPLAYNAME = "Chance of a fidget"
  7904.             *Comment = "0 = none."
  7905.             *Comment = "1 = Lots."
  7906.         }
  7907.  
  7908.         *FLOAT = "SAWSS"
  7909.         {
  7910.             *VALUE    = 3.0
  7911.             *DISPLAYNAME = "Swim above water surface speed"
  7912.             *Comment = "This value is added to the spline path value."
  7913.         }
  7914.  
  7915.         *FLOAT = "AHRR"
  7916.         {
  7917.             *VALUE    = 10.0
  7918.             *DISPLAYNAME = "Head damage radius"
  7919.             *Comment = "This is the area that will inflict damage onto the target."
  7920.             *Comment = "This is area is positioned at the mouth of the plesiousaur."
  7921.         }
  7922.  
  7923.         *FLOAT = "AHRD"
  7924.         {
  7925.             *VALUE    = 25.0
  7926.             *DISPLAYNAME = "Head radius damage"
  7927.             *Comment = "This is the amount of damage the target receives if the target is within the radius."
  7928.         }
  7929.  
  7930.         *FLOAT = "FZR"
  7931.         {
  7932.             *VALUE    = 3.75
  7933.             *DISPLAYNAME = "Foward zone radius"
  7934.             *Comment = "In meters."
  7935.         }
  7936.  
  7937.         *FLOAT = "LZR"
  7938.         {
  7939.             *VALUE    = 2.0
  7940.             *DISPLAYNAME = "Left zone radius"
  7941.             *Comment = "In meters."
  7942.         }
  7943.  
  7944.         *FLOAT = "RZR"
  7945.         {
  7946.             *VALUE    = 2.0
  7947.             *DISPLAYNAME = "Right zone radius"
  7948.             *Comment = "In meters."
  7949.         }
  7950.  
  7951.         *FLOAT = "SLZ"
  7952.         {
  7953.             *VALUE    = 3.0
  7954.             *DISPLAYNAME = "Sweep left zone radius"
  7955.             *Comment = "In meters."
  7956.         }
  7957.  
  7958.         *FLOAT = "SRZ"
  7959.         {
  7960.             *VALUE    = 3.0
  7961.             *DISPLAYNAME = "Sweep right zone radius"
  7962.             *Comment = "In meters."
  7963.         }
  7964.  
  7965.         *FLOAT = "ESZR"
  7966.         {
  7967.             *VALUE    = 20.0
  7968.             *DISPLAYNAME = "End sequence zone radius"
  7969.             *Comment = "In meters."
  7970.         }
  7971.     }        
  7972.     
  7973. }
  7974.  
  7975.  
  7976. ;------------------------------------------------------------------------------
  7977. ; MountAI
  7978. ;------------------------------------------------------------------------------
  7979. *OBJECT = "MountAI"
  7980. {
  7981.     *NAME    = "MountAI"
  7982.     *TYPE    = "OBJECT"
  7983.     *INHERITS = "EnemyAIObject"
  7984.     *UseInActorEd = "True"
  7985.  
  7986.     *AIMODES = 
  7987.     {
  7988.         Idle,
  7989.         AlertIdle,
  7990.         Walk,
  7991.         AlertWalk,
  7992.         RotateLeft,
  7993.         RotateRight,
  7994.         AlertRotateLeft,
  7995.         AlertRotateRight,
  7996.         Run,
  7997.         AlertRun,
  7998.         Jump,
  7999.         Climb,
  8000.         Eat,
  8001.         Damaged,
  8002.         Death,
  8003.         FireRun,
  8004.         FireDeath,
  8005.         Attack,
  8006.         UnderwaterIdle,
  8007.         UnderwaterSwim,
  8008.         WatersurfaceIdle,
  8009.         WatersurfaceSwim,
  8010.         Special1,
  8011.         Special2,
  8012.         Special3,
  8013.         Special4
  8014.  
  8015.     }
  8016.  
  8017.     *VARIABLES = 
  8018.     {
  8019.         *FilePick = "RiderName"
  8020.         {
  8021.             *DISPLAYNAME = "Rider"
  8022.             *Value            =    ""
  8023.             *Directory      =   "$\Data\Actors"
  8024.             *Extension      =   "atr"
  8025.         }
  8026.  
  8027.         *String = "RiderPoint"
  8028.         {
  8029.             *DisplayName    =    "Rider HotPoint"
  8030.             *Value            =    ""
  8031.             *Comment        =    "The hotpoint to attach the rider to"
  8032.         }
  8033.     }
  8034. }
  8035.  
  8036. ;------------------------------------------------------------------------------
  8037. ; SwayingTreeAI
  8038. ;------------------------------------------------------------------------------
  8039. *OBJECT = "SwayingTreeAI"
  8040. {
  8041.     *NAME    = "SwayingTreeAI"
  8042.     *TYPE    = "OBJECT"
  8043.     *INHERITS = "DeviceAIObject"
  8044.     *UseInActorEd = "True"
  8045.  
  8046.     *AIMODES = 
  8047.     {
  8048.         Setup        ,
  8049.         Swaying        ,
  8050.         StartToFall    ,
  8051.         Falling        ,
  8052.         Bounce        ,
  8053.         StartToShake    ,
  8054.         BushShake    ,
  8055.         Dead
  8056.     }
  8057.  
  8058.     *Combo = "STType"
  8059.     {
  8060.         *DisplayName    =    "Tree Type"
  8061.         *Value            =    0 
  8062.         *ComboList        =
  8063.         {
  8064.             "Swaying Tree",
  8065.             "Bush"
  8066.         }
  8067.     }
  8068.  
  8069.     *FLOAT = "STSpd"
  8070.     {
  8071.         *MIN    = 0.0
  8072.         *MAX    = 10.0
  8073.         *VALUE    = 1.0
  8074.         *DISPLAYNAME = "Swaying speed"
  8075.         *Comment     = "0 = stopped, 10 = fast"
  8076.     }
  8077.  
  8078.     *FLOAT = "STAmn"
  8079.     {
  8080.         *MIN    = 0.0
  8081.         *MAX    = 1.0
  8082.         *VALUE    = 0.05
  8083.         *DISPLAYNAME = "Amount of sway"
  8084.         *Comment     = "0 = none, 1 = lots"
  8085.     }
  8086.  
  8087.     *FLOAT = "STChs"
  8088.     {
  8089.         *MIN    = 0.0
  8090.         *MAX    = 1.0
  8091.         *VALUE    = 0.05
  8092.         *DISPLAYNAME = "Sway chaos"
  8093.         *Comment = "If all trees have 0 sway chaos they will"
  8094.         *Comment = "all sway together. If there is chaos it will"
  8095.         *Comment = "cause them to sway more differently to each other."
  8096.     }
  8097.  
  8098.     *BOOL = "STFall"
  8099.     {
  8100.         *VALUE    = "True"
  8101.         *DISPLAYNAME = "Fall at 0 health?"
  8102.         *Comment = "TRUE  = Tree will fall down when it's health reaches 0."
  8103.         *Comment = "FALSE = No fall."
  8104.     }
  8105.  
  8106.  
  8107.     *FLOAT = "STFSpd"
  8108.     {
  8109.         *MIN    = 0.0
  8110.         *MAX    = 1.0
  8111.         *VALUE    = 0.025
  8112.         *DISPLAYNAME = "Tree fall speed"
  8113.         *Comment = "How fast a tree falls when it's dying."
  8114.         *Comment = " 0 = stopped, 1 = fall fast."
  8115.     }
  8116.  
  8117.  
  8118.     *BOOL = "STClsn"
  8119.     {
  8120.         *VALUE    = "False"
  8121.         *DISPLAYNAME = "Keep collision after fall?"
  8122.         *Comment = "TRUE  = Actor will retain collision even after it has fallen."
  8123.         *Comment = "FALSE = Actor will have no collision once it has hit the floor."
  8124.     }
  8125.  
  8126.  
  8127.     *FLOAT = "STFRSpd"
  8128.     {
  8129.         *MIN    = 0.0
  8130.         *MAX    = 1.0
  8131.         *VALUE    = 0.07f
  8132.         *DISPLAYNAME = "Tree fall rotate speed"
  8133.         *Comment = "How fast a tree rotates when it falls."
  8134.         *Comment = " 0 = none, 1 = fast."
  8135.     }
  8136.  
  8137.     
  8138.     *FLOAT = "STFBnc"
  8139.     {
  8140.         *MIN    = 0.0
  8141.         *MAX    = 1.0
  8142.         *VALUE    = 0.25
  8143.         *DISPLAYNAME = "Tree fall bounce"
  8144.         *Comment = "How much bounce a falling tree has."
  8145.         *Comment = "0 = none, 1 = really really bouncy."
  8146.     }
  8147.  
  8148.     *FLOAT = "STSAmn"
  8149.     {
  8150.         *MIN    = 0.0
  8151.         *MAX    = 1.0
  8152.         *VALUE    = 0.25
  8153.         *DISPLAYNAME = "Shake Amount"
  8154.         *Comment = "Amount of this bush will shake."
  8155.         *Comment = "0 = none, 1 = insane."
  8156.     }
  8157.  
  8158.     *FLOAT = "STSCnt"
  8159.     {
  8160.         *MIN    = 1.0
  8161.         *VALUE    = 2.0
  8162.         *DISPLAYNAME = "Shake count"
  8163.         *Comment = "How many times the bush will shake."
  8164.         *Comment = "1 = once, 666 = Six hundred and sixty six times."
  8165.     }
  8166.  
  8167.  
  8168.     *FLOAT = "STSSpd"
  8169.     {
  8170.         *MIN    = 0.1
  8171.         *MAX    = 10.0
  8172.         *VALUE    = 1.5
  8173.         *DISPLAYNAME = "Shake Speed"
  8174.         *Comment = "How fast this bush will shake."
  8175.         *Comment = "0.1 = slow, 10 = v.fast."
  8176.     }
  8177.  
  8178.     *FLOAT = "STSpdR"
  8179.     {
  8180.         *MIN    = 0.0
  8181.         *MAX    = 1.0
  8182.         *VALUE    = 0.8
  8183.         *DISPLAYNAME = "Less player speed"
  8184.         *Comment = "How much a players speed will be reduced by"
  8185.         *Comment = "if it tries to pass through this bush."
  8186.         *Comment = "1.0 = none, 0.01 = a lot."
  8187.     }
  8188.  
  8189.     *FLOAT = "STDFan"
  8190.     {
  8191.         *MIN    = 0
  8192.         *MAX    = 359
  8193.         *VALUE    = 0
  8194.         *DISPLAYNAME = "Default Fall Angle"
  8195.         *Comment = "If the tree/bush gets damaged from no indirectly, it was fall at this angle."
  8196.         *Comment = "0-359 degrees."
  8197.     }
  8198.  
  8199.     *BOOL = "STADef"
  8200.     {
  8201.         *VALUE    = "False"
  8202.         *DISPLAYNAME = "Always use default fall angle."
  8203.         *Comment = "True = This actor will always fall at the 'Default fall angle' regardless of how the actor was hit."
  8204.         *Comment = "False= The actor will fall at the angle of impact, unless hit by a damage event."
  8205.     }
  8206.  
  8207.     *FLOAT = "STFRad"
  8208.     {
  8209.         *MIN    = 0
  8210.         *VALUE    = 0.0f
  8211.         *DISPLAYNAME = "Fall trigger radius"
  8212.         *Comment = " 0 = Not used."
  8213.         *Comment = ">0 = Actor will fall if the player gets within this radius of the actor."
  8214.     }
  8215.  
  8216. }
  8217.  
  8218. ;------------------------------------------------------------------------------
  8219. ; Stack manager
  8220. ;------------------------------------------------------------------------------
  8221. *OBJECT = "StackManager"
  8222. {
  8223.     *NAME    = "StackManager"
  8224.     *TYPE    = "OBJECT"
  8225.     *INHERITS = "DeviceAIObject"
  8226.     *UseInActorEd = "True"
  8227.  
  8228.     *AIMODES = 
  8229.     {
  8230.         Setup        ,
  8231.         Idle        ,
  8232.         Break        
  8233.     }
  8234.  
  8235.     *FLOAT = "Imppwr"
  8236.     {
  8237.         *MIN        = 0.0f
  8238.         *VALUE        = 8.0f
  8239.         *DISPLAYNAME     = "Impact power"
  8240.         *Comment     = "Power of the impact into stacked objects."
  8241.         *Comment     = "i.e."
  8242.         *Comment     = "1.0f stacked objects just fall."
  8243.         *Comment    = "10.0f stacked objects explode."
  8244.     }
  8245.  
  8246.     *BOOL = "UDmass"
  8247.     {
  8248.         *VALUE        = "True"
  8249.         *DISPLAYNAME     = "Use default mass?"
  8250.         *Comment     = "Force each stacked actor to have the default mass."
  8251.     }
  8252.  
  8253.  
  8254.     *FLOAT = "DMass"
  8255.     {
  8256.         *MIN        = 0.0f
  8257.         *VALUE        = 30.0f
  8258.         *DISPLAYNAME     = "Default mass"
  8259.         *Comment     = "Default mass value."
  8260.     }
  8261.  
  8262.     *BOOL = "UCog"
  8263.     {
  8264.         *VALUE        = "False"
  8265.         *DISPLAYNAME     = "Use 'Cog' rotate?"
  8266.         *Comment     = "True  = Rocks will rotate like cogs."
  8267.         *Comment     = "False = Rocks will rotate in the direction they travel."
  8268.     }
  8269.  
  8270.     *FLOAT = "MDmg"
  8271.     {
  8272.         *MIN        = 0.0f
  8273.         *VALUE        = 50.0f
  8274.         *DISPLAYNAME     = "Actor Damage "
  8275.         *Comment     = "This is the amount of damage the stacked actor will cause when it hits something."
  8276.     }
  8277.  
  8278.     *FLOAT = "MRss"
  8279.     {
  8280.         *MIN        = 0.0f
  8281.         *VALUE        = 0.5f
  8282.         *DISPLAYNAME     = "Rotate speed scale "
  8283.         *Comment     = "A scaler to on the rotational speed of the stackable actors."
  8284.         *Comment     = "e.g."
  8285.         *Comment     = "     0.1 = stackable actors will rotate slowly"
  8286.         *Comment     = "     2.0 = stackable actors will fast"
  8287.     }
  8288.  
  8289.     *FLOAT = "TDam"
  8290.     {
  8291.         *VALUE        = 1.0f
  8292.         *DISPLAYNAME     = "Health"
  8293.         *Comment     = "When health is 0 stack will fall."
  8294.     }
  8295.     
  8296.  
  8297. }
  8298.  
  8299.  
  8300. ;------------------------------------------------------------------------------
  8301. ; Stackable Object
  8302. ;------------------------------------------------------------------------------
  8303. *OBJECT = "Stackable"
  8304. {
  8305.     *NAME    = "Stackable"
  8306.     *TYPE    = "OBJECT"
  8307.     *INHERITS = "DeviceAIObject"
  8308.     *UseInActorEd = "True"
  8309.  
  8310.     *AIMODES = 
  8311.     {
  8312.         Setup        ,
  8313.         Idle        ,
  8314.         Falling
  8315.     }
  8316.  
  8317.  
  8318. }
  8319.  
  8320.  
  8321. ;------------------------------------------------------------------------------
  8322. ; RidingRaptorAI
  8323. ;------------------------------------------------------------------------------
  8324. *OBJECT = "RidingRaptorAI"
  8325. {
  8326.     *NAME    = "RidingRaptorAI"
  8327.     *TYPE    = "OBJECT"
  8328.     *INHERITS = "TurokAIObject"
  8329.     *UseInActorEd = "True"
  8330.  
  8331.     *AIModes =
  8332.     {
  8333.         RaptorRideIdle,
  8334.         RaptorRideIdleNoControl,
  8335.         RaptorRideRun,
  8336.         RaptorRideJump,
  8337.         RaptorRideFall,
  8338.         RaptorRideTurnLeft,
  8339.         RaptorRideTurnRight,
  8340.         RaptorRideTurnLeftRun,
  8341.         RaptorRideTurnRightRun,
  8342.         RaptorRideBiteAttack,
  8343.     }
  8344. }
  8345.  
  8346.  
  8347.  
  8348.  
  8349. ;------------------------------------------------------------------------------
  8350. ; HumanAI
  8351. ;------------------------------------------------------------------------------
  8352. *OBJECT = "HumanAI"
  8353. {
  8354.     *NAME    = "HumanAI"
  8355.     *TYPE    = "OBJECT"
  8356.     *INHERITS = "EnemyAIObject"
  8357.     *UseInActorEd = "True"
  8358.  
  8359.     *BOOL = "CallsOut"
  8360.     {
  8361.         *VALUE    = "False"
  8362.         *DISPLAYNAME = "Calls Out?"
  8363.         *Comment = "Calls out when detects target?"
  8364.     }
  8365.  
  8366.     *BOOL = "CanBeGravityHeld"
  8367.     {
  8368.         *Usage            = "Protected"
  8369.         *VALUE    = "True"
  8370.         *DISPLAYNAME = "Can Be Gravity Held?"
  8371.     }
  8372.  
  8373.     *int = "HeadFlinchBone"
  8374.     {
  8375.         *Usage            = "Protected"
  8376.         *VALUE            = -1
  8377.         *DISPLAYNAME    = "HeadFlinchBone"
  8378.     }
  8379.  
  8380.     *int = "TorsoFlinchBone"
  8381.     {
  8382.         *Usage            = "Protected"
  8383.         *VALUE            = -1
  8384.         *DISPLAYNAME    = "TorsoFlinchBone"
  8385.     }
  8386.  
  8387.     *Group = "Assault"
  8388.     {
  8389.         *FLOAT = "FollowDist"
  8390.         {
  8391.             *VALUE    = 6
  8392.             *DISPLAYNAME = "Follow Distance"
  8393.         }
  8394.  
  8395.         *FLOAT = "MinAssaultDist"
  8396.         {
  8397.             *VALUE    = 6
  8398.             *DISPLAYNAME = "Min Assault Distance"
  8399.         }
  8400.  
  8401.         *FLOAT = "MaxAssaultDist"
  8402.         {
  8403.             *VALUE    = 20
  8404.             *DISPLAYNAME = "Max Assault Distance"
  8405.         }
  8406.  
  8407.         *BOOL = "AssaultFront"
  8408.         {
  8409.             *VALUE    = "True"
  8410.             *DISPLAYNAME = "Stay in Front?"
  8411.         }
  8412.     }
  8413.  
  8414.     *Group = "Evasion"
  8415.     {
  8416.         *Combo = "EvadeAcquire"
  8417.         {
  8418.             *DisplayName    =    "New Target"
  8419.             *Value            =    0
  8420.             *ComboList        =
  8421.             {
  8422.                 "NEVER",
  8423.                 "SELDOM",
  8424.                 "FREQUENTLY",
  8425.                 "ALWAYS"
  8426.             }
  8427.             *Comment        =    "Frequency of evasion when a new target is aquired"
  8428.         }
  8429.  
  8430.         *Combo = "EvadeDamage"
  8431.         {
  8432.             *DisplayName    =    "Damage"
  8433.             *Value            =    0
  8434.             *ComboList        =
  8435.             {
  8436.                 "NEVER",
  8437.                 "SELDOM",
  8438.                 "FREQUENTLY",
  8439.                 "ALWAYS"
  8440.             }
  8441.             *Comment        =    "Frequency of evasion when damage is taken"
  8442.         }
  8443.  
  8444.         *Combo = "EvadeAttack"
  8445.         {
  8446.             *DisplayName    =    "Attack"
  8447.             *Value            =    0
  8448.             *ComboList        =
  8449.             {
  8450.                 "NEVER",
  8451.                 "SELDOM",
  8452.                 "FREQUENTLY",
  8453.                 "ALWAYS"
  8454.             }
  8455.             *Comment        =    "Frequency of evasion when attacking"
  8456.         }
  8457.  
  8458.         *BOOL = "CHEvade"
  8459.         {
  8460.             *VALUE    = "false"
  8461.             *DISPLAYNAME = "Can Hop Evade"
  8462.         }
  8463.  
  8464.         *BOOL = "CREvade"
  8465.         {
  8466.             *VALUE    = "false"
  8467.             *DISPLAYNAME = "Can Roll Evade"
  8468.         }
  8469.         
  8470.         *BOOL = "CanTeleport"
  8471.         {
  8472.             *VALUE    = "False"
  8473.             *DISPLAYNAME = "Can teleport?"
  8474.         }
  8475.     }
  8476.  
  8477.  
  8478.     *BOOL = "SwitchCollision"
  8479.     {
  8480.         *Usage            = "Protected"
  8481.         *VALUE            = "False"
  8482.         *DISPLAYNAME    = "Switch Collision"
  8483.         *Comment        = "Switch between standing and crouching collision"
  8484.     }
  8485.  
  8486.     *Group = "BodyParts"
  8487.     {
  8488.         *BOOL = "CanDismember"
  8489.         {
  8490.             *Usage            = "Protected"
  8491.             *VALUE            = "True"
  8492.             *DISPLAYNAME    = "Can Dismember"
  8493.         }
  8494.  
  8495.         *String = "BodyPartPrefix"
  8496.         {
  8497.             *Usage            =    "Protected"
  8498.             *DisplayName    =    "Prefix"
  8499.             *Value            =    ""
  8500.         }
  8501.     }
  8502.  
  8503.     *AIMODES = 
  8504.     {
  8505.         Idle,
  8506.         AlertIdle,
  8507.         CrouchIdle,
  8508.         ProneIdle,
  8509.         RotateLeft,
  8510.         RotateRight,
  8511.         AlertRotateLeft,
  8512.         AlertRotateRight,
  8513.         StandingSleep,
  8514.         Walk,
  8515.         AlertWalk,
  8516.         CrouchWalk,
  8517.         ProneCrawl,
  8518.         Run,
  8519.         AlertRun,
  8520.         FireRun,
  8521.         FireStarter,
  8522.         FireDeath,
  8523.         Fall,
  8524.         ExaggeratedFall,
  8525.         DeadFallFaceUp,
  8526.         DeadFallFaceDown,
  8527.         FallDeath,
  8528.         Jump,
  8529.         Climb,
  8530.         ClimbEnd,
  8531.         HangClimb,
  8532.         ClimbDeathStart,
  8533.         Damaged,
  8534.         Death,
  8535.         PoisonDamage,
  8536.         PoisonDeath,
  8537.         RunningDeath,
  8538.         ProneDeath,
  8539.         CrouchDeath,
  8540.         SquatDeath,
  8541.         SurrenderStandDeath,
  8542.         SurrenderKneelDeath,
  8543.         FallForwardDeath,
  8544.         HeadShotDeath,
  8545.         LeftArmDeath,
  8546.         RightArmDeath,
  8547.         LeftLegDeath,
  8548.         RightLegDeath,
  8549.         ExplosionDeath,
  8550.         ExploForeDeath,
  8551.         ExploBackDeath,
  8552.         ExplosionDamage,
  8553.         ExploForeDamage,
  8554.         ExploBackDamage,
  8555.         ImplodeDeath,
  8556.         GravityHeld,
  8557.         GravityFlinch,
  8558.         CornerCover,
  8559.         PopoutLeft,
  8560.         PopoutRight,
  8561.         BackPedal,
  8562.         StrafeLeft,
  8563.         StrafeRight,
  8564.         BackPedalDeath,
  8565.         Attack,
  8566.         SecondAttack,
  8567.         ThirdAttack,
  8568.         FourthAttack,
  8569.         FifthAttack,
  8570.         CrouchAttack,
  8571.         ProneAttack,
  8572.         UnderwaterIdle,
  8573.         UnderwaterSwim,
  8574.         WatersurfaceIdle,
  8575.         WatersurfaceSwim,
  8576.         SwimmingAttack,
  8577.         SquatIdle,
  8578.         CoverSquat,
  8579.         SquatPopup,
  8580.         SquatPopupIdle,
  8581.         SquatPopupShoot,
  8582.         SquatPopoutLeft,
  8583.         SquatPopLeftIdle,
  8584.         SquatPopLeftShoot,
  8585.         SquatReturnLeft,
  8586.         SquatPopoutRight,
  8587.         SquatPopRightIdle,
  8588.         SquatPopRightShoot,
  8589.         SquatReturnRight,
  8590.         CallOut,
  8591.         UsePullDown1,
  8592.         UsePullDown2,
  8593.         UsePush1,
  8594.         UsePush2,
  8595.         SurrenderKneel,
  8596.         SurrenderStand,
  8597.         SurrenderRun,
  8598.         SurrenderRotate,
  8599.         InjuredStand,
  8600.         InjuredWalk,
  8601.         InjuredRun,
  8602.         InjuredRotate,
  8603.         MountedIdle,
  8604.         EvadeHopLeft,
  8605.         EvadeHopRight,
  8606.         EvadeDiveLeft,
  8607.         EvadeDiveRight,
  8608.         EvadeProneLeft,
  8609.         EvadeProneRight,
  8610.         CrushedDeath,
  8611.         SwarmBoreDeath,
  8612.         SwarmBoreFinish,
  8613.         StealthDeath,
  8614.         Taunt,
  8615.         Talk,
  8616.         TeleportOut,
  8617.         TeleportIn,
  8618.         Special1,
  8619.         Special2,
  8620.         Special3,
  8621.         Special4,
  8622.         Knockback,
  8623.         Knockfore,
  8624.         Knockhit,
  8625.         Electrocution,
  8626.         Cower
  8627.     }
  8628. }
  8629.  
  8630. ;------------------------------------------------------------------------------
  8631. ; RiderAI
  8632. ;------------------------------------------------------------------------------
  8633. *OBJECT = "RiderAI"
  8634. {
  8635.     *NAME    = "RiderAI"
  8636.     *TYPE    = "OBJECT"
  8637.     *INHERITS = "HumanAI"
  8638.     *UseInActorEd = "True"
  8639.  
  8640.     *AIMODES = 
  8641.     {
  8642.         MountedIdle,
  8643.         RiderSetup,
  8644.         RiderIdle,
  8645.         RiderFlyUp,
  8646.         RiderFlyUpMed,
  8647.         RiderFlyUpFull,
  8648.         RiderFlyDown,
  8649.         RiderFlyDownMed,
  8650.         RiderFlyDownFull,
  8651.         RiderFlyLeft,
  8652.         RiderFlyRight,
  8653.         RiderEdgeLeft,
  8654.         RiderEdgeRight,
  8655.         RiderCollision
  8656.     }
  8657. }
  8658.  
  8659.  
  8660.  
  8661. ;------------------------------------------------------------------------------
  8662. ; FlyingEnemyAI on a spline path
  8663. ;------------------------------------------------------------------------------
  8664. *OBJECT = "FlyingEnemyAI"
  8665. {
  8666.     *NAME    = "FlyingEnemyAI"
  8667.     *TYPE    = "OBJECT"
  8668.     *INHERITS = "EnemyAIObject"
  8669.     *UseInActorEd = "True"
  8670.  
  8671.  
  8672.     ;-----------------------------------
  8673.     ; Variables
  8674.     ;-----------------------------------
  8675.     *Variables    = 
  8676.     {
  8677.         *Bool = "NLP"
  8678.         {
  8679.             *DisplayName         =     "Never leave path?"
  8680.             *Value            =     "True"
  8681.             *Comment         =    "TRUE  = This actor will always stay on it's path."
  8682.             *Comment         =     "FALSE = This actor will come off it's path when it sees you."
  8683.         }
  8684.  
  8685.         *Float = "TARGERR"
  8686.         {
  8687.             *DisplayName        =    "Targetting Error (meters)"
  8688.             *Value            =    1.0
  8689.             *Min            =    0.0
  8690.             *Max            =    99.0
  8691.             *Comment        =    "Potential error added to all sides of the target."
  8692.         }
  8693.         
  8694.         *Float = "SHOOTFR"
  8695.         {
  8696.             *DisplayName        =    "Shooting Frequency"
  8697.             *Value            =    0.05
  8698.             *Min            =    0.0
  8699.             *Max            =    1.0
  8700.             *Comment        =    "How often I shoot a target in range."
  8701.             *Comment        =    "0 = never, 1 = always."
  8702.         }
  8703.         
  8704.         *INT = "TARGAN"
  8705.         {
  8706.             *DisplayName        =    "Target Angle"
  8707.             *Value            =    45
  8708.             *Min            =    1
  8709.             *Max            =    90
  8710.             *Comment        =    "This is the my view cone."
  8711.         }
  8712.  
  8713.         *Float = "TAUPDT"
  8714.         {
  8715.             *DisplayName        =    "Target update time (Secs)"
  8716.             *Value            =    3.0
  8717.             *Min            =    0.0
  8718.             *Comment        =    "How often shall I change my target position?"
  8719.             *Comment        =    "0 = always try and find best position"
  8720.             *Comment        =    "2 = look for the best position every 2 seconds."
  8721.         }
  8722.  
  8723.         *Bool = "OPSD"
  8724.         {
  8725.             *DisplayName         =     "Use target's speed?"
  8726.             *Value            =     "True"
  8727.             *Comment         =    "TRUE  = This enemy will match it's targets speed."
  8728.             *Comment         =     "FALSE = This enemy will use it's own speed."
  8729.         }
  8730.  
  8731.  
  8732.         *Float = "EXSPD"
  8733.         {
  8734.             *DisplayName        =    "Catchup speed"
  8735.             *Value            =    20.0
  8736.             *Min            =    0.0
  8737.             *Comment        =    "How much faster then the player can I get?"
  8738.             *Comment        =    "This is how much extra speed this actor will go to catch up"
  8739.             *Comment        =    "with and/or get in front of the target."
  8740.         }
  8741.  
  8742.         *Float = "OFFX"
  8743.         {
  8744.             *DisplayName        =    "X Offset (meters)"
  8745.             *Value            =    20.0
  8746.             *Min            =    0.0
  8747.             *Comment        =    "This value will determine how I can position myself to the right/left"
  8748.             *Comment        =    "of the target. This value is used as a range, ie, -X to X"
  8749.         }
  8750.  
  8751.         *Float = "OFFY"
  8752.         {
  8753.             *DisplayName        =    "Y Offset (meters)"
  8754.             *Value            =    20.0
  8755.             *Min            =    0.0
  8756.             *Comment        =    "This value will determine how I can position myself to the above/below"
  8757.             *Comment        =    "of the target. This value is used as a range, ie, -Y to Y"
  8758.         }
  8759.  
  8760.         *Float = "OFFZMin"
  8761.         {
  8762.             *DisplayName        =    "Min Z Offset (meters)"
  8763.             *Value            =    20.0
  8764.             *Min            =    -999.0
  8765.             *Comment        =    "This value will determine how I can position myself to the infornt/behind"
  8766.             *Comment        =    "of the target. This value is used as a range, ie, -Z to Z"
  8767.         }
  8768.  
  8769.         *Float = "OFFZMax"
  8770.         {
  8771.             *DisplayName        =    "Max Z Offset (meters)"
  8772.             *Value            =    100.0
  8773.             *Min            =    -999.0
  8774.             *Comment        =    "This value will determine how I can position myself to the infornt/behind"
  8775.             *Comment        =    "of the target. This value is used as a range, ie, -Z to Z"
  8776.         }
  8777.  
  8778.         *Float = "OFFUPT"
  8779.         {
  8780.             *DisplayName    =    "Offset update time (Secs)"
  8781.             *Value            =    8.0
  8782.             *Min            =    0.0
  8783.             *Comment        =    "How often will I change my offset around the player?"
  8784.             *Comment        =    "This will dictate when this actor will try and place itself"
  8785.             *Comment        =    "with and/or get in front of the target."
  8786.         }
  8787.         
  8788.         *Float = "VBSpd"
  8789.         {
  8790.             *DisplayName    =    "Velocity blend speed"
  8791.             *Value            =    1.0
  8792.             *Min            =    0.0
  8793.             *Comment        =    "The is how blending between changing directions."
  8794.             *Comment        =    "0.1 = slow very laggy."
  8795.             *Comment        =    "1.0 = normal."
  8796.             *Comment        =    "2.0 = faster."
  8797.         }
  8798.         
  8799.     }
  8800.  
  8801.  
  8802.     *AIMODES = 
  8803.     {
  8804.         FlyUp        ,
  8805.         FlyUpMed     ,
  8806.         FlyUpFull    ,
  8807.         FlyDown      ,
  8808.         FlyDownMed    ,
  8809.         FlyDownFull    ,
  8810.         FlyLeft        ,
  8811.         FlyRight    ,
  8812.         Collsion    ,
  8813.         Dead        ,
  8814.         DeadGib        ,
  8815.         FreeFlight    ,
  8816.         SplineFlight
  8817.     }
  8818.  
  8819.  
  8820. }
  8821.  
  8822.  
  8823. ;------------------------------------------------------------------------------
  8824. ; Door
  8825. ;------------------------------------------------------------------------------
  8826. *OBJECT = "Door"
  8827. {
  8828.     *NAME    = "Door"
  8829.     *INHERITS = "Actor"
  8830.     *TYPE    = "OBJECT"
  8831.     *UseInActorEd = "True"
  8832.  
  8833.  
  8834.  
  8835.     *VARIABLES = 
  8836.     {
  8837.         *Combo = "DoorStatus"
  8838.         {
  8839.             *DisplayName    =    "Door Status"
  8840.             *Value            =    0
  8841.             *ComboList = 
  8842.             {
  8843.                 "Open"    ,
  8844.                 "Closed" 
  8845.             }
  8846.             *Comment        =    "Open - door starts out being open"
  8847.             *Comment        =    "Closed - door starts out being closed"
  8848.         }
  8849.  
  8850.         *Combo = "LockedStatus"
  8851.         {
  8852.             *DisplayName    =    "Locked Status"
  8853.             *Value            =    0
  8854.             *ComboList = 
  8855.             {
  8856.                 "Unlocked"    ,
  8857.                 "Locked" 
  8858.             }
  8859.             *Comment        =    "Unlocked - The door starts out being unlocked."
  8860.             *Comment        =    "Locked - The door starts out being locked."
  8861.         }
  8862.     }
  8863.  
  8864.  
  8865.     *AIMODES = 
  8866.     {
  8867.         Open,
  8868.         Close
  8869.     }
  8870.  
  8871. }
  8872. ;------------------------------------------------------------------------------
  8873. ; Hinged Door
  8874. ;------------------------------------------------------------------------------
  8875. ;*OBJECT = "HingedDoorObject"
  8876. ;{
  8877. ;    *NAME    = "HingedDoorObject"
  8878. ;    *INHERITS = "DoorObject"
  8879. ;    *TYPE    = "OBJECT"
  8880. ;    *UseInActorEd = "True"
  8881. ;
  8882. ;    *AIMODES = 
  8883. ;    {
  8884. ;        OpenRight,
  8885. ;        OpenLeft,
  8886. ;        Close
  8887. ;    }
  8888. ;}
  8889.  
  8890.  
  8891. ;------------------------------------------------------------------------------
  8892. ; AIMarker
  8893. ;------------------------------------------------------------------------------
  8894. *OBJECT = "AIMarker"
  8895. {
  8896.     *NAME    = "AIMarker"
  8897.     *INHERITS = "DeviceAIObject"
  8898.     *TYPE    = "OBJECT"
  8899.     *UseInActorEd = "True"
  8900.  
  8901.     *VARIABLES = 
  8902.     {
  8903.         *Combo = "MARKER_TYPE"
  8904.         {
  8905.             *DisplayName    =    "Marker Type"
  8906.             *Value            =    0
  8907.             *Usage            = "Protected"
  8908.             *ComboList = 
  8909.             {
  8910.                 "Retreat"    ,
  8911.                 "Cower"        ,
  8912.                 "Goto"        ,
  8913.                 "Front"        ,
  8914.                 "Allied"    ,
  8915.                 "Enemy"        ,
  8916.                 "Cover"
  8917.             }
  8918.         }
  8919.  
  8920.         *Group = "Cover"
  8921.         {
  8922.             *Combo = "COVER_TYPE"
  8923.             {
  8924.                 *DisplayName    =    "Cover Type"
  8925.                 *Value            =    0 
  8926.                 *ComboList        =    { "Stepout" , "Circle" }
  8927.             }
  8928.  
  8929.             *Combo = "STEPOUT_DIR"
  8930.             {
  8931.                 *DisplayName    =    "Stepout Direction"
  8932.                 *Value            =    0 
  8933.                 *ComboList        =    { "Left" , "Right", "Both", "Up" }
  8934.             }
  8935.  
  8936.             *FLOAT = "COVER_RADIUS"
  8937.             {
  8938.                 *VALUE    = 4
  8939.                 *MIN    = 0
  8940.                 *DISPLAYNAME = "Cover Radius"
  8941.             }
  8942.  
  8943.             *FLOAT = "COVER_MINRANGE"
  8944.             {
  8945.                 *VALUE    = 8.0
  8946.                 *MIN    = 0.0
  8947.                 *DISPLAYNAME = "Cover Min Range"
  8948.             }
  8949.  
  8950.             *FLOAT = "COVER_MAXRANGE"
  8951.             {
  8952.                 *VALUE    = 9999.0
  8953.                 *MIN    = 0.0
  8954.                 *DISPLAYNAME = "Cover Max Range"
  8955.             }
  8956.  
  8957.         }
  8958.  
  8959.     }
  8960.  
  8961.     *Protected    =    "TurokAIType"
  8962.     *Protected    =    "Collision"
  8963.     *Protected    =    "Physics"
  8964.     
  8965. }
  8966.  
  8967. ;------------------------------------------------------------------------------
  8968. ; AITarget
  8969. ;------------------------------------------------------------------------------
  8970. *OBJECT = "AITarget"
  8971. {
  8972.     *NAME    = "AITarget"
  8973.     *INHERITS = "TurokAIObject"
  8974.     *TYPE    = "OBJECT"
  8975.     *UseInActorEd = "True"
  8976. }
  8977.  
  8978. ;------------------------------------------------------------------------------
  8979. ; FlyingIndigenousAI
  8980. ;------------------------------------------------------------------------------
  8981. *OBJECT = "FlyingIndigenousAI"
  8982. {
  8983.     *NAME    = "FlyingIndigenousAI"
  8984.     *TYPE    = "OBJECT"
  8985.     *INHERITS = "IndigenousAI"
  8986.     *UseInActorEd = "True"
  8987.  
  8988.     *AIMODES = 
  8989.     {
  8990.         Idle,
  8991.         Flap,
  8992.         Glide,
  8993.         TakeOff,
  8994.         Hover,
  8995.         Death
  8996.     }
  8997.  
  8998.     *FilePick = "AlternateType"
  8999.     {
  9000.         *Usage            = "Protected"
  9001.         *DisplayName    =    "Alternate Type"
  9002.         *Value            =    ""
  9003.         *Directory        =    "$/Data/Actors/"
  9004.         *Extension        =    "atr"
  9005.     }
  9006.  
  9007.     *Combo = "BirdForm"
  9008.     {
  9009.         *Usage            = "Protected"
  9010.         *DisplayName    =    "Form"
  9011.         *Value            =    0
  9012.         *ComboList = 
  9013.         {
  9014.             "Ground"    ,
  9015.             "Flying"        
  9016.         }
  9017.     }
  9018.  
  9019.     *Float = "FlightSpeed"
  9020.     {
  9021.         *DisplayName    =    "Flight Speed"
  9022.         *Value            =    6.5
  9023.         *Min            =    0.0
  9024.     }
  9025.  
  9026.     *Combo = "FlyingHover"
  9027.     {
  9028.         *DisplayName    =    "Hover"
  9029.         *Value            =    0
  9030.         *ComboList = 
  9031.         {
  9032.             "Never"        ,
  9033.             "Briefly"    ,
  9034.             "Long"
  9035.         }
  9036.     }
  9037.  
  9038.     *Combo = "FlyingPerturb"
  9039.     {
  9040.         *DisplayName    =    "Perturb"
  9041.         *Value            =    0
  9042.         *ComboList = 
  9043.         {
  9044.             "None"        ,
  9045.             "Little"    ,
  9046.             "Some"        ,
  9047.             "Lots"
  9048.         }
  9049.     }
  9050.  
  9051.     *Combo = "FlapBehavior"
  9052.     {
  9053.         *DisplayName    =    "Flap"
  9054.         *Value            =    2
  9055.         *ComboList = 
  9056.         {
  9057.             "Never"            ,
  9058.             "Always"        ,
  9059.             "Climbing"        ,
  9060.             "Periodically"
  9061.         }
  9062.     }
  9063.  
  9064. }
  9065.  
  9066.  
  9067. ;------------------------------------------------------------------------------
  9068. ; AlarmBox
  9069. ;------------------------------------------------------------------------------
  9070. *OBJECT = "AlarmBox"
  9071. {
  9072.     *NAME    = "AlarmBox"
  9073.     *INHERITS = "DeviceAIObject"
  9074.     *TYPE    = "OBJECT"
  9075.     *UseInActorEd = "True"
  9076.  
  9077.     *AIMODES = 
  9078.     {
  9079.         Idle,
  9080.         Inactive,
  9081.     }
  9082.  
  9083.     *VARIABLES = 
  9084.     {
  9085.         *Bool = "UseRegion"
  9086.         {
  9087.             *DisplayName = "Use Region"
  9088.             *Value    = 0
  9089.             *Comment = "Affects AI's within the region the alarm is located"
  9090.             *Comment = "If TRUE, it overrides Alarm Radius"
  9091.         }
  9092.         
  9093.         *Float = "AlarmRadius"
  9094.         {
  9095.             *VALUE    = 0
  9096.             *MIN    = 0
  9097.             *DISPLAYNAME =    "Alarm Radius"
  9098.             *Comment    =    "The distance away the alarm effects AIs"
  9099.         }
  9100.  
  9101.         *Float = "AlarmTime"
  9102.         {
  9103.             *VALUE    = 20
  9104.             *MIN    = 0
  9105.             *DISPLAYNAME =    "Alarm Time"
  9106.             *Comment    =    "The time period the alarm stays on"
  9107.         }
  9108.  
  9109.  
  9110.         *Group = "Alert"
  9111.         {
  9112.             *Bool = "AlertAIs"
  9113.             {
  9114.                 *DisplayName = "Alert AI's"
  9115.                 *VALUE    = "True"
  9116.                 *Comment = "True if tripping of alarm alerts all other AI's within range"
  9117.             }
  9118.     
  9119.             *String = "AlertState"
  9120.             {
  9121.                 *DisplayName    =    "State"
  9122.                 *Value            =    ""
  9123.                 *Comment        =    "The new state for the AI when alerted."
  9124.                 *Comment        =    "If nothing is specified, then the state will be auto assigned."
  9125.             }
  9126.         }
  9127.  
  9128.         *Group = "Stand Down"
  9129.         {
  9130.             *Bool = "StandDownAIs"
  9131.             {
  9132.                 *DisplayName = "Stand Down AI's"
  9133.                 *VALUE    = "False"
  9134.                 *Comment = "True if inactivation of alarm lowers alert all other AI's within range"
  9135.             }
  9136.     
  9137.             *String = "StandDownState"
  9138.             {
  9139.                 *DisplayName    =    "State"
  9140.                 *Value            =    ""
  9141.                 *Comment        =    "The new state for the AI when standind down."
  9142.                 *Comment        =    "If nothing is specified, then the state will be auto assigned."
  9143.             }
  9144.         }
  9145.     }
  9146.         
  9147. }
  9148.  
  9149.  
  9150. ;------------------------------------------------------------------------------
  9151. ; Enemy Weapon
  9152. ;------------------------------------------------------------------------------
  9153. *OBJECT = "EnemyWeapon"
  9154. {
  9155.     *NAME    = "EnemyWeapon"
  9156.     *INHERITS = "Actor"
  9157.     *TYPE    = "OBJECT"
  9158.     *UseInActorEd = "True"
  9159.  
  9160.     *AIMODES = 
  9161.     {
  9162.         Idle,
  9163.     }
  9164.  
  9165.     *VARIABLES = 
  9166.     {
  9167.         *FilePick = "ewPartName"
  9168.         {
  9169.             *DisplayName    =    "Projectile Particle"
  9170.             *Value            =    ""
  9171.             *Directory      =   "$\Data\Particle\"
  9172.             *Extension      =   "par"
  9173.             *Extension      =   "eff"
  9174.         }
  9175.  
  9176.         *FilePick = "ewAltPartName"
  9177.         {
  9178.             *DisplayName    =    "Alt Projectile Particle"
  9179.             *Value            =    ""
  9180.             *Directory      =   "$\Data\Particle\"
  9181.             *Extension      =   "par"
  9182.             *Extension      =   "eff"
  9183.         }
  9184.  
  9185.         *Int = "ewAltChance"
  9186.         {
  9187.             *VALUE    = 0
  9188.             *MIN    = 0
  9189.             *MAX    = 10
  9190.             *DISPLAYNAME =    "Alt Particle Chance"
  9191.             *Comment    =    "The chance in ten that it will use the alt particle"
  9192.         }
  9193.  
  9194.         *FilePick = "ewFlashName"
  9195.         {
  9196.             *DisplayName    =    "Flash Particle"
  9197.             *Value            =    ""
  9198.             *Directory      =   "$\Data\Particle\"
  9199.             *Extension      =   "par"
  9200.             *Extension      =   "eff"
  9201.         }
  9202.  
  9203.         *Int = "ewFlashChance"
  9204.         {
  9205.             *VALUE    = 0
  9206.             *MIN    = 0
  9207.             *MAX    = 10
  9208.             *DISPLAYNAME =    "Flash Chance"
  9209.             *Comment    =    "The chance in ten that it will use a muzzle flash"
  9210.         }
  9211.  
  9212.         *Sound = "PrimarySound"
  9213.         {
  9214.             *DisplayName    =   "Primary Sound"
  9215.         }
  9216.  
  9217.         *Float = "ewReloadTime"
  9218.         {
  9219.             *VALUE    = 1.5
  9220.             *MIN    = 0
  9221.             *DISPLAYNAME =    "Reload Time"
  9222.             *Comment    =    "The time to reload"
  9223.         }
  9224.  
  9225.         *Int = "ewMinFires"
  9226.         {
  9227.             *VALUE    = 1
  9228.             *MIN    = 1
  9229.             *DISPLAYNAME =    "Min Fire Times"
  9230.             *Comment    =    "The minimum number of times to fire"
  9231.         }
  9232.  
  9233.         *Int = "ewMaxFires"
  9234.         {
  9235.             *VALUE    = 1
  9236.             *MIN    = 1
  9237.             *DISPLAYNAME =    "Max Fire Times"
  9238.             *Comment    =    "The maximum number of times to fire"
  9239.         }
  9240.  
  9241.         *FilePick = "ewSecPartName"
  9242.         {
  9243.             *DisplayName    =    "Sec Proj Particle"
  9244.             *Value            =    ""
  9245.             *Directory      =   "$\Data\Particle\"
  9246.             *Extension      =   "par"
  9247.             *Extension      =   "eff"
  9248.         }
  9249.  
  9250.         *FilePick = "ewSecFlashName"
  9251.         {
  9252.             *DisplayName    =    "Sec Flash Particle"
  9253.             *Value            =    ""
  9254.             *Directory      =   "$\Data\Particle\"
  9255.             *Extension      =   "par"
  9256.             *Extension      =   "eff"
  9257.         }
  9258.  
  9259.         *Sound = "SecondarySound"
  9260.         {
  9261.             *DisplayName    =   "Secondary Sound"
  9262.         }
  9263.  
  9264.         *Float = "ewSecReloadTime"
  9265.         {
  9266.             *VALUE    = 1.5
  9267.             *MIN    = 0
  9268.             *DISPLAYNAME =    "Sec Reload Time"
  9269.             *Comment    =    "The time to reload"
  9270.         }
  9271.  
  9272.         *Int = "ewSecMinFires"
  9273.         {
  9274.             *VALUE    = 1
  9275.             *MIN    = 1
  9276.             *DISPLAYNAME =    "Sec Min Fire Times"
  9277.             *Comment    =    "The minimum number of times to fire"
  9278.         }
  9279.  
  9280.         *Int = "ewSecMaxFires"
  9281.         {
  9282.             *VALUE    = 1
  9283.             *MIN    = 1
  9284.             *DISPLAYNAME =    "Sec Max Fire Times"
  9285.             *Comment    =    "The maximum number of times to fire"
  9286.         }
  9287.  
  9288.         *Sound = "DropSound"
  9289.         {
  9290.             *DisplayName    =   "Drop Sound"
  9291.         }
  9292.  
  9293.         *Bool = "ewModVel"
  9294.         {
  9295.             *DisplayName    =   "Modify Velocity"
  9296.             *Value          =   "False"
  9297.             *Comment        =   "If True, particle velocity is modified (for thrown objects)"
  9298.         }
  9299.  
  9300.         *Float = "ewThrowDist"
  9301.         {
  9302.             *VALUE    = 40
  9303.             *MIN    = 0
  9304.             *DISPLAYNAME =    "Throw Distance"
  9305.             *Comment    =    "The distance particle travels at normal velocity"
  9306.         }
  9307.  
  9308.  
  9309.         *Bool = "ewHoldDown"
  9310.         {
  9311.             *DisplayName    =   "Hold Down"
  9312.             *Value          =   "False"
  9313.             *Comment        =   "If True, hold down trigger"
  9314.         }
  9315.  
  9316.     }
  9317. }
  9318.  
  9319. ;------------------------------------------------------------------------------
  9320. ; Enemy Accessory
  9321. ;------------------------------------------------------------------------------
  9322. *OBJECT = "EnemyAccessory"
  9323. {
  9324.     *NAME    = "EnemyAccessory"
  9325.     *INHERITS = "Actor"
  9326.     *TYPE    = "OBJECT"
  9327.     *UseInActorEd = "True"
  9328.  
  9329.     *AIMODES = 
  9330.     {
  9331.         Idle,
  9332.     }
  9333.  
  9334.     *Variables = 
  9335.     {
  9336.         *Bool = "eaDHead"
  9337.         {
  9338.             *DisplayName    =   "Drop On Headshot"
  9339.             *Value          =   "False"
  9340.             *Comment        =   "If True, this is dropped on a headshot"
  9341.         }
  9342.  
  9343.         *Sound = "DropSound"
  9344.         {
  9345.             *DisplayName    =   "Drop Sound"
  9346.         }
  9347.  
  9348.      }
  9349.  
  9350. }
  9351.  
  9352. ;------------------------------------------------------------------------------
  9353. ; Cinema Camera attractor
  9354. ;------------------------------------------------------------------------------
  9355.  
  9356. *Object = "CinemaCameraAttractor"
  9357. {
  9358.     *Name           =   "CinemaCameraAttractor"
  9359.     *Type           =   "Object"
  9360.     *UseInActorEd    =    "True"
  9361.  
  9362.     ;-----------------------------------
  9363.     ; Inheritance
  9364.     ;-----------------------------------
  9365.     *Inherits   =   "SharedCausesForAllActors"
  9366.     *Inherits   =   "SharedEventsForAllActors"
  9367.  
  9368.     ;-----------------------------------
  9369.     ; Variables
  9370.     ;-----------------------------------
  9371.     *Variables = 
  9372.     {
  9373.         *Combo = "AffectsTarget"
  9374.         {
  9375.             *DisplayName    =   "Affects camera"
  9376.             *Value          =   0
  9377.             *ComboList = 
  9378.             {
  9379.                 "Position" ,
  9380.                 "Target"
  9381.             }
  9382.             *Comment        =   "If set to Position, this influencer will control where the"
  9383.             *Comment        =   "camera is placed. If set to Target, it will control where the"
  9384.             *Comment        =   "camera looks."
  9385.  
  9386.             *Comment        =   "Position: this causes the influencer to move the camera itself to a certain position."
  9387.             *Comment        =   ""
  9388.             *Comment        =   "Target: this influencer will affect the point at which the camera is looking."
  9389.             *Comment        =   ""
  9390.             *Comment        =   "It will still try to place the camera so that both the player and the target"
  9391.             *Comment        =   "position are kept in view, but the position that it generates for the camera"
  9392.             *Comment        =   "can be overridden."
  9393.         }
  9394.         *Float = "MaxStrength"
  9395.         {
  9396.             *DisplayName    =   "Max. strength"
  9397.             *Value          =   1
  9398.             *Min            =   0
  9399.             *Max            =   1
  9400.             *Comment        =   "Determines how much 'pull' this influencer will exert on the"
  9401.             *Comment        =   "camera.  If set to 0.5, the influencer will pull the camera"
  9402.             *Comment        =   "to a point halfway between the player and itself."
  9403.         }
  9404.         *Float = "PlayerCameraHorzOffset"
  9405.         {
  9406.             *DisplayName    =   "Horizontal offset"
  9407.             *Value          =   5
  9408.             *Min            =   -1000
  9409.             *Max            =   1000
  9410.             *Comment        =   "This is only used if this influencer affects the camera target."
  9411.             *Comment        =   "The influencer will calculate a position for the camera that is"
  9412.             *Comment        =   "this far away from the player and opposite the player from the"
  9413.             *Comment        =   "camera target at all times. Note that this camera position is"
  9414.             *Comment        =   "overridden by any other active influencers that affect the camera"
  9415.             *Comment        =   "position."
  9416.         }
  9417.         *Float = "PlayerCameraVertOffset"
  9418.         {
  9419.             *DisplayName    =   "Vertical offset"
  9420.             *Value          =   5
  9421.             *Min            =   -1000
  9422.             *Max            =   1000
  9423.             *Comment        =   "This is only used if this influencer affects the camera target."
  9424.             *Comment        =   "The influencer will calculate a position for the camera that is"
  9425.             *Comment        =   "this far above the player at all times. Note that this camera"
  9426.             *Comment        =   "position is overridden by any other active influencers that"
  9427.             *Comment        =   "affect the camera position."
  9428.         }
  9429.         *Bool = "PreventUserCameraControl"
  9430.         {
  9431.             *DisplayName    =   "Prevent user camera control"
  9432.             *Value          =   "True"
  9433.             *Comment        =   "If True, player is prevented from manually moving the camera"
  9434.             *Comment        =   "while this influencer is active. If false, player can take"
  9435.             *Comment        =   "control of the camera away from this influencer, which is then"
  9436.             *Comment        =   "inactive until the player reactivates it via the turn-on link."
  9437.         }
  9438.         *Float = "TimeToReachMaxStrength"
  9439.         {
  9440.             *DisplayName    =   "Fade in time"
  9441.             *Value          =   2.0
  9442.             *Min            =   0
  9443.             *Max            =   1000
  9444.             *Comment        =   "Amount of time (in seconds) which it takes for this influencer"
  9445.             *Comment        =   "to reach full strength."
  9446.         }
  9447.         *Float = "TimeToTurnOff"
  9448.         {
  9449.             *DisplayName    =   "Fade out time"
  9450.             *Value          =   2.0
  9451.             *Min            =   0
  9452.             *Max            =   1000
  9453.             *Comment        =   "Amount of time (in seconds) which it takes for this influencer"
  9454.             *Comment        =   "to go from full strength to zero strength when turned off."
  9455.         }
  9456.     }
  9457.  
  9458.     ;-----------------------------------
  9459.     ; Causes
  9460.     ;-----------------------------------
  9461.  
  9462.     ;-----------------------------------
  9463.     ; Events
  9464.     ;-----------------------------------
  9465. }
  9466.  
  9467.  
  9468. ;------------------------------------------------------------------------------
  9469. ; Enemy Accessory
  9470. ;------------------------------------------------------------------------------
  9471. *OBJECT = "DMBot"
  9472. {
  9473.     *Name = "DMBot"
  9474.     *INHERITS = "DMPlayer"
  9475.     *TYPE = "OBJECT"
  9476.     *UseInActorEd = "True"
  9477.     *AIMODES = 
  9478.     {
  9479.         "Idle",
  9480.         "Run",
  9481.         "Walk",
  9482.         "Jump",
  9483.         "MoveForward"
  9484.         "MoveBackward",
  9485.         "StrafeLeft",
  9486.         "StrafeRight",
  9487.         "MoveLeft",
  9488.         "MoveRight",
  9489.         "TurnLeft",
  9490.         "TurnRight",
  9491.         "BackWalk",
  9492.         "BackRun",
  9493.         "Damaged",
  9494.         "Attack",
  9495.         "LoopAttack",
  9496.         "Fall",
  9497.         "CrouchIdle",
  9498.         "CrouchForward",
  9499.         "CrouchBackward",
  9500.         "CrouchLeft",
  9501.         "CrouchRight",
  9502.         "CrouchTurnRight",
  9503.         "CrouchTurnLeft",
  9504.         "Respawn",
  9505.         "LeftDamage",
  9506.         "ClimbIdle",
  9507.         "ClimbUp",
  9508.         "ClimbDown",
  9509.         "ClimbLeft",
  9510.         "ClimbRight",
  9511.         "AttackForward",
  9512.         "AttackBackward",
  9513.         "AttackIdle",
  9514.         "AttackStrafeLeft",
  9515.         "AttackStrafeRight",
  9516.         "AttackJump",
  9517.         "CrouchAttackLeft",
  9518.         "CrouchAttackRight",
  9519.         "CrouchAttackForward",
  9520.         "CrouchAttackBackward",
  9521.         "CrouchAttackIdle",
  9522.         "SnipeAttack",
  9523.         "SwimForward",
  9524.         "SwimBackward",
  9525.         "SwimUp",
  9526.         "SwimDown",
  9527.         "SwimLeft",
  9528.         "SwimRight",
  9529.         "SwimBurst",
  9530.         "WaterSurfaceIdle",
  9531.         "UnderwaterIdle",
  9532.         "SwimTurnLeft",
  9533.         "SwimTurnRight",
  9534.         "LeapToShore",
  9535.         "SwimAttack"
  9536.     }
  9537.     *Variables =
  9538.     {
  9539.         *Group = "Weapon Selection"
  9540.         {
  9541.             *Combo = "PreferredWeapon00"
  9542.             {
  9543.                 *DisplayName    =    "Preferred Weapon 1"
  9544.                 *Value            =    12
  9545.                 *ComboList        =
  9546.                 {
  9547.                     ; this list must be kept synchronized with WeaponInfo.h!
  9548.                     "War Club",
  9549.                     "Bow",
  9550.                     "TekBow",
  9551.                     "Grenade",
  9552.                     "Pistol",
  9553.                     "Shotgun",
  9554.                     "Machine Gun",
  9555.                     "Launcher",
  9556.                     "Tek Weapon",
  9557.                     "Flame Thrower",
  9558.                     "Guided Device",
  9559.                     "Gravity Disrupter",
  9560.                     "Dark Matter Cube",
  9561.                     "Crossbow"
  9562.                 }
  9563.                 *Usage         = "Public"
  9564.                 *Comment        =    "The Bot's #1 favorite weapon"
  9565.             }
  9566.             *Combo = "PreferredWeapon01"
  9567.             {
  9568.                 *DisplayName    =    "Preferred Weapon 2"
  9569.                 *Value            =    11
  9570.                 *ComboList        =
  9571.                 {
  9572.                     ; this list must be kept synchronized with WeaponInfo.h!
  9573.                     "War Club",
  9574.                     "Bow",
  9575.                     "TekBow",
  9576.                     "Grenade",
  9577.                     "Pistol",
  9578.                     "Shotgun",
  9579.                     "Machine Gun",
  9580.                     "Launcher",
  9581.                     "Tek Weapon",
  9582.                     "Flame Thrower",
  9583.                     "Guided Device",
  9584.                     "Gravity Disrupter",
  9585.                     "Dark Matter Cube",
  9586.                     "Crossbow"
  9587.                 }
  9588.                 *Usage         = "Public"
  9589.                 *Comment        =    "The Bot's #2 favorite weapon"
  9590.             }
  9591.             *Combo = "PreferredWeapon02"
  9592.             {
  9593.                 *DisplayName    =    "Preferred Weapon 3"
  9594.                 *Value            =    10
  9595.                 *ComboList        =
  9596.                 {
  9597.                     ; this list must be kept synchronized with WeaponInfo.h!
  9598.                     "War Club",
  9599.                     "Bow",
  9600.                     "TekBow",
  9601.                     "Grenade",
  9602.                     "Pistol",
  9603.                     "Shotgun",
  9604.                     "Machine Gun",
  9605.                     "Launcher",
  9606.                     "Tek Weapon",
  9607.                     "Flame Thrower",
  9608.                     "Guided Device",
  9609.                     "Gravity Disrupter",
  9610.                     "Dark Matter Cube",
  9611.                     "Crossbow"
  9612.                 }
  9613.                 *Usage         = "Public"
  9614.                 *Comment        =    "The Bot's #3 favorite weapon"
  9615.             }
  9616.                         *Combo = "PreferredWeapon03"
  9617.             {
  9618.                 *DisplayName    =    "Preferred Weapon 4"
  9619.                 *Value            =    9
  9620.                 *ComboList        =
  9621.                 {
  9622.                     ; this list must be kept synchronized with WeaponInfo.h!
  9623.                     "War Club",
  9624.                     "Bow",
  9625.                     "TekBow",
  9626.                     "Grenade",
  9627.                     "Pistol",
  9628.                     "Shotgun",
  9629.                     "Machine Gun",
  9630.                     "Launcher",
  9631.                     "Tek Weapon",
  9632.                     "Flame Thrower",
  9633.                     "Guided Device",
  9634.                     "Gravity Disrupter",
  9635.                     "Dark Matter Cube",
  9636.                     "Crossbow"
  9637.                 }
  9638.                 *Usage         = "Public"
  9639.                 *Comment        =    "The Bot's #4 favorite weapon"
  9640.             }
  9641.             *Combo = "PreferredWeapon04"
  9642.             {
  9643.                 *DisplayName    =    "Preferred Weapon 5"
  9644.                 *Value            =    8
  9645.                 *ComboList        =
  9646.                 {
  9647.                     ; this list must be kept synchronized with WeaponInfo.h!
  9648.                     "War Club",
  9649.                     "Bow",
  9650.                     "TekBow",
  9651.                     "Grenade",
  9652.                     "Pistol",
  9653.                     "Shotgun",
  9654.                     "Machine Gun",
  9655.                     "Launcher",
  9656.                     "Tek Weapon",
  9657.                     "Flame Thrower",
  9658.                     "Guided Device",
  9659.                     "Gravity Disrupter",
  9660.                     "Dark Matter Cube",
  9661.                     "Crossbow"
  9662.                 }
  9663.                 *Usage         = "Public"
  9664.                 *Comment        =    "The Bot's #5 favorite weapon"
  9665.             }
  9666.             *Combo = "PreferredWeapon05"
  9667.             {
  9668.                 *DisplayName    =    "Preferred Weapon 6"
  9669.                 *Value            =    7
  9670.                 *ComboList        =
  9671.                 {
  9672.                     ; this list must be kept synchronized with WeaponInfo.h!
  9673.                     "War Club",
  9674.                     "Bow",
  9675.                     "TekBow",
  9676.                     "Grenade",
  9677.                     "Pistol",
  9678.                     "Shotgun",
  9679.                     "Machine Gun",
  9680.                     "Launcher",
  9681.                     "Tek Weapon",
  9682.                     "Flame Thrower",
  9683.                     "Guided Device",
  9684.                     "Gravity Disrupter",
  9685.                     "Dark Matter Cube",
  9686.                     "Crossbow"
  9687.                 }
  9688.                 *Usage         = "Public"
  9689.                 *Comment        =    "The Bot's #6 favorite weapon"
  9690.             }
  9691.             *Combo = "PreferredWeapon06"
  9692.             {
  9693.                 *DisplayName    =    "Preferred Weapon 7"
  9694.                 *Value            =    6
  9695.                 *ComboList        =
  9696.                 {
  9697.                     ; this list must be kept synchronized with WeaponInfo.h!
  9698.                     "War Club",
  9699.                     "Bow",
  9700.                     "TekBow",
  9701.                     "Grenade",
  9702.                     "Pistol",
  9703.                     "Shotgun",
  9704.                     "Machine Gun",
  9705.                     "Launcher",
  9706.                     "Tek Weapon",
  9707.                     "Flame Thrower",
  9708.                     "Guided Device",
  9709.                     "Gravity Disrupter",
  9710.                     "Dark Matter Cube",
  9711.                     "Crossbow"
  9712.                 }
  9713.                 *Usage         = "Public"
  9714.                 *Comment        =    "The Bot's #7 favorite weapon"
  9715.             }
  9716.             *Combo = "PreferredWeapon07"
  9717.             {
  9718.                 *DisplayName    =    "Preferred Weapon 8"
  9719.                 *Value            =    5
  9720.                 *ComboList        =
  9721.                 {
  9722.                     ; this list must be kept synchronized with WeaponInfo.h!
  9723.                     "War Club",
  9724.                     "Bow",
  9725.                     "TekBow",
  9726.                     "Grenade",
  9727.                     "Pistol",
  9728.                     "Shotgun",
  9729.                     "Machine Gun",
  9730.                     "Launcher",
  9731.                     "Tek Weapon",
  9732.                     "Flame Thrower",
  9733.                     "Guided Device",
  9734.                     "Gravity Disrupter",
  9735.                     "Dark Matter Cube",
  9736.                     "Crossbow"
  9737.                 }
  9738.                 *Usage         = "Public"
  9739.                 *Comment        =    "The Bot's #8 favorite weapon"
  9740.             }
  9741.             *Combo = "PreferredWeapon08"
  9742.             {
  9743.                 *DisplayName    =    "Preferred Weapon 9"
  9744.                 *Value            =    4
  9745.                 *ComboList        =
  9746.                 {
  9747.                     ; this list must be kept synchronized with WeaponInfo.h!
  9748.                     "War Club",
  9749.                     "Bow",
  9750.                     "TekBow",
  9751.                     "Grenade",
  9752.                     "Pistol",
  9753.                     "Shotgun",
  9754.                     "Machine Gun",
  9755.                     "Launcher",
  9756.                     "Tek Weapon",
  9757.                     "Flame Thrower",
  9758.                     "Guided Device",
  9759.                     "Gravity Disrupter",
  9760.                     "Dark Matter Cube",
  9761.                     "Crossbow"
  9762.                 }
  9763.                 *Usage         = "Public"
  9764.                 *Comment        =    "The Bot's #9 favorite weapon"
  9765.             }
  9766.             *Combo = "PreferredWeapon09"
  9767.             {
  9768.                 *DisplayName    =    "Preferred Weapon 10"
  9769.                 *Value            =    3
  9770.                 *ComboList        =
  9771.                 {
  9772.                     ; this list must be kept synchronized with WeaponInfo.h!
  9773.                     "War Club",
  9774.                     "Bow",
  9775.                     "TekBow",
  9776.                     "Grenade",
  9777.                     "Pistol",
  9778.                     "Shotgun",
  9779.                     "Machine Gun",
  9780.                     "Launcher",
  9781.                     "Tek Weapon",
  9782.                     "Flame Thrower",
  9783.                     "Guided Device",
  9784.                     "Gravity Disrupter",
  9785.                     "Dark Matter Cube",
  9786.                     "Crossbow"
  9787.                 }
  9788.                 *Usage         = "Public"
  9789.                 *Comment        =    "The Bot's #10 favorite weapon"
  9790.             }
  9791.             *Combo = "PreferredWeapon10"
  9792.             {
  9793.                 *DisplayName    =    "Preferred Weapon 11"
  9794.                 *Value            =    2
  9795.                 *ComboList        =
  9796.                 {
  9797.                     ; this list must be kept synchronized with WeaponInfo.h!
  9798.                     "War Club",
  9799.                     "Bow",
  9800.                     "TekBow",
  9801.                     "Grenade",
  9802.                     "Pistol",
  9803.                     "Shotgun",
  9804.                     "Machine Gun",
  9805.                     "Launcher",
  9806.                     "Tek Weapon",
  9807.                     "Flame Thrower",
  9808.                     "Guided Device",
  9809.                     "Gravity Disrupter",
  9810.                     "Dark Matter Cube",
  9811.                     "Crossbow"
  9812.                 }
  9813.                 *Usage         = "Public"
  9814.                 *Comment        =    "The Bot's #11 favorite weapon"
  9815.             }
  9816.             *Combo = "PreferredWeapon11"
  9817.             {
  9818.                 *DisplayName    =    "Preferred Weapon 12"
  9819.                 *Value            =    1
  9820.                 *ComboList        =
  9821.                 {
  9822.                     ; this list must be kept synchronized with WeaponInfo.h!
  9823.                     "War Club",
  9824.                     "Bow",
  9825.                     "TekBow",
  9826.                     "Grenade",
  9827.                     "Pistol",
  9828.                     "Shotgun",
  9829.                     "Machine Gun",
  9830.                     "Launcher",
  9831.                     "Tek Weapon",
  9832.                     "Flame Thrower",
  9833.                     "Guided Device",
  9834.                     "Gravity Disrupter",
  9835.                     "Dark Matter Cube",
  9836.                     "Crossbow"
  9837.                 }
  9838.                 *Usage         = "Public"
  9839.                 *Comment        =    "The Bot's #12 favorite weapon"
  9840.             }
  9841.             *Combo = "PreferredWeapon12"
  9842.             {
  9843.                 *DisplayName    =    "Preferred Weapon 13"
  9844.                 *Value            =    0
  9845.                 *ComboList        =
  9846.                 {
  9847.                     ; this list must be kept synchronized with WeaponInfo.h!
  9848.                     "War Club",
  9849.                     "Bow",
  9850.                     "TekBow",
  9851.                     "Grenade",
  9852.                     "Pistol",
  9853.                     "Shotgun",
  9854.                     "Machine Gun",
  9855.                     "Launcher",
  9856.                     "Tek Weapon",
  9857.                     "Flame Thrower",
  9858.                     "Guided Device",
  9859.                     "Gravity Disrupter",
  9860.                     "Dark Matter Cube",
  9861.                     "Crossbow"
  9862.                 }
  9863.                 *Usage         = "Public"
  9864.                 *Comment        =    "The Bot's #13 favorite weapon"
  9865.             }
  9866.         }
  9867.         *Group = "Detection"
  9868.         {
  9869.             *Comment = "Sight, sound and smell detection parameters."
  9870.  
  9871.             *BOOL = "IGNOREPLAYER"
  9872.             {
  9873.                 *VALUE    = "False"
  9874.                 *DISPLAYNAME = "Ignore Player?"
  9875.                 *Comment = "No detection.  Ignores player."
  9876.             }
  9877.  
  9878.             *BOOL = "CONEVISION"
  9879.             {
  9880.                 *VALUE    = "True"
  9881.                 *DISPLAYNAME = "Cone Vision?"
  9882.                 *Comment = "True for forward cone sight."
  9883.                 *Comment = "False for 360 degree sight."
  9884.             }
  9885.  
  9886.         
  9887.             *FLOAT = "SIGHTRADIUS"
  9888.             {
  9889.                 *VALUE    = 20
  9890.                 *MIN    = 0
  9891.                 *DISPLAYNAME = "Sight Radius"
  9892.                 *DISPLAYASDISC = "255,0,0"
  9893.                 *Comment = "Distance the AI can see."
  9894.             }
  9895.  
  9896.             *FLOAT = "SXZAngle"
  9897.             {
  9898.                 *VALUE    = 90
  9899.                 *MIN    = 0
  9900.                 *DISPLAYNAME = "Cone XZ Angle"
  9901.                 *Comment = "XZ Angle for cone vision."
  9902.             }
  9903.  
  9904.             *FLOAT = "SYAngle"
  9905.             {
  9906.                 *VALUE    = 45
  9907.                 *MIN    = 0
  9908.                 *DISPLAYNAME = "Cone Y Angle"
  9909.                 *Comment = "Y Angle for cone vision."
  9910.             }
  9911.  
  9912.             *FLOAT = "SOUNDRADIUS"
  9913.             {
  9914.                 *VALUE    = 30
  9915.                 *MIN    = 0
  9916.                 *DISPLAYNAME = "Sound Radius"
  9917.                 *DISPLAYASDISC = "205,120,30"
  9918.                 *Comment = "Distance the AI can hear."
  9919.             }
  9920.  
  9921.             *FLOAT = "LostContactResetTime"
  9922.             {
  9923.                 *VALUE            = 5.0
  9924.                 *DISPLAYNAME    = "Lost Contact Reset Time"
  9925.             }
  9926.         
  9927.         }
  9928.  
  9929.         *Group = "Attack"
  9930.         {
  9931.             *Comment = "Attacking parameters."
  9932.                         
  9933.             *Group = "Close Range"
  9934.             {
  9935.                 *Comment = "Close Range Attack"
  9936.  
  9937.                 *INT = "CloseRangeChance"
  9938.                 {
  9939.                     *VALUE    = 25
  9940.                     *MIN    = 0
  9941.                     *DISPLAYNAME = "Chance"
  9942.                     *Comment = "The chance the AI will select close range attack"
  9943.                 }
  9944.                 
  9945.                 *FLOAT = "CloseRangeDist"
  9946.                 {
  9947.                     *VALUE    = 5
  9948.                     *MIN    = 0
  9949.                     *DISPLAYNAME = "Distance"
  9950.                     *Comment = "The distance from target in close range attack"
  9951.                 }
  9952.             }
  9953.  
  9954.             *Group = "Medium Range"
  9955.             {
  9956.                 *Comment = "Medium Range Attack"
  9957.  
  9958.                 *INT = "MediumRangeChance"
  9959.                 {
  9960.                     *VALUE    = 50
  9961.                     *MIN    = 0
  9962.                     *DISPLAYNAME = "Chance"
  9963.                     *Comment = "The chance the AI will select medium range attack"
  9964.                 }
  9965.                 
  9966.                 *FLOAT = "MediumRangeDist"
  9967.                 {
  9968.                     *VALUE    = 15
  9969.                     *MIN    = 0
  9970.                     *DISPLAYNAME = "Distance"
  9971.                     *Comment = "The distance from target in medium range attack"
  9972.                 }
  9973.             }
  9974.  
  9975.             *Group = "Long Range"
  9976.             {
  9977.                 *Comment = "Long Range Attack"
  9978.  
  9979.                 *INT = "LongRangeChance"
  9980.                 {
  9981.                     *VALUE    = 25
  9982.                     *MIN    = 0
  9983.                     *DISPLAYNAME = "Chance"
  9984.                     *Comment = "The chance the AI will select long range attack"
  9985.                 }
  9986.                 
  9987.                 *FLOAT = "LongRangeDist"
  9988.                 {
  9989.                     *VALUE    = 30
  9990.                     *MIN    = 0
  9991.                     *DISPLAYNAME = "Distance"
  9992.                     *Comment = "The distance from target in long range attack"
  9993.                 }
  9994.             }
  9995.             *FLOAT = "WarclubRangeDist"
  9996.             {
  9997.                 *Value = 2.0
  9998.                 *MIN = 0
  9999.                 *DISPLAYNAME = "Warclub Attack Distance"
  10000.                 *Comment = "Maximum distance from target that bot can be to attack with warclub"
  10001.             }
  10002.  
  10003.             *INT = "CrouchAttackChance"
  10004.             {
  10005.                 *VALUE    = 0
  10006.                 *MIN    = 0
  10007.                 *DISPLAYNAME = "Crouch Attack Chance"
  10008.                 *Comment = "The chance out of 100 the AI will crouch when attacking"
  10009.             }
  10010.         }
  10011.     }
  10012. }
  10013.  
  10014.  
  10015. ;------------------------------------------------------------------------------
  10016. ; Fall Death Region
  10017. ;------------------------------------------------------------------------------
  10018. *OBJECT = "FallDeathRegion"
  10019. {
  10020.     *NAME            = "FallDeathRegion"
  10021.     *INHERITS        = "BoxRegion"
  10022.     *TYPE            = "OBJECT"
  10023.     *UseInActorEd    = "True"
  10024.  
  10025. }
  10026.  
  10027.  
  10028.  
  10029. ;    +------------------------------------------------------------------+
  10030. ;    |                                                                   |
  10031. ;    |                End of Turok4-specific section.                    |
  10032. ;    |                                                                   |
  10033. ;    +------------------------------------------------------------------+
  10034.