Xanfre / T2FMDML

A collection of NewDark Thief 1/Gold and Thief 2 fan mission fixes
MIT License
9 stars 0 forks source link

Various Missing or Differing Fixes #2

Closed Skibicki closed 4 months ago

Skibicki commented 5 months ago

These are fixes which are missing or differ from files in this repo. I don't know if these fixes remain relevant.

Thief - The Flying Age

https://www.ttlg.com/forums/showthread.php?t=120288&page=19&p=2477968&viewfull=1#post2477968

DML1
//T2 FM: The Flying Age (Time Flies) by Menguzzo Stefano (Sterlino) / Fixes: miss38.mis.dml

//scrolls
ObjProp 33 "Position"
{
   "Location" 299.37, 200.67, 386.56
}
ObjProp 548 "Position"
{
   "Location" 444.056, 207.246, 374.5
}

The Mirror of Return

https://www.ttlg.com/forums/showthread.php?t=131148&page=24&p=2482789&viewfull=1#post2482789

DML1
//T2 FM: The Mirror of Return (Part 2) by PsymH / Fixes: miss23.mis.dml

//fix hanging arrows
ObjProp 1304 "CollisionType"
{
    "" ""
}
-ObjProp 1304 "PhysType"
+ObjProp 1304 "PhysType"
{
    "Type" OBB
}
ObjProp 1309 "CollisionType"
{
    "" ""
}
-ObjProp 1309 "PhysType"
+ObjProp 1309 "PhysType"
{
    "Type" OBB
}
ObjProp 1314 "CollisionType"
{
    "" ""
}
-ObjProp 1314 "PhysType"
+ObjProp 1314 "PhysType"
{
    "Type" OBB
}
ObjProp 1318 "CollisionType"
{
    "" ""
}
-ObjProp 1318 "PhysType"
+ObjProp 1318 "PhysType"
{
    "Type" OBB
}
ObjProp 1346 "CollisionType"
{
    "" ""
}
-ObjProp 1346 "PhysType"
+ObjProp 1346 "PhysType"
{
    "Type" OBB
}
ObjProp 1347 "CollisionType"
{
    "" ""
}
-ObjProp 1347 "PhysType"
+ObjProp 1347 "PhysType"
{
    "Type" OBB
}
ObjProp 1348 "CollisionType"
{
    "" ""
}
-ObjProp 1348 "PhysType"
+ObjProp 1348 "PhysType"
{
    "Type" OBB
}
ObjProp 1349 "CollisionType"
{
    "" ""
}
-ObjProp 1349 "PhysType"
+ObjProp 1349 "PhysType"
{
    "Type" OBB
}

Rose Garden

https://www.ttlg.com/forums/showthread.php?t=149379&page=9&p=2482415&viewfull=1#post2482415

DML1
//TG FM: Rose Garden (TDP20AC) by Gabor Lux (Melan) / Fixes: miss23.mis.dml

//fix hanging arrows
-ObjProp 3719 "PhysType"
+ObjProp 3719 "PhysType"
{
    "Type" OBB
}
-ObjProp 3720 "PhysType"
+ObjProp 3720 "PhysType"
{
    "Type" OBB
}
-ObjProp 3721 "PhysType"
+ObjProp 3721 "PhysType"
{
    "Type" OBB
}
-ObjProp 3996 "PhysType"
+ObjProp 3996 "PhysType"
{
    "Type" OBB
}

TSR-1000

https://www.ttlg.com/forums/showthread.php?t=149980&page=3&p=2468740&viewfull=1#post2468740

DML1

//TSR-1000: Fixes. File: miss20.mis.dml

//Loot count
+ObjProp 1960 "Loot"
{
}
//Prevent crash
+ObjProp 2422 "Scripts"
{
    "Script 0" NVDeleteTrap
}
//Prevent unlocking through doors
+ObjProp 2649 "BlockFrob"
{
    "" true
}
+ObjProp 2668 "BlockFrob"
{
    "" true
}
+ObjProp 2771 "BlockFrob"
{
    "" true
}

+StimSource 347 "EarthStim"
{
 Intensity 5

 Propagator "Radius"
 {
 Life
 {
 "Flags" "[None]"
 "Period" 5000
 "Max Firings" 1
 "Intensity Slope" 0.00
 }

 Shape
 {
 "Radius" 10.00
 "Flags" "[None]"
 "Dispersion" "Linear"
 }
 }
 }

