[A16] Melee Skill Rebalance [Updated 3/04/2017]

Started by oreganor, March 23, 2017, 01:54:29 PM

Previous topic - Next topic

oreganor

= HOTFIX VERSION 1.2.1 =

Changes:

- Fixed Critical Null error while attacking buildings.



I said that 1.2.0 was the last version to release as attachment, but due to the extremely disruptive nature of the bug and how simple it was to fix (I commented the wrong line by accident :( ), I prefer to release this fix now while I'm still cleaning and preparing the github repo. Sorry for the inconvenience.


The mod is STILL savegame friendly. When/If I do something that leaves a trace on the savegame I will clearly announce it.
Contributions:
Melee Skill Rebalance

Canute

Fast responce author ! :-)

But from my side as user of the mod, i don't care if you just made an attachment, put it on any download hub or github.
I just want click on a link and get a download.

XeoNovaDan

Nice to know you're posting about these updates too, so everybody who posted on this can be up-to-date :)

Ulthat

Melee needed some love on this game, nice mod, keep the good work!  ;)

BluealienWilson

Really nice mod! Makes it so Melee battles are better and more Intense, also Makes it so Raids are alittle more fun!
God help us all.

oreganor

#35
= NEW VERSION 1.3.0 =

Changes:

- Added Attack Mode command.

- Added Basic Localization: English.


Current Attack modes are the following:


Kill Mode
In this mode your pawn fight regularly and occasionally will do double damage.
Capture Mode
In this mode your pawn will do half damage and when a special effect happens will inoculate a powerful anesthezise effect on the target. This means you will not be able to affect mechanicals with this effect... So watchit.
Stun Mode
In this mode your pawn will do half damage and occasionally Stun his/her opponent for around 10 seconds. Ideal to suppress powerfull enemies or to be able to move away without been staggered.
Disarm Mode
In this mode your pawn will NOT DO ANY DAMAGE (He is aiming at enemy's weapon) on a regular hit, but when a special effect happens, the opponent will drop his/her weapon to the ground. Remember that plenty of Mods and Vanilla opponents' weapons are instantly destroyed when touching the ground... So don't expect to go around wielding too many Inferno Cannons ;).

Each Mode has a Threshold and a Chance (You can check them on the tooltip). Threshold controls the effective melee hit chance a Pawn has to have to be able to trigger the special effect of the Mode. The chance that a regular hit triggers the Special Effect of the Mode, surprinsigly :), is the Chance. A numeric Example should make all this clear (I hope :) ):

Gronan (90% melee chance) and Wally (30% chance) are fighting each other... Gronan is trying to Capture (T: 40%, C: 25%) and Wally is simply on Kill (T: 20%, C: 33%). Leaving other factors aside, Gronan effective chance to land a hit against Wally are 63% = 90% * ( 1 - 30%). As Gronan's effective chances are higher than his current mode threshold he has roughly 16% chance per attack to incapacitate Wally (Effective chance 63% times chance of special effect of the current mode 25% = 16%). Meanwhile Wally has a tough challenge as his reduced effective melee chances 3% = 30% * ( 1 - 90%), aren't enough to activate Kill Mode special effects... He has to find a way to reduce Gronan's parry chances to be able to do double damage.

Probably this feature will require a lot of feedback to fine-tune it properly, so I hope you all find this fun enough to test and report back.


Some Comments on the Release:

- I think I'm approaching the limit of what I can achieve without leaving savegame traces. Parry counter reset, Attack Mode reset and having to relay on Anesthesize mechanics (Instead of using a new type of wound) may detract from your experience while using this mod. I would love to hear specific feedback on how anoying this issues are versus how much you like the addon.

- Sadly I have met the 1st mod incompatibility with Defensive Possitions (Not a surprise because was one of the mods I have been inspecting to learn "how to do things"). I'm sure there will be more, because the entry point BOTH mods use to inject new command buttons is very attractive because it has an inherent additive nature on Vanilla. My current priority is to be able to solve the collision so users of BOTH mods can enjoy all features provided FULLY.

- The current localization support is just "Barebones" (I will add a Spanish Language translation at some point). I have seen some users like to provide Localization data for their prefered Mods. Before I consider this Mod stable, there are a lot of things that may be added that may require translation, so if you like to see Mods in your prefered language and like to provide a translation I recommend that you wait for the Mod to grow a bit more before making the effort of creating a Language File. It would rock to have such translations, but it's not nice to include something that may become obsolete the next version and then those kind contributors may feel "obliged" to keep adding updated versions of their Language files.

- Finnally I was able to move the entire project to a GITHUB repo, for automatic source management and for you to be able to access old versions if you don't like what the newer ones bring. The sources are still the product of how I approched this whole project as a learning excercise... I think there are far better examples on this forums for you to learn/start a project from, I hope they become better over time.


The mod is STILL savegame friendly. When/If I do something that leaves a trace on the savegame I will clearly announce it.
Contributions:
Melee Skill Rebalance

Razzoriel

So, let me get this straight. If I get a very fast-attacking weapon, the chances of proc'ing the special effect will increase? Because let's say you apply a 10% chance of proc'ing. Obviously, a 2s cooldown weapon will proc less than a 1s cooldown one.

oreganor

#37
QuoteSo, let me get this straight. If I get a very fast-attacking weapon, the chances of proc'ing the special effect will increase? Because let's say you apply a 10% chance of proc'ing. Obviously, a 2s cooldown weapon will proc less than a 1s cooldown one.

Yes... Not only that, but remember that if your weapon is faster than your opponent's... You will be able to saturate his defenses occasionally, meaning you will get higher chances to connect and posibly be able to trigger special effects from the Hard Modes (Check the tooltips).

On the receiving end... With this changes on, if your pawn is been attacked at the same time by multiple enemies, he will not only parry less... But may allow less skilled enemies to trigger special effects on your pawn they wouldn't be able on 1v1 duels.
Contributions:
Melee Skill Rebalance

Razzoriel

Yeah, i'd seriously consider you getting the first step for rebalancing to normalize percentages, or at the very least apply some curve behaviour (min/max percentages with hardcaps). I see a huge potential on your changes so far, though, good job.

If you want a suggestion for further improvement, make parry weights for weapons. A shiv, for instance would have a parry weight of 1, and larger weapons, such as the spear, of 8. Larger difference in parry weights reduce your parry chances by a factor of N, where N is the difference between the parry weight.

