TTLG|Thief|Bioshock|System Shock|Deus Ex|Mobile
Page 2 of 2 FirstFirst 12
Results 26 to 37 of 37

Thread: Quest Data, DML and more DML issues

  1. #26
    Dóttirin klęšist oft móšur möttli
    Registered: Apr 2015

    Block Frob

    I've tried to asign block frob on an object

    +ObjProp 608 "BlockFrob"
    {
    "" : true
    }
    Monolog:
    LOG: dpPatch> DIAG: added property "BlockFrob" to object 608
    LOG: dpPatch> DIAG: assigned prop value "BlockFrob" -> BOOL::"" = ": true" on object 608

    But block frob isn't "true" at all. Block frob is always "false" on object 608.

    Edit: I just realized that I have to remove ":". This setup is working:

    +ObjProp 608 "BlockFrob"
    {
    "" true
    }
    Last edited by Unna Oertdottir; 17th Jan 2017 at 11:04.

  2. #27
    Dóttirin klęšist oft móšur möttli
    Registered: Apr 2015
    I think I found a bug in the dml system. It's about the (changed) position of some objects.
    Let's assume I change the position of an object. Original position: 100,100,100. In the dml it's at 90,100,100. If I run the dml in DromEd (or in Thief(2), I can see the object at 90,100,100. But If I get closer to the object, it "flips" back to 100,100,100 (I can see it moving like a teleported object). This happens with boulders and trees, maybe other objects as well.

  3. #28
    ZylonBane
    Registered: Sep 2000
    Location: ZylonBane
    You're trying to move physics objects, aren't you.

  4. #29
    Zombified
    Registered: Sep 2004
    yep.

  5. #30
    Dóttirin klęšist oft móšur möttli
    Registered: Apr 2015
    - you can work around this partially by removing the PhysType from the object, moving it to the desired location, and then assigning a PhysType to it again. do note that when you do this, the PhysType you assign in the end always needs to be OBB (submodels 6), if you try anything else, the object will end up with no physics (no explanation, it just works that way).
    Thanks. I'll try that.

  6. #31
    Zombified
    Registered: Sep 2004
    also generally, normal map edits are easier than dmls, unless you have something very specific in mind (turning the candle mod on and off in TFix, for example).

  7. #32
    Dóttirin klęšist oft móšur möttli
    Registered: Apr 2015
    I know. But I try dmls first if I have to fix others missions.

  8. #33
    Dóttirin klęšist oft móšur möttli
    Registered: Apr 2015
    Quote Originally Posted by vfig View Post
    I found what appears to be a bug in dbmod loading. I had the following in my .dml (part of my no spiders patch) that is supposed to destroy all Spider (-2103) entities on mission start. The bug is that the "Flags" value of 2—although parsed okay, as dbmod.log shows—doesn't seem to be applied. I checked this by manually loading the .dml in dromed and checking the hierarchy, where the flags are still unset.


    If I manually I set the flags to "Destroy object on completion" through the hierarchy editor, the objects are indeed destroyed on mission start; and by saving this modified gamesys and looking at a diff, I have confirmed that 2 is indeed the correct value of these flags.


    All the rest of the StimSource is applied correctly, which is why I figure that this is a bug.


    Code:
    +StimSource -2103 "WeaponStim"
    {
        Intensity 100.0
        Propagator "Radius"
        {
            Life
            {
                 // Flags means "destroy object on completion"
                // (sadly, doesn't seem to be applied)
                "Flags" 2
                "Period" 5000
            }
            Shape
            {
                "Radius" 1.0
            }
        }
    }
    Try this

    Code:
    +StimSource -2103 "WeaponStim"
    {
        Intensity 100.0
        Propagator "Radius"
        {
            Life
            {
            
                "Flags" Destroy Object on Completion
                "Period" 5000
            }
            Shape
            {
                "Radius" 1.0
            }
        }
    }
    You can find the informations in the proplist (scroll down to see informations in red letters

    Code:
    ObjProp "Transient"          // type BOOL                      , flags 0x0001 , editor name: "Object System: Transient"
    {
    	"" : bool
    }
    
    
    ObjProp "Immobile"           // type BOOL                      , flags 0x0000 , editor name: "Object System: Immobile"
    {
    	"" : bool
    }
    
    
    ObjProp "DonorType"          // type int                       , flags 0x00C1 , editor name: "Object System: Donor Type"
    {
    	"" : int
    }
    
    
    ObjProp "SymName"            // type string                    , flags 0x00C1 , editor name: "Object System: Symbolic Name"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "CombineType"        // type Label                     , flags 0x0000 , editor name: "Engine Features: Combine Type"
    {
    	"" : string    // max 15 characters long
    }
    
    
    ObjProp "StackCount"         // type int                       , flags 0x0000 , editor name: "Engine Features: Stack Count"
    {
    	"" : int
    }
    
    
    ObjProp "arSrcScale"         // type float                     , flags 0x0000 , editor name: "Act/React: Source Scale"
    {
    	"" : float
    }
    
    
    ObjProp "DeathStage"         // type int                       , flags 0x0001 , editor name: "Game: Damage Model: Death Stage"
    {
    	"" : int
    }
    
    
    ObjProp "WeaponDamage"       // type int                       , flags 0x0000 , editor name: "Game: Damage Model: Weapon Damage"
    {
    	"" : int
    }
    
    
    ObjProp "WeaponType"         // type int                       , flags 0x0000 , editor name: "Game: Damage Model: Weapon Type"
    {
    	"" : int
    }
    
    
    ObjProp "SlayResult"         // type eSlayResult               , flags 0x0000 , editor name: "Game: Damage Model: Slay Result"
    {
    	"Effect" : enum    // enums: "Normal", "No Effect", "Terminate", "Destroy"
    }
    
    
    ObjProp "Culpable"           // type BOOL                      , flags 0x0000 , editor name: "Game: Damage Model: Culpable"
    {
    	"" : bool
    }
    
    
    ObjProp "InvType"            // type eInventoryType            , flags 0x0000 , editor name: "Inventory: Type"
    {
    	"" : enum    // enums: "Junk", "Item", "Weapon"
    }
    
    
    ObjProp "InvCycleOrder"      // type string                    , flags 0x0000 , editor name: "Inventory: Cycle Order"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "Scale"              // type Vector                    , flags 0x0011 , editor name: "Shape: Scale"
    {
    	"" : vector
    }
    
    
    ObjProp "ModelName"          // type Label                     , flags 0x0000 , editor name: "Shape: Model Name"
    {
    	"" : string    // max 15 characters long
    }
    
    
    ObjProp "CollisionType"      // type CollType                  , flags 0x0010 , editor name: "Physics: Misc: Collision Type"
    {
    	"" : bitflags    // flags: "Bounce", "Destroy on Impact", "Slay on Impact", "No Collision Sound", "No Result", "Full Collision Sound"
    }
    
    
    ObjProp "Particle"           // type int                       , flags 0x0000 , editor name: "SFX: Particle"
    {
    	"" : int
    }
    
    
    ObjProp "Position"           // type Position                  , flags 0x0115 , editor name: "Position"
    {
    	"Location" : vector
    	"Heading" : uint_hex
    	"Pitch" : uint_hex
    	"Bank" : uint_hex
    }
    
    
    ObjProp "Light"              // type sLightProp                , flags 0x0011 , editor name: "Renderer: Light"
    {
    	"brightness" : float
    	"offset from object" : vector
    	"radius (0 for infinite)" : float
    	"inner radius (0 for none)" : float
    	"quad lit" : bool
    }
    
    
    ObjProp "LightColor"         // type ColorInfo                 , flags 0x0000 , editor name: "Renderer: LightColor"
    {
    	"hue" : float
    	"saturation" : float
    }
    
    
    ObjProp "Spotlight"          // type Vector                    , flags 0x0000 , editor name: "Renderer: Spotlight"
    {
    	"" : vector
    }
    
    
    ObjProp "SpotAmb"            // type Vector                    , flags 0x0000 , editor name: "Renderer: SpotlightAndAmbient"
    {
    	"" : vector
    }
    
    
    ObjProp "LBAlpha"            // type cLightBasedAlpha          , flags 0x0000 , editor name: "Renderer: Light-based transparency"
    {
    	"Active" : bool
    	"Min alpha" : float
    	"Max alpha" : float
    	"Light level (0-100) for min" : int
    	"Light level (0-100) for max" : int
    }
    
    
    ObjProp "AnimLight"          // type sAnimLightProp            , flags 0x0011 , editor name: "Renderer: Anim Light"
    {
    	"Mode" : enum    // enums: "flip between min & max", "slide smoothly", "random", "minimum brightness", "maximum brightness", "zero brightness", "smoothly brighten", "smoothly dim", "random but coherent", "flicker min/max"
    	"millisecs to brighten" : int
    	"millisecs to dim" : int
    	"max brightness" : float
    	"min brightness" : float
    	"radius (0 for infinite)" : float
    	"inner radius (0 for none)" : float
    	"quad lit" : bool
    	"offset from object" : vector
    	"currently rising?" : bool
    	"current countdown" : int
    	"inactive" : bool
    	"Dynamic Light" : bool
    }
    
    
    ObjProp "ExtraLight"         // type sExtraLightProp           , flags 0x0011 , editor name: "Renderer: Extra Light"
    {
    	"Amount (-1..1)" : float
    	"Additive?" : bool
    }
    
    
    ObjProp "Scripts"            // type sScriptProp               , flags 0x0200
    {
    	"Script 0" : string    // max 31 characters long
    	"Script 1" : string    // max 31 characters long
    	"Script 2" : string    // max 31 characters long
    	"Script 3" : string    // max 31 characters long
    	"Don't Inherit" : bool
    }
    
    
    ObjProp "HitPoints"          // type int                       , flags 0x0000 , editor name: "Game: Damage Model: Hit Points"
    {
    	"" : int
    }
    
    
    ObjProp "MAX_HP"             // type int                       , flags 0x0000 , editor name: "Game: Damage Model: Max Hit Points"
    {
    	"" : int
    }
    
    
    ObjProp "TrapFlags"          // type TrapFlags                 , flags 0x0000 , editor name: "Script: Trap Control Flags"
    {
    	"" : bitflags    // flags: "Once", "Invert", "NoOn", "NoOff"
    }
    
    
    ObjProp "Z-Bias"             // type int                       , flags 0x0000 , editor name: "Renderer: Z-Bias"
    {
    	"" : int
    }
    
    
    ObjProp "Bump Map"           // type BOOL                      , flags 0x0011 , editor name: "Renderer: Bump Map"
    {
    	"" : bool
    }
    
    
    ObjProp "SelfLit"            // type int                       , flags 0x0011 , editor name: "Renderer: Dynamic Light"
    {
    	"" : int
    }
    
    
    ObjProp "SelfLitRad"         // type float                     , flags 0x0011 , editor name: "Renderer: Dynamic Light Radius"
    {
    	"" : float
    }
    
    
    ObjProp "Shadow"             // type int                       , flags 0x0011 , editor name: "Renderer: Shadow"
    {
    	"" : int
    }
    
    
    ObjProp "HeatDisks"          // type sHeatDiskCluster          , flags 0x0011 , editor name: "SFX: Heat Disks"
    {
    	"start offset x" : float
    	"start offset y" : float
    	"start offset z" : float
    	"start radius" : float
    	"end offset x" : float
    	"end offset y" : float
    	"end offset z" : float
    	"end radius" : float
    	"bottom jitter" : float
    	"top jitter" : float
    	"number of blobs" : int
    	"max disks/blob" : int
    	"height of effects" : float
    	"Z-compare" : bool
    }
    
    
    ObjProp "Spark"              // type sSpark                    , flags 0x0011 , editor name: "SFX: Spark"
    {
    	"flags" : bitflags
    	"color" : short
    	"angle offset 1" : short
    	"angle offset 2" : short
    	"angle offset 3" : short
    	"angle jitter" : short
    	"size 1" : float
    	"size 2" : float
    	"size 3" : float
    	"size jitter" : float
    	"light (0-1)" : float
    	"light jitter" : float
    }
    
    
    ObjProp "MeshAttach"         // type sMeshAttach               , flags 0x0011 , editor name: "Renderer: Mesh Attach"
    {
    	"attached obj 1" : int
    	"joint of skeleton" : int
    	"x angle (0-65535)" : short
    	"y angle (0-65535)" : short
    	"z angle (0-65535)" : short
    	"offset" : vector
    	"attached obj 2" : int
    	"joint of skeleton"[1] : int
    	"x angle (0-65535)"[1] : short
    	"y angle (0-65535)"[1] : short
    	"z angle (0-65535)"[1] : short
    	"offset"[1] : vector
    	"attached obj 3" : int
    	"joint of skeleton"[2] : int
    	"x angle (0-65535)"[2] : short
    	"y angle (0-65535)"[2] : short
    	"z angle (0-65535)"[2] : short
    	"offset"[2] : vector
    	"attached obj 4" : int
    	"joint of skeleton"[3] : int
    	"x angle (0-65535)"[3] : short
    	"y angle (0-65535)"[3] : short
    	"z angle (0-65535)"[3] : short
    	"offset"[3] : vector
    }
    
    
    ObjProp "Firer"              // type int                       , flags 0x0001
    {
    	"" : int
    }
    
    
    ObjProp "LauncherMass"       // type float                     , flags 0x0000 , editor name: "Physics: Projectile: Launcher Mass"
    {
    	"" : float
    }
    
    
    ObjProp "PrjSound"           // type string                    , flags 0x0000 , editor name: "Sound: Projectile Sound"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "FrobInfo"           // type sFrobInfo                 , flags 0x0000 , editor name: "Engine Features: FrobInfo"
    {
    	"World Action" : bitflags    // flags: "Move", "Script", "Delete", "Ignore", "FocusScript", "Tool Cursor", "Use Ammo", "Default", "Deselect"
    	"Inv Action" : bitflags    // flags: "Move", "Script", "Delete", "Ignore", "FocusScript", "Tool Cursor", "Use Ammo", "Default", "Deselect"
    	"Tool Action" : bitflags    // flags: "Move", "Script", "Delete", "Ignore", "FocusScript", "Tool Cursor", "Use Ammo", "Default", "Deselect"
    }
    
    
    ObjProp "FrobHandler"        // type eFrobHandler              , flags 0x0000 , editor name: "Networking: Frob Handler"
    {
    	"" : enum    // enums: "Host", "Local Only", "All Machines"
    }
    
    
    ObjProp "PhysType"           // type cPhysTypeProp             , flags 0x0011 , editor name: "Physics: Model: Type"
    {
    	"Type" : enum    // enums: "OBB", "Sphere", "Sphere Hat", "None"
    	"# Submodels" : int
    	"Remove on Sleep" : bool
    	"Special" : bool
    }
    
    
    ObjProp "RotDoor"            // type sRotDoorProp              , flags 0x0011 , editor name: "Door: Rotating"
    {
    	"Closed Angle" : float
    	"Open Angle" : float
    	"Base Speed" : float
    	"Axis" : enum    // enums: "X-Axis", "Y-Axis", "Z-Axis"
    	"Status" : enum    // enums: "Closed", "Open", "Closing", "Opening", "Halted"
    	"Hard Limits?" : bool
    	"Blocks Vision?" : bool
    	"Blocks Sound %" : float
    	"Lean Blocks Sound %" : float
    	"Push Mass" : float
    	"Clockwise?" : bool
    }
    
    
    ObjProp "TransDoor"          // type sTransDoorProp            , flags 0x0011 , editor name: "Door: Translating"
    {
    	"Closed Position" : float
    	"Open Position" : float
    	"Base Speed" : float
    	"Axis" : enum    // enums: "X-Axis", "Y-Axis", "Z-Axis"
    	"Status" : enum    // enums: "Closed", "Open", "Closing", "Opening", "Halted"
    	"Hard Limits?" : bool
    	"Blocks Vision?" : bool
    	"Blocks Sound %" : float
    	"Lean Blocks Sound %" : float
    	"Push Mass" : float
    }
    
    
    ObjProp "DoorStaticLight"    // type BOOL                      , flags 0x0000 , editor name: "Door: Static Light Pos"
    {
    	"" : bool
    }
    
    
    ObjProp "CfgTweqScale"       // type sTweqVectorConfig         , flags 0x0000 , editor name: "Tweq: Scale"
    {
    	"Halt" : enum    // enums: "Destroy Obj", "Remove Prop", "Stop Tweq", "Continue", "Slay Obj"
    	"AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"MiscC" : bitflags    // flags: "Anchor", "Scripts", "Random", "Grav", "ZeroVel", "TellAi", "PushOut", "NegativeLogic", "Relative Velocity", "NoPhysics", "AnchorVhot", "HostOnly", "CreatureScale", "Use Model 5", "LinkRel"
    	"CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"Primary Axis" : int
    	"x rate-low-high" : vector
    	"y rate-low-high" : vector
    	"z rate-low-high" : vector
    }
    
    
    ObjProp "CfgTweqRotate"      // type sTweqVectorConfig         , flags 0x0000 , editor name: "Tweq: Rotate"
    {
    	"Halt" : enum    // enums: "Destroy Obj", "Remove Prop", "Stop Tweq", "Continue", "Slay Obj"
    	"AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"MiscC" : bitflags    // flags: "Anchor", "Scripts", "Random", "Grav", "ZeroVel", "TellAi", "PushOut", "NegativeLogic", "Relative Velocity", "NoPhysics", "AnchorVhot", "HostOnly", "CreatureScale", "Use Model 5", "LinkRel"
    	"CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"Primary Axis" : int
    	"x rate-low-high" : vector
    	"y rate-low-high" : vector
    	"z rate-low-high" : vector
    }
    
    
    ObjProp "CfgTweqJoints"      // type sTweqJointsConfig         , flags 0x0000 , editor name: "Tweq: Joints"
    {
    	"Halt" : enum    // enums: "Destroy Obj", "Remove Prop", "Stop Tweq", "Continue", "Slay Obj"
    	"AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"MiscC" : bitflags    // flags: "Anchor", "Scripts", "Random", "Grav", "ZeroVel", "TellAi", "PushOut", "NegativeLogic", "Relative Velocity", "NoPhysics", "AnchorVhot", "HostOnly", "CreatureScale", "Use Model 5", "LinkRel"
    	"CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"Primary Joint" : int
    	"Joint1AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"Joint1CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"    rate-low-high" : vector
    	"Joint2AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"Joint2CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"    rate-low-high2" : vector
    	"Joint3AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"Joint3CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"    rate-low-high3" : vector
    	"Joint4AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"Joint4CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"    rate-low-high4" : vector
    	"Joint5AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"Joint5CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"    rate-low-high5" : vector
    	"Joint6AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"Joint6CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"    rate-low-high6" : vector
    }
    
    
    ObjProp "CfgTweqModels"      // type sTweqModelsConfig         , flags 0x0000 , editor name: "Tweq: Models"
    {
    	"Halt" : enum    // enums: "Destroy Obj", "Remove Prop", "Stop Tweq", "Continue", "Slay Obj"
    	"AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"MiscC" : bitflags    // flags: "Anchor", "Scripts", "Random", "Grav", "ZeroVel", "TellAi", "PushOut", "NegativeLogic", "Relative Velocity", "NoPhysics", "AnchorVhot", "HostOnly", "CreatureScale", "Use Model 5", "LinkRel"
    	"CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"Rate" : ushort
    	"Model 0" : string    // max 15 characters long
    	"Model 1" : string    // max 15 characters long
    	"Model 2" : string    // max 15 characters long
    	"Model 3" : string    // max 15 characters long
    	"Model 4" : string    // max 15 characters long
    	"Model 5" : string    // max 15 characters long
    }
    
    
    ObjProp "CfgTweqDelete"      // type sTweqSimpleConfig         , flags 0x0000 , editor name: "Tweq: Delete"
    {
    	"Halt" : enum    // enums: "Destroy Obj", "Remove Prop", "Stop Tweq", "Continue", "Slay Obj"
    	"AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"MiscC" : bitflags    // flags: "Anchor", "Scripts", "Random", "Grav", "ZeroVel", "TellAi", "PushOut", "NegativeLogic", "Relative Velocity", "NoPhysics", "AnchorVhot", "HostOnly", "CreatureScale", "Use Model 5", "LinkRel"
    	"CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"Rate" : ushort
    }
    
    
    ObjProp "CfgTweqBlink"       // type sTweqSimpleConfig         , flags 0x0000 , editor name: "Tweq: Flicker"
    {
    	"Halt" : enum    // enums: "Destroy Obj", "Remove Prop", "Stop Tweq", "Continue", "Slay Obj"
    	"AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"MiscC" : bitflags    // flags: "Anchor", "Scripts", "Random", "Grav", "ZeroVel", "TellAi", "PushOut", "NegativeLogic", "Relative Velocity", "NoPhysics", "AnchorVhot", "HostOnly", "CreatureScale", "Use Model 5", "LinkRel"
    	"CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"Rate" : ushort
    }
    
    
    ObjProp "CfgTweqEmit"        // type sTweqEmitterConfig        , flags 0x0000 , editor name: "Tweq: Emit"
    {
    	"Halt" : enum    // enums: "Destroy Obj", "Remove Prop", "Stop Tweq", "Continue", "Slay Obj"
    	"AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"MiscC" : bitflags    // flags: "Anchor", "Scripts", "Random", "Grav", "ZeroVel", "TellAi", "PushOut", "NegativeLogic", "Relative Velocity", "NoPhysics", "AnchorVhot", "HostOnly", "CreatureScale", "Use Model 5", "LinkRel"
    	"CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"Rate" : ushort
    	"Max frames" : int
    	"Emit what" : string    // max 15 characters long
    	"Velocity" : vector
    	"Angle Random" : vector
    }
    
    
    ObjProp "CfgTweqLock"        // type sTweqLockConfig           , flags 0x0000 , editor name: "Tweq: Lock"
    {
    	"Halt" : enum    // enums: "Destroy Obj", "Remove Prop", "Stop Tweq", "Continue", "Slay Obj"
    	"AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"MiscC" : bitflags    // flags: "Anchor", "Scripts", "Random", "Grav", "ZeroVel", "TellAi", "PushOut", "NegativeLogic", "Relative Velocity", "NoPhysics", "AnchorVhot", "HostOnly", "CreatureScale", "Use Model 5", "LinkRel"
    	"CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"Lock Joint" : int
    	"    rate-low-highJoint" : vector
    }
    
    
    ObjProp "CfgTweq2Emit"       // type sTweqEmitterConfig        , flags 0x0000 , editor name: "Tweq: Emit2"
    {
    	"Halt" : enum    // enums: "Destroy Obj", "Remove Prop", "Stop Tweq", "Continue", "Slay Obj"
    	"AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"MiscC" : bitflags    // flags: "Anchor", "Scripts", "Random", "Grav", "ZeroVel", "TellAi", "PushOut", "NegativeLogic", "Relative Velocity", "NoPhysics", "AnchorVhot", "HostOnly", "CreatureScale", "Use Model 5", "LinkRel"
    	"CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"Rate" : ushort
    	"Max frames" : int
    	"Emit what" : string    // max 15 characters long
    	"Velocity" : vector
    	"Angle Random" : vector
    }
    
    
    ObjProp "CfgTweq3Emit"       // type sTweqEmitterConfig        , flags 0x0000 , editor name: "Tweq: Emit3"
    {
    	"Halt" : enum    // enums: "Destroy Obj", "Remove Prop", "Stop Tweq", "Continue", "Slay Obj"
    	"AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"MiscC" : bitflags    // flags: "Anchor", "Scripts", "Random", "Grav", "ZeroVel", "TellAi", "PushOut", "NegativeLogic", "Relative Velocity", "NoPhysics", "AnchorVhot", "HostOnly", "CreatureScale", "Use Model 5", "LinkRel"
    	"CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"Rate" : ushort
    	"Max frames" : int
    	"Emit what" : string    // max 15 characters long
    	"Velocity" : vector
    	"Angle Random" : vector
    }
    
    
    ObjProp "CfgTweq4Emit"       // type sTweqEmitterConfig        , flags 0x0000 , editor name: "Tweq: Emit4"
    {
    	"Halt" : enum    // enums: "Destroy Obj", "Remove Prop", "Stop Tweq", "Continue", "Slay Obj"
    	"AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"MiscC" : bitflags    // flags: "Anchor", "Scripts", "Random", "Grav", "ZeroVel", "TellAi", "PushOut", "NegativeLogic", "Relative Velocity", "NoPhysics", "AnchorVhot", "HostOnly", "CreatureScale", "Use Model 5", "LinkRel"
    	"CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"Rate" : ushort
    	"Max frames" : int
    	"Emit what" : string    // max 15 characters long
    	"Velocity" : vector
    	"Angle Random" : vector
    }
    
    
    ObjProp "CfgTweq5Emit"       // type sTweqEmitterConfig        , flags 0x0000 , editor name: "Tweq: Emit5"
    {
    	"Halt" : enum    // enums: "Destroy Obj", "Remove Prop", "Stop Tweq", "Continue", "Slay Obj"
    	"AnimC" : bitflags    // flags: "NoLimit", "Sim", "Wrap", "OneBounce", "SimSmallRad", "SimLargeRad", "OffScreen"
    	"MiscC" : bitflags    // flags: "Anchor", "Scripts", "Random", "Grav", "ZeroVel", "TellAi", "PushOut", "NegativeLogic", "Relative Velocity", "NoPhysics", "AnchorVhot", "HostOnly", "CreatureScale", "Use Model 5", "LinkRel"
    	"CurveC" : bitflags    // flags: "JitterLow", "JitterHi", "Mul", "Pendulum(/BounceHi)", "Bounce"
    	"Rate" : ushort
    	"Max frames" : int
    	"Emit what" : string    // max 15 characters long
    	"Velocity" : vector
    	"Angle Random" : vector
    }
    
    
    ObjProp "StTweqScale"        // type sTweqVectorState          , flags 0x0011 , editor name: "Tweq: ScaleState"
    {
    	"AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"MiscS" : bitflags    // flags: "Null"
    	"Axis 1AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"Axis 2AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"Axis 3AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    }
    
    
    ObjProp "StTweqRotate"       // type sTweqVectorState          , flags 0x0011 , editor name: "Tweq: RotateState"
    {
    	"AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"MiscS" : bitflags    // flags: "Null"
    	"Axis 1AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"Axis 2AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"Axis 3AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    }
    
    
    ObjProp "StTweqJoints"       // type sTweqJointsState          , flags 0x0011 , editor name: "Tweq: JointsState"
    {
    	"AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"MiscS" : bitflags    // flags: "Null"
    	"Joint1AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"Joint2AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"Joint3AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"Joint4AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"Joint5AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"Joint6AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    }
    
    
    ObjProp "StTweqModels"       // type sTweqSimpleState          , flags 0x0011 , editor name: "Tweq: ModelsState"
    {
    	"AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"MiscS" : bitflags    // flags: "Null"
    	"Cur Time" : ushort
    	"Frame #" : short
    }
    
    
    ObjProp "StTweqDelete"       // type sTweqSimpleState          , flags 0x0011 , editor name: "Tweq: DeleteState"
    {
    	"AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"MiscS" : bitflags    // flags: "Null"
    	"Cur Time" : ushort
    	"Frame #" : short
    }
    
    
    ObjProp "StTweqEmit"         // type sTweqSimpleState          , flags 0x0011 , editor name: "Tweq: EmitterState"
    {
    	"AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"MiscS" : bitflags    // flags: "Null"
    	"Cur Time" : ushort
    	"Frame #" : short
    }
    
    
    ObjProp "StTweqBlink"        // type sTweqSimpleState          , flags 0x0011 , editor name: "Tweq: FlickerState"
    {
    	"AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"MiscS" : bitflags    // flags: "Null"
    	"Cur Time" : ushort
    	"Frame #" : short
    }
    
    
    ObjProp "StTweqLock"         // type sTweqLockState            , flags 0x0011 , editor name: "Tweq: LockState"
    {
    	"AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"MiscS" : bitflags    // flags: "Null"
    	"Target Angle" : float
    	"Cur Stage" : int
    }
    
    
    ObjProp "StTweq2Emit"        // type sTweqSimpleState          , flags 0x0011 , editor name: "Tweq: Emitter2State"
    {
    	"AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"MiscS" : bitflags    // flags: "Null"
    	"Cur Time" : ushort
    	"Frame #" : short
    }
    
    
    ObjProp "StTweq3Emit"        // type sTweqSimpleState          , flags 0x0011 , editor name: "Tweq: Emitter3State"
    {
    	"AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"MiscS" : bitflags    // flags: "Null"
    	"Cur Time" : ushort
    	"Frame #" : short
    }
    
    
    ObjProp "StTweq4Emit"        // type sTweqSimpleState          , flags 0x0011 , editor name: "Tweq: Emitter4State"
    {
    	"AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"MiscS" : bitflags    // flags: "Null"
    	"Cur Time" : ushort
    	"Frame #" : short
    }
    
    
    ObjProp "StTweq5Emit"        // type sTweqSimpleState          , flags 0x0011 , editor name: "Tweq: Emitter5State"
    {
    	"AnimS" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    	"MiscS" : bitflags    // flags: "Null"
    	"Cur Time" : ushort
    	"Frame #" : short
    }
    
    
    ObjProp "BaseWpnDmg"         // type int                       , flags 0x0011 , editor name: "Weapon: BaseDamage"
    {
    	"" : int
    }
    
    
    ObjProp "CurWpnDmg"          // type int                       , flags 0x0084 , editor name: "Weapon: CurDamage"
    {
    	"" : int
    }
    
    
    ObjProp "WpnExposure"        // type int                       , flags 0x0000 , editor name: "Weapon: Exposure"
    {
    	"" : int
    }
    
    
    ObjProp "SwingExpose"        // type int                       , flags 0x0000 , editor name: "Weapon: SwingExpose"
    {
    	"" : int
    }
    
    
    ObjProp "WpnTerrColl"        // type BOOL                      , flags 0x0000 , editor name: "Weapon: Collides With Terrain"
    {
    	"" : bool
    }
    
    
    ObjProp "ModeChangeMeta"     // type string                    , flags 0x0010 , editor name: "Weapon: Mode Change Metaproperty"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "ModeUnchngeMeta"    // type string                    , flags 0x0010 , editor name: "Weapon: Mode Change-back Metaproperty"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "Locked"             // type BOOL                      , flags 0x0000 , editor name: "Engine Features: Locked"
    {
    	"" : bool
    }
    
    
    ObjProp "LockCnt"            // type int                       , flags 0x0080
    {
    	"" : int
    }
    
    
    ObjProp "KeySrc"             // type sKeyInfo                  , flags 0x0011 , editor name: "Engine Features: KeySrc"
    {
    	"MasterBit" : bool
    	"RegionMask" : bitflags
    	"LockID" : uint
    }
    
    
    ObjProp "KeyDst"             // type sKeyInfo                  , flags 0x0011 , editor name: "Engine Features: KeyDst"
    {
    	"MasterBit" : bool
    	"RegionMask" : bitflags
    	"LockID" : uint
    }
    
    
    ObjProp "InvLimbModel"       // type Label                     , flags 0x0000 , editor name: "Inventory: Limb Model"
    {
    	"" : string    // max 15 characters long
    }
    
    
    ObjProp "InvRendType"        // type sInvRenderType            , flags 0x0000 , editor name: "Inventory: Render Type"
    {
    	"Type" : enum    // enums: "Default", "Alternate Model", "Alternate Bitmap"
    	"Resource" : string    // max 15 characters long
    }
    
    
    ObjProp "TextureRadius"      // type float                     , flags 0x0000 , editor name: "Engine Features: Retexture Radius"
    {
    	"" : float
    }
    
    
    ObjProp "PickBias"           // type float                     , flags 0x0000 , editor name: "Inventory: Pick Bias"
    {
    	"" : float
    }
    
    
    ObjProp "PickDist"           // type float                     , flags 0x0000 , editor name: "Inventory: Max Pick Distance"
    {
    	"" : float
    }
    
    
    ObjProp "ContainInherit"     // type BOOL                      , flags 0x0010 , editor name: "Engine Features: Inherit Contains"
    {
    	"" : bool
    }
    
    
    ObjProp "SuspObj"            // type sSuspiciousInfo           , flags 0x0000 , editor name: "Engine Features: Suspicious"
    {
    	"Is Suspicious" : bool
    	"Suspicious Type" : string    // max 31 characters long
    	"Minimum Light Level" : float
    }
    
    
    ObjProp "FromBriefcase"      // type BOOL                      , flags 0x0000 , editor name: "Engine Features: From Briefcase?"
    {
    	"" : bool
    }
    
    
    ObjProp "AutoVBR"            // type Label                     , flags 0x0000 , editor name: "Editor: Auto-Multibrush"
    {
    	"" : string    // max 15 characters long
    }
    
    
    ObjProp "FlowGroup"          // type int                       , flags 0x0081 , editor name: "Renderer: Flow Group"
    {
    	"" : int
    }
    
    
    ObjProp "BashFactor"         // type float                     , flags 0x0000 , editor name: "Game: Bash Factor"
    {
    	"" : float
    }
    
    
    ObjProp "BashParams"         // type sBashParamsProp           , flags 0x0000 , editor name: "Game: Bash Params"
    {
    	"Threshold" : float
    	"Coefficient" : float
    }
    
    
    ObjProp "Preload"            // type BOOL                      , flags 0x0000 , editor name: "Engine Features: Preload"
    {
    	"" : bool
    }
    
    
    ObjProp "CSArrow"            // type Label                     , flags 0x0000
    {
    	"" : string    // max 15 characters long
    }
    
    
    ObjProp "CSProjectile"       // type Label                     , flags 0x0000
    {
    	"" : string    // max 15 characters long
    }
    
    
    ObjProp "CSProperty"         // type Label                     , flags 0x0000
    {
    	"" : string    // max 15 characters long
    }
    
    
    ObjProp "AmbientHacked"      // type AmbientSound              , flags 0x0015
    {
    	"Radius" : int
    	"Override Volume" : int
    	"Flags" : bitflags    // flags: "Environmental", "NoSharpCurve", "TurnedOff", "RemoveProp (OneShot)", "Music", "Synch", "NoFade", "DestroyObj", "DoAutoOff"
    	"Schema Name" : string    // max 15 characters long
    	"Aux Schema 1" : string    // max 15 characters long
    	"Aux Schema 2" : string    // max 15 characters long
    }
    
    
    ObjProp "MotActorTagList"    // type sMotActorTagList          , flags 0x0000 , editor name: "Motions: ActorTagList"
    {
    	"tags" : string    // max 799 characters long
    }
    
    
    ObjProp "MotorController"    // type tMotorControllerType      , flags 0x0000 , editor name: "Motions: Motor Controller"
    {
    	"" : enum    // enums: "GroundLoco", "Combat", "GroundAction", "PlayerArm", "PlayerBow", "Single"
    }
    
    
    ObjProp "TimeWarp"           // type float                     , flags 0x0000 , editor name: "Creature: Time Warp"
    {
    	"" : float
    }
    
    
    ObjProp "SwordActionType"    // type eMSwordActionType         , flags 0x0000 , editor name: "Motions: Sword Action Type"
    {
    	"" : enum    // enums: "Swing", "General Block", "Directed Block"
    }
    
    
    ObjProp "MotPhysLimits"      // type sMotPhysLimits            , flags 0x0000 , editor name: "Motions: Phys Limits"
    {
    	"Foo 1" : int
    	"Foo 2" : int
    }
    
    
    ObjProp "MotGaitDesc"        // type sMGaitSkillData           , flags 0x0000 , editor name: "Motions: Gait Desc"
    {
    	"LeftMotOff" : int
    	"RightMotOff" : int
    	"MaxAscend" : float
    	"MaxDescend" : float
    	"TimeWarp" : float
    	"Stretch" : float
    	"MaxAngVel" : int
    	"TurnTolerance" : int
    	"MaxVel" : float
    	"MinVel" : float
    	"NumTurns" : int
    	"Turn 1 Angle" : int
    	"Turn 1 MotOff" : int
    	"Turn 2 Angle" : int
    	"Turn 2 MotOff" : int
    	"Turn 3 Angle" : int
    	"Turn 3 MotOff" : int
    	"Stride Duration Noise" : float
    }
    
    
    ObjProp "MotPlyrLimbOff"     // type sMPlayerLimbOffsets       , flags 0x0000 , editor name: "Motions: Player Limb Offsets"
    {
    	"Arm Pos Offset" : vector
    	"Arm Ang Offset" : vector
    }
    
    
    ObjProp "AI_NGOBB"           // type BOOL                      , flags 0x0000 , editor name: "AI: Utility: Path Exact OBB"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_TrackM"          // type BOOL                      , flags 0x0000 , editor name: "AI: Utility: Track Medium"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_UseWater"        // type BOOL                      , flags 0x0000 , editor name: "AI: Utility: Path Water"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_IsBig"           // type BOOL                      , flags 0x0000 , editor name: "AI: AI Core: AI Needs Big Doors"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_IgCam"           // type BOOL                      , flags 0x0000 , editor name: "AI: Utility: Ignores Cameras"
    {
    	"" : bool
    }
    
    
    ObjProp "AI"                 // type sAIProp                   , flags 0x0000 , editor name: "AI: AI Core: AI"
    {
    	"Behavior set" : string    // max 31 characters long
    }
    
    
    ObjProp "AI_Efficiency"      // type sAIEfficiency             , flags 0x0000 , editor name: "AI: AI Core: Efficiency settings"
    {
    	"Enabled" : bool
    	"Super effic. Enter dist sq." : float
    	"Super effic. Enter Z" : float
    	"Super effic. Exit dist sq." : float
    	"Super effic. Exit Z" : float
    	"Effic. Enter dist sq." : float
    	"effic. Enter Z" : float
    	"Effic. Exit dist sq." : float
    	"Effic. Exit Z" : float
    	"Flags" : bitflags    // flags: "Allow Effic. While Visible", "Allow Effic. While Combat"
    }
    
    
    ObjProp "AI_MoveZOffset"     // type float                     , flags 0x0000 , editor name: "AI: AI Core: Movement: z offset"
    {
    	"" : float
    }
    
    
    ObjProp "AI_MoveSpeed"       // type float                     , flags 0x0000 , editor name: "AI: AI Core: Movement: max speed"
    {
    	"" : float
    }
    
    
    ObjProp "AI_TurnRate"        // type float                     , flags 0x0000 , editor name: "AI: AI Core: Movement: turn rate"
    {
    	"" : float
    }
    
    
    ObjProp "AI_Team"            // type eAITeam                   , flags 0x0000 , editor name: "AI: AI Core: Team"
    {
    	"" : enum    // enums: "Good", "Neutral", "Bad 1", "Bad 2", "Bad 3", "Bad 4", "Bad 5"
    }
    
    
    ObjProp "AI_VisJoint"        // type VisionJoint               , flags 0x0000 , editor name: "AI: AI Core: Vision Joint"
    {
    	"joint" : enum    // enums: "N/A", "Head", "Neck", "Abdomen", "Butt", "Left Shoulder", "Right Shoulder", "Left Elbow", "Right Elbow", "Left Wrist", "Right Wrist", "Left Fingers", "Right Fingers", "Left Hip", "Right Hip", "Left Knee", "Right Knee", "Left Ankle", "Right Ankle", "Left Toe", "Right Toe", "Tail"
    }
    
    
    ObjProp "AI_StandTags"       // type string                    , flags 0x0000 , editor name: "AI: AI Core: Standing motion tags"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "AI_SndTags"         // type string                    , flags 0x0000 , editor name: "AI: AI Core: Sound tags"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "AI_MotTags"         // type string                    , flags 0x0000 , editor name: "AI: AI Core: Motion tags"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "AI_NoGhost"         // type BOOL                      , flags 0x0000 , editor name: "AI: AI Core: No Multiplayer Ghost"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_NoHandoff"       // type BOOL                      , flags 0x0000 , editor name: "AI: AI Core: No Multiplayer Handoff"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_IsProxy"         // type BOOL                      , flags 0x0000 , editor name: "AI: AI Core: Handed-off proxy"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_InfNow"          // type BOOL                      , flags 0x0000 , editor name: "AI: Utility: Immediate inform"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_InfFrm"          // type BOOL                      , flags 0x0000 , editor name: "AI: Utility: inform from last seen"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_IsSmall"         // type BOOL                      , flags 0x0000 , editor name: "AI: Utility: small creature"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_Alertness"       // type sAIAlertness              , flags 0x0010 , editor name: "AI: State: Current alertness"
    {
    	"Level" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"Peak" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    }
    
    
    ObjProp "AI_AlertCap"        // type sAIAlertCap               , flags 0x0000 , editor name: "AI: AI Core: Alertness cap"
    {
    	"Max level" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"Min level" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"Min relax after peak" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    }
    
    
    ObjProp "AI_AwrDel2"         // type sAIAwareDelay             , flags 0x0000 , editor name: "AI: AI Core: Awareness delay (react time)"
    {
    	"Reaction time to two" : int
    	"Reaction time to three" : int
    	"Retrigger two delay" : int
    	"Retrigger three delay" : int
    	"Ignore delay range" : int
    }
    
    
    ObjProp "AI_Mode"            // type eAIMode                   , flags 0x0010 , editor name: "AI: State: Current mode"
    {
    	"" : enum    // enums: "Asleep", "Super efficient", "Efficient", "Normal", "Combat", "Dead"
    }
    
    
    ObjProp "AI_Frustrated"      // type sAIFrustrated             , flags 0x0000 , editor name: "AI: Utility: Is Frustrated"
    {
    	"Source" : int
    	"Dest" : int
    }
    
    
    ObjProp "AI_VisDesc"         // type sAIVisionDesc             , flags 0x0000 , editor name: "AI: AI Core: Vision description"
    {
    	"Z Offset" : float
    	"Cone 1: Flags" : bitflags    // flags: "Active", "No alert 0", "No alert 1", "No alert 2", "No alert 3", "Peripheral", "Omni", "Night vision", "Behind"
    	"Cone 1: Angle" : int
    	"Cone 1: Z angle" : int
    	"Cone 1: Range" : int
    	"Cone 1: Acuity" : int
    	"Cone 2: Flags" : bitflags    // flags: "Active", "No alert 0", "No alert 1", "No alert 2", "No alert 3", "Peripheral", "Omni", "Night vision", "Behind"
    	"Cone 2: Angle" : int
    	"Cone 2: Z angle" : int
    	"Cone 2: Range" : int
    	"Cone 2: Acuity" : int
    	"Cone 3: Flags" : bitflags    // flags: "Active", "No alert 0", "No alert 1", "No alert 2", "No alert 3", "Peripheral", "Omni", "Night vision", "Behind"
    	"Cone 3: Angle" : int
    	"Cone 3: Z angle" : int
    	"Cone 3: Range" : int
    	"Cone 3: Acuity" : int
    	"Cone 4: Flags" : bitflags    // flags: "Active", "No alert 0", "No alert 1", "No alert 2", "No alert 3", "Peripheral", "Omni", "Night vision", "Behind"
    	"Cone 4: Angle" : int
    	"Cone 4: Z angle" : int
    	"Cone 4: Range" : int
    	"Cone 4: Acuity" : int
    	"Cone 5: Flags" : bitflags    // flags: "Active", "No alert 0", "No alert 1", "No alert 2", "No alert 3", "Peripheral", "Omni", "Night vision", "Behind"
    	"Cone 5: Angle" : int
    	"Cone 5: Z angle" : int
    	"Cone 5: Range" : int
    	"Cone 5: Acuity" : int
    	"Cone 6: Flags" : bitflags    // flags: "Active", "No alert 0", "No alert 1", "No alert 2", "No alert 3", "Peripheral", "Omni", "Night vision", "Behind"
    	"Cone 6: Angle" : int
    	"Cone 6: Z angle" : int
    	"Cone 6: Range" : int
    	"Cone 6: Acuity" : int
    	"Cone 7: Flags" : bitflags    // flags: "Active", "No alert 0", "No alert 1", "No alert 2", "No alert 3", "Peripheral", "Omni", "Night vision", "Behind"
    	"Cone 7: Angle" : int
    	"Cone 7: Z angle" : int
    	"Cone 7: Range" : int
    	"Cone 7: Acuity" : int
    	"Cone 8: Flags" : bitflags    // flags: "Active", "No alert 0", "No alert 1", "No alert 2", "No alert 3", "Peripheral", "Omni", "Night vision", "Behind"
    	"Cone 8: Angle" : int
    	"Cone 8: Z angle" : int
    	"Cone 8: Range" : int
    	"Cone 8: Acuity" : int
    	"Cone 9: Flags" : bitflags    // flags: "Active", "No alert 0", "No alert 1", "No alert 2", "No alert 3", "Peripheral", "Omni", "Night vision", "Behind"
    	"Cone 9: Angle" : int
    	"Cone 9: Z angle" : int
    	"Cone 9: Range" : int
    	"Cone 9: Acuity" : int
    	"Cone 10: Flags" : bitflags    // flags: "Active", "No alert 0", "No alert 1", "No alert 2", "No alert 3", "Peripheral", "Omni", "Night vision", "Behind"
    	"Cone 10: Angle" : int
    	"Cone 10: Z angle" : int
    	"Cone 10: Range" : int
    	"Cone 10: Acuity" : int
    }
    
    
    ObjProp "AI_VisModifier"     // type sAIVisibilityMods         , flags 0x0000 , editor name: "AI: AI Core: Visibility Modifier"
    {
    	"Vis Type 0 Mod" : float
    	"Vis Type 1 Mod" : float
    	"Vis Type 2 Mod" : float
    	"Vis Type 3 Mod" : float
    	"Vis Type 4 Mod" : float
    	"Vis Type 5 Mod" : float
    }
    
    
    ObjProp "AI_VisType"         // type int                       , flags 0x0000 , editor name: "AI: AI Core: Vision Type"
    {
    	"" : int
    }
    
    
    ObjProp "AI_VisCtrl"         // type sAIVisibilityControl      , flags 0x0000 , editor name: "AI: Utility: Visibility control"
    {
    	"Low light" : int
    	"Mid light" : int
    	"High light" : int
    	"Slow" : float
    	"Fast" : float
    	"Slow mod" : int
    	"Norm mod" : int
    	"Fast mod" : int
    	"Wall dist" : float
    	"Crouch mod" : int
    	"Wall mod" : int
    	"Corner lean mod" : float
    }
    
    
    ObjProp "AI_AwareCap"        // type sAIAwareCapacitor         , flags 0x0000 , editor name: "AI: AI Core: Awareness capacitor"
    {
    	"Discharge time 1" : int
    	"Discharge time 2" : int
    	"Discharge time 3" : int
    }
    
    
    ObjProp "AI_AlSnMul"         // type sAIAlertSenseMults        , flags 0x0000 , editor name: "AI: AI Core: Alertness sense multipliers"
    {
    	"Alert 0: XY angle mult" : float
    	"Alert 0: Z angle mult" : float
    	"Alert 0: Range mult" : float
    	"Alert 0: Knowledge mult" : float
    	"Alert 1: XY angle mult" : float
    	"Alert 1: Z angle mult" : float
    	"Alert 1: Range mult" : float
    	"Alert 1: Knowledge mult" : float
    	"Alert 2: XY angle mult" : float
    	"Alert 2: Z angle mult" : float
    	"Alert 2: Range mult" : float
    	"Alert 2: Knowledge mult" : float
    	"Alert 3: XY angle mult" : float
    	"Alert 3: Z angle mult" : float
    	"Alert 3: Range mult" : float
    	"Alert 3: Knowledge mult" : float
    	"Combat knowledge mult" : float
    }
    
    
    ObjProp "AI_Device"          // type cAIDeviceParams           , flags 0x0000 , editor name: "AI: Ability Settings: Device: parameters"
    {
    	"Activate Joint" : int
    	"Inactive Posn" : float
    	"Active Posn" : float
    	"Activate Speed" : float
    	"Rotational Joint" : int
    	"Facing Epsilon" : float
    	"Rotate to Activate" : bool
    }
    
    
    ObjProp "AI_Turret"          // type cAITurretParams           , flags 0x0000 , editor name: "AI: Ability Settings: Turret: parameters"
    {
    	"Fire Epsilon" : float
    	"Fire Pause" : int
    	"Pitch Epsilon" : float
    	"Max Range" : float
    }
    
    
    ObjProp "AI_Camera"          // type cAICameraParams           , flags 0x0000 , editor name: "AI: Ability Settings: Camera: parameters"
    {
    	"Scan Angle 1 (deg)" : float
    	"Scan Angle 2" : float
    	"Scan Speed (deg/msec)" : float
    }
    
    
    ObjProp "AI_Converation"     // type cAIConversationDesc       , flags 0x0000 , editor name: "AI: Conversations: Conversation"
    {
    	"Actor" : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags" : bitflags    // flags: "Don't Block"
    	"Conversation: Action 0" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1" : string    // max 63 characters long
    	"   Argument 2" : string    // max 63 characters long
    	"   Argument 3" : string    // max 63 characters long
    	"Actor"[1] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[1] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 1" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[1] : string    // max 63 characters long
    	"   Argument 2"[1] : string    // max 63 characters long
    	"   Argument 3"[1] : string    // max 63 characters long
    	"Actor"[2] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[2] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 2" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[2] : string    // max 63 characters long
    	"   Argument 2"[2] : string    // max 63 characters long
    	"   Argument 3"[2] : string    // max 63 characters long
    	"Actor"[3] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[3] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 3" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[3] : string    // max 63 characters long
    	"   Argument 2"[3] : string    // max 63 characters long
    	"   Argument 3"[3] : string    // max 63 characters long
    	"Actor"[4] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[4] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 4" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[4] : string    // max 63 characters long
    	"   Argument 2"[4] : string    // max 63 characters long
    	"   Argument 3"[4] : string    // max 63 characters long
    	"Actor"[5] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[5] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 5" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[5] : string    // max 63 characters long
    	"   Argument 2"[5] : string    // max 63 characters long
    	"   Argument 3"[5] : string    // max 63 characters long
    	"Actor"[6] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[6] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 0"[1] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[6] : string    // max 63 characters long
    	"   Argument 2"[6] : string    // max 63 characters long
    	"   Argument 3"[6] : string    // max 63 characters long
    	"Actor"[7] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[7] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 1"[1] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[7] : string    // max 63 characters long
    	"   Argument 2"[7] : string    // max 63 characters long
    	"   Argument 3"[7] : string    // max 63 characters long
    	"Actor"[8] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[8] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 2"[1] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[8] : string    // max 63 characters long
    	"   Argument 2"[8] : string    // max 63 characters long
    	"   Argument 3"[8] : string    // max 63 characters long
    	"Actor"[9] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[9] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 3"[1] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[9] : string    // max 63 characters long
    	"   Argument 2"[9] : string    // max 63 characters long
    	"   Argument 3"[9] : string    // max 63 characters long
    	"Actor"[10] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[10] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 4"[1] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[10] : string    // max 63 characters long
    	"   Argument 2"[10] : string    // max 63 characters long
    	"   Argument 3"[10] : string    // max 63 characters long
    	"Actor"[11] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[11] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 5"[1] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[11] : string    // max 63 characters long
    	"   Argument 2"[11] : string    // max 63 characters long
    	"   Argument 3"[11] : string    // max 63 characters long
    	"Actor"[12] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[12] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 0"[2] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[12] : string    // max 63 characters long
    	"   Argument 2"[12] : string    // max 63 characters long
    	"   Argument 3"[12] : string    // max 63 characters long
    	"Actor"[13] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[13] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 1"[2] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[13] : string    // max 63 characters long
    	"   Argument 2"[13] : string    // max 63 characters long
    	"   Argument 3"[13] : string    // max 63 characters long
    	"Actor"[14] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[14] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 2"[2] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[14] : string    // max 63 characters long
    	"   Argument 2"[14] : string    // max 63 characters long
    	"   Argument 3"[14] : string    // max 63 characters long
    	"Actor"[15] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[15] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 3"[2] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[15] : string    // max 63 characters long
    	"   Argument 2"[15] : string    // max 63 characters long
    	"   Argument 3"[15] : string    // max 63 characters long
    	"Actor"[16] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[16] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 4"[2] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[16] : string    // max 63 characters long
    	"   Argument 2"[16] : string    // max 63 characters long
    	"   Argument 3"[16] : string    // max 63 characters long
    	"Actor"[17] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[17] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 5"[2] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[17] : string    // max 63 characters long
    	"   Argument 2"[17] : string    // max 63 characters long
    	"   Argument 3"[17] : string    // max 63 characters long
    	"Actor"[18] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[18] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 0"[3] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[18] : string    // max 63 characters long
    	"   Argument 2"[18] : string    // max 63 characters long
    	"   Argument 3"[18] : string    // max 63 characters long
    	"Actor"[19] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[19] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 1"[3] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[19] : string    // max 63 characters long
    	"   Argument 2"[19] : string    // max 63 characters long
    	"   Argument 3"[19] : string    // max 63 characters long
    	"Actor"[20] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[20] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 2"[3] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[20] : string    // max 63 characters long
    	"   Argument 2"[20] : string    // max 63 characters long
    	"   Argument 3"[20] : string    // max 63 characters long
    	"Actor"[21] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[21] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 3"[3] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[21] : string    // max 63 characters long
    	"   Argument 2"[21] : string    // max 63 characters long
    	"   Argument 3"[21] : string    // max 63 characters long
    	"Actor"[22] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[22] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 4"[3] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[22] : string    // max 63 characters long
    	"   Argument 2"[22] : string    // max 63 characters long
    	"   Argument 3"[22] : string    // max 63 characters long
    	"Actor"[23] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[23] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 5"[3] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[23] : string    // max 63 characters long
    	"   Argument 2"[23] : string    // max 63 characters long
    	"   Argument 3"[23] : string    // max 63 characters long
    	"Actor"[24] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[24] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 0"[4] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[24] : string    // max 63 characters long
    	"   Argument 2"[24] : string    // max 63 characters long
    	"   Argument 3"[24] : string    // max 63 characters long
    	"Actor"[25] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[25] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 1"[4] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[25] : string    // max 63 characters long
    	"   Argument 2"[25] : string    // max 63 characters long
    	"   Argument 3"[25] : string    // max 63 characters long
    	"Actor"[26] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[26] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 2"[4] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[26] : string    // max 63 characters long
    	"   Argument 2"[26] : string    // max 63 characters long
    	"   Argument 3"[26] : string    // max 63 characters long
    	"Actor"[27] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[27] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 3"[4] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[27] : string    // max 63 characters long
    	"   Argument 2"[27] : string    // max 63 characters long
    	"   Argument 3"[27] : string    // max 63 characters long
    	"Actor"[28] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[28] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 4"[4] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[28] : string    // max 63 characters long
    	"   Argument 2"[28] : string    // max 63 characters long
    	"   Argument 3"[28] : string    // max 63 characters long
    	"Actor"[29] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[29] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 5"[4] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[29] : string    // max 63 characters long
    	"   Argument 2"[29] : string    // max 63 characters long
    	"   Argument 3"[29] : string    // max 63 characters long
    	"Actor"[30] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[30] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 0"[5] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[30] : string    // max 63 characters long
    	"   Argument 2"[30] : string    // max 63 characters long
    	"   Argument 3"[30] : string    // max 63 characters long
    	"Actor"[31] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[31] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 1"[5] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[31] : string    // max 63 characters long
    	"   Argument 2"[31] : string    // max 63 characters long
    	"   Argument 3"[31] : string    // max 63 characters long
    	"Actor"[32] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[32] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 2"[5] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[32] : string    // max 63 characters long
    	"   Argument 2"[32] : string    // max 63 characters long
    	"   Argument 3"[32] : string    // max 63 characters long
    	"Actor"[33] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[33] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 3"[5] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[33] : string    // max 63 characters long
    	"   Argument 2"[33] : string    // max 63 characters long
    	"   Argument 3"[33] : string    // max 63 characters long
    	"Actor"[34] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[34] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 4"[5] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[34] : string    // max 63 characters long
    	"   Argument 2"[34] : string    // max 63 characters long
    	"   Argument 3"[34] : string    // max 63 characters long
    	"Actor"[35] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[35] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 5"[5] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[35] : string    // max 63 characters long
    	"   Argument 2"[35] : string    // max 63 characters long
    	"   Argument 3"[35] : string    // max 63 characters long
    	"Actor"[36] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[36] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 0"[6] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[36] : string    // max 63 characters long
    	"   Argument 2"[36] : string    // max 63 characters long
    	"   Argument 3"[36] : string    // max 63 characters long
    	"Actor"[37] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[37] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 1"[6] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[37] : string    // max 63 characters long
    	"   Argument 2"[37] : string    // max 63 characters long
    	"   Argument 3"[37] : string    // max 63 characters long
    	"Actor"[38] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[38] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 2"[6] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[38] : string    // max 63 characters long
    	"   Argument 2"[38] : string    // max 63 characters long
    	"   Argument 3"[38] : string    // max 63 characters long
    	"Actor"[39] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[39] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 3"[6] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[39] : string    // max 63 characters long
    	"   Argument 2"[39] : string    // max 63 characters long
    	"   Argument 3"[39] : string    // max 63 characters long
    	"Actor"[40] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[40] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 4"[6] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[40] : string    // max 63 characters long
    	"   Argument 2"[40] : string    // max 63 characters long
    	"   Argument 3"[40] : string    // max 63 characters long
    	"Actor"[41] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[41] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 5"[6] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[41] : string    // max 63 characters long
    	"   Argument 2"[41] : string    // max 63 characters long
    	"   Argument 3"[41] : string    // max 63 characters long
    	"Actor"[42] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[42] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 0"[7] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[42] : string    // max 63 characters long
    	"   Argument 2"[42] : string    // max 63 characters long
    	"   Argument 3"[42] : string    // max 63 characters long
    	"Actor"[43] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[43] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 1"[7] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[43] : string    // max 63 characters long
    	"   Argument 2"[43] : string    // max 63 characters long
    	"   Argument 3"[43] : string    // max 63 characters long
    	"Actor"[44] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[44] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 2"[7] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[44] : string    // max 63 characters long
    	"   Argument 2"[44] : string    // max 63 characters long
    	"   Argument 3"[44] : string    // max 63 characters long
    	"Actor"[45] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[45] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 3"[7] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[45] : string    // max 63 characters long
    	"   Argument 2"[45] : string    // max 63 characters long
    	"   Argument 3"[45] : string    // max 63 characters long
    	"Actor"[46] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[46] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 4"[7] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[46] : string    // max 63 characters long
    	"   Argument 2"[46] : string    // max 63 characters long
    	"   Argument 3"[46] : string    // max 63 characters long
    	"Actor"[47] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[47] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 5"[7] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[47] : string    // max 63 characters long
    	"   Argument 2"[47] : string    // max 63 characters long
    	"   Argument 3"[47] : string    // max 63 characters long
    	"Actor"[48] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[48] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 0"[8] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[48] : string    // max 63 characters long
    	"   Argument 2"[48] : string    // max 63 characters long
    	"   Argument 3"[48] : string    // max 63 characters long
    	"Actor"[49] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[49] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 1"[8] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[49] : string    // max 63 characters long
    	"   Argument 2"[49] : string    // max 63 characters long
    	"   Argument 3"[49] : string    // max 63 characters long
    	"Actor"[50] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[50] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 2"[8] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[50] : string    // max 63 characters long
    	"   Argument 2"[50] : string    // max 63 characters long
    	"   Argument 3"[50] : string    // max 63 characters long
    	"Actor"[51] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[51] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 3"[8] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[51] : string    // max 63 characters long
    	"   Argument 2"[51] : string    // max 63 characters long
    	"   Argument 3"[51] : string    // max 63 characters long
    	"Actor"[52] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[52] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 4"[8] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[52] : string    // max 63 characters long
    	"   Argument 2"[52] : string    // max 63 characters long
    	"   Argument 3"[52] : string    // max 63 characters long
    	"Actor"[53] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[53] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 5"[8] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[53] : string    // max 63 characters long
    	"   Argument 2"[53] : string    // max 63 characters long
    	"   Argument 3"[53] : string    // max 63 characters long
    	"Actor"[54] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[54] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 0"[9] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[54] : string    // max 63 characters long
    	"   Argument 2"[54] : string    // max 63 characters long
    	"   Argument 3"[54] : string    // max 63 characters long
    	"Actor"[55] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[55] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 1"[9] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[55] : string    // max 63 characters long
    	"   Argument 2"[55] : string    // max 63 characters long
    	"   Argument 3"[55] : string    // max 63 characters long
    	"Actor"[56] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[56] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 2"[9] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[56] : string    // max 63 characters long
    	"   Argument 2"[56] : string    // max 63 characters long
    	"   Argument 3"[56] : string    // max 63 characters long
    	"Actor"[57] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[57] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 3"[9] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[57] : string    // max 63 characters long
    	"   Argument 2"[57] : string    // max 63 characters long
    	"   Argument 3"[57] : string    // max 63 characters long
    	"Actor"[58] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[58] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 4"[9] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[58] : string    // max 63 characters long
    	"   Argument 2"[58] : string    // max 63 characters long
    	"   Argument 3"[58] : string    // max 63 characters long
    	"Actor"[59] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[59] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 5"[9] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[59] : string    // max 63 characters long
    	"   Argument 2"[59] : string    // max 63 characters long
    	"   Argument 3"[59] : string    // max 63 characters long
    	"Actor"[60] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[60] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 0"[10] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[60] : string    // max 63 characters long
    	"   Argument 2"[60] : string    // max 63 characters long
    	"   Argument 3"[60] : string    // max 63 characters long
    	"Actor"[61] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[61] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 1"[10] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[61] : string    // max 63 characters long
    	"   Argument 2"[61] : string    // max 63 characters long
    	"   Argument 3"[61] : string    // max 63 characters long
    	"Actor"[62] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[62] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 2"[10] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[62] : string    // max 63 characters long
    	"   Argument 2"[62] : string    // max 63 characters long
    	"   Argument 3"[62] : string    // max 63 characters long
    	"Actor"[63] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[63] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 3"[10] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[63] : string    // max 63 characters long
    	"   Argument 2"[63] : string    // max 63 characters long
    	"   Argument 3"[63] : string    // max 63 characters long
    	"Actor"[64] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[64] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 4"[10] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[64] : string    // max 63 characters long
    	"   Argument 2"[64] : string    // max 63 characters long
    	"   Argument 3"[64] : string    // max 63 characters long
    	"Actor"[65] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[65] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 5"[10] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[65] : string    // max 63 characters long
    	"   Argument 2"[65] : string    // max 63 characters long
    	"   Argument 3"[65] : string    // max 63 characters long
    	"Actor"[66] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[66] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 0"[11] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[66] : string    // max 63 characters long
    	"   Argument 2"[66] : string    // max 63 characters long
    	"   Argument 3"[66] : string    // max 63 characters long
    	"Actor"[67] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[67] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 1"[11] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[67] : string    // max 63 characters long
    	"   Argument 2"[67] : string    // max 63 characters long
    	"   Argument 3"[67] : string    // max 63 characters long
    	"Actor"[68] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[68] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 2"[11] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[68] : string    // max 63 characters long
    	"   Argument 2"[68] : string    // max 63 characters long
    	"   Argument 3"[68] : string    // max 63 characters long
    	"Actor"[69] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[69] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 3"[11] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[69] : string    // max 63 characters long
    	"   Argument 2"[69] : string    // max 63 characters long
    	"   Argument 3"[69] : string    // max 63 characters long
    	"Actor"[70] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[70] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 4"[11] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[70] : string    // max 63 characters long
    	"   Argument 2"[70] : string    // max 63 characters long
    	"   Argument 3"[70] : string    // max 63 characters long
    	"Actor"[71] : enum    // enums: "Unused", "ActorOne", "ActorTwo", "ActorThree", "ActorFour", "ActorFive", "ActorSix"
    	"Flags"[71] : bitflags    // flags: "Don't Block"
    	"Conversation: Action 5"[11] : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[71] : string    // max 63 characters long
    	"   Argument 2"[71] : string    // max 63 characters long
    	"   Argument 3"[71] : string    // max 63 characters long
    	"Abort level" : enum    // enums: "(0) Lowers", "(1) Low", "(2) Moderate", "(3) High", "None"
    	"Abort priority" : enum    // enums: "Default/None", "Very low", "Low", "Normal", "High", "Very high", "Absolute"
    }
    
    
    ObjProp "AI_SaveConverse"    // type BOOL                      , flags 0x0000 , editor name: "AI: Conversations: SaveConversation" , help text: "Should this conversation be restarted from the beginning after load"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_Vision"          // type eAIRating                 , flags 0x0000 , editor name: "AI: Attributes: Vision"
    {
    	"" : enum    // enums: "Null", "Well Below Average", "Below Average", "Average", "Above Average", "Well Above Average"
    }
    
    
    ObjProp "AI_Hearing"         // type eAIRating                 , flags 0x0000 , editor name: "AI: Attributes: Hearing"
    {
    	"" : enum    // enums: "Null", "Well Below Average", "Below Average", "Average", "Above Average", "Well Above Average"
    }
    
    
    ObjProp "AI_Aggression"      // type eAIRating                 , flags 0x0000 , editor name: "AI: Attributes: Aggression"
    {
    	"" : enum    // enums: "Null", "Well Below Average", "Below Average", "Average", "Above Average", "Well Above Average"
    }
    
    
    ObjProp "AI_Dodginess"       // type eAIRating                 , flags 0x0000 , editor name: "AI: Attributes: Dodginess"
    {
    	"" : enum    // enums: "Null", "Well Below Average", "Below Average", "Average", "Above Average", "Well Above Average"
    }
    
    
    ObjProp "AI_Sloth"           // type eAIRating                 , flags 0x0000 , editor name: "AI: Attributes: Sloth"
    {
    	"" : enum    // enums: "Null", "Well Below Average", "Below Average", "Average", "Above Average", "Well Above Average"
    }
    
    
    ObjProp "AI_Verbosity"       // type eAIRating                 , flags 0x0000 , editor name: "AI: Attributes: Verbosity"
    {
    	"" : enum    // enums: "Null", "Well Below Average", "Below Average", "Average", "Above Average", "Well Above Average"
    }
    
    
    ObjProp "AI_Defensive"       // type eAIRating                 , flags 0x0000 , editor name: "AI: Attributes: Defensive"
    {
    	"" : enum    // enums: "Null", "Well Below Average", "Below Average", "Average", "Above Average", "Well Above Average"
    }
    
    
    ObjProp "AI_Aptitude"        // type eAIRating                 , flags 0x0000 , editor name: "AI: Attributes: Aptitude"
    {
    	"" : enum    // enums: "Null", "Well Below Average", "Below Average", "Average", "Above Average", "Well Above Average"
    }
    
    
    ObjProp "AI_Patrol"          // type BOOL                      , flags 0x0000 , editor name: "AI: Ability Settings: Patrol: Does patrol"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_PtrlRnd"         // type BOOL                      , flags 0x0000 , editor name: "AI: Ability Settings: Patrol: Random sequence"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_Fidget"          // type BOOL                      , flags 0x0000 , editor name: "AI: Ability Settings: Idling: Should fidget"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_InvKnd"          // type eAIInvestKind             , flags 0x0000 , editor name: "AI: Ability Settings: Investigation: Style"
    {
    	"" : enum    // enums: "Normal", "Don't investigate"
    }
    
    
    ObjProp "AI_NonHst"          // type eAINonHostility           , flags 0x0000 , editor name: "AI: Ability Settings: Combat: Non-hostile"
    {
    	"" : enum    // enums: "Never", "Always to player", "To player until damaged", "To player until threatened", "Until damaged", "Until threatened", "Always"
    }
    
    
    ObjProp "AI_NCDmgRsp"        // type cAINonCombatDmgResp       , flags 0x0000 , editor name: "AI: Ability Settings: Non-combat: Dmg Response Params"
    {
    	"Wound Threshold" : int
    	"Severe Threshold" : int
    	"Response Chance (%)" : int
    }
    
    
    ObjProp "AIRCProp"           // type sAIRangedCombatProp       , flags 0x0011 , editor name: "AI: Ranged Combat: Ranged Combat"
    {
    	"Minimum Distance" : int
    	"Ideal Distance" : int
    	"Firing Delay" : float
    	"Cover Desire" : enum    // enums: "Very Low", "Low", "Moderate", "High", "Very High"
    	"Decay Speed" : float
    	"Fire While Moving" : enum    // enums: "Never", "Very Rarely", "Rarely", "Sometimes", "Often", "Very Often"
    	"Contain Projectile" : bool
    }
    
    
    ObjProp "AI_SndType"         // type sAISoundType              , flags 0x0000 , editor name: "AI: Utility: Sound value"
    {
    	"Type" : enum    // enums: "None", "Inform", "Minor anomaly", "Major anomaly", "Non-combat high", "Combat high"
    	"Signal" : string    // max 31 characters long
    }
    
    
    ObjProp "StimKO"             // type BOOL                      , flags 0x0000 , editor name: "AI: Utility: Is Knockout"
    {
    	"" : bool
    }
    
    
    ObjProp "AIFiresThrough"     // type BOOL                      , flags 0x0000 , editor name: "AI: Utility: AI Fires Through"
    {
    	"" : bool
    }
    
    
    ObjProp "AIVantagePt"        // type sVantagePtProp            , flags 0x0011 , editor name: "AI: Utility: Marker: Vantage Point"
    {
    	"Value" : int
    	"Decay Speed" : float
    }
    
    
    ObjProp "AICoverPt"          // type sCoverPtProp              , flags 0x0011 , editor name: "AI: Utility: Marker: Cover Point"
    {
    	"Value" : int
    	"Decay Speed" : float
    	"Can Duck" : bool
    }
    
    
    ObjProp "AngleLimit"         // type sAngleLimitProp           , flags 0x0011 , editor name: "AI: Utility: Angle Limits"
    {
    	"Start" : float
    	"End" : float
    }
    
    
    ObjProp "AI_CbtTiming"       // type sAICombatTiming           , flags 0x0000 , editor name: "AI: Ability Settings: Combat: Timing"
    {
    	"No contact create period" : int
    	"No contact drop period" : int
    	"Lost contact min delay" : int
    	"Lost contact max delay" : int
    }
    
    
    ObjProp "RangedAudioResp"    // type Vector                    , flags 0x0000 , editor name: "AI: Ability Settings: RangedCombat: Audio Response"
    {
    	"" : vector
    }
    
    
    ObjProp "RngdGruntAlways"    // type BOOL                      , flags 0x0000 , editor name: "AI: Ability Settings: RangedCombat: Grunt Always"
    {
    	"" : bool
    }
    
    
    ObjProp "AIRCRanges"         // type sAIRangedRanges           , flags 0x0000 , editor name: "AI: Ranged Combat: Ranged Combat Ranges"
    {
    	"Minimum Distance" : float
    	"Short Distance" : float
    	"Long Distance" : float
    	"Maximum Distance" : float
    }
    
    
    ObjProp "AIRCWound"          // type cAIRangedWound            , flags 0x0000 , editor name: "AI: Ranged Combat: Ranged Combat Wound Motion"
    {
    	"Wound Threshold" : int
    	"Severe Threshold" : int
    	"Response Chance (%)" : int
    }
    
    
    ObjProp "AIRCWndSnd"         // type cAIRangedWound            , flags 0x0000 , editor name: "AI: Ranged Combat: Ranged Combat Wound Sound"
    {
    	"Wound Threshold" : int
    	"Severe Threshold" : int
    	"Response Chance (%)" : int
    }
    
    
    ObjProp "AI_RngApps"         // type sAIRangedApplicabilities  , flags 0x0000 , editor name: "AI: Ranged Combat: Ranged Combat Applicabilities"
    {
    	"Idle" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Close" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Backup" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Wound" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Vantage" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Left" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Right" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    }
    
    
    ObjProp "AI_RngFlee"         // type sAIRangedFleeParams       , flags 0x0000 , editor name: "AI: Ranged Combat: Ranged Combat Flee"
    {
    	"Very Short" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Short" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Angle Range" : float
    	"Number Points" : int
    	"Distance" : float
    	"Clearance" : float
    }
    
    
    ObjProp "AI_RngShoot"        // type sAIRangedShootParams      , flags 0x0000 , editor name: "AI: Ranged Combat: Ranged Combat Shoot"
    {
    	"Very Short" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Short" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Ideal" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Long" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Very Long" : enum    // enums: "None", "Minimum", "VeryLow", "Low", "Normal", "High", "VeryHigh"
    	"Confirm Range" : bool
    	"Confirm LOF" : bool
    	"Rotation Speed" : int_hex
    	"Launch Offset" : vector
    }
    
    
    ObjProp "HTHAudioResp"       // type Vector                    , flags 0x0000 , editor name: "AI: Ability Settings: HtoHCombat: Audio Response"
    {
    	"" : vector
    }
    
    
    ObjProp "HTHMotionResp"      // type Vector                    , flags 0x0000 , editor name: "AI: Ability Settings: HtoHCombat: Motion Response"
    {
    	"" : vector
    }
    
    
    ObjProp "HTHGruntAlways"     // type BOOL                      , flags 0x0000 , editor name: "AI: Ability Settings: HtoHCombat: Grunt Always"
    {
    	"" : bool
    }
    
    
    ObjProp "HTHModeOverride"    // type int                       , flags 0x0000 , editor name: "AI: Debug: HtoHModeOverride"
    {
    	"" : int
    }
    
    
    ObjProp "AI_FleePoint"       // type int                       , flags 0x0010 , editor name: "AI: Utility: Flee point"
    {
    	"" : int
    }
    
    
    ObjProp "AI_FleeConds"       // type sAIFleeConditions         , flags 0x0000 , editor name: "AI: Ability Settings: Flee: Condition for flee"
    {
    	"Condition" : enum    // enums: "Never", "On low alert", "On moderate alert", "On high alert", "On low hitpoints", "On threat", "On Frustration"
    	"Pct Hitpoints" : int
    	"Not if # of friends >=" : int
    }
    
    
    ObjProp "AI_FleeAwr"         // type BOOL                      , flags 0x0000 , editor name: "AI: Ability Settings: Flee: If Aware of AI/Player"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_WtchPnt"         // type sAIWatchPoint             , flags 0x0000 , editor name: "AI: Utility: Watch: Watch link defaults"
    {
    	"Watch kind" : enum    // enums: "Player intrusion", "Self entry"
    	"Priority" : enum    // enums: "Default/None", "Very low", "Low", "Normal", "High", "Very high", "Absolute"
    	"Trigger: Radius" : int
    	"         Height" : int
    	"         Required awareness" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"         Line requirement" : enum    // enums: "None", "Line of sight", "Raycast"
    	"         Minimum alertness" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"         Maximum alertness" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"Exit: Link kill option" : enum    // enums: "Don't kill", "After trigger", "After completion"
    	"      Kill like links" : bool
    	"      No test once triggered" : bool
    	"      Reuse delay" : int
    	"      Reset delay" : int
    	"Response: Step 1" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1" : string    // max 63 characters long
    	"   Argument 2" : string    // max 63 characters long
    	"   Argument 3" : string    // max 63 characters long
    	"Response: Step 2" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[1] : string    // max 63 characters long
    	"   Argument 2"[1] : string    // max 63 characters long
    	"   Argument 3"[1] : string    // max 63 characters long
    	"Response: Step 3" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[2] : string    // max 63 characters long
    	"   Argument 2"[2] : string    // max 63 characters long
    	"   Argument 3"[2] : string    // max 63 characters long
    	"Response: Step 4" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[3] : string    // max 63 characters long
    	"   Argument 2"[3] : string    // max 63 characters long
    	"   Argument 3"[3] : string    // max 63 characters long
    	"Response: Step 5" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[4] : string    // max 63 characters long
    	"   Argument 2"[4] : string    // max 63 characters long
    	"   Argument 3"[4] : string    // max 63 characters long
    	"Response: Step 6" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[5] : string    // max 63 characters long
    	"   Argument 2"[5] : string    // max 63 characters long
    	"   Argument 3"[5] : string    // max 63 characters long
    	"Response: Step 7" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[6] : string    // max 63 characters long
    	"   Argument 2"[6] : string    // max 63 characters long
    	"   Argument 3"[6] : string    // max 63 characters long
    	"Response: Step 8" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[7] : string    // max 63 characters long
    	"   Argument 2"[7] : string    // max 63 characters long
    	"   Argument 3"[7] : string    // max 63 characters long
    	"Response: Step 9" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[8] : string    // max 63 characters long
    	"   Argument 2"[8] : string    // max 63 characters long
    	"   Argument 3"[8] : string    // max 63 characters long
    	"Response: Step 10" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[9] : string    // max 63 characters long
    	"   Argument 2"[9] : string    // max 63 characters long
    	"   Argument 3"[9] : string    // max 63 characters long
    	"Response: Step 11" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[10] : string    // max 63 characters long
    	"   Argument 2"[10] : string    // max 63 characters long
    	"   Argument 3"[10] : string    // max 63 characters long
    	"Response: Step 12" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[11] : string    // max 63 characters long
    	"   Argument 2"[11] : string    // max 63 characters long
    	"   Argument 3"[11] : string    // max 63 characters long
    	"Response: Step 13" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[12] : string    // max 63 characters long
    	"   Argument 2"[12] : string    // max 63 characters long
    	"   Argument 3"[12] : string    // max 63 characters long
    	"Response: Step 14" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[13] : string    // max 63 characters long
    	"   Argument 2"[13] : string    // max 63 characters long
    	"   Argument 3"[13] : string    // max 63 characters long
    	"Response: Step 15" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[14] : string    // max 63 characters long
    	"   Argument 2"[14] : string    // max 63 characters long
    	"   Argument 3"[14] : string    // max 63 characters long
    	"Response: Step 16" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[15] : string    // max 63 characters long
    	"   Argument 2"[15] : string    // max 63 characters long
    	"   Argument 3"[15] : string    // max 63 characters long
    }
    
    
    ObjProp "AI_IdleDirs"        // type sAIIdleDirs               , flags 0x0000 , editor name: "AI: Ability Settings: Idling: Directions"
    {
    	"Min. facing switch time" : int
    	"Max. facing switch time" : int
    	"Facing 1: direction" : int
    	"               weight" : int
    	"Facing 2: direction" : int
    	"               weight"[1] : int
    	"Facing 3: direction" : int
    	"               weight"[2] : int
    }
    
    
    ObjProp "AI_IdleOrgn"        // type sAIIdleOrigin             , flags 0x0010 , editor name: "AI: State: Idling: Origin"
    {
    	"Original Location" : vector
    	"Original Facing" : float
    }
    
    
    ObjProp "AI_IdlRetOrg"       // type BOOL                      , flags 0x0000 , editor name: "AI: Ability Settings: Idle: Returns to origin"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_FreeKnow"        // type int                       , flags 0x0000 , editor name: "AI: AI Core: Free sense knowledge"
    {
    	"" : int
    }
    
    
    ObjProp "AI_SeesPrj"         // type BOOL                      , flags 0x0000 , editor name: "AI: AI Core: Sees projectiles"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_NoticeDmg"       // type BOOL                      , flags 0x0000 , editor name: "AI: AI Core: Notices Damage"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_OnlyPlayer"      // type BOOL                      , flags 0x0000 , editor name: "AI: AI Core: Only Notices Player"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_NtcBody"         // type BOOL                      , flags 0x0000 , editor name: "AI: AI Core: Notices Bodies"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_LaunchVis"       // type BOOL                      , flags 0x0000 , editor name: "AI: AI Core: Projectile: Visible launch"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_BcstSet"         // type sAIBroadcastSettings      , flags 0x0000 , editor name: "AI: AI Core: Broadcast customization"
    {
    	"Broadcasts disabled" : bool
    	"Custom 1: Broadcast" : enum    // enums: "", "Sleeping", "Alert zero broadcast", "Alert one broadcast", "Alert two broadcast", "Alert three broadcast", "Alert to one", "Alert to two", "Alert to three", "Spot player", "Alert down from one", "Lost contact", "Charge", "Shoot", "Flee", "Friend", "Alarm", "Find Friend", "Attack", "Attack success", "Block success", "Detect block", "Blocked", "Hit no damage", "Hit high damage", "Hit low damage", "Hit ambush", "Die loud", "Die soft", "Found body", "Something mising", "Security breach", "Small anomaly", "Large anomaly", "Found robot", "Saw intruder", "Saw body", "Saw missing", "Saw something unspecific", "Saw recent dead robot", "Out of reach"
    	"               Type" : enum    // enums: "Normal", "No broadcast", "Custom concept"
    	"               Custom concept" : string    // max 15 characters long
    	"               Additional tags" : string    // max 63 characters long
    	"Custom 2: Broadcast" : enum    // enums: "", "Sleeping", "Alert zero broadcast", "Alert one broadcast", "Alert two broadcast", "Alert three broadcast", "Alert to one", "Alert to two", "Alert to three", "Spot player", "Alert down from one", "Lost contact", "Charge", "Shoot", "Flee", "Friend", "Alarm", "Find Friend", "Attack", "Attack success", "Block success", "Detect block", "Blocked", "Hit no damage", "Hit high damage", "Hit low damage", "Hit ambush", "Die loud", "Die soft", "Found body", "Something mising", "Security breach", "Small anomaly", "Large anomaly", "Found robot", "Saw intruder", "Saw body", "Saw missing", "Saw something unspecific", "Saw recent dead robot", "Out of reach"
    	"               Type"[1] : enum    // enums: "Normal", "No broadcast", "Custom concept"
    	"               Custom concept"[1] : string    // max 15 characters long
    	"               Additional tags"[1] : string    // max 63 characters long
    	"Custom 3: Broadcast" : enum    // enums: "", "Sleeping", "Alert zero broadcast", "Alert one broadcast", "Alert two broadcast", "Alert three broadcast", "Alert to one", "Alert to two", "Alert to three", "Spot player", "Alert down from one", "Lost contact", "Charge", "Shoot", "Flee", "Friend", "Alarm", "Find Friend", "Attack", "Attack success", "Block success", "Detect block", "Blocked", "Hit no damage", "Hit high damage", "Hit low damage", "Hit ambush", "Die loud", "Die soft", "Found body", "Something mising", "Security breach", "Small anomaly", "Large anomaly", "Found robot", "Saw intruder", "Saw body", "Saw missing", "Saw something unspecific", "Saw recent dead robot", "Out of reach"
    	"               Type"[2] : enum    // enums: "Normal", "No broadcast", "Custom concept"
    	"               Custom concept"[2] : string    // max 15 characters long
    	"               Additional tags"[2] : string    // max 63 characters long
    	"Custom 4: Broadcast" : enum    // enums: "", "Sleeping", "Alert zero broadcast", "Alert one broadcast", "Alert two broadcast", "Alert three broadcast", "Alert to one", "Alert to two", "Alert to three", "Spot player", "Alert down from one", "Lost contact", "Charge", "Shoot", "Flee", "Friend", "Alarm", "Find Friend", "Attack", "Attack success", "Block success", "Detect block", "Blocked", "Hit no damage", "Hit high damage", "Hit low damage", "Hit ambush", "Die loud", "Die soft", "Found body", "Something mising", "Security breach", "Small anomaly", "Large anomaly", "Found robot", "Saw intruder", "Saw body", "Saw missing", "Saw something unspecific", "Saw recent dead robot", "Out of reach"
    	"               Type"[3] : enum    // enums: "Normal", "No broadcast", "Custom concept"
    	"               Custom concept"[3] : string    // max 15 characters long
    	"               Additional tags"[3] : string    // max 63 characters long
    	"Custom 5: Broadcast" : enum    // enums: "", "Sleeping", "Alert zero broadcast", "Alert one broadcast", "Alert two broadcast", "Alert three broadcast", "Alert to one", "Alert to two", "Alert to three", "Spot player", "Alert down from one", "Lost contact", "Charge", "Shoot", "Flee", "Friend", "Alarm", "Find Friend", "Attack", "Attack success", "Block success", "Detect block", "Blocked", "Hit no damage", "Hit high damage", "Hit low damage", "Hit ambush", "Die loud", "Die soft", "Found body", "Something mising", "Security breach", "Small anomaly", "Large anomaly", "Found robot", "Saw intruder", "Saw body", "Saw missing", "Saw something unspecific", "Saw recent dead robot", "Out of reach"
    	"               Type"[4] : enum    // enums: "Normal", "No broadcast", "Custom concept"
    	"               Custom concept"[4] : string    // max 15 characters long
    	"               Additional tags"[4] : string    // max 63 characters long
    	"Custom 6: Broadcast" : enum    // enums: "", "Sleeping", "Alert zero broadcast", "Alert one broadcast", "Alert two broadcast", "Alert three broadcast", "Alert to one", "Alert to two", "Alert to three", "Spot player", "Alert down from one", "Lost contact", "Charge", "Shoot", "Flee", "Friend", "Alarm", "Find Friend", "Attack", "Attack success", "Block success", "Detect block", "Blocked", "Hit no damage", "Hit high damage", "Hit low damage", "Hit ambush", "Die loud", "Die soft", "Found body", "Something mising", "Security breach", "Small anomaly", "Large anomaly", "Found robot", "Saw intruder", "Saw body", "Saw missing", "Saw something unspecific", "Saw recent dead robot", "Out of reach"
    	"               Type"[5] : enum    // enums: "Normal", "No broadcast", "Custom concept"
    	"               Custom concept"[5] : string    // max 15 characters long
    	"               Additional tags"[5] : string    // max 63 characters long
    	"Custom 7: Broadcast" : enum    // enums: "", "Sleeping", "Alert zero broadcast", "Alert one broadcast", "Alert two broadcast", "Alert three broadcast", "Alert to one", "Alert to two", "Alert to three", "Spot player", "Alert down from one", "Lost contact", "Charge", "Shoot", "Flee", "Friend", "Alarm", "Find Friend", "Attack", "Attack success", "Block success", "Detect block", "Blocked", "Hit no damage", "Hit high damage", "Hit low damage", "Hit ambush", "Die loud", "Die soft", "Found body", "Something mising", "Security breach", "Small anomaly", "Large anomaly", "Found robot", "Saw intruder", "Saw body", "Saw missing", "Saw something unspecific", "Saw recent dead robot", "Out of reach"
    	"               Type"[6] : enum    // enums: "Normal", "No broadcast", "Custom concept"
    	"               Custom concept"[6] : string    // max 15 characters long
    	"               Additional tags"[6] : string    // max 63 characters long
    	"Custom 8: Broadcast" : enum    // enums: "", "Sleeping", "Alert zero broadcast", "Alert one broadcast", "Alert two broadcast", "Alert three broadcast", "Alert to one", "Alert to two", "Alert to three", "Spot player", "Alert down from one", "Lost contact", "Charge", "Shoot", "Flee", "Friend", "Alarm", "Find Friend", "Attack", "Attack success", "Block success", "Detect block", "Blocked", "Hit no damage", "Hit high damage", "Hit low damage", "Hit ambush", "Die loud", "Die soft", "Found body", "Something mising", "Security breach", "Small anomaly", "Large anomaly", "Found robot", "Saw intruder", "Saw body", "Saw missing", "Saw something unspecific", "Saw recent dead robot", "Out of reach"
    	"               Type"[7] : enum    // enums: "Normal", "No broadcast", "Custom concept"
    	"               Custom concept"[7] : string    // max 15 characters long
    	"               Additional tags"[7] : string    // max 63 characters long
    }
    
    
    ObjProp "AI_SigRsp"          // type sAISignalResponse         , flags 0x0000 , editor name: "AI: Responses: Signal response"
    {
    	"Signal" : string    // max 31 characters long
    	"Priority" : enum    // enums: "Default/None", "Very low", "Low", "Normal", "High", "Very high", "Absolute"
    	"Response: Step 1" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1" : string    // max 63 characters long
    	"   Argument 2" : string    // max 63 characters long
    	"   Argument 3" : string    // max 63 characters long
    	"Response: Step 2" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[1] : string    // max 63 characters long
    	"   Argument 2"[1] : string    // max 63 characters long
    	"   Argument 3"[1] : string    // max 63 characters long
    	"Response: Step 3" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[2] : string    // max 63 characters long
    	"   Argument 2"[2] : string    // max 63 characters long
    	"   Argument 3"[2] : string    // max 63 characters long
    	"Response: Step 4" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[3] : string    // max 63 characters long
    	"   Argument 2"[3] : string    // max 63 characters long
    	"   Argument 3"[3] : string    // max 63 characters long
    	"Response: Step 5" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[4] : string    // max 63 characters long
    	"   Argument 2"[4] : string    // max 63 characters long
    	"   Argument 3"[4] : string    // max 63 characters long
    	"Response: Step 6" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[5] : string    // max 63 characters long
    	"   Argument 2"[5] : string    // max 63 characters long
    	"   Argument 3"[5] : string    // max 63 characters long
    	"Response: Step 7" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[6] : string    // max 63 characters long
    	"   Argument 2"[6] : string    // max 63 characters long
    	"   Argument 3"[6] : string    // max 63 characters long
    	"Response: Step 8" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[7] : string    // max 63 characters long
    	"   Argument 2"[7] : string    // max 63 characters long
    	"   Argument 3"[7] : string    // max 63 characters long
    	"Response: Step 9" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[8] : string    // max 63 characters long
    	"   Argument 2"[8] : string    // max 63 characters long
    	"   Argument 3"[8] : string    // max 63 characters long
    	"Response: Step 10" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[9] : string    // max 63 characters long
    	"   Argument 2"[9] : string    // max 63 characters long
    	"   Argument 3"[9] : string    // max 63 characters long
    	"Response: Step 11" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[10] : string    // max 63 characters long
    	"   Argument 2"[10] : string    // max 63 characters long
    	"   Argument 3"[10] : string    // max 63 characters long
    	"Response: Step 12" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[11] : string    // max 63 characters long
    	"   Argument 2"[11] : string    // max 63 characters long
    	"   Argument 3"[11] : string    // max 63 characters long
    	"Response: Step 13" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[12] : string    // max 63 characters long
    	"   Argument 2"[12] : string    // max 63 characters long
    	"   Argument 3"[12] : string    // max 63 characters long
    	"Response: Step 14" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[13] : string    // max 63 characters long
    	"   Argument 2"[13] : string    // max 63 characters long
    	"   Argument 3"[13] : string    // max 63 characters long
    	"Response: Step 15" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[14] : string    // max 63 characters long
    	"   Argument 2"[14] : string    // max 63 characters long
    	"   Argument 3"[14] : string    // max 63 characters long
    	"Response: Step 16" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[15] : string    // max 63 characters long
    	"   Argument 2"[15] : string    // max 63 characters long
    	"   Argument 3"[15] : string    // max 63 characters long
    }
    
    
    ObjProp "AI_ThrtRsp"         // type sAIThreatResponse         , flags 0x0000 , editor name: "AI: Responses: Threat response"
    {
    	"Threat" : enum    // enums: "Raised weapon", "Damage"
    	"Response: Step 1" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1" : string    // max 63 characters long
    	"   Argument 2" : string    // max 63 characters long
    	"   Argument 3" : string    // max 63 characters long
    	"Response: Step 2" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[1] : string    // max 63 characters long
    	"   Argument 2"[1] : string    // max 63 characters long
    	"   Argument 3"[1] : string    // max 63 characters long
    	"Response: Step 3" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[2] : string    // max 63 characters long
    	"   Argument 2"[2] : string    // max 63 characters long
    	"   Argument 3"[2] : string    // max 63 characters long
    	"Response: Step 4" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[3] : string    // max 63 characters long
    	"   Argument 2"[3] : string    // max 63 characters long
    	"   Argument 3"[3] : string    // max 63 characters long
    	"Response: Step 5" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[4] : string    // max 63 characters long
    	"   Argument 2"[4] : string    // max 63 characters long
    	"   Argument 3"[4] : string    // max 63 characters long
    	"Response: Step 6" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[5] : string    // max 63 characters long
    	"   Argument 2"[5] : string    // max 63 characters long
    	"   Argument 3"[5] : string    // max 63 characters long
    	"Response: Step 7" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[6] : string    // max 63 characters long
    	"   Argument 2"[6] : string    // max 63 characters long
    	"   Argument 3"[6] : string    // max 63 characters long
    	"Response: Step 8" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[7] : string    // max 63 characters long
    	"   Argument 2"[7] : string    // max 63 characters long
    	"   Argument 3"[7] : string    // max 63 characters long
    	"Response: Step 9" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[8] : string    // max 63 characters long
    	"   Argument 2"[8] : string    // max 63 characters long
    	"   Argument 3"[8] : string    // max 63 characters long
    	"Response: Step 10" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[9] : string    // max 63 characters long
    	"   Argument 2"[9] : string    // max 63 characters long
    	"   Argument 3"[9] : string    // max 63 characters long
    	"Response: Step 11" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[10] : string    // max 63 characters long
    	"   Argument 2"[10] : string    // max 63 characters long
    	"   Argument 3"[10] : string    // max 63 characters long
    	"Response: Step 12" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[11] : string    // max 63 characters long
    	"   Argument 2"[11] : string    // max 63 characters long
    	"   Argument 3"[11] : string    // max 63 characters long
    	"Response: Step 13" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[12] : string    // max 63 characters long
    	"   Argument 2"[12] : string    // max 63 characters long
    	"   Argument 3"[12] : string    // max 63 characters long
    	"Response: Step 14" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[13] : string    // max 63 characters long
    	"   Argument 2"[13] : string    // max 63 characters long
    	"   Argument 3"[13] : string    // max 63 characters long
    	"Response: Step 15" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[14] : string    // max 63 characters long
    	"   Argument 2"[14] : string    // max 63 characters long
    	"   Argument 3"[14] : string    // max 63 characters long
    	"Response: Step 16" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[15] : string    // max 63 characters long
    	"   Argument 2"[15] : string    // max 63 characters long
    	"   Argument 3"[15] : string    // max 63 characters long
    }
    
    
    ObjProp "AI_AlrtRsp"         // type sAIAlertResponse          , flags 0x0000 , editor name: "AI: Responses: Alert response"
    {
    	"Alert level" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"Priority" : enum    // enums: "Default/None", "Very low", "Low", "Normal", "High", "Very high", "Absolute"
    	"Response: Step 1" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1" : string    // max 63 characters long
    	"   Argument 2" : string    // max 63 characters long
    	"   Argument 3" : string    // max 63 characters long
    	"Response: Step 2" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[1] : string    // max 63 characters long
    	"   Argument 2"[1] : string    // max 63 characters long
    	"   Argument 3"[1] : string    // max 63 characters long
    	"Response: Step 3" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[2] : string    // max 63 characters long
    	"   Argument 2"[2] : string    // max 63 characters long
    	"   Argument 3"[2] : string    // max 63 characters long
    	"Response: Step 4" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[3] : string    // max 63 characters long
    	"   Argument 2"[3] : string    // max 63 characters long
    	"   Argument 3"[3] : string    // max 63 characters long
    	"Response: Step 5" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[4] : string    // max 63 characters long
    	"   Argument 2"[4] : string    // max 63 characters long
    	"   Argument 3"[4] : string    // max 63 characters long
    	"Response: Step 6" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[5] : string    // max 63 characters long
    	"   Argument 2"[5] : string    // max 63 characters long
    	"   Argument 3"[5] : string    // max 63 characters long
    	"Response: Step 7" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[6] : string    // max 63 characters long
    	"   Argument 2"[6] : string    // max 63 characters long
    	"   Argument 3"[6] : string    // max 63 characters long
    	"Response: Step 8" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[7] : string    // max 63 characters long
    	"   Argument 2"[7] : string    // max 63 characters long
    	"   Argument 3"[7] : string    // max 63 characters long
    	"Response: Step 9" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[8] : string    // max 63 characters long
    	"   Argument 2"[8] : string    // max 63 characters long
    	"   Argument 3"[8] : string    // max 63 characters long
    	"Response: Step 10" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[9] : string    // max 63 characters long
    	"   Argument 2"[9] : string    // max 63 characters long
    	"   Argument 3"[9] : string    // max 63 characters long
    	"Response: Step 11" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[10] : string    // max 63 characters long
    	"   Argument 2"[10] : string    // max 63 characters long
    	"   Argument 3"[10] : string    // max 63 characters long
    	"Response: Step 12" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[11] : string    // max 63 characters long
    	"   Argument 2"[11] : string    // max 63 characters long
    	"   Argument 3"[11] : string    // max 63 characters long
    	"Response: Step 13" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[12] : string    // max 63 characters long
    	"   Argument 2"[12] : string    // max 63 characters long
    	"   Argument 3"[12] : string    // max 63 characters long
    	"Response: Step 14" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[13] : string    // max 63 characters long
    	"   Argument 2"[13] : string    // max 63 characters long
    	"   Argument 3"[13] : string    // max 63 characters long
    	"Response: Step 15" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[14] : string    // max 63 characters long
    	"   Argument 2"[14] : string    // max 63 characters long
    	"   Argument 3"[14] : string    // max 63 characters long
    	"Response: Step 16" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[15] : string    // max 63 characters long
    	"   Argument 2"[15] : string    // max 63 characters long
    	"   Argument 3"[15] : string    // max 63 characters long
    }
    
    
    ObjProp "AI_BodyRsp"         // type sAIBodyResponse           , flags 0x0000 , editor name: "AI: Responses: Body response"
    {
    	"Priority" : enum    // enums: "Default/None", "Very low", "Low", "Normal", "High", "Very high", "Absolute"
    	"Response: Step 1" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1" : string    // max 63 characters long
    	"   Argument 2" : string    // max 63 characters long
    	"   Argument 3" : string    // max 63 characters long
    	"Response: Step 2" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[1] : string    // max 63 characters long
    	"   Argument 2"[1] : string    // max 63 characters long
    	"   Argument 3"[1] : string    // max 63 characters long
    	"Response: Step 3" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[2] : string    // max 63 characters long
    	"   Argument 2"[2] : string    // max 63 characters long
    	"   Argument 3"[2] : string    // max 63 characters long
    	"Response: Step 4" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[3] : string    // max 63 characters long
    	"   Argument 2"[3] : string    // max 63 characters long
    	"   Argument 3"[3] : string    // max 63 characters long
    	"Response: Step 5" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[4] : string    // max 63 characters long
    	"   Argument 2"[4] : string    // max 63 characters long
    	"   Argument 3"[4] : string    // max 63 characters long
    	"Response: Step 6" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[5] : string    // max 63 characters long
    	"   Argument 2"[5] : string    // max 63 characters long
    	"   Argument 3"[5] : string    // max 63 characters long
    	"Response: Step 7" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[6] : string    // max 63 characters long
    	"   Argument 2"[6] : string    // max 63 characters long
    	"   Argument 3"[6] : string    // max 63 characters long
    	"Response: Step 8" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[7] : string    // max 63 characters long
    	"   Argument 2"[7] : string    // max 63 characters long
    	"   Argument 3"[7] : string    // max 63 characters long
    	"Response: Step 9" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[8] : string    // max 63 characters long
    	"   Argument 2"[8] : string    // max 63 characters long
    	"   Argument 3"[8] : string    // max 63 characters long
    	"Response: Step 10" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[9] : string    // max 63 characters long
    	"   Argument 2"[9] : string    // max 63 characters long
    	"   Argument 3"[9] : string    // max 63 characters long
    	"Response: Step 11" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[10] : string    // max 63 characters long
    	"   Argument 2"[10] : string    // max 63 characters long
    	"   Argument 3"[10] : string    // max 63 characters long
    	"Response: Step 12" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[11] : string    // max 63 characters long
    	"   Argument 2"[11] : string    // max 63 characters long
    	"   Argument 3"[11] : string    // max 63 characters long
    	"Response: Step 13" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[12] : string    // max 63 characters long
    	"   Argument 2"[12] : string    // max 63 characters long
    	"   Argument 3"[12] : string    // max 63 characters long
    	"Response: Step 14" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[13] : string    // max 63 characters long
    	"   Argument 2"[13] : string    // max 63 characters long
    	"   Argument 3"[13] : string    // max 63 characters long
    	"Response: Step 15" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[14] : string    // max 63 characters long
    	"   Argument 2"[14] : string    // max 63 characters long
    	"   Argument 3"[14] : string    // max 63 characters long
    	"Response: Step 16" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[15] : string    // max 63 characters long
    	"   Argument 2"[15] : string    // max 63 characters long
    	"   Argument 3"[15] : string    // max 63 characters long
    }
    
    
    ObjProp "AI_SuspRsp"         // type sAISuspiciousResponse     , flags 0x0000 , editor name: "AI: Responses: Suspicious response"
    {
    	"Priority" : enum    // enums: "Default/None", "Very low", "Low", "Normal", "High", "Very high", "Absolute"
    	"Response: Step 1" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1" : string    // max 63 characters long
    	"   Argument 2" : string    // max 63 characters long
    	"   Argument 3" : string    // max 63 characters long
    	"Response: Step 2" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[1] : string    // max 63 characters long
    	"   Argument 2"[1] : string    // max 63 characters long
    	"   Argument 3"[1] : string    // max 63 characters long
    	"Response: Step 3" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[2] : string    // max 63 characters long
    	"   Argument 2"[2] : string    // max 63 characters long
    	"   Argument 3"[2] : string    // max 63 characters long
    	"Response: Step 4" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[3] : string    // max 63 characters long
    	"   Argument 2"[3] : string    // max 63 characters long
    	"   Argument 3"[3] : string    // max 63 characters long
    	"Response: Step 5" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[4] : string    // max 63 characters long
    	"   Argument 2"[4] : string    // max 63 characters long
    	"   Argument 3"[4] : string    // max 63 characters long
    	"Response: Step 6" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[5] : string    // max 63 characters long
    	"   Argument 2"[5] : string    // max 63 characters long
    	"   Argument 3"[5] : string    // max 63 characters long
    	"Response: Step 7" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[6] : string    // max 63 characters long
    	"   Argument 2"[6] : string    // max 63 characters long
    	"   Argument 3"[6] : string    // max 63 characters long
    	"Response: Step 8" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[7] : string    // max 63 characters long
    	"   Argument 2"[7] : string    // max 63 characters long
    	"   Argument 3"[7] : string    // max 63 characters long
    	"Response: Step 9" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[8] : string    // max 63 characters long
    	"   Argument 2"[8] : string    // max 63 characters long
    	"   Argument 3"[8] : string    // max 63 characters long
    	"Response: Step 10" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[9] : string    // max 63 characters long
    	"   Argument 2"[9] : string    // max 63 characters long
    	"   Argument 3"[9] : string    // max 63 characters long
    	"Response: Step 11" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[10] : string    // max 63 characters long
    	"   Argument 2"[10] : string    // max 63 characters long
    	"   Argument 3"[10] : string    // max 63 characters long
    	"Response: Step 12" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[11] : string    // max 63 characters long
    	"   Argument 2"[11] : string    // max 63 characters long
    	"   Argument 3"[11] : string    // max 63 characters long
    	"Response: Step 13" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[12] : string    // max 63 characters long
    	"   Argument 2"[12] : string    // max 63 characters long
    	"   Argument 3"[12] : string    // max 63 characters long
    	"Response: Step 14" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[13] : string    // max 63 characters long
    	"   Argument 2"[13] : string    // max 63 characters long
    	"   Argument 3"[13] : string    // max 63 characters long
    	"Response: Step 15" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[14] : string    // max 63 characters long
    	"   Argument 2"[14] : string    // max 63 characters long
    	"   Argument 3"[14] : string    // max 63 characters long
    	"Response: Step 16" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[15] : string    // max 63 characters long
    	"   Argument 2"[15] : string    // max 63 characters long
    	"   Argument 3"[15] : string    // max 63 characters long
    }
    
    
    ObjProp "AI_ObjAvoid"        // type sAIObjectAvoid            , flags 0x0000 , editor name: "AI: Utility: Path avoid"
    {
    	"Flags" : bitflags    // flags: "Block pathfind", "Repel"
    }
    
    
    ObjProp "AI_ObjPathable"     // type BOOL                      , flags 0x0000 , editor name: "AI: Utility: Pathable object"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_InfRsp"          // type sAIInformResponse         , flags 0x0000 , editor name: "AI: Ability Settings: Inform: Response options"
    {
    	"Ignore informs" : bool
    	"No default investigate" : bool
    	"Response: Step 1" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1" : string    // max 63 characters long
    	"   Argument 2" : string    // max 63 characters long
    	"   Argument 3" : string    // max 63 characters long
    	"Response: Step 2" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[1] : string    // max 63 characters long
    	"   Argument 2"[1] : string    // max 63 characters long
    	"   Argument 3"[1] : string    // max 63 characters long
    }
    
    
    ObjProp "AI_InfOtr"          // type BOOL                      , flags 0x0000 , editor name: "AI: Ability Settings: Inform: Inform others"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_InfMxP"          // type int                       , flags 0x0000 , editor name: "AI: Ability Settings: Inform: Max. Passes"
    {
    	"" : int
    }
    
    
    ObjProp "AI_InfDly"          // type int                       , flags 0x0000 , editor name: "AI: Ability Settings: Inform: Inform delay"
    {
    	"" : int
    }
    
    
    ObjProp "AI_InfDst"          // type int                       , flags 0x0000 , editor name: "AI: Ability Settings: Inform: Min. dist to informed"
    {
    	"" : int
    }
    
    
    ObjProp "AI_InfExp"          // type int                       , flags 0x0000 , editor name: "AI: Ability Settings: Inform: Expiration"
    {
    	"" : int
    }
    
    
    ObjProp "AI_CbtRsp"          // type sAISenseCombatResponse    , flags 0x0000 , editor name: "AI: Responses: Sense combat response"
    {
    	"Response: Step 1" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1" : string    // max 63 characters long
    	"   Argument 2" : string    // max 63 characters long
    	"   Argument 3" : string    // max 63 characters long
    	"Response: Step 2" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[1] : string    // max 63 characters long
    	"   Argument 2"[1] : string    // max 63 characters long
    	"   Argument 3"[1] : string    // max 63 characters long
    	"Response: Step 3" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[2] : string    // max 63 characters long
    	"   Argument 2"[2] : string    // max 63 characters long
    	"   Argument 3"[2] : string    // max 63 characters long
    	"Response: Step 4" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[3] : string    // max 63 characters long
    	"   Argument 2"[3] : string    // max 63 characters long
    	"   Argument 3"[3] : string    // max 63 characters long
    	"Response: Step 5" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[4] : string    // max 63 characters long
    	"   Argument 2"[4] : string    // max 63 characters long
    	"   Argument 3"[4] : string    // max 63 characters long
    	"Response: Step 6" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[5] : string    // max 63 characters long
    	"   Argument 2"[5] : string    // max 63 characters long
    	"   Argument 3"[5] : string    // max 63 characters long
    	"Response: Step 7" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[6] : string    // max 63 characters long
    	"   Argument 2"[6] : string    // max 63 characters long
    	"   Argument 3"[6] : string    // max 63 characters long
    	"Response: Step 8" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[7] : string    // max 63 characters long
    	"   Argument 2"[7] : string    // max 63 characters long
    	"   Argument 3"[7] : string    // max 63 characters long
    	"Response: Step 9" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[8] : string    // max 63 characters long
    	"   Argument 2"[8] : string    // max 63 characters long
    	"   Argument 3"[8] : string    // max 63 characters long
    	"Response: Step 10" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[9] : string    // max 63 characters long
    	"   Argument 2"[9] : string    // max 63 characters long
    	"   Argument 3"[9] : string    // max 63 characters long
    	"Response: Step 11" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[10] : string    // max 63 characters long
    	"   Argument 2"[10] : string    // max 63 characters long
    	"   Argument 3"[10] : string    // max 63 characters long
    	"Response: Step 12" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[11] : string    // max 63 characters long
    	"   Argument 2"[11] : string    // max 63 characters long
    	"   Argument 3"[11] : string    // max 63 characters long
    	"Response: Step 13" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[12] : string    // max 63 characters long
    	"   Argument 2"[12] : string    // max 63 characters long
    	"   Argument 3"[12] : string    // max 63 characters long
    	"Response: Step 14" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[13] : string    // max 63 characters long
    	"   Argument 2"[13] : string    // max 63 characters long
    	"   Argument 3"[13] : string    // max 63 characters long
    	"Response: Step 15" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[14] : string    // max 63 characters long
    	"   Argument 2"[14] : string    // max 63 characters long
    	"   Argument 3"[14] : string    // max 63 characters long
    	"Response: Step 16" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[15] : string    // max 63 characters long
    	"   Argument 2"[15] : string    // max 63 characters long
    	"   Argument 3"[15] : string    // max 63 characters long
    }
    
    
    ObjProp "AI_Frozen"          // type sAIFrozen                 , flags 0x0010 , editor name: "AI: State: Frozen"
    {
    	"StartTime" : int
    	"Duration" : int
    }
    
    
    ObjProp "AI_UsesDoors"       // type BOOL                      , flags 0x0000 , editor name: "AI: AI Core: Uses doors"
    {
    	"" : bool
    }
    
    
    ObjProp "AI_NCDmRsp"         // type BOOL                      , flags 0x0000 , editor name: "AI: Ability Settings: Non-combat: Respond to damage"
    {
    	"" : bool
    }
    
    
    ObjProp "AISuprise"          // type Vector                    , flags 0x0000 , editor name: "AI: AI Core: Suprise [0, 1, Rad]"
    {
    	"" : vector
    }
    
    
    ObjProp "HTHCombatDist"      // type Vector                    , flags 0x0000 , editor name: "AI: Ability Settings: HtoHCombat: Distances"
    {
    	"" : vector
    }
    
    
    ObjProp "AI_BlkVis"          // type BOOL                      , flags 0x0000 , editor name: "AI: Utility: Blocks AI Vision"
    {
    	"" : bool
    }
    
    
    ObjProp "Acoustics"          // type sAcousticsProperty        , flags 0x0004 , editor name: "Room: Acoustics"
    {
    	"EAX Reverb Code" : enum    // enums: "Generic", "PaddedCell", "Room", "Bathroom", "LivingRoom", "StoneRoom", "Auditorium", "ConcertHall", "Cave", "Arena", "Hangar", "CarpetedHallway", "Hallway", "StoneCorridor", "Alley", "Forest", "City", "Mountains", "Quarry", "Plain", "ParkingLot", "SewerPipe", "UnderWater", "Drugged", "Dizzy", "Psychotic"
    	"Dampening Factor" : int
    	"Height Override" : int
    }
    
    
    ObjProp "Ambient"            // type sAmbientProperty          , flags 0x0004 , editor name: "Room: Ambient"
    {
    	"Schema Name" : string    // max 63 characters long
    	"Volume" : int
    }
    
    
    ObjProp "RoomGrav"           // type int                       , flags 0x0004 , editor name: "Room: Gravity %"
    {
    	"" : int
    }
    
    
    ObjProp "LoudRoom"           // type float                     , flags 0x0000 , editor name: "Room: Loud Room"
    {
    	"" : float
    }
    
    
    ObjProp "RoomRend"           // type sRoomRendProps            , flags 0x0000 , editor name: "Room: Render Options" , help text: "render options for a room"
    {
    	"Flags" : bitflags    // flags: "See-through"
    	"Env Zone" : int
    }
    
    
    ObjProp "PhysAttr"           // type cPhysAttrProp             , flags 0x0011 , editor name: "Physics: Model: Attributes"
    {
    	"Gravity %" : float
    	"Mass" : float
    	"Density" : float
    	"Elasticity" : float
    	"Base Friction" : float
    	"COG Offset" : vector
    	"Climbable Sides" : bitflags    // flags: "+X Axis", "+Y Axis", "+Z Axis", "-X Axis", "-Y Axis", "-Z Axis"
    	"Flags" : bitflags    // flags: "Is Edge Trigger", "Apply Platform Friction", "Pushing Vator Attachments"
    	"Rotation Axes" : bitflags    // flags: "X Axis", "Y Axis", "Z Axis"
    	"Rest Axes" : bitflags    // flags: "+X Axis", "+Y Axis", "+Z Axis", "-X Axis", "-Y Axis", "-Z Axis"
    }
    
    
    ObjProp "PhysState"          // type cPhysStateProp            , flags 0x0011 , editor name: "Physics: Model: State"
    {
    	"Location" : vector
    	"Facing" : vector
    	"Velocity" : vector
    	"Rot Velocity" : vector
    }
    
    
    ObjProp "PhysControl"        // type cPhysControlProp          , flags 0x0011 , editor name: "Physics: Model: Controls"
    {
    	"Controls Active" : bitflags    // flags: "Axis Velocity", "Velocity", "Rot Velocity", "Location", "Rotation"
    	"AxisVelocity" : vector
    	"Velocity" : vector
    	"RotationalVelocity" : vector
    }
    
    
    ObjProp "PhysDims"           // type cPhysDimsProp             , flags 0x0011 , editor name: "Physics: Model: Dimensions"
    {
    	"Size" : vector
    	"Radius 1" : float
    	"Radius 2" : float
    	"Offset 1" : vector
    	"Offset 2" : vector
    	"Point vs Terrain" : bool
    	"Point vs Not Special" : bool
    }
    
    
    ObjProp "PhysCanMant"        // type BOOL                      , flags 0x0000 , editor name: "Physics: Model: Mantleable"
    {
    	"" : bool
    }
    
    
    ObjProp "ConveyorVel"        // type Vector                    , flags 0x0000 , editor name: "Physics: Model: ConveyorVelocity"
    {
    	"" : vector
    }
    
    
    ObjProp "MovingTerrain"      // type cMovingTerrainProp        , flags 0x0011 , editor name: "Physics: Misc: MovingTerrain"
    {
    	"Active" : bool
    }
    
    
    ObjProp "Friction"           // type float                     , flags 0x0000 , editor name: "Physics: Terrain: Friction"
    {
    	"" : float
    }
    
    
    ObjProp "Elasticity"         // type float                     , flags 0x0000 , editor name: "Physics: Terrain: Elasticity"
    {
    	"" : float
    }
    
    
    ObjProp "Climbability"       // type float                     , flags 0x0000 , editor name: "Physics: Terrain: Climbability"
    {
    	"" : float
    }
    
    
    ObjProp "CanAttach"          // type tCanAttachType            , flags 0x0000 , editor name: "Physics: Terrain: Can Attach"
    {
    	"Flags" : bitflags    // flags: "Rope", "Vine"
    }
    
    
    ObjProp "PhysExplode"        // type sPhysExplodeProp          , flags 0x0010 , editor name: "Physics: Projectile: Explode Me"
    {
    	"Magnitude" : int
    	"Radius (squared)" : float
    }
    
    
    ObjProp "PhysInitVel"        // type Vector                    , flags 0x0010 , editor name: "Physics: Projectile: Initial Velocity"
    {
    	"" : vector
    }
    
    
    ObjProp "PhysFaceVel"        // type BOOL                      , flags 0x0011 , editor name: "Physics: Projectile: Faces Velocity"
    {
    	"" : bool
    }
    
    
    ObjProp "PhysRope"           // type sPhysRopeProp             , flags 0x0011 , editor name: "Physics: Misc: Rope"
    {
    	"Desired Length" : float
    	"Length" : float
    	"Deployed" : bool
    	"Calc Correct Len" : bool
    }
    
    
    ObjProp "PhysPPlate"         // type sPhysPPlateProp           , flags 0x0011 , editor name: "Physics: Misc: Pressure Plate"
    {
    	"Activation Weight" : float
    	"Travel" : float
    	"Speed" : float
    	"Pause" : float
    	"Blocks Vision" : bool
    }
    
    
    ObjProp "PhysAIColl"         // type BOOL                      , flags 0x0000 , editor name: "Physics: Misc: AI Collides With"
    {
    	"" : bool
    }
    
    
    ObjProp "Borrowing"          // type BOOL                      , flags 0x0080 , editor name: "Networking: Pending Borrow"
    {
    	"" : bool
    }
    
    
    ObjProp "Borrowed"           // type BOOL                      , flags 0x0080 , editor name: "Networking: Borrowed For Push"
    {
    	"" : bool
    }
    
    
    ObjProp "NoBorrow"           // type BOOL                      , flags 0x0000 , editor name: "Networking: Disallow Borrow"
    {
    	"" : bool
    }
    
    
    ObjProp "Book"               // type string                    , flags 0x0000 , editor name: "Book: Text"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "BookArt"            // type string                    , flags 0x0000 , editor name: "Book: Art"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "TerrRepOff"         // type string                    , flags 0x0000 , editor name: "Script: TerrReplaceOff"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "TerrRepOn"          // type string                    , flags 0x0000 , editor name: "Script: TerrReplaceOn"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "TerrRepDestroy"     // type string                    , flags 0x0000 , editor name: "Script: TerrReplaceDestroy"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "DesignNote"         // type string                    , flags 0x0000 , editor name: "Editor: Design Note"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "TrapQVar"           // type string                    , flags 0x0000 , editor name: "Trap: Quest Var"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "ScriptTiming"       // type int                       , flags 0x0000 , editor name: "Script: Timing"
    {
    	"" : int
    }
    
    
    ObjProp "Creature"           // type sCreatureHandle           , flags 0x0244 , editor name: "Creature: Creature Type"
    {
    	"Type" : enum    // enums: "Humanoid", "PlayerArm", "PlayerBowArm", "Burrick", "Spider", "BugBeast", "Crayman", "Constantine", "Apparition", "Sweel", "Rope", "Zombie", "Small Spider", "Frog", "Cutty", "Avatar", "Robot", "Small Robot", "Spider Bot"
    }
    
    
    ObjProp "NonPhysCreature"    // type BOOL                      , flags 0x0000 , editor name: "Creature: Is Non-Physical"
    {
    	"" : bool
    }
    
    
    ObjProp "CretPose"           // type sCreaturePose             , flags 0x0000 , editor name: "Creature: Current Pose"
    {
    	"Type" : enum    // enums: "Tags", "Motion Name"
    	"Motion" : string    // max 79 characters long
    	"Frac" : float
    	"Model scale" : float
    	"Ballistic" : bool
    }
    
    
    ObjProp "CretScale"          // type float                     , flags 0x0000 , editor name: "Creature: Creature Scale"
    {
    	"" : float
    }
    
    
    ObjProp "CretHTrack"         // type BOOL                      , flags 0x0000 , editor name: "Creature: Disable Head Track"
    {
    	"" : bool
    }
    
    
    ObjProp "PickSrc"            // type PickSrc                   , flags 0x0000 , editor name: "Dark GameSys: PickSrc"
    {
    	"PickBits" : bitflags
    }
    
    
    ObjProp "AdvPickTransCfg"    // type sAdvPickTransCfg          , flags 0x0000 , editor name: "Dark Gamesys: AdvPickTransCfg"
    {
    	"Next State Pick 1-0" : int
    	"Next State Pick 2-0" : int
    	"Next State Pick 3-0" : int
    	"Next State Pick 1-1" : int
    	"Next State Pick 2-1" : int
    	"Next State Pick 3-1" : int
    	"Next State Pick 1-2" : int
    	"Next State Pick 2-2" : int
    	"Next State Pick 3-2" : int
    	"Next State Pick 1-3" : int
    	"Next State Pick 2-3" : int
    	"Next State Pick 3-3" : int
    	"Next State Pick 1-4" : int
    	"Next State Pick 2-4" : int
    	"Next State Pick 3-4" : int
    	"Next State Pick 1-5" : int
    	"Next State Pick 2-5" : int
    	"Next State Pick 3-5" : int
    	"Next State Pick 1-6" : int
    	"Next State Pick 2-6" : int
    	"Next State Pick 3-6" : int
    	"Next State Pick 1-7" : int
    	"Next State Pick 2-7" : int
    	"Next State Pick 3-7" : int
    	"Next State Pick 1-8" : int
    	"Next State Pick 2-8" : int
    	"Next State Pick 3-8" : int
    }
    
    
    ObjProp "AdvPickSoundCfg"    // type sAdvPickSoundCfg          , flags 0x0000 , editor name: "Dark Gamesys: AdvPickSoundCfg"
    {
    	"Sound Pick 1-0" : string    // max 23 characters long
    	"Sound Pick 2-0" : string    // max 23 characters long
    	"Sound Pick 3-0" : string    // max 23 characters long
    	"Sound Pick 1-1" : string    // max 23 characters long
    	"Sound Pick 2-1" : string    // max 23 characters long
    	"Sound Pick 3-1" : string    // max 23 characters long
    	"Sound Pick 1-2" : string    // max 23 characters long
    	"Sound Pick 2-2" : string    // max 23 characters long
    	"Sound Pick 3-2" : string    // max 23 characters long
    	"Sound Pick 1-3" : string    // max 23 characters long
    	"Sound Pick 2-3" : string    // max 23 characters long
    	"Sound Pick 3-3" : string    // max 23 characters long
    	"Sound Pick 1-4" : string    // max 23 characters long
    	"Sound Pick 2-4" : string    // max 23 characters long
    	"Sound Pick 3-4" : string    // max 23 characters long
    	"Sound Pick 1-5" : string    // max 23 characters long
    	"Sound Pick 2-5" : string    // max 23 characters long
    	"Sound Pick 3-5" : string    // max 23 characters long
    	"Sound Pick 1-6" : string    // max 23 characters long
    	"Sound Pick 2-6" : string    // max 23 characters long
    	"Sound Pick 3-6" : string    // max 23 characters long
    	"Sound Pick 1-7" : string    // max 23 characters long
    	"Sound Pick 2-7" : string    // max 23 characters long
    	"Sound Pick 3-7" : string    // max 23 characters long
    	"Sound Pick 1-8" : string    // max 23 characters long
    	"Sound Pick 2-8" : string    // max 23 characters long
    	"Sound Pick 3-8" : string    // max 23 characters long
    }
    
    
    ObjProp "AdvPickStateCfg"    // type sAdvPickStateCfg          , flags 0x0000 , editor name: "Dark Gamesys: AdvPickStateCfg"
    {
    	"Enable Advanced System" : bool
    	"First Pick Src" : bitflags
    	"Second Pick Src" : bitflags
    	"Third Pick Src" : bitflags
    	"Time 0" : int
    	"Time 1" : int
    	"Time 2" : int
    	"Time 3" : int
    	"Time 4" : int
    	"Time 5" : int
    	"Time 6" : int
    	"Time 7" : int
    	"Time 8" : int
    }
    
    
    ObjProp "PickCfg"            // type sPickCfg                  , flags 0x0000 , editor name: "Dark GameSys: PickCfg"
    {
    	"LockBits 1" : bitflags
    	"Pins 1" : int
    	"TimePct 1" : int
    	"Flags 1" : bitflags    // flags: "Reset On Fail", "Randomize Time"
    	"LockBits 2" : bitflags
    	"Pins 2" : int
    	"TimePct 2" : int
    	"Flags 2" : bitflags    // flags: "Reset On Fail", "Randomize Time"
    	"LockBits 3" : bitflags
    	"Pins 3" : int
    	"TimePct 3" : int
    	"Flags 3" : bitflags    // flags: "Reset On Fail", "Randomize Time"
    }
    
    
    ObjProp "PickState"          // type sPickState                , flags 0x0000 , editor name: "Dark GameSys: PickState"
    {
    	"CurTumbler/State" : int
    	"Pin" : int
    	"Done" : bool
    	"RandTime" : int
    	"TotalTime" : int
    	"StageTime" : int
    	"Picker" : int
    }
    
    
    ObjProp "BeltLink"           // type sBeltLink                 , flags 0x0000 , editor name: "Dark GameSys: BeltLinkLocation"
    {
    	"Mesh Joint" : int
    	"X Rotation" : int
    	"Y Rotation" : int
    	"Z Rotation" : int
    	"Offset" : vector
    }
    
    
    ObjProp "AltLink"            // type sAltLink                  , flags 0x0000 , editor name: "Dark GameSys: AltLinkLocation"
    {
    	"Mesh Joint" : int
    	"X Rotation" : int
    	"Y Rotation" : int
    	"Z Rotation" : int
    	"Offset" : vector
    }
    
    
    ObjProp "NoFlash"            // type BOOL                      , flags 0x0000 , editor name: "Dark GameSys: FlashInvuln"
    {
    	"" : bool
    }
    
    
    ObjProp "Fungus"             // type BOOL                      , flags 0x0010 , editor name: "Prox: Fungus"
    {
    	"" : bool
    }
    
    
    ObjProp "Blood"              // type BOOL                      , flags 0x0010 , editor name: "Prox: Blood"
    {
    	"" : bool
    }
    
    
    ObjProp "GameName"           // type string                    , flags 0x0000 , editor name: "Inventory: Object Name"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "ToolReach"          // type float                     , flags 0x0000 , editor name: "Inventory: Tool Reach"
    {
    	"" : float
    }
    
    
    ObjProp "InvBeingTaken"      // type BOOL                      , flags 0x0080 , editor name: "Inventory: Being Taken"
    {
    	"" : bool
    }
    
    
    ObjProp "NoDrop"             // type BOOL                      , flags 0x0000 , editor name: "Inventory: Can't Drop This"
    {
    	"" : bool
    }
    
    
    ObjProp "BreathConfig"       // type sBreathConfig             , flags 0x0000 , editor name: "Dark Gamesys: Breath Config"
    {
    	"Max Air (ms)" : int
    	"Drown Freq (ms)" : int
    	"Drown Damage" : int
    	"Recover rate" : float
    }
    
    
    ObjProp "AirSupply"          // type int                       , flags 0x0010 , editor name: "Dark Gamesys: Air Supply"
    {
    	"" : int
    }
    
    
    ObjProp "ParticleType"       // type string                    , flags 0x0000 , editor name: "SFX: Particle Type"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "BloodType"          // type string                    , flags 0x0000 , editor name: "Game: Dark: BloodType"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "BloodCause"         // type BOOL                      , flags 0x0000 , editor name: "Game: Dark: BloodCause"
    {
    	"" : bool
    }
    
    
    ObjProp "BloodMaxDmg"        // type int                       , flags 0x0000 , editor name: "Game: Dark: BloodMaxDamage"
    {
    	"" : int
    }
    
    
    ObjProp "BaseGunDesc"        // type cBaseGunDescs             , flags 0x0000 , editor name: "Gun: Base Gun Description"
    {
    	"Number of Settings" : int
    	"Setting 0: Burst" : int
    	"Setting 0: Clip" : int
    	"Setting 0: Spray" : int
    	"Setting 0: Stim Mult" : float
    	"Setting 0: Burst Interval" : int
    	"Setting 0: Shot Interval" : int
    	"Setting 0: Ammo Usage" : int
    	"Setting 0: Speed Mult" : float
    	"Setting 0: Reload Time" : int
    	"Setting 0: Zoom Factor" : float
    	"Setting 1: Burst" : int
    	"Setting 1: Clip" : int
    	"Setting 1: Spray" : int
    	"Setting 1: Stim Mult" : float
    	"Setting 1: Burst Interval" : int
    	"Setting 1: Shot Interval" : int
    	"Setting 1: Ammo Usage" : int
    	"Setting 1: Speed Mult" : float
    	"Setting 1: Reload Time" : int
    	"Setting 1: Zoom Factor" : float
    	"Setting 2: Burst" : int
    	"Setting 2: Clip" : int
    	"Setting 2: Spray" : int
    	"Setting 2: Stim Mult" : float
    	"Setting 2: Burst Interval" : int
    	"Setting 2: Shot Interval" : int
    	"Setting 2: Ammo Usage" : int
    	"Setting 2: Speed Mult" : float
    	"Setting 2: Reload Time" : int
    	"Setting 2: Zoom Factor" : float
    }
    
    
    ObjProp "AIGunDesc"          // type sAIGunDesc                , flags 0x0000 , editor name: "Gun: AI Gun Description"
    {
    	"AI Max Range (Not used)" : float
    	"Fire Offset" : vector
    	"Start Lag" : int
    	"Burst Lag" : int
    	"End Lag" : int
    	"Aim Error" : ang
    }
    
    
    ObjProp "GunState"           // type sGunState                 , flags 0x0010 , editor name: "Gun: Gun State"
    {
    	"Ammo" : int
    	"Condition (%)" : float
    	"Silencing (%)" : float
    	"Setting" : int
    	"Modification" : int
    }
    
    
    ObjProp "Projectile"         // type sProjectile               , flags 0x0000 , editor name: "Gun: Projectile Description"
    {
    	"Spray" : int
    	"Spread" : int_hex
    }
    
    
    ObjProp "Loot"               // type sLootProp                 , flags 0x0000 , editor name: "Dark Gamesys: Loot"
    {
    	"Gold" : int
    	"Gems" : int
    	"Art" : int
    	"Special" : bitflags    // flags: "Special 1", "Special 2", "Special 3", "Special 4", "Special 5", "Special 6", "Special 7", "Special 8"
    }
    
    
    ObjProp "Fixture"            // type BOOL                      , flags 0x0000 , editor name: "Object System: Fixture"
    {
    	"" : bool
    }
    
    
    ObjProp "Automap"            // type sAutomapProperty          , flags 0x0000 , editor name: "Room: Automap"
    {
    	"Page" : int
    	"Location" : int
    }
    
    
    ObjProp "ItemStore"          // type BOOL                      , flags 0x0011 , editor name: "Inventory: Store"
    {
    	"" : bool
    }
    
    
    ObjProp "SalePrice"          // type int                       , flags 0x0000 , editor name: "Inventory: Purchase Price"
    {
    	"" : int
    }
    
    
    ObjProp "GameDesc"           // type string                    , flags 0x0000 , editor name: "Inventory: Long Description"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "BlockFrob"          // type BOOL                      , flags 0x0000 , editor name: "Inventory: Block Frob?"
    {
    	"" : bool
    }
    
    
    ObjProp "DiffDestroy"        // type tQVarVal                  , flags 0x0011 , editor name: "Difficulty: Destroy"
    {
    	"quest var values" : bitflags    // flags: "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
    }
    
    
    ObjProp "DiffRemoveProp"     // type sDiffRemoveProp           , flags 0x0011 , editor name: "Difficulty: Remove Properties"
    {
    	"quest var values" : bitflags    // flags: "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
    	"alt quest var values" : bitflags    // flags: "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
    	"Properties" : string    // max 31 characters long
    }
    
    
    ObjProp "DiffPermit"         // type tQVarVal                  , flags 0x0011 , editor name: "Difficulty: Permit"
    {
    	"quest var values" : bitflags    // flags: "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
    }
    
    
    ObjProp "DiffLock"           // type tQVarVal                  , flags 0x0011 , editor name: "Difficulty: Lock (Unlock)"
    {
    	"quest var values" : bitflags    // flags: "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
    }
    
    
    ObjProp "DiffClose"          // type tQVarVal                  , flags 0x0011 , editor name: "Difficulty: Close (Open) Door"
    {
    	"quest var values" : bitflags    // flags: "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
    }
    
    
    ObjProp "DiffTurnOn"         // type tQVarVal                  , flags 0x0011 , editor name: "Difficulty: Turn On (Off)"
    {
    	"quest var values" : bitflags    // flags: "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
    }
    
    
    ObjProp "DiffScript"         // type tQVarVal                  , flags 0x0011 , editor name: "Difficulty: Script"
    {
    	"quest var values" : bitflags    // flags: "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
    }
    
    
    ObjProp "DAI_FrogExpl"       // type float                     , flags 0x0000 , editor name: "AI: Ability Settings: Frog-beast: Explode range"
    {
    	"" : float
    }
    
    
    ObjProp "DarkStat"           // type tDarkStat                 , flags 0x0000 , editor name: "Dark GameSys: Stats"
    {
    	"" : bitflags    // flags: "Innocent", "Enemy", "Hidden", "FoundBody", "Robot"
    }
    
    
    ObjProp "SchLoopParams"      // type sSchemaLoopParams         , flags 0x0000 , editor name: "Schema: Loop Params"
    {
    	"Flags" : bitflags
    	"Max Samples" : int
    	"Interval Min" : int
    	"Interval Max" : int
    }
    
    
    ObjProp "SchPlayParams"      // type sSchemaPlayParams         , flags 0x0000 , editor name: "Schema: Play Params"
    {
    	"Flags" : bitflags    // flags: "Retrigger", "Pan position", "Pan Range", "No Repeat", "No Cache", "Stream", "Play Once", "No Combat", "Net Ambient", "Local Spatial", "", "", "", "", "", "", "Noise", "Speech", "Ambient", "Music", "MetaUI"
    	"Volume" : int
    	"Initial Delay" : short
    	"Pan" : int
    	"Fade" : int
    }
    
    
    ObjProp "SchPriority"        // type int                       , flags 0x0000 , editor name: "Schema: Priority"
    {
    	"" : int
    }
    
    
    ObjProp "SchMsg"             // type Label                     , flags 0x0000 , editor name: "Schema: Message"
    {
    	"" : string    // max 15 characters long
    }
    
    
    ObjProp "SchActionSnd"       // type Label                     , flags 0x0000 , editor name: "Schema: Action"
    {
    	"" : string    // max 15 characters long
    }
    
    
    ObjProp "SchAttFac"          // type float                     , flags 0x0000 , editor name: "Schema: Attenuation Factor"
    {
    	"" : float
    }
    
    
    ObjProp "SpchVoice"          // type Label                     , flags 0x0000 , editor name: "Speech: Voice"
    {
    	"" : string    // max 15 characters long
    }
    
    
    ObjProp "MinSpchPause"       // type int                       , flags 0x0000 , editor name: "Speech: Pause Min"
    {
    	"" : int
    }
    
    
    ObjProp "MaxSpchPause"       // type int                       , flags 0x0000 , editor name: "Speech: Pause Max"
    {
    	"" : int
    }
    
    
    ObjProp "VoiceIdx"           // type int                       , flags 0x0000 , editor name: "Speech: Voice Index"
    {
    	"" : int
    }
    
    
    ObjProp "Class Tags"         // type sESndTagList              , flags 0x0000 , editor name: "Schema: Class Tags"
    {
    	"1: Tags" : string    // max 251 characters long
    }
    
    
    ObjProp "Material Tags"      // type sESndTagList              , flags 0x0000 , editor name: "Schema: Material Tags"
    {
    	"1: Tags" : string    // max 251 characters long
    }
    
    
    ObjProp "OTxtRepr0"          // type string                    , flags 0x0000 , editor name: "Shape: TxtRepl r0"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "OTxtRepr1"          // type string                    , flags 0x0000 , editor name: "Shape: TxtRepl r1"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "OTxtRepr2"          // type string                    , flags 0x0000 , editor name: "Shape: TxtRepl r2"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "OTxtRepr3"          // type string                    , flags 0x0000 , editor name: "Shape: TxtRepl r3"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    ObjProp "HasRefs"            // type BOOL                      , flags 0x0051 , editor name: "Renderer: Has Refs"
    {
    	"" : bool
    }
    
    
    ObjProp "RenderType"         // type tRendType                 , flags 0x0000 , editor name: "Renderer: Render Type"
    {
    	"" : enum    // enums: "Normal", "Not Rendered", "Unlit", "Editor Only", "Corona Only"
    }
    
    
    ObjProp "RenderOrder"        // type tRendOrder                , flags 0x0000 , editor name: "Renderer: Render Order"
    {
    	"Pass" : enum    // enums: "Pre Opaque 1 (first)", "Pre Opaque 2", "Pre Opaque 3", "Pre Opaque 4", "Post Opaque 1 (first)", "Post Opaque 2", "Post Opaque 3", "Post Opaque 4"
    	"Flags" : bitflags    // flags: "No Z-Write"
    }
    
    
    ObjProp "BlendMode"          // type tBlendMode                , flags 0x0000 , editor name: "Renderer: Alpha Blend Mode"
    {
    	"" : enum    // enums: "Normal", "Add", "Multiply Dest", "Multiply Dest and Add", "Multiply Inv Dest", "Multiply Inv Dest and Add", "Multiply Dest 2X"
    }
    
    
    ObjProp "CameraOverlay"      // type sCamOverlayProp           , flags 0x0000 , editor name: "Renderer: Camera Overlay"
    {
    	"Active" : bool
    	"Bitmap scale mode" : enum    // enums: "Scale to fit screen", "Fit 4:3, mask w. color", "Fit 4:3, mask w. edge", "Crop 16:9, mask w. color", "Crop 16:9, mask w. edge"
    	"Filter color" : rgb
    	"Alpha" : uint
    	"Mask color" : rgb
    	"Bitmap name" : string    // max 15 characters long
    	"Ani frame time (ms)" : int
    }
    
    
    ObjProp "DistAlpha"          // type sDistAlphaProp            , flags 0x0000 , editor name: "Renderer: Distance Alpha"
    {
    	"Near Alpha" : float
    	"Far Alpha" : float
    	"Near Distance" : float
    	"Far Distance" : float
    	"Falloff Type" : enum    // enums: "Linear", "Smoother at Near", "Smoother at Far"
    	"Anim Light" : int
    }
    
    
    ObjProp "ModelLOD"           // type sModelLodProp             , flags 0x0000 , editor name: "Shape: Model LOD"
    {
    	"LOD 0 Model" : string    // max 15 characters long
    	"LOD 1 Model" : string    // max 15 characters long
    	"LOD 2 Model" : string    // max 15 characters long
    	"LOD 0->1 Dist" : float
    	"LOD 1->2 Dist" : float
    }
    
    
    ObjProp "JointPos"           // type sJointPos                 , flags 0x0011 , editor name: "Shape: Joint Positions"
    {
    	"Joint 1" : float
    	"Joint 2" : float
    	"Joint 3" : float
    	"Joint 4" : float
    	"Joint 5" : float
    	"Joint 6" : float
    }
    
    
    ObjProp "RenderAlpha"        // type float                     , flags 0x0000 , editor name: "Renderer: Transparency (alpha)"
    {
    	"" : float
    }
    
    
    ObjProp "RendAlphaRef"       // type float                     , flags 0x0000 , editor name: "Renderer: Alpha Test Threshold"
    {
    	"" : float
    }
    
    
    ObjProp "SelfIllum"          // type float                     , flags 0x0000 , editor name: "Renderer: Self Illumination"
    {
    	"" : float
    }
    
    
    ObjProp "ObjShad"            // type BOOL                      , flags 0x0000 , editor name: "Renderer: Runtime Object Shadow"
    {
    	"" : bool
    }
    
    
    ObjProp "StatShad"           // type BOOL                      , flags 0x0000 , editor name: "Renderer: Force Static Shadow"
    {
    	"" : bool
    }
    
    
    ObjProp "PGLaunchInfo"       // type ParticleLaunchInfo        , flags 0x0011 , editor name: "SFX: Particle Launch Info"
    {
    	"Launch Type" : enum    // enums: "Bounding Box", "Sphere", "Cylinder"
    	"Box Min" : vector
    	"Box Max" : vector
    	"Min Radius" : float
    	"Max Radius" : float
    	"Loc unrotated?" : bool
    	"Velocity Min" : vector
    	"Velocity Max" : vector
    	"Vel unrotated?" : bool
    	"Min time" : float
    	"Max time" : float
    }
    
    
    ObjProp "ParticleGroup"      // type ParticleGroup             , flags 0x0011 , editor name: "SFX: Particles"
    {
    	"Active" : bool
    	"Particle Render Type" : enum    // enums: "Single-colored pixels", "Multi-colored pixels", "Single-colored squares", "Multi-colored squares", "Single-colored disk", "Scaled bitmap", "Bitmap disk"
    	"Particle Animation" : enum    // enums: "Launched one-shot", "Launched continually", "Rotating hollow sphere", "Rotating sphere", "Rotating hollow cube", "Rotating cube", "Rotating disk", "Rotating circle", "Rotating pyramid"
    	"Particle Group Motion" : enum    // enums: "Immobile", "Move with velocity", "Move with vel&gravity", "Trailing object", "Attached to object", "Fire and forget"
    	"number of particles" : int
    	"size of particle" : float
    	"bitmap name" : string    // max 15 characters long
    	"velocity" : vector
    	"gravity vector" : vector
    	"color (palettized)" : uint
    	"2nd color" : uint
    	"3rd color" : uint
    	"alpha" : uint
    	"fixed-group radius" : float
    	"spin / pulse group" : bool
    	"spin speed" : vector
    	"pulse magnitude" : float
    	"pulse cycle time ms" : int
    	"particle fade time" : sfloat
    	"launch period" : sfloat
    	"animation offset ms" : int
    	"Group-scale velocity" : float
    	"bm-disk flags" : bitflags    // flags: "Use Lighting", "Fade-in at Birth", "Grow-in at Birth", "Random Start Frame", "Play Ani Once", "Use RGB Colors", "Fade RGB->2nd", "Fade RGB->2nd->3rd"
    	"bm-disk birth time" : sfloat
    	"bm-disk rot (vel, offs, rand)" : vector
    	"bm-disk ani frame time" : sfloat
    	"bm-disk grow speed" : float
    	"bm-disk rgb" : rgb
    	"bm-disk 2nd rgb" : rgb
    	"bm-disk 3rd rgb" : rgb
    	"always simulate (slow)" : bool
    	"always simulate group" : bool
    	"particles start launched" : bool
    	"alpha subpixel particles" : bool
    	"skip subpixel particles" : bool
    	"ignore attachment refs" : bool
    	"force matching unrefs" : bool
    }
    
    
    ObjProp "FrameAniState"      // type FrameAnimationState       , flags 0x0011 , editor name: "SFX: FrameAnimationState"
    {
    	"current frame" : int
    }
    
    
    ObjProp "FrameAniConfig"     // type FrameAnimationConfig      , flags 0x0000 , editor name: "SFX: FrameAnimationConfig"
    {
    	"frames per second" : float
    	"one-shot" : bool
    	"bounce" : bool
    	"frame-limit" : bool
    	"kill when finished" : bool
    }
    
    
    ObjProp "RenderFlash"        // type FlashbombRender           , flags 0x0010 , editor name: "SFX: FlashBombInfo"
    {
    	"flash color r" : int
    	"flash color g" : int
    	"flash color b" : int
    	"world flash duration" : int
    	"max screen flash duration (ms)" : int
    	"after-effect duration (ms)" : int
    	"range" : float
    }
    
    
    ObjProp "BitmapWorld"        // type sBitmapWorldspace         , flags 0x0000 , editor name: "Renderer: Bitmap Worldspace" , help text: "bitmap not always facing camera"
    {
    	"x size (feet)" : float
    	"y size (feet)" : float
    	"x feet per tile" : float
    	"y feet per tile" : float
    	"Flags" : bitflags    // flags: "Double sided", "Flip backside UV", "Lit", "Face camera (axial)", "No UV Tiling"
    	"Axial Fade" : float
    }
    
    
    ObjProp "BitmapAnimation"    // type tBitmapAnimationType      , flags 0x0010 , editor name: "Renderer: Bitmap Animation"
    {
    	"Flags" : bitflags    // flags: "Kill on completion"
    }
    
    
    ObjProp "BitmapColor"        // type tBitmapColor              , flags 0x0000 , editor name: "Renderer: Bitmap Color"
    {
    	"" : rgb
    }
    
    
    ObjProp "INVISIBLE"          // type int                       , flags 0x0000 , editor name: "Renderer: Invisible"
    {
    	"" : int
    }
    
    
    ObjProp "AnimTex"            // type sAnimTexProp              , flags 0x0000 , editor name: "Renderer: Texture Anim Data"
    {
    	"Rate" : uint
    	"Flags" : bitflags    // flags: "Wrap", "Randing", "Reverse", "Portal"
    }
    
    
    ObjProp "WaterColor"         // type sRGBA                     , flags 0x0000 , editor name: "Renderer: Water Texture Color"
    {
    	"Color" : rgb
    	"Alpha" : float
    }
    
    
    ObjProp "FlowColor"          // type int                       , flags 0x0000 , editor name: "Renderer: Water Flow Color Index"
    {
    	"" : int
    }
    
    
    ObjProp "Weather"            // type sWeather                  , flags 0x0000 , editor name: "Weather: Local Weather" , help text: "weather for a room"
    {
    	"fog" : enum    // enums: "Disabled", "Global Fog", "Zone 1", "Zone 2", "Zone 3", "Zone 4", "Zone 5", "Zone 6", "Zone 7", "Zone 8"
    	"precipitation" : bool
    	"ambient lighting" : enum    // enums: "Global Ambient", "Zone 1", "Zone 2", "Zone 3", "Zone 4", "Zone 5", "Zone 6", "Zone 7", "Zone 8"
    }
    
    
    ObjProp "MeshTex"            // type sMeshTexRemap             , flags 0x0000 , editor name: "Renderer: Mesh Textures" , help text: "Mesh Texture Substitution"
    {
    	"texture in model" : string    // max 15 characters long
    	"replace with" : string    // max 15 characters long
    	"texture in model"[1] : string    // max 15 characters long
    	"replace with"[1] : string    // max 15 characters long
    	"texture in model"[2] : string    // max 15 characters long
    	"replace with"[2] : string    // max 15 characters long
    	"texture in model"[3] : string    // max 15 characters long
    	"replace with"[3] : string    // max 15 characters long
    	"texture in model"[4] : string    // max 15 characters long
    	"replace with"[4] : string    // max 15 characters long
    	"texture in model"[5] : string    // max 15 characters long
    	"replace with"[5] : string    // max 15 characters long
    	"texture in model"[6] : string    // max 15 characters long
    	"replace with"[6] : string    // max 15 characters long
    	"texture in model"[7] : string    // max 15 characters long
    	"replace with"[7] : string    // max 15 characters long
    	"texture in model"[8] : string    // max 15 characters long
    	"replace with"[8] : string    // max 15 characters long
    	"texture in model"[9] : string    // max 15 characters long
    	"replace with"[9] : string    // max 15 characters long
    	"texture in model"[10] : string    // max 15 characters long
    	"replace with"[10] : string    // max 15 characters long
    	"texture in model"[11] : string    // max 15 characters long
    	"replace with"[11] : string    // max 15 characters long
    }
    
    
    ObjProp "Face"               // type sFaceNames                , flags 0x0000 , editor name: "Renderer: Face Textures" , help text: "What you looking at BOY?"
    {
    	"texture to replace" : string    // max 15 characters long
    	"Neutral" : string    // max 15 characters long
    	"Smile" : string    // max 15 characters long
    	"Wince" : string    // max 15 characters long
    	"Surprise" : string    // max 15 characters long
    	"Stunned" : string    // max 15 characters long
    }
    
    
    ObjProp "Face State"         // type sFaceState                , flags 0x0011 , editor name: "Renderer: Face State" , help text: "State of a particular dude's face"
    {
    	"Talking?" : bool
    	"Current visage" : enum    // enums: "Neutral", "Smile", "Wince", "Surprise", "Stunned"
    	"Priority of visage" : int
    	"End time of visage" : int
    }
    
    
    ObjProp "Face Pos"           // type BOOL                      , flags 0x0000 , editor name: "Sound: Face Motions" , help text: "Do we find mouth positions for this schema?"
    {
    	"" : bool
    }
    
    
    ObjProp "Corona"             // type sCoronaLight              , flags 0x0011 , editor name: "Renderer: Corona" , help text: "glow rendered in front of a light"
    {
    	"flags" : bitflags    // flags: "Blend Add", "Use Spotlight Cone", "Track Moving Object", "Detail Attached Proxy"
    	"radius up close" : float
    	"radius at max dist" : float
    	"max. dist. visible" : float
    	"alpha" : float
    	"texture" : string    // max 15 characters long
    	"color" : vector
    	"spot angle scale" : float
    }
    
    
    ObjProp "NoBlockCoronas"     // type BOOL                      , flags 0x0000 , editor name: "Renderer: Never Block Coronas"
    {
    	"" : bool
    }
    
    
    ObjProp "NetworkCategory"    // type eNetworkCategory          , flags 0x0000 , editor name: "Networking: Network Category"
    {
    	"" : enum    // enums: "Local Only", "Hosted", "Obsolete"
    }
    
    
    ObjProp "Heartbeat"          // type int                       , flags 0x0000 , editor name: "Networking: Heartbeat" , help text: "Approximate number of millisecs between position updates"
    {
    	"" : int
    }
    
    
    ObjProp "AvatarZOffset"      // type float                     , flags 0x0000 , editor name: "Networking: Avatar Height Offset" , help text: "Difference in height between player & this obj as an avatar"
    {
    	"" : float
    }
    
    
    ObjProp "LocalCopy"          // type BOOL                      , flags 0x0080 , editor name: "Networking: Local Copy" , help text: "TRUE iff this object is a local pseudo-proxy for a remote obj"
    {
    	"" : bool
    }
    
    
    ObjProp "DistinctAvatar"     // type BOOL                      , flags 0x0000 , editor name: "Networking: Distinct Avatar" , help text: "TRUE iff this object is used to proxy a different kind of object"
    {
    	"" : bool
    }
    
    
    ObjProp "HandoffNumber"      // type int                       , flags 0x0080 , editor name: "Networking: Handoff Number" , help text: "The number of times this object has been handed off"
    {
    	"" : int
    }
    
    
    ObjProp "HasBrush"           // type BOOL                      , flags 0x0000 , editor name: "Editor: Has Brush"
    {
    	"" : bool
    }
    
    
    ObjProp "EdComment"          // type string                    , flags 0x0000 , editor name: "Editor: Editor Comments"
    {
    	"" : string    // max 2047 characters long
    }
    
    
    
    
    ------------------------------------------------------------------------------
    LINK TYPES
    ------------------------------------------------------------------------------
    
    
    Link "Contains"             // type ContainRelType            , flags 0x0000
    {
    	"" : enum    // enums: "Alternate", "Hand", "Belt", "Generic Contents"
    }
    
    
    Link "Corpse"               // type Propagate Source Scale?   , flags 0x0000
    {
    	"Propagate Source Scale?" : bool
    }
    
    
    Link "Flinderize"           // type sFlinder                  , flags 0x0000
    {
    	"Count" : int
    	"Impulse" : float
    	"Scatter?" : bool
    	"Offset" : vector
    }
    
    
    Link "CulpableFor"          // type None                      , flags 0x0020
    
    
    Link "HostObj"              // type int                       , flags 0x0010
    {
    	"" : int
    }
    
    
    Link "FrobProxy"            // type FrobProxyInfo             , flags 0x0000
    {
    	"FrobProxyMask" : bitflags    // flags: "Do Inv", "No World", "Do ToolSrc", "No ToolDst", "AllowDirect"
    }
    
    
    Link "CurWeapon"            // type int                       , flags 0x0010
    {
    	"" : int
    }
    
    
    Link "WeaponOffset"         // type sWeaponOffset             , flags 0x0010
    {
    	"Weapon Modes" : bitflags    // flags: "BLOCK", "MELEE", "RANGED", "IDLE"
    	"Transform1" : vector
    	"Transform2" : vector
    	"Transform3" : vector
    	"Transform4" : vector
    	"Launch Joint" : enum    // enums: "N/A", "Head", "Neck", "Abdomen", "Butt", "Left Shoulder", "Right Shoulder", "Left Elbow", "Right Elbow", "Left Wrist", "Right Wrist", "Left Fingers", "Right Fingers", "Left Hip", "Right Hip", "Left Knee", "Right Knee", "Left Ankle", "Right Ankle", "Left Toe", "Right Toe", "Tail"
    }
    
    
    Link "Weapon"               // type None                      , flags 0x0000
    
    
    Link "Lock"                 // type int                       , flags 0x0000
    {
    	"" : int
    }
    
    
    Link "PlayerFactory"        // type int                       , flags 0x0000
    {
    	"" : int
    }
    
    
    Link "AIConversationActor"  // type Actor ID                  , flags 0x0010
    {
    	"Actor ID" : int
    }
    
    
    Link "AIProjectile"         // type sAIProjectileRel          , flags 0x0010
    {
    	"Constraint Type" : enum    // enums: "None", "# others", "# misses (not implemented)"
    	"Constraint Data" : int
    	"Targeting Method" : enum    // enums: "Straight-Line", "Arcing", "Reflecting", "Overhead"
    	"Selection Desire" : enum    // enums: "Very Low", "Low", "Moderate", "High", "Very High"
    	"Firing Delay" : float
    	"Ammo" : int
    	"Burst Count" : int
    	"Accuracy" : enum    // enums: "Very Low", "Low", "Moderate", "High", "Very High"
    	"Leads Target" : bool
    	"Launch Joint" : enum    // enums: "N/A", "Head", "Neck", "Abdomen", "Butt", "Left Shoulder", "Right Shoulder", "Left Elbow", "Right Elbow", "Left Wrist", "Right Wrist", "Left Fingers", "Right Fingers", "Left Hip", "Right Hip", "Left Knee", "Right Knee", "Left Ankle", "Right Ankle", "Left Toe", "Right Toe", "Tail"
    }
    
    
    Link "AIPtDibs"             // type None                      , flags 0x0010
    
    
    Link "AIPatrol"             // type None                      , flags 0x0010
    
    
    Link "AICurrentPatrol"      // type None                      , flags 0x0010
    
    
    Link "AIAttack"             // type eAIPriority               , flags 0x0020
    {
    	"" : enum    // enums: "Default/None", "Very low", "Low", "Normal", "High", "Very high", "Absolute"
    }
    
    
    Link "AITarget"             // type None                      , flags 0x0000
    
    
    Link "AIRangedWeapon"       // type None                      , flags 0x0010
    
    
    Link "AIFleeSource"         // type None                      , flags 0x0010
    
    
    Link "AIFleeDest"           // type sAIFleeDest               , flags 0x0010
    {
    	"Reached" : bool
    	"Expiration" : int
    }
    
    
    Link "AINoFlee"             // type sAINoFleeLink             , flags 0x0010
    {
    	"Expiration" : int
    }
    
    
    Link "AIFleeTo"             // type None                      , flags 0x0010
    
    
    Link "AIWatchObj"           // type sAIWatchPoint             , flags 0x0010
    {
    	"Watch kind" : enum    // enums: "Player intrusion", "Self entry"
    	"Priority" : enum    // enums: "Default/None", "Very low", "Low", "Normal", "High", "Very high", "Absolute"
    	"Trigger: Radius" : int
    	"         Height" : int
    	"         Required awareness" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"         Line requirement" : enum    // enums: "None", "Line of sight", "Raycast"
    	"         Minimum alertness" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"         Maximum alertness" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"Exit: Link kill option" : enum    // enums: "Don't kill", "After trigger", "After completion"
    	"      Kill like links" : bool
    	"      No test once triggered" : bool
    	"      Reuse delay" : int
    	"      Reset delay" : int
    	"Response: Step 1" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1" : string    // max 63 characters long
    	"   Argument 2" : string    // max 63 characters long
    	"   Argument 3" : string    // max 63 characters long
    	"Response: Step 2" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[1] : string    // max 63 characters long
    	"   Argument 2"[1] : string    // max 63 characters long
    	"   Argument 3"[1] : string    // max 63 characters long
    	"Response: Step 3" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[2] : string    // max 63 characters long
    	"   Argument 2"[2] : string    // max 63 characters long
    	"   Argument 3"[2] : string    // max 63 characters long
    	"Response: Step 4" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[3] : string    // max 63 characters long
    	"   Argument 2"[3] : string    // max 63 characters long
    	"   Argument 3"[3] : string    // max 63 characters long
    	"Response: Step 5" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[4] : string    // max 63 characters long
    	"   Argument 2"[4] : string    // max 63 characters long
    	"   Argument 3"[4] : string    // max 63 characters long
    	"Response: Step 6" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[5] : string    // max 63 characters long
    	"   Argument 2"[5] : string    // max 63 characters long
    	"   Argument 3"[5] : string    // max 63 characters long
    	"Response: Step 7" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[6] : string    // max 63 characters long
    	"   Argument 2"[6] : string    // max 63 characters long
    	"   Argument 3"[6] : string    // max 63 characters long
    	"Response: Step 8" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[7] : string    // max 63 characters long
    	"   Argument 2"[7] : string    // max 63 characters long
    	"   Argument 3"[7] : string    // max 63 characters long
    	"Response: Step 9" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[8] : string    // max 63 characters long
    	"   Argument 2"[8] : string    // max 63 characters long
    	"   Argument 3"[8] : string    // max 63 characters long
    	"Response: Step 10" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[9] : string    // max 63 characters long
    	"   Argument 2"[9] : string    // max 63 characters long
    	"   Argument 3"[9] : string    // max 63 characters long
    	"Response: Step 11" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[10] : string    // max 63 characters long
    	"   Argument 2"[10] : string    // max 63 characters long
    	"   Argument 3"[10] : string    // max 63 characters long
    	"Response: Step 12" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[11] : string    // max 63 characters long
    	"   Argument 2"[11] : string    // max 63 characters long
    	"   Argument 3"[11] : string    // max 63 characters long
    	"Response: Step 13" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[12] : string    // max 63 characters long
    	"   Argument 2"[12] : string    // max 63 characters long
    	"   Argument 3"[12] : string    // max 63 characters long
    	"Response: Step 14" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[13] : string    // max 63 characters long
    	"   Argument 2"[13] : string    // max 63 characters long
    	"   Argument 3"[13] : string    // max 63 characters long
    	"Response: Step 15" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[14] : string    // max 63 characters long
    	"   Argument 2"[14] : string    // max 63 characters long
    	"   Argument 3"[14] : string    // max 63 characters long
    	"Response: Step 16" : enum    // enums: "Nothing()", "Script message(Message,MsgData1,MsgData2)", "Play sound/motion(Sound Concept,Sound Tags,Motion Tags)", "Alert (unimplemented)", "Become hostile()", "Enable investigate()", "Goto object(Object,Speed,Motion Tags)", "Frob object(Target Object,With Object)", "Wait(Time(ms),Motion Tags)", "Mprint(text)", "Add/Remove Meta-property(Add/Remove,Mprop name,Target Objects)", "Add link(Flavor,Destination(s),Source(s))", "Remove link(Flavor,Destination(s),Source(s))", "Face(Angle,Object(-1 for angle relative to self))", "Signal(Signal,Target(s),Max Distance)", "Dest. Script Message(Message,MsgData1,MsgData2)"
    	"   Argument 1"[15] : string    // max 63 characters long
    	"   Argument 2"[15] : string    // max 63 characters long
    	"   Argument 3"[15] : string    // max 63 characters long
    }
    
    
    Link "AIDefendObj"          // type sAIDefendPoint            , flags 0x0010
    {
    	"Return speed" : enum    // enums: "Stopped", "Very slow", "Slow", "Normal", "Fast", "Very fast"
    	"Range 1: Radius" : int
    	"         Height" : int
    	"         Minimum alertness" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"         Maximum alertness" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"Range 2: Radius" : int
    	"         Height"[1] : int
    	"         Minimum alertness"[1] : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"         Maximum alertness"[1] : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"Range 3: Radius" : int
    	"         Height"[2] : int
    	"         Minimum alertness"[2] : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"         Maximum alertness"[2] : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    }
    
    
    Link "AICamera"             // type sAICameraLinkData         , flags 0x0010
    {
    	"Msg" : string    // max 31 characters long
    	"Data1" : string    // max 31 characters long
    	"Data2" : string    // max 31 characters long
    	"Data3" : string    // max 31 characters long
    }
    
    
    Link "AIFollowObj"          // type sAIFollowLink             , flags 0x0010
    {
    	"Vector 1: Angle" : float
    	"               Distance" : int
    	"Vector 2: Angle" : float
    	"               Distance"[1] : int
    	"Vector 3: Angle" : float
    	"               Distance"[2] : int
    }
    
    
    Link "AIDoor"               // type int                       , flags 0x0010
    {
    	"" : int
    }
    
    
    Link "AIInvest"             // type None                      , flags 0x0010
    
    
    Link "AIAwareness"          // type sAIAwareness              , flags 0x0010
    {
    	"Flags" : bitflags    // flags: "Seen", "Heard", "CanRaycast", "HaveLOS", "Blind", "Deaf", "Highest", "FirstHand"
    	"Level" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"Peak Level" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"Level enter time" : int
    	"Time last contact" : int
    	"Pos last contact" : vector
    	"Last pulse level" : enum    // enums: "(0) None", "(1) Low", "(2) Moderate", "(3) High"
    	"Vision cone" : int
    	"Time last update" : int
    	"Time last update LOS" : int
    	"Last true contact" : int
    	"Freshness" : int
    }
    
    
    Link "AISuspiciousLink"     // type sAISuspiciousLink         , flags 0x0000
    {
    	"Time Seen" : int
    }
    
    
    Link "TPath"                // type sTerrainPath              , flags 0x0010
    {
    	"Speed" : float
    	"Pause (ms)" : int
    	"Path Limit?" : bool
    }
    
    
    Link "TPathInit"            // type None                      , flags 0x0010
    
    
    Link "PhysAttach"           // type sPhysAttachData           , flags 0x0000
    {
    	"Offset" : vector
    }
    
    
    Link "SoundDescription"     // type None                      , flags 0x0000
    
    
    Link "ControlDevice"        // type None                      , flags 0x0000
    
    
    Link "Route"                // type None                      , flags 0x0000
    
    
    Link "ScriptParams"         // type Label                     , flags 0x0000
    {
    	"" : string    // max 15 characters long
    }
    
    
    Link "Owns"                 // type None                      , flags 0x0000
    
    
    Link "Population"           // type None                      , flags 0x0000
    
    
    Link "Transmute"            // type None                      , flags 0x0000
    
    
    Link "OldConversation"      // type None                      , flags 0x0000
    
    
    Link "CreatureAttachment"   // type sCreatureAttachInfo       , flags 0x0000
    {
    	"Joint" : enum    // enums: "N/A", "Head", "Neck", "Abdomen", "Butt", "Left Shoulder", "Right Shoulder", "Left Elbow", "Right Elbow", "Left Wrist", "Right Wrist", "Left Fingers", "Right Fingers", "Left Hip", "Right Hip", "Left Knee", "Right Knee", "Left Ankle", "Right Ankle", "Left Toe", "Right Toe", "Tail"
    	"Rot Mode" : enum    // enums: "Default", "Always Use Joint Rotation", "Never Use Joint Rotation"
    }
    
    
    Link "CorpsePart"           // type None                      , flags 0x0000
    
    
    Link "RenderFlash"          // type None                      , flags 0x0000
    
    
    Link "Projectile"           // type sProjectileData           , flags 0x0000
    {
    	"Setting" : int
    	"Order" : int
    }
    
    
    Link "GunFlash"             // type sFlashData                , flags 0x0000
    {
    	"VHot" : int
    	"Flags" : bitflags    // flags: "Projectile Flash", "Random Bank"
    }
    
    
    Link "VoiceOver"            // type sVoiceData                , flags 0x0000
    {
    	"Events" : bitflags    // flags: "World Hilight", "Pick Up"
    }
    
    
    Link "VoiceLink"            // type None                      , flags 0x0010
    
    
    Link "DetailAttachement"    // type sDetailAttachLinkData     , flags 0x0000
    {
    	"Type" : enum    // enums: "Object", "Vhot", "Joint", "Submodel", "Subobject", "Transparent Decal"
    	"vhot/sub #" : uint
    	"joint" : enum    // enums: "N/A", "Head", "Neck", "Abdomen", "Butt", "Left Shoulder", "Right Shoulder", "Left Elbow", "Right Elbow", "Left Wrist", "Right Wrist", "Left Fingers", "Right Fingers", "Left Hip", "Right Hip", "Left Knee", "Right Knee", "Left Ankle", "Right Ankle", "Left Toe", "Right Toe", "Tail"
    	"rel pos" : vector
    	"rel rot" : angvec
    	"decal plane norm" : packednormal_hex
    	"decal plane dist" : float
    	"Flags" : bitflags    // flags: "No Auto-Delete", "No Joint Rot"
    }
    
    
    Link "ParticleAttachement"  // type sParticleAttachLinkData   , flags 0x0000
    {
    	"Type" : enum    // enums: "Object", "Vhot", "Joint", "Submodel"
    	"vhot #" : int
    	"joint" : enum    // enums: "N/A", "Head", "Neck", "Abdomen", "Butt", "Left Shoulder", "Right Shoulder", "Left Elbow", "Right Elbow", "Left Wrist", "Right Wrist", "Left Fingers", "Right Fingers", "Left Hip", "Right Hip", "Left Knee", "Right Knee", "Left Ankle", "Right Ankle", "Left Toe", "Right Toe", "Tail"
    	"submod #" : int
    }
    
    
    
    
    ------------------------------------------------------------------------------
    RECEPTRON EFFECTS
    ------------------------------------------------------------------------------
    
    
    Effect "Abort"              // type None                      , flags 0x0008 , editor name: "Abort"
    
    
    Effect "Amplify"            // type sAmplifyParam             , flags 0x0000 , editor name: "Amplify"
    {
    	"Multiply by" : float
    	"Then add" : float
    }
    
    
    Effect "WeakPoint"          // type sWeakPointParam           , flags 0x0000 , editor name: "Weak Point"
    {
    	"Multiply by" : float
    	"Then add" : float
    	"X Offset" : float
    	"Y Offset" : float
    	"Z Offset" : float
    	"Radius" : float
    	"Parent Joint" : enum    // enums: "N/A", "Head", "Neck", "Abdomen", "Butt", "Left Shoulder", "Right Shoulder", "Left Elbow", "Right Elbow", "Left Wrist", "Right Wrist", "Left Fingers", "Right Fingers", "Left Hip", "Right Hip", "Left Knee", "Right Knee", "Left Ankle", "Right Ankle", "Left Toe", "Right Toe", "Tail"
    }
    
    
    Effect "stimulate"          // type sStimulateParam           , flags 0x0006 , editor name: "Stimulate Object"
    {
    	"Stimulus" : string    // max 15 characters long
    	"Multiply By" : float
    	"Then Add" : float
    }
    
    
    Effect "stim_script_msg"    // type sStimMsgParam             , flags 0x0000 , editor name: "Send to Scripts"
    {
    	"Flags" : bitflags    // flags: "(Created By Script)"
    }
    
    
    Effect "tweq_control"       // type sTweqControl              , flags 0x000A , editor name: "Tweq Control"
    {
    	"Type" : enum    // enums: "TweqScale", "TweqRotate", "TweqJoints", "TweqModels", "TweqDelete", "TweqEmitter", "TweqFlicker", "TweqLock", "TweqAll", "TweqNull"
    	"Action" : enum    // enums: "DoDefault", "DoActivate", "DoHalt", "DoReset", "DoContinue", "DoForward", "DoReverse"
    	"XtraBits" : bitflags    // flags: "On", "Reverse", "ReSynch", "GoEdge", "LapOne"
    }
    
    
    Effect "weapon_hit"         // type None                      , flags 0x0006 , editor name: "Weapon Hit"
    
    
    Effect "weapon_block"       // type None                      , flags 0x0006 , editor name: "Weapon Block"
    
    
    Effect "SetQvar"            // type sQVarParam                , flags 0x0000 , editor name: "Set Quest Variable"
    {
    	"Quest Variable" : string    // max 27 characters long
    	"Operation" : enum    // enums: "Set To", "Add", "Multiply By", "Divide By", "Bitwise Or", "Bitwise And", "Bitwise XOR"
    	"Operand" : int
    }
    
    
    Effect "impact_result"      // type sCollParam                , flags 0x0000 , editor name: "Impact Result"
    {
    	"Result" : enum    // enums: "Bounce", "Stick", "Slay"
    }
    
    
    Effect "permeate"           // type sPermeate                 , flags 0x0002 , editor name: "Permeate Into Container"
    {
    	"Coefficient" : float
    	"Minimum Magnitude" : float
    }
    
    
    Effect "Freeze"             // type sFreezeReactionParam      , flags 0x0000 , editor name: "Freeze AI"
    {
    	"Duration Multiplier" : int
    }
    
    
    Effect "add_prop"           // type sPropAddParam             , flags 0x0006 , editor name: "Set Property"
    {
    	"Prop Name" : string    // max 15 characters long
    }
    
    
    Effect "rem_prop"           // type sPropRemParam             , flags 0x0002 , editor name: "Remove Property"
    {
    	"Prop Name" : string    // max 15 characters long
    }
    
    
    Effect "add_metaprop"       // type None                      , flags 0x0006 , editor name: "Add MetaProperty"
    
    
    Effect "rem_metaprop"       // type None                      , flags 0x0006 , editor name: "Remove MetaProperty"
    
    
    Effect "create_obj"         // type sObjCreateParam           , flags 0x0006 , editor name: "Create Object"
    {
    	"Position" : vector
    	"Heading" : float
    	"Pitch" : float
    	"Bank" : float
    }
    
    
    Effect "destroy_obj"        // type None                      , flags 0x0002 , editor name: "Destroy Object"
    
    
    Effect "clone_props"        // type None                      , flags 0x0006 , editor name: "Clone Properties"
    
    
    Effect "move_obj"           // type sObjMoveParam             , flags 0x0006 , editor name: "Teleport Object"
    {
    	"Position" : vector
    	"Heading" : float
    	"Pitch" : float
    	"Bank" : float
    }
    
    
    Effect "damage"             // type sDamageParam              , flags 0x000E , editor name: "Damage Object"
    {
    	"Damage Type" : int
    	"Use stimulus as type" : bool
    	"Multiply By" : float
    	"Then Add" : int
    }
    
    
    Effect "spoofdamage"        // type sSpoofDamageParam         , flags 0x000E , editor name: "Poke Object"
    {
    	"Use stimulus as type" : bool
    }
    
    
    Effect "slay"               // type None                      , flags 0x0006 , editor name: "Slay Object"
    
    
    Effect "set_model"          // type sSetModelParam            , flags 0x0002 , editor name: "Change Object Model"
    {
    	"Model Name" : string    // max 15 characters long
    }
    
    
    Effect "frob_obj"           // type None                      , flags 0x0002 , editor name: "Frob Object"
    
    
    Effect "Knockout"           // type None                      , flags 0x0006 , editor name: "Knockout"
    
    
    Effect "AwareFilter"        // type sAware                    , flags 0x0006 , editor name: "Awareness Filter"
    {
    	"Abort Unless" : bitflags    // flags: "Can't see culprit", "Can't hear culprit", "Stunned", "Not an AI"
    }
    
    
    Effect "EnvSound"           // type sEnvSoundReactionParam    , flags 0x0000 , editor name: "EnvSound"
    {
    	"Tags" : string    // max 31 characters long
    }
    
    
    
    
    ------------------------------------------------------------------------------
    STIM SOURCE PROPAGATORS
    ------------------------------------------------------------------------------
    
    
    Propagator "Contact"            // flags 0x0001
    {
    	Shape // type sContactSourceShape
    	{
    		"Contact Types" : bitflags    // flags: "Collision", "Frob in World", "Frob in Inv", "Frob Inv -> World", "Frob Inv -> Inv", "Frob World -> World", "Frob World -> Inv", "Weapon Swing Low", "Weapon Swing Med", "Weapon Swing High", "Weapon Block"
    		"Velocity Coeff" : float
    		"Frob Time Coeff" : float
    	}
    }
    
    
    Propagator "Radius"             // flags 0x0001
    {
    	Shape // type sRadiusSourceShape
    	{
    		"Radius" : float
    		"Flags" : bitflags    // flags: "Line of Sight (raycast)"
    		"Dispersion" : enum    // enums: "None", "Linear", "Inverse Quadratic", "Quadratic"
    	}
    	Life // type sPeriodicLifeCycle
    	{
    		"Flags" : bitflags    // flags: "No Max Firings", "Destroy Object on Completion"
    		"Period" : uint
    		"Max Firings" : int
    		"Intensity Slope" : float
    	}
    }
    
    
    Propagator "Flow"               // flags 0x0001
    {
    	Life // type sPeriodicLifeCycle
    	{
    		"Flags" : bitflags    // flags: "No Max Firings", "Destroy Object on Completion"
    		"Period" : uint
    		"Max Firings" : int
    		"Intensity Slope" : float
    	}
    }
    
    
    Propagator "Script"             // flags 0x0001
    {
    	Life // type sPeriodicLifeCycle
    	{
    		"Flags" : bitflags    // flags: "No Max Firings", "Destroy Object on Completion"
    		"Period" : uint
    		"Max Firings" : int
    		"Intensity Slope" : float
    	}
    }
    
    
    
    
    ------------------------------------------------------------------------------
    
    
    Type definitions:
    
    
    int          = integer number
    uint         = positive integer number
    int_hex      = hexadecimal integer number (0xABCD0123)
    uint_hex     = positive hexadecimal number (0xABCD0123)
    bool         = one of: 0, 1, true, false, yes, no, on, off
    short        = integer number -32768 to 32767
    ushort       = positive hexadecimal number 0x0 to 0xFFFF
    short_hex    = integer hexadecimal -0x8000 to 0x7FFF
    ushort_hex   = positive integer number 0 to 65535
    bitflags     = comma separated list of unquoted flag/bit names
    enum         = enum/value name
    string       = string
    Point        = comma separated x, y int pair
    vector       = comma separated x, y, z float triplet (if color then r g b values 0.0 - 1.0)
    float        = floating point number
    sfloat       = floating point number -32768.0 to 32767.0
    sfloatvec    = space separated x y z sfloat triplet
    rgb          = comma separated r, g, b triplet with int values 0 - 255
    ang          = angle 0.0 to 360.0
    angvec       = comma separated heading, pitch, bank ang triplet
    packednormal = 32-bit integer number with an encoded unit length vector, similar to normal maps, with 3 MSB aligned 10-bit signed vals [X:10 Y:10 Z:10 unused:2]
    packednormal_hex = same as packednormal but as a hexadecimal number
    Last edited by Unna Oertdottir; 13th Apr 2018 at 04:41.

  9. #34
    Zombified
    Registered: Sep 2004
    the correct format:
    Code:
    +StimSource -2103 "WeaponStim"
    {
    	Intensity 100
    
    	Propagator "Radius"
    	{
    		Life
    		{
    			"Flags" "Destroy Object on Completion"
    			"Period" 5000
    			"Max Firings" 1
    			"Intensity Slope" 0.00
    		}
    
    		Shape
    		{
    			"Radius" 1.00
    			"Flags" "Line of Sight (raycast)"
    			"Dispersion" "None"
    		}
    	}
    }
    //what Unna posted will work too.

  10. #35
    New Member
    Registered: Apr 2011
    Thanks Unna & voodoo! Since there wasn't an example of a flags field in the dbmod docs, how did you go about finding out what this should be? And what would a flags field look like if there's multiple flags set?

  11. #36
    Zombified
    Registered: Sep 2004
    you can export an archetype as a single dml via the editor, the resulting dml file will have the correct format.

  12. #37
    New Member
    Registered: Apr 2011
    Oh, that's great to know! Thanks!

Page 2 of 2 FirstFirst 12

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •