Grappling Hook Tutorial
So, you want your very own grappling hook? Just follow these easy steps and you can have one of your very own! This tutorial and demo are for Thief 2. I don't know if it will work the same in Thief 1 or not. Give it a try and let me know. 

Download the Grappling Hook Demo to see it in action. DarkLoader ready! 

Before you begin, you should read Sledge's S&R tutorial to understand a little how this works. 

To create a grappling hook, you will need to create a custom object, custom textures, a custom MetaProperty and a custom Stim. Below are the steps to do most of this. Once you have begun, you will also need to save a .mis and a .gam everytime you change something. Also, in the command window, you must type set_gamesys yourname.gam to get the Dark Engine to see your changes properly. Here we go!



Grappling Hook - Object 

Either create your own Grappling hook in a 3d modeling program, and follow an importing 3d objects tutorial or visit Schwaa and download his grappling hook. Put it in Thief2 > obj folder. You may have to create this folder. 

In the Object Hierarchy, use the drop down box and change to Archetypes. Highlight Object and click Add > GrapHook (or whatever you want to name it) 

Highlight GrapHook > Edit > Add > Physics > Terrain > Can Attach > Rope 

Add > Physics > Model > Attributes > 100.00; 20.00; 3.00; 1.00; 0.00; 0,0,0; X, Y, Z; +X, +Y, +Z, -X, -Y,-Z 

Add > Physics > Model > Controls > None; 0,0,0,0,0,0,0,0,0, 

Add > Physics > Model > Type > Sphere; 1; False; False 

Add > Physics > Misc. > AI Collides with: True 

Add > Physics > Misc. > Collision Type: Bounce; Full Collision Sound 

Add > Renderer > Has Refs > True 

Add > Shape > Model Name > graphook (this is the name of your 3d model. The .bin file in the obj folder) 

Add > Inventory > Long Description: use_GrapHook 

Add > Inventory > Max Pick Distance: 7.00 (standard picking distance) 

Add > Inventory > Object Name: MyObjectName; "Grappling Hook" (This is where you can change the in game name of the object) 

Add > Inventory > Purchase Price: 250 (whatever you want to charge if you have a loadout screen) 

Add > Inventory > Type: Item 

Add > Game > Bash Factor: 6.00 

Add > Game > Damage Model > Weapon Damage:2 

Add > Engine Features > Frob Info: Move, Script; Move, Script, Use Ammo; None 

Add > Engine Features > Stack Count: 1 

Add > Engine Features > Combine Type: grhook (this lets the game know how to combine it in inventory) 

Add > Act/React > Receptrons (Must have the custom Stim and Custom Metaproperty set up first) 

In the next box, Object = - number of GrapHook Stimulus = GrapStim No Min, No Max Effect = Add Metaproperty Target Object = Me Agent Object = - number of GrapProp (your custom Metaproperty) 

Add > MetaProperty > Materials > MatHard >MatMetal





Grappling Hook - MetaProperty 

In the Object Hierarchy, use the drop down box and change to MetaProperties. Highlight Metaproperty and click Add > GrapProp (or whatever you want to name this property) 

Highlight GrapProp > Edit > Add > Physics > Terrain > Can Attach: Rope 

Add > S > Scripts > DeployRope;;;;False





Grappling Hook - Stim 

In the Object Hierarchy, use the drop down bax and change to Act/React Stimuli. Expand WeaponStim and highlight PokeStim and Add GrapStim (or whatever you want to name the stim) 

Highlight GrapStim > Edit > Add > S > Scripts > DeployRope;;;;;False





GrapplingHook - Textures 

First, read a tutorial on custom textures. 

Create, in your Thief 2 directory, fam > Grap and put your custom textures in there. Since mine were all repeats of other textures, I added a g to the end of them. When loading in dromed, you can type load_family Grap to get to the textures. 

In the Object Hierarchy, use the drop down box and change to Textures. Highlight Texture and click Add > Grap Tex (or whatever you want to name this group) (If you have a bunch of textures that need different properties, i.e. Stone, Metal, wood, you will need to create a place for all. Possibly GrapStone Tex, GrapWood Tex, etc.) 

You should have a bunch of textures that don't belong anywhere. Move all of these to Grap Tex. (Or there respective place for wood, metal, etc) 

Now highlight Grap Tex > Edit > Add > MetaProperties > Material > (whatever material is relevant to your group) 

Add > Act/React > Sources > Add 

Object = - number of Grap Tex Stimulus = GrapStim Propagator = Contact Intensity = 0



After doing all of this, you should now have a grappling hook that will stick to select textures only. To get it to stick to an edge, on whatever ledge you want it to stick on, create a solid brush that matches the ledge, .5 high and texture it with one of the grappling hook textures. This will make it look like the grappling hook only sticks near the top of the ledge. 
Have Fun!!