Example: Gronan attacks Wally with a spear. Wally is equipping a shiv. Let's say in your normal circunstances, Wally has a 10% chance of parrying Gronan and Gronan also has a base 10% chance to parry Larry's attack. However, since Wally is equipping a shiv, he only has 35% (formula: ((8-1)*5)) of his original parry value (because it's really hard to deflect a spear with a makeshift knife), dropping to a 3.5% chance. On the other hand, Gronan receives his full parry percentages (10%), because a shiv is rather easy to deflect, being small and unwieldy compared to a spear.

oreganor

#39
Thanks for the detailed feedback.

Quote
Yeah, i'd seriously consider you getting the first step for rebalancing to normalize percentages, or at the very least apply some curve behaviour (min/max percentages with hardcaps). I see a huge potential on your changes so far, though, good job.

Luckily it's done already by default on the game itself. I only had to add a hardcap on parry chances (90%). Still can be improved, because I want highly skilled fighters that are able to deal with penalties derived from health conditions (Normalized internally by Vanilla) also to cancel some of the Parry Counter penalties... For doing that, sadly, I need to dig deeper into vanilla normalization process, which will invariably mean higher chance of collisions with another mod that may do the same. So I hope that for now, this will suffice.


QuoteIf you want a suggestion for further improvement, make parry weights for weapons. A shiv, for instance would have a parry weight of 1, and larger weapons, such as the spear, of 8. Larger difference in parry weights reduce your parry chances by a factor of N, where N is the difference between the parry weight.

Nice suggestion... What in some RPGs is modeled as "wielding difficulty" or pairs of Weapon Size vs Parry Size.

The issue with adding new "per weapon" mechanics is the vast array of mods that add new types of items to the game... I would actually have to classify a potential unkown ammount of new items.

As I want ppl to add this mod into their prefered playstyle immediatly... I would like to avoid triggering "unexpected" gameplay interactions because a given "new weapon" is not classified properly.

That's why I forced myself to relay strictly on Vanilla stats/concepts. In the current system, the smaller weapon should have less HP than the bigger one meaning it would be able to whistand less parries. It's a weak relation, I know, because it full of anomalous cases... But after inspecting most popular Mod additions they more or less follow the logic:

- Heavier/Bigger weapons = More HP.
- Faster weapons = Less damage per hit.

As you can guess I can't forsee in detail how each player will combine what this mod provides with the repertory of items his current mod suite offers.

On a related topic... I have a Draft to provide an independent Parry Chance Stat, not just for the looks, but to allow weapon creators to add Parry Chance offsets derived from gear. I think this could address what you look for indirectly, by making some weapons increase/decrease the Parry Chance of their wielders. This feature, sadly, is one of those requiring leaving potential items ingame with a stat definition that WILL NOT be recognized in the event a savegame is loaded without the MOD responsible of creating them active :(, so for now it's a feature on Hold.
Contributions:
Melee Skill Rebalance

Razzoriel

#40
To be completely honest, this huge amount of game-breaking (in a good sense) changes you have in this mod outweights the restriction you want to impose on the mod to not break vanilla saves.

EDIT: About parries. A guard in a weapon adds tremendously in effectiveness to parry incoming attacks, but it means nothing if the enemy is swinging a huge, heavy hammer at you. The case "dagger parries two-handed axe" is the woe of all parry mechanics, and you mentioned the perfect correction: size differences. Vanilla Rimworld can only go so far regarding combat, and your suggestions improve it drastically, though I'm highly skeptical of the "Capture Mode"; if you could mesh together the Capture+Stun mode for something used for both capturing and disabling pawns.

Double damage means higher chance of maiming. I'd be careful with that mechanic; a flat, small percentage bonus would be more predictable and less rage-inducing. Though I'm perfectly fine with that as a way of saying "you can kill them more easily", not everyone has the same understanding.

Wishmaster

That would be great to have a specific key binding to cycle modes instead of override the key to use weapon.
That would be great too to to able to set the combat mode of multiple selected pawns.

Canute

Razzoriel, you take the "parry" by the word. But parry in this case is just the overtopic for all possible kind forms to avoid/reduce damage.
You are right you can't parry a 2h hammer/axe with a dagger like you could do it against a sword.
But evade/dodge the hammer swing with an agile dagger fighter is possible or ? Since other damage reductions beside parry arn't in (yet) just let it simple and let them just parry all.

But I think too, kill and capture mode should work different.
Maybe kill mode , aim at special body regions like head/organs but with lowered hit chance and longer aiming time.

Similar for capture mode, only would work with blunt weapon and aim at head, with a percent chance to get incap. from the blow.

Disarm/cripple mode, aim at hand/arm.


Razzoriel

You take into presumption that because a pawn has a dagger, he is more agile. A parry is what it is; a deflection of an incoming attack with your weapon. You can't deflect attacks with a weapon if the size difference is too big. There are variables I'm not even considering here, such as a caveman's club being big and heavy, and thus ineffective in deflecting attacks compared to a sword with a fullhand guard, such as a rapier.

Look, Rimworld takes into consideration real wounding and combat mechanics into their code. I won't mind the same vanilla principles to be applied there; knives being able to block gladii, sure I can get through that. But not full-sized swords and spears. At the same time, I think a sword can block another sword or even a mace when properly wielded, but not a spear.

If you want to bring the argument that melee skill should override size differences, I'd say yea, maybe, but its also important to note the more complicated the code gets, the harder it is to balance everything and keep it in-line with vanilla. A simple parry coeficient in a weapon which is set against other weapons would be enough to drastically reduce the parry discrepancies.

oreganor

#44
Thanks for the feedback, Wishmaster.

QuoteThat would be great to have a specific key binding to cycle modes instead of override the key to use weapon.

Certainly, not only great... Is a must have. I will check why the injected button is "hijacking" the Weapon use key... I probably did something wrong.


QuoteThat would be great too to to able to set the combat mode of multiple selected pawns.

Isn't it working for you? That's the whole point of selecting exactly that Detour... To take advantage of Vanilla multicast when multiple pawns are selected. One caveat, activating the button brodcasts "Use NEXT mode" to all pawns... Which is not equal to "Put ALL pawns" into this mode, as the resulting pawns will not have THE SAME attack mode, unless they all were in the SAME mode before selecting them. Do you think it's more intuitive as a "reset" button? Because I can try to mimic what vanilla does on binary controls when, on multi selection, you get a button per unique state of any member on the selection... The problem with a multistate button is that you can potentially fill the UI while showing all available options.
Contributions:
Melee Skill Rebalance