[Sketch](Alpha 10)Fun Melee mod

Started by Armorer, May 23, 2015, 03:37:09 AM

Previous topic - Next topic

Armorer

Greetings,
This is "proof of concept" mod that add some features that improve melee in game:
- add two properties to melee weapons - parrySkill, wich allows the pawn with higher melee skill to parry attack and CrushBlockSkill - allows to crush through parry block. This could be usefull for more balance.
- add shield that block incoming projectles from front arc, but will take damage from that.
-add mount - the ferocious battle pony that carry NPC pawn into battle.

Link

P.S. Most of  textures taken from apparelo and norbal mods.

Nimrod

Quote from: Armorer on May 23, 2015, 03:37:09 AM
Greetings,
This is "proof of concept" mod that add some features that improve melee in game:
- add two properties to melee weapons - parrySkill, wich allows the pawn with higher melee skill to parry attack and CrushBlockSkill - allows to crush through parry block. This could be usefull for more balance.
- add shield that block incoming projectles from front arc, but will take damage from that.
-add mount - the ferocious battle pony that carry NPC pawn into battle.

Link

P.S. Most of  textures taken from apparelo and norbal mods.

I am very interested in the parry skill you implemented.
Could you include the source and/or add some documentation how it works exactly and how it scales with skill level and skill difference between attacker and defender?
Are all variables hard coded or are some changable via xml?
Also, is there some added effect when a parry is succesful?

:D

cheers

Armorer

Source

Weapon's parameters changable via xml. It works in that way:
1.cheking if target is pawn, has weapon, and that is the correct kind of weapon. It will not work against target without weapon or with normal/vanila weapon.
2.checking if crush thtough block succeeded, if it happens no block happens.
3. check the difference OwnWeapon.ParrySkill * OwnMeleeSkill - TargetWeapon.ParrySkill * TargetMeleeSkill if it less than zero than parry happens and hit is discarded.


Nimrod

Quote from: Armorer on May 23, 2015, 08:20:26 AM
Source

Weapon's parameters changable via xml. It works in that way:
1.cheking if target is pawn, has weapon, and that is the correct kind of weapon. It will not work against target without weapon or with normal/vanila weapon.
2.checking if crush thtough block succeeded, if it happens no block happens.
3. check the difference OwnWeapon.ParrySkill * OwnMeleeSkill - TargetWeapon.ParrySkill * TargetMeleeSkill if it less than zero than parry happens and hit is discarded.

Thanks for the fast answer!

1. perfect

2+3:
Some ideas (if I understand the system correctly):
There needs to be a random value factored in, else the pawn with the higher value will *always* be a able to parry (or crush through block). That shouldnt be the case in my opinion.

Or one could go for something like a 10% parry chance per full point difference in melee skill - and give weapons a base parry chance via xml (+ % chance to parry) and a base crush through (- % chance to parry for the enemy)

You use block/parry as the same thing in melee, yes? Or is block something that is only done against ranged attacks?

I think what you are doing here could be a great addition to melee combat!

Armorer

Ofcourse there is random factor. I mean the crushBlock is a probability. the melee difference is also a probability of succesful parry. for example a noble(14 melee skill) with wooden sword(parry 0.1 crush 0.05 dmg 5 cooldown 1.5) fights against thug(melee skill 6) with plasteel shiv(parry 0.01 crush 0.01 dmg 20 cooldown 0.5). so difference is 14*0.1-6*0.01 = 1.34 that mean that thug can only score a hit if he crush the parry block(1%). if the thug have same sword the difference will be 14*0.1-6*0.1=0.8 it means that he has 20% chance to hit with sword. or 24% with the crush block ability (1 - 0.8*0.95). if the thug has morning star with crush 0.25 the probability to score the hit will be 25%. so that make a difference of wich weapon the pawn is armed depends on skills - high parry weapons for high skills and high crush for low skills. so you can make some knight pawn with high skills, good katanasword and decent armor that can slaughter a dozen of inferior fighters.