+Receptron 347 "EarthStim"
{
 Min 3
 Max 7

 Target -2430
 Agent 0

 Effect "create_obj"
 {
 "Position" -4.5, 0.34, -10.47
 "Heading" 0
 "Pitch" 0.00
 "Bank" 270
 }
}

Vagabond

https://www.ttlg.com/forums/showthread.php?t=128504&page=10&p=2480004&viewfull=1#post2480004

DML1
//T2 FM: Vagabond (Memento Mori) by Rob Strain (Random_Taffer) / Fixes: camp2.gam.dml

#script "script"

ObjProp -14 "Scripts"
{
   "Script 2" CorpseFrobFixed
}

WoodKey Resthouse

https://darkfate.org/view/details/files/fan-missions/thief1/woodkey_resthouse miss20.mis.dml

DML1
//TG FM: WoodKey Resthouse by GOB / Fixes

//final goal
+ObjProp 159 "DiffTurnOn"
{
    "quest var values" 0, 1, 2
}
+ObjProp 159 "Scripts"
{
    "Script 0" TrapSetQVar
}
+ObjProp 159 "TrapQVar"
{
    "" =1:goal_final_3
}
+ObjProp 160 "DiffTurnOn"
{
    "quest var values" 0, 1, 2
}
+ObjProp 160 "Scripts"
{
    "Script 0" TrapSetQVar
}
+ObjProp 160 "TrapQVar"
{
    "" =1:goal_irreversible_3
}

//loot
+ObjProp 140 "PickDist"
{
    "" 5.00
}
+ObjProp 288 "Loot"
{
}
+ObjProp 289 "Loot"
{
}
+ObjProp 290 "Loot"
{
}
+ObjProp 311 "Loot"
{
}
+ObjProp 315 "Loot"
{
}
+ObjProp 316 "Loot"
{
}
+ObjProp 317 "Loot"
{
}
+ObjProp 413 "PickDist"
{
    "" 5.00
}

//AIs
-ObjProp 3 "Shadow"
-ObjProp 5 "Shadow"
+ObjProp 5 "InvRendType"
{
    "Type" Alternate Bitmap
    "Resource" ramireca
}
-ObjProp 307 "Shadow"
-ObjProp 362 "Shadow"
Link 362 262 "AIWatchObj"
{
    "   Argument 1" ""
    "   Argument 2" hall2
}
Link 362 375 "AIWatchObj"
{
    "   Argument 1" ""
    "   Argument 2" hall3
}
Link 362 379 "AIWatchObj"
{
    "   Argument 1" ""
    "   Argument 2" 292
}
Link 362 382 "AIWatchObj"
{
    "   Argument 1" ""
    "   Argument 2" hall
}
Link 362 383 "AIWatchObj"
{
    "   Argument 1" ""
    "   Argument 2" forest2
}
-ObjProp 385 "AI_AlertCap"
-ObjProp 385 "AI_Vision"
-ObjProp 385 "Shadow"
ObjProp 385 "Position"
{
    "Location" 104.6, -10.5, -7.8
}
-ObjProp 386 "AI_AlertCap"
-ObjProp 386 "AI_Vision"
ObjProp 386 "Position"
{
    "Location" 106.5, -20.7, -7.8
}
-ObjProp 386 "Shadow"
-ObjProp 395 "Shadow"
ObjProp 276 "AI_Converation"
{
    "   Argument 1"[1] ""
    "   Argument 2"[1] 274
    "   Argument 1"[2] ""
    "   Argument 2"[2] 274
}
ObjProp 277 "AI_Converation"
{
    "   Argument 1"[1] ""
    "   Argument 2"[1] 220
}
ObjProp 345 "AI_Converation"
{
    "   Argument 1"[1] ""
    "   Argument 2"[1] 370
    "   Argument 1"[2] ""
    "   Argument 2"[2] 345
    "   Argument 1"[3] ""
    "   Argument 2"[3] 370
    "   Argument 1"[4] ""
    "   Argument 2"[4] 370
}

