RANGED
Holding RIGHT_CLICK, while having a ranged weapon in an active hand, will make player character to aim at the cursor.
The character should follow their aim at the location cursor points at freely, until it points at the target (human or other living being that has individual parts that can be aimed at).
If cursor overlapses with the target, the aim of the character must automatically lock on and aim at the middle of the bodypart of the target, that was selected on the UI dummy.
Aim (and the animation of the aim via IK, probably) should change if the targeted bodypart on the dummy was changed via hotkeys.
In case the part of the character that is currently aimed at is obstructed, the aim on the UI dummy should be disregarded and the aim should remain “free” as in unlocked from the target and should simply follow the cursor.
If the said part of the character is no longer obstructed while the “free aim” is still on the targeted character, it should remain that way to prevent aim jumping. To re-aim and lock onto the targeted bodypart, cursor must be moved from the target character and then moved onto it again.
LEFT_CLICK while having a ranged weapon in an active hand AND aiming (holding RIGHT_CLICK) should make the gun shoot in the direction of the current aim, free or not.
There should also be a chance to miss the body part that is aimed at within a certain radius (represented by the transparent red circle on the image below) or even miss the character entirely.
This error radius should depend on:
· type and integrity of the weapon
· condition of the aiming character’s body (especially the arm holding the weapon)
· other effects on the aiming character, such as medication, drugs, alcohol or other
- Distance between characters
Once the point of the shot is established aiming should be locked (player should still be able to move the cursor), the animation of the fired shot should play for the character, damage and force of the shot should apply to the target. After that, the aiming process should continue as normal.
In case of the automatic weapons or other weapons that fire continuously, established aiming should not be locked, but should remain “free” from the point of starting fire (both time and aim coordinates). For example, longer LEFT_CLICK while aiming at target’s chest with a flamethrower should result in continuous fire in the general direction of the target’s chest, but
LEFT_CLICK while having a ranged weapon in an active hand will make player character shoot from-the-hip style, aiming rules above applied.
LEFT_CLICK on an active target character, while having a ranged weapon in an active hand AND aiming (holding RIGHT_CLICK), will make the player character shoot, aiming at the targeted area.