[suggestions] more mechanics? stamina system, counterattack, etc
k1r0s opened this issue ยท 5 comments
stamina and armor
stamina can be used to perform following actions. If no stamina, these actions would be denied:
- Parrying
- Dodging
- Critical striking
- Backstabing
stamina system would be great as its regeneration can be determined by the type of armor (amount of defense = more defense, more heavier armor)
melee
- Avoiding throwing weapons if shield is in the offhand
- Counterattack: if empty offhand, by pressing rightclick and any direction key (WASD) while enemy is attacking will block the incoming attack and push the enemy in that same direction exposing enemy flank (would be cool if the enemy gets a FOV effect like zoom to miss enemy position)
to elaborate a bit on the Counterattack mechanic:
Should be a way to counter consecutive parrying. In real sword combat, tempo is crucial, by reading the timing of your opponent you can make him lose balance by driving his attack to the ground. This mechaninc might seem quite advanced but it should be straightforward to implement and very fun to play around!
This feature will need to include a right click action for swords and some animation tweak like tilting the sword:
We need this bcoz it will be relevant for the attacker to know that the defender issued a counterattack, bcoz if that fails the attacker will be able to punish.
A counterattack is issued by right clicking while holding a sword, the counterattack position spans for 1 second. The defender, while in this position, can hold any direction key (WASD) to drive the incoming attack. If the defender is attacked while in counterattack position the attacker is pushed to whatever direction the defender was holding.
- If the counterattack lands the attacker will also receive a weakness effect for 1 sec and his FOV will zoom to the ground for half a second.
- If the attacker does not commit (reads the counterattack) or for whatever reason the counterattack is not successful the defender (issuer) will be unable to attack nor counterattack for two seconds.
In order to code this I thought on listening the LivingHurtEvent event for pvp damage and check if the target entitiy is in counterattack position. Then apply those bad effects to the source.
It seems to me the underlying issue is that parrying over and over feels unfair. A lot of other people feel the same way. While I think counterattacks are too complex, I have a plan for countering repeated parries, as well as tying it into my plans for shield balance and tweaking. Its sort of like your stamina idea but not quite.
ok, np. I would like to try that out. In didn't had time either to submit a PR on this since it requires more time and expertise..