LIBERTY HAND v1.1
by @Mattdek_

Grab, pull, push, throw and pin vehicles, pedestrians and movable objects with
your cursor. Link targets together, reel in their cables, or pull a door loose.

REQUIREMENTS

- GTA IV Complete Edition 1.2.0.59.
- A working ASI loader and Complete Edition-compatible ScriptHook.
- ScriptHookDotNet 1.7.1.7 BETA.

The mod supports GTA IV, The Lost and
Damned, and The Ballad of Gay Tony. 
Versions supported:
Complete Edition. Other versions might not work as intended as they're untested.

INSTALLATION

Copy these five files into your GTAIV\scripts folder:

  LibertyHand.net.dll
  LibertyHand.ini
  LibertyHandLogo.png
  LibertyHandAura.dll
  LibertyHandAuraTrace.dll

Create the scripts folder if it does not exist.

Updating? Back up your old INI first and replace the previous Liberty Hand files.
Use the included INI for the v1.1 defaults, then reapply any personal settings.
Do not keep duplicate copies of the main script under different filenames.

DEFAULT SETTINGS

Pull and push start at 1x, with the Normal force preset and up to eight tethers.
Aura is the default highlight. Hinges, winching and sounds are enabled.
Experimental features and standalone diagnostics are disabled.

INTERACTION CONTROLS

Hold Left Alt to enter interaction mode. Keep it held while using the hand.

Hold left mouse       Grab the target; release left mouse to let go.
Move mouse            Pull the held target.
Mouse wheel           Adjust how far into the world the cursor holds it.
Right mouse           Push the hovered target.
Hold right mouse      While grabbing, charge a throw.
Release right mouse   While still holding left mouse, launch the target.
Middle mouse          Pin / unpin the hovered target.
R                     Cycle Distance / Pull / Push tuning.
Q / E                 Decrease / increase the selected tuning value.
T                     Cycle Gentle / Normal / Heavy / Chaos.
G                     Select the first tether target, then the second to link.
G on a linked target  Remove that target's tether connections.
Shift + mouse wheel   Over a linked target, shorten / lengthen its cable.

Pull strength controls how strongly a held target follows the cursor.
Push strength changes pushes and charged throws. Distance changes the holding
depth along the cursor, not the strength of the pull.

For detachment, grab near a vehicle door, hood or trunk and pull outward.
Keep Alt and left mouse held. A usable detached panel is grabbed automatically;
if no panel can be grabbed, the car stays selected and pulling resumes.
There is a brief pause in physical pulling while the door calls are processed.

FREECAM

Alt + C               Toggle freecam.
W / A / S / D         Move.
Mouse                 Look around with Alt released.
Space / Q             Move up / down.
Hold Left Shift       Gradually increase movement speed.
Hold Left Ctrl        Gradually decrease movement speed.
B                     Return the camera to the player.
J                     Teleport the player to the camera's exact position.
Hold Left Alt         Use the hand from freecam.

If the player is inside a vehicle, J moves the whole occupied vehicle.
Teleporting can place you in midair, so check the camera's position first.

SETTINGS MENU

F9                    Open / close the menu.
Wheel or Up / Down    Browse options.
Tab / Shift + Tab     Change category.
Left / Right          Adjust the selected value.
Enter                 Activate the selected option.
Escape                Close the menu or cancel a key assignment.

You can also use the cursor. Click an option once to select it and read its
description; click the same option again to change or activate it. These are
separate clicks, not a timed double-click. Numeric options have -/+ controls.
Click a tab once to open it. Changes apply immediately and save to the INI.

F8 enables / disables the mod. F10 reloads LibertyHand.ini.
Controls can be changed under Keybinds or in the INI.

HIGHLIGHTING AND EXPERIMENTS

Choose Aura or Box under Visuals. To switch through the INI, set
TargetHighlightMode=Box under [Visuals], then press F10.
Aura requires both accompanying native DLLs. Box does not.

Static-prop uprooting is shelved and disabled by default. Many map props remain
fixed by the game. Tether-hand reactions are experimental and disabled.
Individual limb selection is not implemented; do not enable its reserved setting
expecting body-part grabbing. Wheels cannot be detached by this feature.

TROUBLESHOOTING

If the mod does not load, check the scripts folder and modding framework first.
If Aura is unavailable on your setup, try Box mode. Mission interaction and
multiplayer interaction are disabled by default. Extreme tuning, collisions, and
other scripts can affect the physics.

For a bug report, include your game version, installed mods, what you were doing,
and LibertyHand.log from GTAIV\scripts, plus ScriptHookDotNet.log if available.

UNINSTALL

Close the game and remove the five Liberty Hand files listed above.
