TTLG|Jukebox|Thief|Bioshock|System Shock|Deus Ex|Mobile
Page 5 of 5 FirstFirst 12345
Results 101 to 110 of 110

Thread: Useful changes to your Gamesys

  1. #101
    Member
    Registered: May 2002
    Location: Texas
    Removing the Joints and Jointstate properties from ElecWallLight -468 would be helpful, because so many times the Joints property Halt will somehow get set to Continue and it affects the WallSpotLight's joint between the light fixture and the bracket. When I go into a FM that has the WallSpotLight, the bracket will be wagging back and forth like a dog's tail. Technically speaking, none of the light objects needs the Joints/Jointstate properties as far as I know.

  2. #102
    Member
    Registered: Jan 2001
    Location: Constantly losing tug o'war
    Here is the DML code for Corsair's suggestions, although this is my implementation of them:
    Code:
    DML1
    
    //Changes taken from here: https://www.ttlg.com/forums/showthread.php?t=98522
    
    //Change colour and brighten to compensate
    +ObjProp "firebolt" "lightcolor"
    {
    	"hue" 0.1
    	"saturation" 0.75
    }
    ObjProp "firebolt" "selflit" = 70
    
    +ObjProp "MagicMissile" "selflit" = 50
    +ObjProp "MagicMissile" "lightcolor"
    {
    	"hue" 0.8
    	"saturation" 1
    }
    
    +ObjProp "cannonball" "selflit" = 20
    
    +ObjProp "GhostShot" "shadow" = 10
    
    //Add MatCarpet to wires so solid versions are easier to handle
    +MetaProp "Wires" "MatCarpet"
    
    //Solid wires - child archetypes created
    CreateArch "Wire8" "SolidWire8"
    
    +ObjProp "SolidWire8" "phystype"
    {
    	"Type" "OBB"
    }
    
    CreateArch "WireSnake8" "SolidWireSnake8"
    +ObjProp "SolidWireSnake8" "phystype"
    {
    	"Type" "OBB"
    }
    Quote Originally Posted by john9818a View Post
    Removing the Joints and Jointstate properties from ElecWallLight -468 would be helpful, ... When I go into a FM that has the WallSpotLight, the bracket will be wagging back and forth like a dog's tail.
    I don't see that myself. Perhaps you have a mod installed which includes a jointed version of that model. I have in the past seen a Transformer object wagging its antenna, but that may have been a deliberate experiment.

    Here's the DML code for removing the joints properties:
    Code:
    DML1
    
    -ObjProp "ElecWallLight" "cfgtweqjoints"
    -ObjProp "ElecWallLight" "sttweqjoints"
    To keep things one place, here's the first DML I posted with the above two added in, plus a thing to remove collisions from the will o'wisp:
    Code:
    DML1
    
    //Changes taken from here: https://www.ttlg.com/forums/showthread.php?t=98522
    
    ////The first section is for things that each author will most likely
    ////want to review for gameplay reasons
    //Throw jars like in Thief 1
    +ObjProp "Jar" "FrobInfo"
    {
    	"World Action" "Move"
    	"Inv Action" "Move"
    }
    
    +ObjProp "Jar" "physcontrol"
    {
    	"Controls Active" ""
    }
    
    +ObjProp "Jar" "phystype"
    {
    	"Type" "Sphere"
    }
    
    //AI
    ObjProp "Creature" "scripts"
    {
    	"Script 2" "NoticesPlayerBumps"
    }
    
    //Alarm sounds maintain full volume over a greater distance
    +ObjProp "DEVICE_ALARM" "schattfac" = 3
    
    //Immovable Barrel physics - easier to mantle, pysics don't get lost if too close to wall, barrels cannot be pushed
    CreateArch "Barrel 0" "Barrel0_Solid"
    
    +ObjProp "Barrel0_Solid" "physcontrol"
    {
    	"Controls Active" "Location, Rotation"
    }
    
    
    ObjProp "Barrel0_Solid" "phystype"
    {
    	"Type" "OBB"
    }
    
    //Cast a shadow. Runtime Object Shadow prop needed to affect the lightgem...
    //but not used here - author should set it when appropriate
    +ObjProp "Barrel0_Solid" "immobile" = TRUE
    
    +ObjProp "Barrel0_Solid" "slayresult"
    {
    	"Effect" "No Effect"
    }
    
    +ObjProp "Barrel0_Solid" "class tags"
    {
    	"1: Tags" ""
    }
    
    +ObjProp "Barrel0_Solid" "ai_objavoid"
    {
    	"Flags" "Block pathfind"
    }
    
    +ObjProp "Barrel0_Solid" "ai_objpathable" = TRUE
    
    //Small solid barrel
    CreateArch "Barrel0_Solid" "SmalBarrel0_Solid"
    
    +ObjProp "SmalBarrel0_Solid" "modelname" = "barrela"
    
    //Elemental arrows cause AI reaction but no damage, did not work consistently in testing
    +StimSource "water" "BashStim"
    {
    	"Intensity" 0
    	"Propagator" "Contact"
    	{
    		"Shape"
    		{
    			"Contact Types" "Collision"
    			"Velocity Coeff" 0.01 //copied this from noise arrow stim
    		}
    	}
    }
    
    +StimSource "EarthArrow" "BashStim"
    {
    	"Intensity" 0
    	"Propagator" "Contact"
    	{
    		"Shape"
    		{
    			"Contact Types" "Collision"
    			"Velocity Coeff" 0.01 //copied this from noise arrow stim
    		}
    	}
    }
    
    +StimSource "GasArrow" "BashStim"
    {
    	"Intensity" 0
    	"Propagator" "Contact"
    	{
    		"Shape"
    		{
    			"Contact Types" "Collision"
    			"Velocity Coeff" 0.01 //copied this from noise arrow stim
    		}
    	}
    }
    
    +StimSource "VineArrow" "BashStim"
    {
    	"Intensity" 0
    	"Propagator" "Contact"
    	{
    		"Shape"
    		{
    			"Contact Types" "Collision"
    			"Velocity Coeff" 0.01 //copied this from noise arrow stim
    		}
    	}
    }
    
    //Vine Arrow should not inherit PokeStim. Move this from RopeyArrow to just the RopeArrow
    -StimSource "RopeyArrow" "PokeStim"
    
    +StimSource "RopeArrow" "PokeStim"
    {
    	"Intensity" 1
    	"Propagator" "Contact"
    	{
    		"Shape"
    		{
    			"Contact Types" "Collision"
    			"Velocity Coeff" 0.08 //same value that was on RopeyArrow
    		}
    	}
    }
    
    //Vine arrows should attach to wood - credit to qolelis
    ObjProp "MatWood" "canattach"
    {
    	"Flags" "Rope, Vine"
    }
    
    //Same for these two:
    ObjProp "MatCarpet" "canattach"
    {
    	"Flags" "Rope, Vine"
    }
    
    ObjProp "MatVegetation" "canattach"
    {
    	"Flags" "Rope, Vine"
    }
    
    //Widen the cone for spotlights (existing spotlights affected upon relighting the mission)
    ObjProp "HangingSpot" "spotlight" = 15, 60, 0
    
    ObjProp "HangSpotFlush" "spotlight" = 15, 60, 0
    
    //Fire arrow colour explosion, thanks to NV
    +ObjProp "expcorona" "lightcolor"
    {
    	"hue" 0.1
    	"saturation" 0.75
    }
    //Also apply this to fire arrow itself
    +ObjProp "firearr" "lightcolor"
    {
    	"hue" 0.1
    	"saturation" 0.75
    }
    
    //Make them both brighter, also compensates for effect of colour change
    ObjProp "expcorona" "selflit" = 220
    ObjProp "firearr" "selflit" = 120
    
    //Stop robot corpese being broken up by broadheads - credit to Stan_The_Thief
    +Receptron "RobotCorpses" "PokeStim"
    {
    	"Max" None
    	"Effect" "Abort"
    }
    
    
    ////This sections is for bug fixing
    //Skull throw correction - Eshaktaar
    ObjProp "Skull" "FrobInfo"
    {
    	"Tool Action" ""
    }
    
    //Helps when object texutres include transparency, may depend on image format
    -ObjProp "Banner" "renderalpha"
    +ObjProp "ExBanner" "renderalpha" = 1
    
    -ObjProp "Fence" "renderalpha"
    +ObjProp "Railing" "renderalpha" = 1
    +ObjProp "VineRail" "renderalpha" = 1
    
    +ObjProp "catwrail12x3" "renderalpha" = 1
    +ObjProp "Catwpiece1" "renderalpha" = 1
    +ObjProp "Catwpiece2" "renderalpha" = 1
    +ObjProp "Catwpiece3" "renderalpha" = 1
    +ObjProp "catwrail4x3" "renderalpha" = 1
    +ObjProp "OfficeChair" "renderalpha" = 1
    +ObjProp "CoveredChairs" "renderalpha" = 1
    
    //Red warehouse door
    +ObjProp "RedDoor" "rotdoor"
    {
    	"Blocks Vision?" FALSE
    }
    -ObjProp "RedDoor" "renderalpha"
    
    //Containers
    ObjProp "Safe" "cfgtweqjoints"
    {
    	"Joint1AnimC" "Sim"
    }
    
    ObjProp "VicHopeChest" "cfgtweqjoints"
    {
    	"Joint1AnimC" "Sim"
    }
    
    ObjProp "LC_Chest" "cfgtweqjoints"
    {
    	"Joint1AnimC" "Sim"
    }
    
    //MoneyBox sounds were doubling due to unnecessary script property
    -ObjProp "MoneyBox" "scripts"
    
    //Prevent undead from "drowning" (all values are 0 when added, no need for config)
    +ObjProp "Undead" "breathconfig"
    {
    }
    
    //AI have 'head' as vision joint - thanks to NV
    //But not robots - thanks to Stan_The_Thief
    +ObjProp "Undead" "ai_visjoint"
    {
    	"joint" "Head"
    }
    +ObjProp "Beast" "ai_visjoint"
    {
    	"joint" "Head"
    }
    +ObjProp "Animal" "ai_visjoint"
    {
    	"joint" "Head"
    }
    
    //Chair materials
    +MetaProp "RamSofaChair" "MatCarpet"
    +MetaProp "CoveredChairs" "MatCarpet"
    +MetaProp "MechCouch" "MatCarpet"
    +MetaProp "VictorianChairs" "MatCarpet"
    +MetaProp "VicSmallDeskChair" "MatWood" //exception to the rule
    +MetaProp "RamSofa" "MatCarpet"
    
    //Beds, most already carpet
    +MetaProp "bedpostphys" "MatWood"
    
    //LC bed is stone, looks like a pedestal for displaying bodies lying in state
    +MetaProp "LC_Bed" "MatStone"
    -MetaProp "LC_Headrest" "MatCarpet"
    +MetaProp "LC_Headrest" "MatMetal"
    
    //Kithen object materials
    +MetaProp "Pan" "MatMetal"
    +MetaProp "Knife" "MatMetal"
    +MetaProp "Butcher Knife" "MatMetal"
    +MetaProp "Jar" "MatCeramic"
    
    //Objects blocking AI vision
    +ObjProp "Drapes" "ai_blkvis" = TRUE
    //All doors, with exceptions for doors with large windows
    +ObjProp "Door" "ai_blkvis" = TRUE
    +ObjProp "FrenchDoor" "ai_blkvis" = FALSE
    +ObjProp "CemetaryGate" "ai_blkvis" = FALSE
    +ObjProp "whd4x8-3" "ai_blkvis" = FALSE
    +ObjProp "Portcullis" "ai_blkvis" = FALSE
    +ObjProp "CloisterGate2" "ai_blkvis" = FALSE
    
    //Gauges should not be fully lit
    +ObjProp "Gauge" "selfillum" = 0
    +ObjProp "Transformer02" "selfillum" = 0
    +ObjProp "Transformer01" "selfillum" = 0
    +ObjProp "coil02" "selfillum" = 0
    +ObjProp "coil03" "selfillum" = 0
    
    //Moss Arrow Fix (credit to Winter Cat)
    ObjProp "Mosslauncher" "cfgtweqemit"
    {
    	"Rate" 400
    	"CurveC" "JitterLow"
    }
    
    ObjProp "mosslump" "scale" 
    {
    	"" 1, 1, 1.5
    }
    
    -ObjProp "mosslump" "cfgtweqemit"
    -ObjProp "mosslump" "sttweqemit"
    
    ObjProp "mosspad" "sttweqemit"
    {
    	"AnimS" "On"
    	"Cur Time" 0
    }
    
    ObjProp "mosspad" "cfgtweqemit"
    {
    	"Halt" "Remove Prop"
    	"Rate" 200
    	"Velocity" 0, 0, 9
    	"CurveC" "JitterHi"
    }
    
    -ObjProp "moss0.5" "scale"
    
    ObjProp "mossspore" "PhysInitVel" = 5, 0, 10
    
    -ObjProp "lilmossspore" "PhysInitVel"
    
    //Fix for fire arrow (3 sets of fletching feathers rather than 2)
    //Note Winter Cat origainally had a fix for fire particles, but these seem okay in NewDark
    ObjProp "firearr" "modelname" = "arrowfir"
    
    //Vic light swtich fix - credit to Zontik
    ObjProp "VicLightSwitch" "jointpos"
    {
    	"Joint 1" -0.06
    	"Joint 2" -0.06
    }
    
    ObjProp "VicLightSwitch" "cfgtweqjoints"
    {
    	"    rate-low-high" 0.02, -0.065, 0
    	"    rate-low-high2" 0.02, -0.065, 0
    }
    
    //Default light radius of 60 for everything
    //Static light props
    ObjProp "lanterns" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "WallSpotLight" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "MineLight" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "OldElecWallLight" "light"
    {
    	"radius (0 for infinite)" 60 //not sure if needed for brightness of 0 but does no harm
    }
    
    ObjProp "OldHangElecLight" "light"
    {
    	"radius (0 for infinite)" 60 //not sure if needed for brightness of 0 but does no harm
    }
    
    ObjProp "HangSpotFlush" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "HangingSpot" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "MechHangLamp" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "OldHangingShort" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "Streetlamp2" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "OldStreetlamp2" "light"
    {
    	"radius (0 for infinite)" 60 //not sure if needed for brightness of 0 but does no harm
    }
    
    ObjProp "Streetlamp" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "SpotStreetlamp" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "OldSpotStreetlamp" "light"
    {
    	"radius (0 for infinite)" 60 //not sure if needed for brightness of 0 but does no harm
    }
    
    ObjProp "TheatricalSpot" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "SmallTabLamp" "light"
    {
    	"radius (0 for infinite)" 30
    }
    
    ObjProp "MechFloorLamp" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "MechSpotLight" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "litemush_durabl" "light"
    {
    	"radius (0 for infinite)" 40
    }
    
    ObjProp "VicGlowGas" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "SpotLightPoint" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "SpotLightPoint" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "barberpole" "light"
    {
    	"radius (0 for infinite)" 40
    }
    
    ObjProp "CollectorTower" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "GlassChandelier" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "PaganLight" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    //Anim light props
    ObjProp "litemush_fragil" "animlight"
    {
    	"radius (0 for infinite)" 40
    }
    
    ObjProp "Flame" "animlight"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "DynFlame" "animlight"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "WindowShade" "animlight"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "Extinguishable" "animlight"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "MechTorch" "animlight"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "LCLite" "animlight"
    {
    	"radius (0 for infinite)" 60
    }
    
    //Change colour and brighten to compensate
    +ObjProp "firebolt" "lightcolor"
    {
    	"hue" 0.1
    	"saturation" 0.75
    }
    ObjProp "firebolt" "selflit" = 70
    
    +ObjProp "MagicMissile" "selflit" = 50
    +ObjProp "MagicMissile" "lightcolor"
    {
    	"hue" 0.8
    	"saturation" 1
    }
    
    +ObjProp "cannonball" "selflit" = 20
    
    +ObjProp "GhostShot" "shadow" = 10
    
    //Add MatCarpet to wires so solid versions are easier to handle
    +MetaProp "Wires" "MatCarpet"
    
    //Solid wires - child archetypes created
    CreateArch "Wire8" "SolidWire8"
    
    +ObjProp "SolidWire8" "phystype"
    {
    	"Type" "OBB"
    }
    
    CreateArch "WireSnake8" "SolidWireSnake8"
    +ObjProp "SolidWireSnake8" "phystype"
    {
    	"Type" "OBB"
    }
    
    +ObjProp "PaganLight" "CollisionType" = "[None]"
    
    ObjProp "Will O'Wisp" "CollisionType" = "[None]"
    
    -ObjProp "ElecWallLight" "cfgtweqjoints"
    -ObjProp "ElecWallLight" "sttweqjoints"
    
    //Physics models
    +ObjProp "BigTable" "PhysDims"
    {
    	"Offset 1" 0, 0, 1.2
    	"Size" 12.2, 6, 0.57679
    }

  3. #103
    Member
    Registered: May 2002
    Location: Texas
    I'll have to check, but as far as I know I still have the original spotlight model. The dml will help because I have to modify every fan mission's gamesys file to remove the joints properties.

  4. #104
    Member
    Registered: May 2002
    Location: Texas
    I don't see that myself. Perhaps you have a mod installed which includes a jointed version of that model.
    I found a walspot.bin in my obj folder from November 25, 2005. I'm not sure if it is EP2 or not though.

    I have in the past seen a Transformer object wagging its antenna, but that may have been a deliberate experiment.
    I made that one in one of my mssions, and I believe you made the jointed antenna stand alone object for me for another mission.

  5. #105
    Member
    Registered: Sep 2008
    Location: Deutschland/Germany
    I removed the unnecessary StdDoor script and the translation property from the practice dummy.

    Strange result: DromEd reports that the object has an "internal door flag". Never heard about that, and there's nothing about doors anymore in the properties of that object. Any idea?

  6. #106
    Member
    Registered: Apr 2011
    Quote Originally Posted by zappenduster View Post
    Strange result: DromEd reports that the object has an "internal door flag". Never heard about that, and there's nothing about doors anymore in the properties of that object. Any idea?
    not sure. do any of the archetypes ancestors still have a Door property? is dromed reporting this message about the training dummy archetype, or a concrete object inheriting from it? if you can quote the exact message, i can look it up.

  7. #107
    Member
    Registered: Sep 2008
    Location: Deutschland/Germany
    Quote Originally Posted by vfig View Post
    not sure. do any of the archetypes ancestors still have a Door property? is dromed reporting this message about the training dummy archetype, or a concrete object inheriting from it? if you can quote the exact message, i can look it up.
    It is for some concrete objs and the message is/was WARNING: object x had internal door flag set but had no door property, flag cleared

    It was strange because I removed the door properties and the script from the archetype and the concrete objects. After all the training dummy isn't under the door archetype.

    But nevermind, I deleted the corresponding objects and the message didn't show up anymore when I put "fresh" dummies in the map.

  8. #108
    Member
    Registered: Apr 2011
    so, the physics model for a door has a flag to indicate if it belongs to a door or not (as doors get special handling for collisions and so on). that specific message only exists in newdark, but no doubt by "internal door flag" it is referring to this flag on the physics model.

    my educated guess is that in olddark a bug existed: an object that once had (or inherited) the door property — which will cause the door flag to be set on its physics model — and then had the door property removed would not have the door flag cleared again (causing problems of some sort). and so this warning message is telling you that newdark is checking for this situation and clearing the door flag to avoid problems.

    so my read is that the message is not so much "warning: this is bad!" but "warning: this doesnt make sense; so i fixed it. but better not to do that in future, just in case."

    removing the door property from the archetypes before creating the concrete object will avoid the warning. another way to avoid the warning, if you already had a concrete object, would be to remove the door property and set physics>model>type to None (to remove its physics model). and then add the physics>model>type property again (to set up a fresh new physics model).

  9. #109
    Member
    Registered: Sep 2008
    Location: Deutschland/Germany
    OK thanx for your answer, I didn't think of the the "Physics" property and therefore didn't check it.

    And yes. as I wrote, I deleted the corresponding objects and the message didn't show up anymore when I put "fresh" dummies in the map.

    Anyway, to get back to the topic, my suggestion is to remove these door properties in the gamesys for FMs. I think this function has only been used in the training mission where the dummy disappears in the ground.
    Last edited by zappenduster; 3rd Jan 2022 at 03:37.

  10. #110
    Member
    Registered: Jan 2001
    Location: Constantly losing tug o'war
    When looking throgh new_config_vars.txt I noticed a section mentioning rope/vine lengths are not calculated correctly. There's a config var to fix it globally (belongs in cam_ext.cfg), but it also mentions a property change so FM authors can make sure the lengths in that FM are correct regardless of the cam_ext options:

    This DML code has been added:
    Code:
    DML1
    //Rope and Vine length corrections
    ObjProp "RopeArrowRope" "PhysRope"
    {
    	"Desired Length" 30.00
    	"Length" 0.00
    	"Deployed" FALSE
    	"Calc Correct Len" TRUE
    }
    
    ObjProp "PlacedRope" "PhysRope"
    {
    	"Desired Length" 30.00
    	"Length" 0.00
    	"Deployed" TRUE
    	"Calc Correct Len" TRUE
    }
    
    ObjProp "Vine8" "PhysRope"
    {
    	"Desired Length" 8.00
    	"Length" 0.00
    	"Deployed" TRUE
    	"Calc Correct Len" TRUE
    }
    
    ObjProp "Vine12" "PhysRope"
    {
    	"Desired Length" 12.00
    	"Length" 0.00
    	"Deployed" TRUE
    	"Calc Correct Len" TRUE
    }
    
    ObjProp "Vine16" "PhysRope"
    {
    	"Desired Length" 16.00
    	"Length" 0.00
    	"Deployed" TRUE
    	"Calc Correct Len" TRUE
    }
    
    ObjProp "Vine20" "PhysRope"
    {
    	"Desired Length" 20.00
    	"Length" 0.00
    	"Deployed" TRUE
    	"Calc Correct Len" TRUE
    }
    Concrete objects will have this property set directly, so the above change won't affect anything that's already been created.

    The full version of the gamesys changes:
    Code:
    DML1
    
    //Changes taken from here: https://www.ttlg.com/forums/showthread.php?t=98522
    
    ////The first section is for things that each author will most likely
    ////want to review for gameplay reasons
    //Throw jars like in Thief 1
    +ObjProp "Jar" "FrobInfo"
    {
    	"World Action" "Move"
    	"Inv Action" "Move"
    }
    
    +ObjProp "Jar" "physcontrol"
    {
    	"Controls Active" ""
    }
    
    +ObjProp "Jar" "phystype"
    {
    	"Type" "Sphere"
    }
    
    //AI
    ObjProp "Creature" "scripts"
    {
    	"Script 2" "NoticesPlayerBumps"
    }
    
    //Alarm sounds maintain full volume over a greater distance
    +ObjProp "DEVICE_ALARM" "schattfac" = 3
    
    //Immovable Barrel physics - easier to mantle, pysics don't get lost if too close to wall, barrels cannot be pushed
    CreateArch "Barrel 0" "Barrel0_Solid"
    
    +ObjProp "Barrel0_Solid" "physcontrol"
    {
    	"Controls Active" "Location, Rotation"
    }
    
    
    ObjProp "Barrel0_Solid" "phystype"
    {
    	"Type" "OBB"
    }
    
    //Cast a shadow. Runtime Object Shadow prop needed to affect the lightgem...
    //but not used here - author should set it when appropriate
    +ObjProp "Barrel0_Solid" "immobile" = TRUE
    
    +ObjProp "Barrel0_Solid" "slayresult"
    {
    	"Effect" "No Effect"
    }
    
    +ObjProp "Barrel0_Solid" "class tags"
    {
    	"1: Tags" ""
    }
    
    +ObjProp "Barrel0_Solid" "ai_objavoid"
    {
    	"Flags" "Block pathfind"
    }
    
    +ObjProp "Barrel0_Solid" "ai_objpathable" = TRUE
    
    //Small solid barrel
    CreateArch "Barrel0_Solid" "SmalBarrel0_Solid"
    
    +ObjProp "SmalBarrel0_Solid" "modelname" = "barrela"
    
    //Elemental arrows cause AI reaction but no damage, did not work consistently in testing
    +StimSource "water" "BashStim"
    {
    	"Intensity" 0
    	"Propagator" "Contact"
    	{
    		"Shape"
    		{
    			"Contact Types" "Collision"
    			"Velocity Coeff" 0.01 //copied this from noise arrow stim
    		}
    	}
    }
    
    +StimSource "EarthArrow" "BashStim"
    {
    	"Intensity" 0
    	"Propagator" "Contact"
    	{
    		"Shape"
    		{
    			"Contact Types" "Collision"
    			"Velocity Coeff" 0.01 //copied this from noise arrow stim
    		}
    	}
    }
    
    +StimSource "GasArrow" "BashStim"
    {
    	"Intensity" 0
    	"Propagator" "Contact"
    	{
    		"Shape"
    		{
    			"Contact Types" "Collision"
    			"Velocity Coeff" 0.01 //copied this from noise arrow stim
    		}
    	}
    }
    
    +StimSource "VineArrow" "BashStim"
    {
    	"Intensity" 0
    	"Propagator" "Contact"
    	{
    		"Shape"
    		{
    			"Contact Types" "Collision"
    			"Velocity Coeff" 0.01 //copied this from noise arrow stim
    		}
    	}
    }
    
    //Vine Arrow should not inherit PokeStim. Move this from RopeyArrow to just the RopeArrow
    -StimSource "RopeyArrow" "PokeStim"
    
    +StimSource "RopeArrow" "PokeStim"
    {
    	"Intensity" 1
    	"Propagator" "Contact"
    	{
    		"Shape"
    		{
    			"Contact Types" "Collision"
    			"Velocity Coeff" 0.08 //same value that was on RopeyArrow
    		}
    	}
    }
    
    //Vine arrows should attach to wood - credit to qolelis
    ObjProp "MatWood" "canattach"
    {
    	"Flags" "Rope, Vine"
    }
    
    //Same for these two:
    ObjProp "MatCarpet" "canattach"
    {
    	"Flags" "Rope, Vine"
    }
    
    ObjProp "MatVegetation" "canattach"
    {
    	"Flags" "Rope, Vine"
    }
    
    //Rope and Vine length corrections
    ObjProp "RopeArrowRope" "PhysRope"
    {
    	"Desired Length" 30.00
    	"Length" 0.00
    	"Deployed" FALSE
    	"Calc Correct Len" TRUE
    }
    
    ObjProp "PlacedRope" "PhysRope"
    {
    	"Desired Length" 30.00
    	"Length" 0.00
    	"Deployed" TRUE
    	"Calc Correct Len" TRUE
    }
    
    ObjProp "Vine8" "PhysRope"
    {
    	"Desired Length" 8.00
    	"Length" 0.00
    	"Deployed" TRUE
    	"Calc Correct Len" TRUE
    }
    
    ObjProp "Vine12" "PhysRope"
    {
    	"Desired Length" 12.00
    	"Length" 0.00
    	"Deployed" TRUE
    	"Calc Correct Len" TRUE
    }
    
    ObjProp "Vine16" "PhysRope"
    {
    	"Desired Length" 16.00
    	"Length" 0.00
    	"Deployed" TRUE
    	"Calc Correct Len" TRUE
    }
    
    ObjProp "Vine20" "PhysRope"
    {
    	"Desired Length" 20.00
    	"Length" 0.00
    	"Deployed" TRUE
    	"Calc Correct Len" TRUE
    }
    
    //Widen the cone for spotlights (existing spotlights affected upon relighting the mission)
    ObjProp "HangingSpot" "spotlight" = 15, 60, 0
    
    ObjProp "HangSpotFlush" "spotlight" = 15, 60, 0
    
    //Fire arrow colour explosion, thanks to NV
    +ObjProp "expcorona" "lightcolor"
    {
    	"hue" 0.1
    	"saturation" 0.75
    }
    //Also apply this to fire arrow itself
    +ObjProp "firearr" "lightcolor"
    {
    	"hue" 0.1
    	"saturation" 0.75
    }
    
    //Make them both brighter, also compensates for effect of colour change
    ObjProp "expcorona" "selflit" = 220
    ObjProp "firearr" "selflit" = 120
    
    //Stop robot corpese being broken up by broadheads - credit to Stan_The_Thief
    +Receptron "RobotCorpses" "PokeStim"
    {
    	"Max" None
    	"Effect" "Abort"
    }
    
    
    ////This sections is for bug fixing
    //Skull throw correction - Eshaktaar
    ObjProp "Skull" "FrobInfo"
    {
    	"Tool Action" ""
    }
    
    //Helps when object texutres include transparency, may depend on image format
    -ObjProp "Banner" "renderalpha"
    +ObjProp "ExBanner" "renderalpha" = 1
    
    -ObjProp "Fence" "renderalpha"
    +ObjProp "Railing" "renderalpha" = 1
    +ObjProp "VineRail" "renderalpha" = 1
    
    +ObjProp "catwrail12x3" "renderalpha" = 1
    +ObjProp "Catwpiece1" "renderalpha" = 1
    +ObjProp "Catwpiece2" "renderalpha" = 1
    +ObjProp "Catwpiece3" "renderalpha" = 1
    +ObjProp "catwrail4x3" "renderalpha" = 1
    +ObjProp "OfficeChair" "renderalpha" = 1
    +ObjProp "CoveredChairs" "renderalpha" = 1
    
    //Red warehouse door
    +ObjProp "RedDoor" "rotdoor"
    {
    	"Blocks Vision?" FALSE
    }
    -ObjProp "RedDoor" "renderalpha"
    
    //Containers
    ObjProp "Safe" "cfgtweqjoints"
    {
    	"Joint1AnimC" "Sim"
    }
    
    ObjProp "VicHopeChest" "cfgtweqjoints"
    {
    	"Joint1AnimC" "Sim"
    }
    
    ObjProp "LC_Chest" "cfgtweqjoints"
    {
    	"Joint1AnimC" "Sim"
    }
    
    //MoneyBox sounds were doubling due to unnecessary script property
    -ObjProp "MoneyBox" "scripts"
    
    //Prevent undead from "drowning" (all values are 0 when added, no need for config)
    +ObjProp "Undead" "breathconfig"
    {
    }
    
    //AI have 'head' as vision joint - thanks to NV
    //But not robots - thanks to Stan_The_Thief
    +ObjProp "Undead" "ai_visjoint"
    {
    	"joint" "Head"
    }
    +ObjProp "Beast" "ai_visjoint"
    {
    	"joint" "Head"
    }
    +ObjProp "Animal" "ai_visjoint"
    {
    	"joint" "Head"
    }
    
    //Chair materials
    +MetaProp "RamSofaChair" "MatCarpet"
    +MetaProp "CoveredChairs" "MatCarpet"
    +MetaProp "MechCouch" "MatCarpet"
    +MetaProp "VictorianChairs" "MatCarpet"
    +MetaProp "VicSmallDeskChair" "MatWood" //exception to the rule
    +MetaProp "RamSofa" "MatCarpet"
    
    //Beds, most already carpet
    +MetaProp "bedpostphys" "MatWood"
    
    //LC bed is stone, looks like a pedestal for displaying bodies lying in state
    +MetaProp "LC_Bed" "MatStone"
    -MetaProp "LC_Headrest" "MatCarpet"
    +MetaProp "LC_Headrest" "MatMetal"
    
    //Kithen object materials
    +MetaProp "Pan" "MatMetal"
    +MetaProp "Knife" "MatMetal"
    +MetaProp "Butcher Knife" "MatMetal"
    +MetaProp "Jar" "MatCeramic"
    
    //Objects blocking AI vision
    +ObjProp "Drapes" "ai_blkvis" = TRUE
    //All doors, with exceptions for doors with large windows
    +ObjProp "Door" "ai_blkvis" = TRUE
    +ObjProp "FrenchDoor" "ai_blkvis" = FALSE
    +ObjProp "CemetaryGate" "ai_blkvis" = FALSE
    +ObjProp "whd4x8-3" "ai_blkvis" = FALSE
    +ObjProp "Portcullis" "ai_blkvis" = FALSE
    +ObjProp "CloisterGate2" "ai_blkvis" = FALSE
    
    //Gauges should not be fully lit
    +ObjProp "Gauge" "selfillum" = 0
    +ObjProp "Transformer02" "selfillum" = 0
    +ObjProp "Transformer01" "selfillum" = 0
    +ObjProp "coil02" "selfillum" = 0
    +ObjProp "coil03" "selfillum" = 0
    
    //Moss Arrow Fix (credit to Winter Cat)
    ObjProp "Mosslauncher" "cfgtweqemit"
    {
    	"Rate" 400
    	"CurveC" "JitterLow"
    }
    
    ObjProp "mosslump" "scale" 
    {
    	"" 1, 1, 1.5
    }
    
    -ObjProp "mosslump" "cfgtweqemit"
    -ObjProp "mosslump" "sttweqemit"
    
    ObjProp "mosspad" "sttweqemit"
    {
    	"AnimS" "On"
    	"Cur Time" 0
    }
    
    ObjProp "mosspad" "cfgtweqemit"
    {
    	"Halt" "Remove Prop"
    	"Rate" 200
    	"Velocity" 0, 0, 9
    	"CurveC" "JitterHi"
    }
    
    -ObjProp "moss0.5" "scale"
    
    ObjProp "mossspore" "PhysInitVel" = 5, 0, 10
    
    -ObjProp "lilmossspore" "PhysInitVel"
    
    //Fix for fire arrow (3 sets of fletching feathers rather than 2)
    //Note Winter Cat origainally had a fix for fire particles, but these seem okay in NewDark
    ObjProp "firearr" "modelname" = "arrowfir"
    
    //Vic light swtich fix - credit to Zontik
    ObjProp "VicLightSwitch" "jointpos"
    {
    	"Joint 1" -0.06
    	"Joint 2" -0.06
    }
    
    ObjProp "VicLightSwitch" "cfgtweqjoints"
    {
    	"    rate-low-high" 0.02, -0.065, 0
    	"    rate-low-high2" 0.02, -0.065, 0
    }
    
    //Default light radius of 60 for everything
    //Static light props
    ObjProp "lanterns" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "WallSpotLight" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "MineLight" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "OldElecWallLight" "light"
    {
    	"radius (0 for infinite)" 60 //not sure if needed for brightness of 0 but does no harm
    }
    
    ObjProp "OldHangElecLight" "light"
    {
    	"radius (0 for infinite)" 60 //not sure if needed for brightness of 0 but does no harm
    }
    
    ObjProp "HangSpotFlush" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "HangingSpot" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "MechHangLamp" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "OldHangingShort" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "Streetlamp2" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "OldStreetlamp2" "light"
    {
    	"radius (0 for infinite)" 60 //not sure if needed for brightness of 0 but does no harm
    }
    
    ObjProp "Streetlamp" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "SpotStreetlamp" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "OldSpotStreetlamp" "light"
    {
    	"radius (0 for infinite)" 60 //not sure if needed for brightness of 0 but does no harm
    }
    
    ObjProp "TheatricalSpot" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "SmallTabLamp" "light"
    {
    	"radius (0 for infinite)" 30
    }
    
    ObjProp "MechFloorLamp" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "MechSpotLight" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "litemush_durabl" "light"
    {
    	"radius (0 for infinite)" 40
    }
    
    ObjProp "VicGlowGas" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "SpotLightPoint" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "SpotLightPoint" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "barberpole" "light"
    {
    	"radius (0 for infinite)" 40
    }
    
    ObjProp "CollectorTower" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "GlassChandelier" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "PaganLight" "light"
    {
    	"radius (0 for infinite)" 60
    }
    
    //Anim light props
    ObjProp "litemush_fragil" "animlight"
    {
    	"radius (0 for infinite)" 40
    }
    
    ObjProp "Flame" "animlight"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "DynFlame" "animlight"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "WindowShade" "animlight"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "Extinguishable" "animlight"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "MechTorch" "animlight"
    {
    	"radius (0 for infinite)" 60
    }
    
    ObjProp "LCLite" "animlight"
    {
    	"radius (0 for infinite)" 60
    }
    
    //Change colour and brighten to compensate
    +ObjProp "firebolt" "lightcolor"
    {
    	"hue" 0.1
    	"saturation" 0.75
    }
    ObjProp "firebolt" "selflit" = 70
    
    +ObjProp "MagicMissile" "selflit" = 50
    +ObjProp "MagicMissile" "lightcolor"
    {
    	"hue" 0.8
    	"saturation" 1
    }
    
    +ObjProp "cannonball" "selflit" = 20
    
    +ObjProp "GhostShot" "shadow" = 10
    
    //Add MatCarpet to wires so solid versions are easier to handle
    +MetaProp "Wires" "MatCarpet"
    
    //Solid wires - child archetypes created
    CreateArch "Wire8" "SolidWire8"
    
    +ObjProp "SolidWire8" "phystype"
    {
    	"Type" "OBB"
    }
    
    CreateArch "WireSnake8" "SolidWireSnake8"
    +ObjProp "SolidWireSnake8" "phystype"
    {
    	"Type" "OBB"
    }
    
    +ObjProp "PaganLight" "CollisionType" = "[None]"
    
    ObjProp "Will O'Wisp" "CollisionType" = "[None]"
    
    -ObjProp "ElecWallLight" "cfgtweqjoints"
    -ObjProp "ElecWallLight" "sttweqjoints"
    
    //Physics models
    +ObjProp "BigTable" "PhysDims"
    {
    	"Offset 1" 0, 0, 1.2
    	"Size" 12.2, 6, 0.57679
    }
    Another useful feature of the DML loading system is that if we just use "+" to add stim source, it won't make a duplicate if source is already present. I'm not sure how much of the existing source it checks (e.g. if it just checks the stimulus type or if it also compares other parameters), but we can use "++" if we really do want duplicates.
    Last edited by R Soul; 15th Mar 2023 at 09:15.

Page 5 of 5 FirstFirst 12345

Posting Permissions

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