//doors
+ObjProp 7 "FrobInfo"
{
}
ObjProp 92 "RotDoor"
{
    "Open Angle" 90
    "Clockwise?" false
}
+ObjProp 155 "FrobInfo"
{
}
+ObjProp 169 "FrobInfo"
{
}
ObjProp 195 "RotDoor"
{
    "Open Angle" 270
    "Clockwise?" true
}
ObjProp 195 "Scale"
{
    "" 1.05, 1.05, 0.895
}
+ObjProp 203 "FrobInfo"
{
}
+ObjProp 240 "FrobInfo"
{
}
ObjProp 280 "Scale"
{
    "" 1.05, 1.05, 0.895
}
-ObjProp 339 "PhysType"
+ObjProp 339 "PhysType"
{
    "Type" OBB
}
ObjProp 366 "RotDoor"
{
    "Open Angle" 90
    "Clockwise?" false
}

//chests
ObjProp 133 "JointPos"
{
    "Joint 1" 90.00
}
+ObjProp 293 "JointPos"
{
    "Joint 1" 90.00
}
+ObjProp 360 "JointPos"
{
    "Joint 1" 90.00
}
ObjProp 360 "Position"
{
    "Heading" 4000
}
-ObjProp 360 "PhysType"
+ObjProp 360 "PhysType"
{
    "Type" OBB
}
ObjProp 390 "JointPos"
{
    "Joint 1" 90.00
}
ObjProp 390 "Position"
{
    "Heading" 8000
}
-ObjProp 390 "PhysType"
+ObjProp 390 "PhysType"
{
    "Type" OBB
}

//fireplace
ObjProp 168 "PGLaunchInfo"
{
    "Min time" 2.00
    "Max time" 2.50
}
ObjProp 172 "PGLaunchInfo"
{
    "Min time" 1.50
    "Max time" 1.50
}

//duplicate key
-Link 307 332 "ControlDevice"
+Link 307 332 "Contains"
{
}

//crates
ObjProp 354 "Position"
{
    "Location" 112.9, 4.5, 3.15
}
-ObjProp 354 "PhysType"
+ObjProp 354 "PhysType"
{
    "Type" Sphere Hat
}
ObjProp 355 "Position"
{
    "Location" 112.9, 10.5, 3.15
}
-ObjProp 355 "PhysType"
+ObjProp 355 "PhysType"
{
    "Type" Sphere Hat
}
ObjProp 398 "Position"
{
    "Location" 112.9, 2, 3.15
}
-ObjProp 398 "PhysType"
+ObjProp 398 "PhysType"
{
    "Type" Sphere Hat
}
ObjProp 399 "Position"
{
    "Location" 119, 2.5, 3.15
}
-ObjProp 399 "PhysType"
+ObjProp 399 "PhysType"
{
    "Type" Sphere Hat
}

Sluggs FM Pack

https://www.ttlg.com/forums/showthread.php?t=71056&page=3&p=2482009&viewfull=1#post2482009 https://darkfate.org/view/details/files/fan-missions/thief2/sluggs_fm_pack/

miss18.mis.dml

DML1
//T2 FM: Sluggs' FM Pack (Setup) by Vaughan Cooper (Sluggs) / Fixes

//windows, door
+MetaProp 60 -5661
+MetaProp 93 -5661
+MetaProp 107 -5661
+MetaProp 108 -5661
+MetaProp 117 -5661
+MetaProp 131 -5661
+MetaProp 175 -5661
+MetaProp 176 -5661
-ObjProp 3 "DeathStage"
-ObjProp 60 "DeathStage"
-ObjProp 93 "DeathStage"
-ObjProp 107 "DeathStage"
-ObjProp 108 "DeathStage"
-ObjProp 117 "DeathStage"
-ObjProp 131 "DeathStage"
-ObjProp 175 "DeathStage"
-ObjProp 176 "DeathStage"
-ObjProp 186 "DeathStage"

//statement (goal 1)
+StimSource 65 "EarthStim"
{
    Intensity 1
    Propagator "Contact"
}
-Link 196 160 "ControlDevice"
-Link 196 4 "Route"
-ObjProp 196 "Scripts"
+Receptron 196 "EarthStim"
{
    Max None

    Target Me
    Agent -1

    Effect "add_prop"
    {
        "Prop Name" FrobInfo
    }
}
++Receptron 196 "EarthStim"
{
    Max None

    Effect "SetQvar"
    {
        "Quest Variable" goal_state_1
        "Operation" Set To
        "Operand" 1
    }
}

//switches
ObjProp 15 "JointPos"
{
    "Joint 1" -0.06
    "Joint 2" -0.06
}
ObjProp 15 "StTweqJoints"
{
    "Joint2AnimS" On
}
ObjProp 42 "JointPos"
{
    "Joint 1" 0.00
    "Joint 2" 0.00
}
ObjProp 73 "JointPos"
{
    "Joint 1" 0.00
    "Joint 2" 0.00
}
ObjProp 75 "JointPos"
{
    "Joint 1" 0.00
    "Joint 2" 0.00
}
ObjProp 78 "JointPos"
{
    "Joint 1" 0.00
    "Joint 2" 0.00
}
ObjProp 86 "JointPos"
{
    "Joint 1" 0.00
    "Joint 2" 0.00
}
ObjProp 87 "JointPos"
{
    "Joint 1" -0.06
    "Joint 2" -0.06
}
ObjProp 87 "StTweqJoints"
{
    "Joint2AnimS" On
}
ObjProp 102 "JointPos"
{
    "Joint 1" -0.06
    "Joint 2" -0.06
}
ObjProp 102 "StTweqJoints"
{
    "Joint2AnimS" On
}

//AIs
+ObjProp 91 "InvRendType"
{
    "Type" Alternate Bitmap
    "Resource" cswgard2
}
ObjProp 123 "InvRendType"
{
    "Type" Alternate Bitmap
    "Resource" cswgardm
}

//painting
-ObjProp 95 "PhysType"
ObjProp 95 "Position"
{
    "Location" 22, -55.93, 13
}
+ObjProp 95 "PhysType"
{
    "Type" OBB
}

//alarm
+Receptron 183 "EarthStim"
{
    Max None

    Target Me
    Agent -1259

    Effect "add_prop"
    {
        "Prop Name" Class Tags
    }
}
+StimSource 183 "EarthStim"
{
    Intensity 1
    Propagator "Radius"
}
+ObjProp 183 "ScriptTiming"
{
    "" 2
}
+ObjProp 183 "Scripts"
{
    "Script 0" OnOffSounds
}

//mantling
+ObjProp 201 "PhysCanMant"
{
}
+ObjProp 208 "PhysCanMant"
{
}
+ObjProp 209 "PhysCanMant"
{
}
+ObjProp 216 "PhysCanMant"
{
}
+ObjProp 217 "PhysCanMant"
{
}
+ObjProp 224 "PhysCanMant"
{
}
+ObjProp 226 "PhysCanMant"
{
}
+ObjProp 227 "PhysCanMant"
{
}

miss19.mis.dml

DML1
//T2 FM: Sluggs' FM Pack (Ferrying The IceMan) by Vaughan Cooper (Sluggs) / Fixes

//pickpocketing
+ObjProp 22 "DiffTurnOn"
{
    "quest var values" 0, 1, 2
}
+Link 22 23 "ControlDevice"
{
}
+ObjProp 22 "Scripts"
{
    "Script 0" TrapRelay
}
+ObjProp 23 "Scripts"
{
    "Script 0" TrapSetQVar
}
+ObjProp 23 "TrapQVar"
{
    "" -1:DrSPocketCnt
}

//switches
ObjProp 7 "JointPos"
{
    "Joint 1" 0.00
    "Joint 2" 0.00
}
ObjProp 19 "JointPos"
{
    "Joint 1" -0.06
    "Joint 2" -0.06
}
ObjProp 19 "StTweqJoints"
{
    "Joint2AnimS" On
}
ObjProp 25 "JointPos"
{
    "Joint 1" 0.00
    "Joint 2" 0.00
}
ObjProp 35 "JointPos"
{
    "Joint 1" -0.06
    "Joint 2" -0.06
}
ObjProp 35 "StTweqJoints"
{
    "Joint2AnimS" On
}
ObjProp 38 "JointPos"
{
    "Joint 1" 0.00
    "Joint 2" 0.00
}
ObjProp 41 "JointPos"
{
    "Joint 1" -0.06
    "Joint 2" -0.06
}
ObjProp 41 "StTweqJoints"
{
    "Joint2AnimS" On
}
ObjProp 74 "JointPos"
{
    "Joint 1" -0.06
    "Joint 2" -0.06
}
ObjProp 74 "StTweqJoints"
{
    "Joint2AnimS" On
}
ObjProp 250 "JointPos"
{
    "Joint 1" 0.00
    "Joint 2" 0.00
}
ObjProp 420 "JointPos"
{
    "Joint 1" -0.06
    "Joint 2" -0.06
}
ObjProp 420 "StTweqJoints"
{
    "Joint2AnimS" On
}
ObjProp 535 "JointPos"
{
    "Joint 1" 0.00
    "Joint 2" 0.00
}
ObjProp 536 "JointPos"
{
    "Joint 1" 0.00
    "Joint 2" 0.00
}

//doors
+MetaProp 126 -5661
+MetaProp 127 -5661
+MetaProp 162 -5661
+MetaProp 162 -2257
+MetaProp 181 -5661
+MetaProp 187 -5661
+MetaProp 344 -5661
+MetaProp 344 -2257
+MetaProp 373 -5661
+MetaProp 384 -5661
+MetaProp 385 -5661
+MetaProp 458 -5661
+MetaProp 458 -2257
+MetaProp 459 -5661
+MetaProp 459 -2257
+MetaProp 482 -5661
+MetaProp 482 -2257
-ObjProp 48 "DeathStage"
-ObjProp 126 "DeathStage"
-ObjProp 127 "DeathStage"
-ObjProp 162 "DeathStage"
-ObjProp 181 "DeathStage"
-ObjProp 187 "DeathStage"
-ObjProp 344 "DeathStage"
-ObjProp 373 "DeathStage"
-ObjProp 384 "DeathStage"
-ObjProp 385 "DeathStage"
-ObjProp 482 "DeathStage"
+ObjProp 482 "FrobInfo"
{
}
+ObjProp 384 "BlockFrob"
{
    "" true
}
+ObjProp 385 "BlockFrob"
{
    "" true
}
+ObjProp 458 "DiffLock"
{
    "quest var values" 1, 2
}
+ObjProp 459 "DiffLock"
{
    "quest var values" 1, 2
}
+ObjProp 570 "DiffDestroy"
{
    "quest var values" 0
}

//chair
+ObjProp 436 "AI_ObjPathable"
{
    "" true
}

//mantling
+ObjProp 496 "PhysCanMant"
{
}
+ObjProp 498 "PhysCanMant"
{
}
+ObjProp 521 "PhysCanMant"
{
}
+ObjProp 528 "PhysCanMant"
{
}
+ObjProp 532 "PhysCanMant"
{
}
+ObjProp 534 "PhysCanMant"
{
}
+ObjProp 557 "PhysCanMant"
{
}
+ObjProp 562 "PhysCanMant"
{
}

//scroll
ObjProp 541 "FrobInfo"
{
    "Inv Action" Script
}

//AIs
+ObjProp 558 "InvRendType"
{
    "Type" Alternate Bitmap
    "Resource" hauntca
}
+ObjProp 560 "InvRendType"
{
    "Type" Alternate Bitmap
    "Resource" hauntca
}

miss20.mis.dml

DML1
//T2 FM: Sluggs' FM Pack (Locked-In) by Vaughan Cooper (Sluggs) / Fixes

//keys
+ObjProp 20 "SlayResult"
{
}
+ObjProp 21 "SlayResult"
{
}

//scroll
-Link 22 24 "ControlDevice"
-Link 22 23 "ControlDevice"
+Link 22 61 "ControlDevice"
{
}
+Link 61 23 "ControlDevice"
{
}
+Link 61 24 "ControlDevice"
{
}
+ObjProp 61 "Scripts"
{
    "Script 0" TrapRelay
}
Xanfre commented 5 months ago

Thanks for the report!

Most of those missing are those that address the hanging arrows bug. The initial idea was to wait for more feedback before including them here. However, this was some time ago and these DMLs should work properly, so I have gone ahead and done this.

The listed DMLs for the first two missions of Sluggs' FM Pack are already included and are up-to-date, though the DML for WoodKey Resthouse was not and has now been updated. Also, you are correct that the DML for The Flying Age, the gamesys DML for Vagabond, and the DML for the third mission of Sluggs' FM Pack are missing, all of which have now been corrected. Thank you for catching this. The DML for TSR-1000 was initially excluded due to implementing a cheat, though I have now included a version of that DML with said portion removed instead.

This should cover everything, I believe. Again, I appreciate the report.