against ranged attacks you have vanila personal shield.  or you can use mine version of shield. maybe I add some probability parameter for blocking range/melee attack for shield.

Nimrod

Quote from: Armorer on May 23, 2015, 02:47:28 PM
Ofcourse there is random factor. I mean the crushBlock is a probability. the melee difference is also a probability of succesful parry. for example a noble(14 melee skill) with wooden sword(parry 0.1 crush 0.05 dmg 5 cooldown 1.5) fights against thug(melee skill 6) with plasteel shiv(parry 0.01 crush 0.01 dmg 20 cooldown 0.5). so difference is 14*0.1-6*0.01 = 1.34 that mean that thug can only score a hit if he crush the parry block(1%). if the thug have same sword the difference will be 14*0.1-6*0.1=0.8 it means that he has 20% chance to hit with sword. or 24% with the crush block ability (1 - 0.8*0.95). if the thug has morning star with crush 0.25 the probability to score the hit will be 25%. so that make a difference of wich weapon the pawn is armed depends on skills - high parry weapons for high skills and high crush for low skills. so you can make some knight pawn with high skills, good katanasword and decent armor that can slaughter a dozen of inferior fighters.

against ranged attacks you have vanila personal shield.  or you can use mine version of shield. maybe I add some probability parameter for blocking range/melee attack for shield.

Okay, I think now I get it. :D Very good. I will give it a test run tomorrow.
Thank you!

Nimrod

Two more questions:

How does parry/crush work against melee attacks without set values? (animals, unarmed combat, etc)
Is there some way to let this generate log entries? (for debugging/balancing)

cheers

Armorer

1.this mod overrides tryToHit method from verb_melee. so it determine only if pawn can hit target nothing else. if there is no suitable target with weapons it use base TryToHit method.
2.what kind of values do you want to log? also you have source - try to put here anything you need to log.

Nimrod

Quote from: Armorer on May 24, 2015, 02:40:37 AM
1.this mod overrides tryToHit method from verb_melee. so it determine only if pawn can hit target nothing else. if there is no suitable target with weapons it use base TryToHit method.
2.what kind of values do you want to log? also you have source - try to put here anything you need to log.

1. Roger. Cool.
2. Your Source link is the same as the first one, it does not contain any .NET source code - no worries though

I was also looking for some way to make a parry give some visual or audio feedback during combat - so the player knows whats happening.

Armorer

add some log messages source c# code in the assenbly direction
I think this mode needs some new stuff. So it will be
1.warhammer tyranids
2.Japanese sengoku
3.ww1 with bayonets and other things
what do you think?

Nimrod

Quote from: Armorer on May 24, 2015, 11:37:13 AM
add some log messages source c# code in the assenbly direction
I think this mode needs some new stuff. So it will be
1.warhammer tyranids
2.Japanese sengoku
3.ww1 with bayonets and other things
what do you think?

Thanks for the source, I just downloaded it.
I think that, if the core system is working as intended and balanced, you (or anyone else for that matter) can add whatever weapons they can dream up. :D
So yes, by all means add them!
Giving ranged weapons close combat values is already possible, combining this with your changes should be great.

cheers

Dragoon

Quote from: faltonico
I truly can't understand that sense of balancing a LOT of modders have, pouring more resources on something doesn't make it more difficult, but more annoying. It is not engaging, even if i'm swimming in silver at late game ¿why to bother?, why all the effort to get there?.

skyarkhangel

Quote from: Armorer on May 23, 2015, 03:37:09 AM
Greetings,
This is "proof of concept" mod that add some features that improve melee in game:
- add two properties to melee weapons - parrySkill, wich allows the pawn with higher melee skill to parry attack and CrushBlockSkill - allows to crush through parry block. This could be usefull for more balance.
- add shield that block incoming projectles from front arc, but will take damage from that.
-add mount - the ferocious battle pony that carry NPC pawn into battle.

Link

P.S. Most of  textures taken from apparelo and norbal mods.

Working on A11?