-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Grab #30011
base: master
Are you sure you want to change the base?
Grab #30011
Conversation
Yes please! I can't wait to forget and accidentally start choking the secoffs! |
Uh... Whats wrong with Test Packaging test?.. |
Not sure if this would be a blocker for the PR but a doc exists for Grapple Systems which was approved but not merged. space-wizards/docs#213 It'd be nice if a maintainer could weigh on in that. |
Oh, okay |
I tried it and I have some UX and maybe design observations: Reptilians can grab without using hands at all levels, including apparently choking other players hands-free with their tail. They should probably use hands for the higher tier grabs like others? When Player1 releases Player2, Player2 gets a popup saying "You are trying to escape" rather than telling them that Player1 released them When a player tries to escape a grab, there is no proper communication from the game about what's happening, is this actually taking some time? Did it succeed did it fail? The grabbing player is also not notified in any way about attempted and succesful escapes There does not seem to be a way for the Grabbing player to reduce the level of the grab (ie stop choking the target) The PULLED and PULLING alert icons should display the current grab level Edit |
Im not sure about it
oh. will fix that rn
There are no popup showing that you're trying to escape?
Would be fixed
Maybe it would be good to be able to lower the level by dropping virtualitem and clicking on the alert while in combat mode, but Im not sure
I don't have such icons yet. I can draw them to display the type, but it probably will be awful |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Ah yeah that's a somewhat fair point, the title should probably be changed given that no literal intents are actually involved (which is good) |
I personally just find them to be unnecessarily clunky for things that could be done contextually (in the same way that we killed disarm intent by just making it right click to disarm) |
we could also make it so that trying to ctrl click on someone you're already pulling increases the grab level, so like one click to soft, two clicks to hard, three to fucking murderise |
should be an animation when you trying to grab (like punch/push animation) |
But that's literally how it works here |
i didnt read any of that i just saw intent and had an allergic reaction |
lol |
uh |
virtual items are cursed |
How do you throw people using this? |
I agree that this needs better visual cues or people will start choking each other by accident without noticing. There should also be popups for all stages for the grabber, the grabbed person and third persons (at least if the animation does not show this clearly). "Urist McHands starts choking you" Especially throwing ist not visually distinct from pulling. Maybe throwing someone should rotate his sprite like it does for objects? If I am a security officer watching a fight I should be able to see if they are just pulling each other or choking/throwing to be able to decide if I need to step in. |
There are these popups. Video has first version of grab so it doesnt have them. I'm currently trying to rewrite throwing because its awfully made. But rotating thrown person will be looking... Not really good |
Give me grab or give me death |
Okay all shit with netPredict fixed, xd |
I really changed only one system and two components, but I don't give a fuck, just like I don't give a fuck about creating client systems for the sake of popups. @FaDeOkno you can take my solution |
@metalgearsloth I'll ping you since the author didn't provide a link to his docs: space-wizards/docs#261 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's best not to make changes to code you haven't gotten into
@@ -1,4 +1,4 @@ | |||
using System.Linq; | |||
using System.Linq; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think u dont need linq for this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didnt touch this line
Instead of doing a full RNG % system to break out of grabs i recommend making it a short do-after that is uninterruptible and making it similar to how league of legends does crit chance and doing a markov chain to do RNG instead of just a straight % chance. This would make it so its not just lottery on if you get out in the first try or the 20th (or at least it will help a lot). This will be hard to code i assume but i have no fucking clue i just think its a better system than full RNG cause its not fun imo to just gamble on stuff like shoves for example it feels skilless and unfun. So to better state this system simply makes it so everytime you try to break free you gain more % on the next try. So for example on that it would be X% for the first time and then go up and up every time you try and break out by whatever arbitrary X% you think would be balanced. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Bump |
Bump x2 |
Maintainer discussion purgatory |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
I wouldn't wish that on my worst enemies.. |
just a week away |
e design doc is still not accepted |
💀 |
About the PR
This PR adds Grab (Yellow intent system) into the game. You can grab someone softly, hardly and start choking them. Also you can throw grabbed entity.
Why / Balance
Grab is a core mechanic in SS13, so I've decided to move it in SS14
Technical details
The main system was made in the PullingSystem.cs. It checks when you are trying to pull someone, and if you have combat mode on, changes GrabStage to higher. When you're trying to unequip VirtualItem, it checks combat mode and lowers grab stage if on
Media
First version of Grab:
https://youtu.be/E_pl2XdckM4
Final version of Grab:
https://youtu.be/ZCQ1AKkN9tY
Breaking changes
VirtualItemDeletedEvent got Virtual Item uid field
Added VirtualItemThrownEvent. It is rised when user attempted to throw Virtual Item and contains the direction.
Added VirtualItemDropAttemptEvent. It is rised when user attempts to drop OR throw Virtual Item. This event is cancellable, and contains bool if this was a throw or just drop attempt.
Changelog
🆑