Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Do good.
If the Combat mode is disabled, most of the actions performed on the characters are supposed to be non-harmful (at least, not directly, see details below):
LEFT_CLICK on an active target character, while having an empty hand and Combat mode is disabled, will result in giving the target a hug. (This action also pets animals)
LEFT_CLICK on a knocked down target character, while having an empty hand and Combat mode is disabled, will result in an attempt to help the target back up on their feet.
LEFT_CLICK on a target character in a critical condition, while having an empty hand and Combat mode is disabled, will result in an attempt to perform CPR and revive the target.
Combat is a character-on-character interaction system that mainly focuses on keeping player character and allied characters alive/functional and rendering hostile characters not-alive/functional.
The main tools of character-on-character interaction are clicking on the character and the body part selection dummy:
Clicking on a target dummy’s body part would select it and highlight it for the player. It would be used for context related character-on-character interactions, such as aiming or disarming. Same dummy is used for medical purposes.
It is used for the most common type of characters: anthropomorphic ones, such as humans, abductors, plasmamen or podpeople. For lizardmen, felinids, mothmen or xenomorph-expy creatures additional features can be added, such as tails, wings or antennae.
hit/punch people with or without an item in one's hands
disarm the target
shove the target
grab and pull the target
throw the target
Fireman carry target
throw things at the target
shoot the target
taze/inject/forcefeed the target
There should be a battle mode (harm) and a non-battle mode (help), that should affect the effect of the click on the other character. There should be an ability to:
Body parts can also be selected via hotkeys, native for experienced SS13 players.
Creatures like goats, cows, dogs or space carp would need their own target dummies. If a player clicks on a non-standard creature, the target dummy would change from standard to edited one. If the changed one is still anthropomorphic, the original selected body part would remain. Otherwise, the torso or a center of mass would be automatically selected.
Do bad.
LEFT_CLICK on an active target character, while having an empty hand and Combat mode is enabled, will result in an attempt to punch the target in the selected bodypart.
(On standing targets player character will attempt to punch the target, which deals 1.5-15 stamina and 1-10 brute (CRUSH subtype) damage. The chance to miss a punch increases the more stamina and brute damage player character has. Punching has a chance to knockdown the target for at least 4 seconds. The more brute and stamina damage the target has, the longer the target will be knocked down.) For more info on Stamina and Damage types, visit Health design document: Health/Medical design document
Suggestion: longer LEFT_CLICK should result in a stronger, slower attack.
LEFT_CLICK on a knocked down target character, while having an empty hand and Combat mode is enabled, will result in a kick of the target in the selected bodypart. (The kick deals 1.5-15 brute (CRUSH subtype) damage and has no chance to miss.)
The damage of any attack that is made using character's muscles should also depend on the
Overall health condition of the attacker
Health of the limb used to attack
Stamina amount (debatable)
One of those factors (chosen by the worst condition) should reduce character's damage with melee fights.
Keep it close and personal.
LEFT_CLICK on a grabbed (lvl1) target character while Combat mode is disabled will result in careful Fireman-carrying the target (Should prevent the target’s body from collisions with objects on the floor). Attempt to grab the already dragged inactive targets/inanimate objects of comparable size should result in the same type of animation. The action itself needs 2 empty hands, and the same amount to safely put the body down. While Fireman-carrying the target, one hand is permanently unavailable.
Grabbing an already grabbed (lvl1) target character will result in grabbing the target stronger.
(This action automatically enables Combat mode) (The resulting aggressive grab (lvl 2) would be N% harder for the target character to break from. Disabling Combat mode would make lvl2 and higher grabs become lvl1 grab again. All grab moves from lvl 2 and higher require Combat mode enabled)
LEFT_CLICK+CTRL on an active target character, while having an empty hand and Combat mode is enabled, will result in grabbing the target in the aggressive grab (lvl 2) right away.
Grabbing an aggressively grabbed (lvl2) target character, while having two empty hands, will result in automatically switching to the neck (or head, depending on the UI detail) on the UI dummy and grabbing the target even stronger.
(The resulting neck grab (lvl 3) would be M% (where N<M) harder for the target character to break from.)
These levels serve a purpose of the preparation to choking someone and giving plenty of opportunities to back down, just in case.
Grabbing a target character already grabbed by the neck (lvl3) will result in an attempt to strangle the target.
(The resulting strangling grab (lvl 4) would be L% (where M<L) harder for the target character to break from. Target in the strangling grab would be dealt suffocation damage over time. Target character may attempt to resist being grabbed with a certain chance of success.)
The Combat Mode switch was designed to rework the intent selector, traditional to the 2D Space Station 13 for 3D environment. The intent selector allowed you to choose how you're going to interact with the items and the environment around you, utilizing four modes: Help, Disarm, Grab, and Harm. Now they are reworked to allow more actions:
Seize what you need.
CTRL+LEFT_CLICK on an active target character, while having an empty hand and Combat mode is disabled, will result in grabbing the target.
If used on humanoids, the grab on the torso allows the player character to pull or push the target with it.
Grabbing the hand of an active target character while Combat mode is disabled will result in an attempt to extend own hand to the target character.
If the player character’s arm is not empty, target character has an option to take the item, as long as they have an empty hand.
If the player character’s arm is empty, target character has an option to put their own item into the extended hand, as long as they have an item in hand OR to shake hands, if both characters have an empty hand.
Grabbing the hand of an active target character while Combat mode is enabled will result in an attempt to DISARM: take an item from their hand or make target drop it from the said arm (if it’s not empty), or prevent the target from using their arms to fight and/or grab (if it’s empty).
Grabbing the leg substantially slows the target’s movement. (if too complicated to implement or confusing in gameplay, might be worth automatically switching to the arms or body)
Grabbing the inactive target by any bodypart should result in an animation of the player character dragging the ragdoll (or IK-rigged) target by the selected bodypart. (Also works for inanimate objects)
Clear your personal space.
RIGHT_CLICK on an active target character, while having an empty hand, will result in an attempt to push the target.
(IK-rig needed. Target character should be pushed in the direction of the push and slowed down very slightly for 3 seconds, unless they collide with any other objects. In case of said collision, the target character should become a ragdoll for 3 more seconds starting from the collision time.)
RIGHT_CLICK on a target character that grabbed the player's character, should result in an attempt to push away the target and disable the grab (with a certain chance).
Direct stuff where it needs to be.
TOSS/THROW
Holding CTRL+RIGHT_CLICK while having an item in hand or holding a target character in a grab, will result in the player character preparing a throw. An arch-like trajectory indicator should appear and follow the cursor, indicating the supposed trajectory of the thrown object, where landing point ending where cursor points. (Works regardless of the player's current combat mode.)
Warning: might be too OP. In that case, the trajectory trail should be either disabled or become more transparent the greater the distance to the intended target.
Suggestion: trajectory indicator should fade away the longer distance a thrown object should travel if thrown, as bounce prediction over long distances might be too OP. Alternatively, it can be only visible with an item perk, like AR glasses (if anybody would use them)
While aiming at the active target character, while having an item in hand and if Combat mode is enabled, trajectory indicator should “stick” to the bodypart of the target, selected in the UI dummy.
(If Combat mode is disabled, indicator should treat other characters no different from other environment entities (no “auto aim” at the characters))
LEFT_CLICK while aiming on an active target character, while having an item in hand and Combat mode is enabled, will result in throwing the item in the active hand at the target character.
The damage of the item, shall it hit the target, should be calculated from the weight of the item + it’s perks (to decide the damage type, for example *sharp* should result in dealing a certain amount of SLASH damage) + health and stamina conditions, as stated in the HARM section. If Combat mode is disabled, LEFT_CLICK will result in tossing the item in the active hand, dealing no damage (or less damage then when throwing)
LEFT_CLICK while aiming anywhere in the gameworld while holding an item, will result in throwing the item at the cursor.
(Works regardless of the player's current mode.) (Holding a target character in a grab should throw the target character’s ragdoll in the general direction of the cursor) (Can be used to toss grenades: activate the grenade and toss it in the direction of the target.)
There are several options proposed on how to deal with item interactions when tied to the intents, but one overall rule remains: items that are made to be used on a character should be easily used on them if needed. In other words:
LEFT_CLICK on an active target character, while having an item that's marked as "helpful" in hand, will result in the primary interaction of the item applied on the target character. (Works regardless of the player's current mode.)
(For example, clicking on another character with a syringe or food in your hand will make you attempt to inject or force feed them)
LEFT_CLICK on an active target character, while having an item that's marked as "harmful", either "melee" or "ranged", in hand, will result in an attempt to use the item on the target character accordingly (see section WEAPONS). (Works regardless of the player's current mode, but this action automatically enables Combat mode)
The rest is divisive. The items that were not made to be used on humans, ideally, should still be used on them in some way. For example, the toolbox.
Option true to the SS13: LEFT_CLICK on an active target character, while having an item that's not marked as "helpful" or "harmful" in hand will result in an attempt to bash the target character with this item. (Works regardless of the player's current mode.)
This, however, has a problem of player/character disconnect (RP stuff) and it generally wouldn’t make sense hurting someone with the HELP intent. For this purpose, another set of options was suggested:
LEFT_CLICK on an active target character, while having an item that's not marked as "helpful" or "harmful" in hand, will result in:
a message "You can't help this person with your hands full" (Works regardless of the player's current mode.)
an attempt to bash the target character with this item. In HARM mode, the rules for improvised melee weapons apply. In HELP mode, the damage is reduced to ⅓ or less, depending on the traits of the item, such as "sharp" or "chemical" or "breakable"
an attempt to bash the target character with this item. In HARM mode, the rules for improvised melee weapons apply. In HELP mode, the damage is reduced 0, so only the effect of the hit (such as the animation and the sound) remains
an attempt to bash the target character with this item (In HARM mode) or an attempt to drop the item and help the target character with a freed hand (In HELP mode)
an attempt to bash the target character with this item (In HARM mode) or an attempt to offer the said item to the target character (In HELP mode)
MELEE
LEFT_CLICK on an active target character (any part of it), while having a melee weapon (or basically any item that can be used as one) in an active hand, will result in an attempt to make a fast hit (punch with something blunt or jab with something sharp) in the selected bodypart.
Suggestion: longer LEFT_CLICK should result in a slash attack for blade melee weapons (like swords),
longer hits with contact-type weapons (like stun-batons)
or stronger, slower heavy attack for weapons that rely on brute force (like hammers)
where the longer the time of holding the LEFT_CLICK, the wider the swing (or the longer the contact with the contact-type weapons, like stun baton or soldering iron).
The choice of the attack type might depend on the weapon’s primary (biggest) damage type or might be a completely separate thing, specifically programmed for melee.
Reference for how the melee fight should look/feel like pace-wise:
Reason for this is that in Space Station 13 the fights mostly consist of attacks that occur on click on the opponent, which means the fights are made with fast hits and instant attack startups in mind.
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.
Different melee weapons have a different range and arc of reachable targets. A spear can reach far, but with a very narrow angle. A hammer has low range but with a wider arc of reachable target.
Below is a picture of a stun baton and a bat, and their respective arc and range.
Aiming in SS3D implies two things :
Selecting a target entity.
Selecting a body part on this entity.
Attacking a player happens when left clicking, therefore, click position matters to determine which entity to target.
First, an entity must be reachable to be targeted, meaning it must be in the area determined by Range and arc of the melee weapon.
This one is simple, if the target is reachable and the click is on the entity, the entity is selected.
If the click occurs outside of arc and range of the weapon, the selected entity will be one that :
Is reachable.
Is the closest from the player.
If the click occurs inside arc and range, even with a reachable entity, the target will be whatever was clicked on. This allow to smash an item (or just the ground) in close proximity of another player.
Out of combat mode, selecting a target relies solely on the interaction system, it therefore implies clicking on the target, and some checks are done to verify if the hitting interaction can occur.
Here's a drawing to sum it up : (This one assumes direction of aim is following player's rotation, look at the aiming's direction part for more details on this particular point)
The consensus is that it's simpler for now to simply use the targeting doll to select the body part one's want to hit.
The targeting doll allows one in the UI to select any given body part on a humanoid character. In case where one of those body part would be missing, the next closest body part would be selected (missing right hand and right hand selected -> hit right arm).
In combat mode, the direction of hitting should follow the mouse, it's independent from character's body rotation (note that in this mode the character is strafing).
Timing refers here to the time it takes between choosing a hit interaction, and landing the hit.
A simple solution could be first to reduce this time to zero. However, we might note that it'd be hard to make sense of animations if a player takes a hit before the swinging animation of the weapon even started. This is a point to consider, ongoing discussion.
In combat mode, strafing will be the main way of moving around, with the player's torso direction following the mouse cursor.