-
Notifications
You must be signed in to change notification settings - Fork 19
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
Possible Bug: Pressing Dig while climbing drops item in addition to letting go, with jump and run control #119
Comments
Yes, it looks like a bug (and it also annoyed me very much when trying JnR). |
Well for my gamepad patch it does not matter much, because COM_Jump is a separate button, so you can just press A (Jump) to let go without dropping items or press B (Dig) to let go with dropping items. For keyboard control I don't really care much. So if the bug has grown into a requested feature, I'd be fine with closing this issue. However, players who want to do this could still press "Throw then immediately Dig" to achieve the same effect. It's not as if fast button combos are unheard of in Clonk. Just saying. In the end it's your call, I don't care either way. |
If I remember correctly, the horizontal drop position is different when using Dig. I once had an idea of creating an improved JnR scheme which would be the new default, but opt-in for existing players. The idea included fixing this. I don’t recall the other changes. Perhaps I can still find the discussion somehow. |
I don't quite understand the first point in the survey. Neither the JnR controls nor the classic controls drop items on Dig or Down in the
I also considered implementing my Xinput gamepad controls, with an explicit jump button, as On the other hand, I might still do it, because it would allow a bit more freedom to change the controls to be more gamepad/analog-stick optimized without impacting keyboard controls. But I don't think it would be worth the effort for just this one |
You drop items after falling down when you hangled, because it still has the JnR input for Down active for half a second. This sometimes leads to you dropping your weapon (like a spear or gun) or item on yourself that you would have wanted to throw or shoot. With classic this doesn't happen because you need a second down press for dropping an item. |
Ah yes, that makes sense. Luckily I didn't encounter that behavior yet in my tests. But I see how it would be seriously annoying in a fight, or when dropping a flint on a slope. Fixing that probably requires more than a I'll definitely fix that in my gamepad patch. If you think it's a good idea, I can create a PR for the main branch with just those changes. |
Thanks to @Danghorx ’s poll results, I think it is reasonable to fix it unconditionally. |
Regarding dropping of weapons only, this would need to be fixed via Clonk and individual object scripts. |
If it is easily implemented, you could implement both JnR "Bug-fixes" and let it be tested by the players. And if it is accepted and doesn't break anything, it can stay this way. Otherwise you can revert the changes. |
Is there a reason in the code why pressing dig while scaling or hanging lets the clonk go of the wall or ceiling? This happens only with JnR. |
It is there since the first commit to this repository, so I guess someone must have thought that the dig key is underused when first inventing the JnR mode. |
I've found another weird behavior connected to this: When hangling in a very low corridor and pressing Dig to let go, the clonk would start digging immediately after landing. But if the fall takes longer than This is clearly a bug, so I fixed it in the same commit. |
I couldn’t find the discussion, but Danghor’s and your insights reminded me of a few things.
However, especially the last point is strongly biased due to my experiences. I started playing Clonk with Clonk Planet, which only had classic controls, so I always have been very used to pressing [Down] for stopping.
For this reason, I was considering to (internally) use a separate flag, or change ControlStyle to a bitfield. For the sake of having a distinction between [Up] and [Jump] a similar idea could apply: Set a new flag when a dedicated [Jump] binding shall be used and only add the check at the point where you want the change. |
The second point is implemented in #120, but I'm not so sure about 1 and 3. Having [Dig] as a "Let go" key is quite useful, because it removes the need to decide whether to press [Left], [Right], or [Down] to let go, depending on your current climbing/hangling mode. And since [Dig] has no other useful meaning during climbing that I can think of (except a hypothetical item that you could trigger with [DoubleDig] while climbing/hangling) I see no harm in keeping it. The third point makes sense from a design perspective, but that should surely be default only for new players, and opt-in for existing players. Otherwise it would trip up existing JnR players, similar to how you are still used to classic controls. (PS: I started with Clonk 1, but Planet was the start of my programming career :D)
Yes, that's what I did in my Xinput gamepad PR: |
Good point.
Activating items is heavily used in Eke Reloaded, we disabled the engine behavior because of that for Eke Reloaded CE.
Yes, keeping it the same for existing players is a precondition for these proposed changes. PS: My programming career started with Clonk Rage. :D |
The JnR behaviour with dig and letting go of the wall or ceiling is not worth it. I prefer a direct action like down for dropping myself or left and right to let go of a wall. It could lead to accidents when you dig in sky ilands or you need to dig to move more precise. JnR to Classic is here also different: JnR scales on a right press on a right wall, but classic stops the clonk.
I always wondered why it is not allowed to use items in the air/scaling/hanging with double dig. Its hidden for newer players. And it is mentioned nowhere that you can do it with special 2 in the air or on walls. Also this special 2 desaster on walls with normal EKE is just uhh... |
Description says it all. Should there be a
break
at the end of this line?LegacyClonk/src/C4Object.cpp
Line 3599 in a08f927
I noticed this because my
COM_Jump
implementation copied that line and also dropped items when letting go. It seems unhelpful to have a key that does "let go" and "drop" at once, because you can collide with the dropped object, or fall into the explosion of the flint you just dropped. If you wanted to do both, just press both keys at once.Interestingly, the
DFA_Scale
case inC4Object::DirectCom
(line 3421) does not mentionCOM_Dig
at all. It's only inC4Object::AutoStopDirectCom
.The text was updated successfully, but these errors were encountered: