Some of the archetypes in dark.gam have properties that are not ideal, or they're missing properties that would improve them.
property from Physical > Decorative > Banner. It isn't needed and it only messes up objects with no transparency in their textures (look at DrapesRed for example)
).
childeren of this archetype should actually have it.
Remove the property, then Add it to the following: Railing, VineRail, and everything under catwalk except for the two 'support' archetypes (i.e all the ...rails and ...pieces).
Copy the below into a DML file to apply most of the changes suggested in this thread:
(most dromed installations will have a "Load DBMod" item in the File menu. Alternatively use the dbmod_load command)
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
}
This creates yellow-tinted copies of the 3 existing HackLight archetypes, which can be nice for the lit version of the window textures of the City family: