Ludeon Forums

RimWorld => Mods => Unfinished => Topic started by: Armorer on May 23, 2015, 03:37:09 AM

Title: [Sketch](Alpha 10)Fun Melee mod
Post by: 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 (https://www.sendspace.com/file/h2zyvn)

P.S. Most of  textures taken from apparelo and norbal mods.
Title: Re: [Sketch](Alpha 10)Fun Melee mod
Post by: Nimrod on May 23, 2015, 05:48:33 AM
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 (https://www.sendspace.com/file/h2zyvn)

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
Title: Re: [Sketch](Alpha 10)Fun Melee mod
Post by: Armorer on May 23, 2015, 08:20:26 AM
Source (https://www.sendspace.com/file/h2zyvn)

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.

Title: Re: [Sketch](Alpha 10)Fun Melee mod
Post by: Nimrod on May 23, 2015, 10:11:11 AM
Quote from: Armorer on May 23, 2015, 08:20:26 AM
Source (https://www.sendspace.com/file/h2zyvn)

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!
Title: Re: [Sketch](Alpha 10)Fun Melee mod
Post by: 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.
Title: Re: [Sketch](Alpha 10)Fun Melee mod
Post by: Nimrod on May 23, 2015, 03:16:38 PM
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!
Title: Re: [Sketch](Alpha 10)Fun Melee mod
Post by: Nimrod on May 24, 2015, 01:01:34 AM
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
Title: Re: [Sketch](Alpha 10)Fun Melee mod
Post by: 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.
Title: Re: [Sketch](Alpha 10)Fun Melee mod
Post by: Nimrod on May 24, 2015, 03:53:44 AM
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.
Title: Re: [Sketch](Alpha 10)Fun Melee mod
Post by: Armorer on May 24, 2015, 11:37:13 AM
add some log messages source (https://www.sendspace.com/file/osez1l) 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?
Title: Re: [Sketch](Alpha 10)Fun Melee mod
Post by: Nimrod on May 24, 2015, 02:57:55 PM
Quote from: Armorer on May 24, 2015, 11:37:13 AM
add some log messages source (https://www.sendspace.com/file/osez1l) 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
Title: Re: [Sketch](Alpha 10)Fun Melee mod
Post by: Dragoon on May 26, 2015, 04:50:42 AM
This looks cool!
Title: Re: [Sketch](Alpha 10)Fun Melee mod
Post by: skyarkhangel on June 25, 2015, 11:15:47 AM
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 (https://www.sendspace.com/file/h2zyvn)

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

Working on A11?