Skyrim
0 of 0

File information

Last updated

Original upload

Created by

5133p39 aka Mrozak

Uploaded by

5133p39

Virus scan

Safe to use

About this mod

Changes melee combat mechanics by making killmoves directly dependent on skill with equipped weapon type. Takes into account relative position of combatants, blocking, etc. Works for both player and NPCs.

Requirements
Permissions and credits
Changelogs
The higher the skill with equipped weapon, the higher the chance of performing instant kill, up to 100% chance with skill at 100.
Attack from behind is allways successfull, as blocking nor skill doesn't matter, making fighting several enemies much more difficult.
Attack from front will be successfull only if the defender is not blocking and attacker's skill is higher than random number in range of 0 to 100.
Instant kill chance when using hand to hand combat is based on Smithing skill, because so far i was unable to get satisfying results while basing it on Unarmed Damage.

Tip #1: Footwork! Do not let any opponent get behind your back.
Tip #2: Save before every fight, no matter how feeble the opponent is.
Tip #3: Play on LEGENDARY difficulty, creature encounters might be often too easy otherwise.

NOTE: I didn't touch perk conditions for decapitations - you still need the perks to perform decapitation killmoves.
NOTE: Not compatible with any other mods altering killmoves.
NOTE: I didnt tested how it works against mages using wards to shield themselves - whether the ward prevents the killmoves as a normal shield would, but i just assume it is so (will test later, and eventually alter the anims tree conditions to make it possible).

REQUIREMENTS: Dragonborn DLC (made while using game v1.9.32)
...but in a week or so, i do plan to make also vanilla and Dawnguard only versions.


CHANGELOG v1.4

Fixed: Default value of MorsKwsTrgStaminaValReq was set to 0, preventing killmoves completely. New default is 32767
Fixed: Default value of MorsKwsTrgStaminaPrcReq was set to 0.000000, completely preventing killmoves. New default is 1.000000

CHANGELOG v1.3

Fixed: Previous new global values were not included, nor used (my ESP got overwritten by old version before i could upload it, and i didnt notice).

MorsKwsPlayerSafe
Set to 1 to prevent NPCs to insta-kill player, default is 0

MorsKwsStaminaValReq
Sets requirement for minimum value of attacker's stamina to perform a killmove, default is 0
Example: if set to 50, attacker wont be able to perform a killmove unless the value of his stamina left is equal or greater than 50

MorsKwsStaminaPrcReq
Sets requirement for minimum percentage of attacker's stamina to perform a killmove, default is 0.000000
Example: if set to 0.8 (which means 80%), attacker wont be able to perform a killmove unless amount of his stamina left is equal or greater than 80% of full stamina pool

MorsKwsTrgStaminaValReq
Sets requirement for minimum value of defender's stamina preventing killmove on him, default is 0
Example: if set to 40, it wont be possible to insta-kill target unless target's stamina drops bellow 40

MorsKwsTrgStaminaPrcReq
Sets requirement for minimum percentage of defender's stamina preventing killmove on him, default is 0.000000
Example: if set to 0.4 (means 40%), it wont be possible to insta-kill target unless target's stamina drops bellow 40% of his full stamina pool

CHANGELOG v1.2

Fixed: Decapitation killmoves could be performed on Essential characters.
A new condition, checking if target is essential character, was added to every decapitation killmove branch, preventing this from happening.

CHANGELOG v1.1

Added new global MorsKwsStaminaPrcReq
Can be used to set Stamina requirement to perform killmove (value is expected to be float between 0.000000 and 1.000000).
Opening console and entering SET MorsKwsStaminaPrcReq to 0.8 will set the minimum Stamina requirement to 80 percents.
Default value is set to 0.000000

Added new global MorsKwsStaminaValReq
Can be used to set Stamina requirement to perform killmove (value is expected to be integer in range of 0 to 100).
Opening console and entering SET MorsKwsStaminaPrcReq to 60 will set the minimum Stamina requirement to 60 points.
Default value is set to 0

Added new global MorsKwsPlayerSafe
Some people asked if it could be possible to make the player impossible to instakill by NPCs.
Although i am against such thing, the amount of work needed to make it possible was absolutely negligible, so i agreed on making it and leave it up to the players to choose how they want to play.
To prevent NPCs from performing killmoves on player, set the value to 1.
To make player instakill-able by NPCs, set the value to 0.
Default value is set to 0


INSTALLATION

Copy both Kill With Skill.BSA and Kill With Skill.ESP to your Skyrim's Data directory.
Do not forget to run the game Launcher, go to "Data Files" and tick the checkbox to make the game load the addon.
This mod comes with major changes in animation tree - all killmove branches are restructured and their conditions altered, so make sure you also change the load order and move this addon to the end of the list, to make sure no other addon can override its changes.


How does it work
First, there is a hidden quest script, repeatedly (every 0.5 seconds) setting a global variable MorsKwsRandomVal to a random value in range defined by global variables MorsKwsRandomMin and MorsKwsRandomMax (default is 0-100, inclusive, and both globals can be changed via console - feel free to experiment).
When the player (or NPC) swings his melee weapon, or fists, the MorsKwsRandomVal is checked against his skill with current wepon type, and if the skill is greater or equal to the random value, or if the damage dealt will be strong enough to kill by itself, a killmove will be performed (also depending on various other conditions, like whether the defender is blocking or his back is turned towards the attacker, and others - most of which being the same as in vanilla game).
Check changelog for more info on additional variables and functionality.

Why running a script to generate random value?
I tried to achieve the same effect only with anims tree conditions, but because of the way how the conditions are evaluated, i ended up with a really long list of conditions which was extremely hard to read and maintain (and thus very error prone), and also simplified in some regards (you cant just check random value against current weapon skill, because the right side of condition cannot be also a function call, but only a preset value or some global, so i had to check if skill equals 10 and random is less or equal to 10, or if skill is 20 and random is = 20, etc.).
So, i decided to shrink this horrible condition mess into a one simple condition (getAv onehanded >= MorsKwsRandomVal), which is much more efficient (including the small overhead of that randomizer script).