- Did you ever press Deflect + Attack buttons together by accident in a game where you constantly spam Deflect and Attack buttons?.. which results in you stupidly standing here slashing Mortal Draw for 2 seconds?
- Did you ever watch your keyboard logs to find out that that one time you actually didn't fuck it up and you had 0.03 seconds between un-pressing Deflect and pressing Attack down?..
My answer to both of these questions is "Yes". I've done a lot of accidental/unwanted combat arts. This mod tries to provide a solution to this problem.
- When you hold
Shift
down - it equips the Mortal Draw; - When you let
Shift
up - it unequips the Mortal Draw;
Video Showcase (notice how combat art's small katana icon in the corner comes/fades away dynamically):
ShiftArt.Showcase.mp4
Warning
Currently, only Shift
key and Mortal Draw are supported and there is no choosing menu/settings page like in the forked mod.
Simply put, with this mod you need to hold Shift
down to be able to use the Mortal Draw. This way you can never accidentally press it.
So now you need to press 3 keys combo: Block+Attack while holding Shift
down.
Note
Bonus trick to reduce this to just 2 keys: bind your Deflect/Block keyboard button to Shift
in game settings (you still can have Right Mouse Click
as your mouse Deflect/Block key). This way you only need to press Shift
+Attack since the game is going to start blocking automatically.
- I tried to fork two similar projects:
- Weapon Wheel - current repo.
- HotkeySystem - Aluerie/SekiroHotkeySystem
- However, both repos have the some annoying bugs.
- To be honest, there is less bugs when using the mod provided with this repo (but the code here is also quite messy as well).
- Other note, is that even base mods have most of those bugs because it was intended by Fromsoft to be able to swap combat arts on the fly.
Experimental, but currently master-branch .dll
file (that you can grab from ShiftArt/ForRelease
) has an extra feature.
- By default after loading into the game pressing/unpressing
Shift
will equip/unequip Mortal Draw; - But you can switch your Combat Art by pressing keys from Number row (the one above QWERTY):
- key
1
- Mortal Draw - key
2
- Dragon Flash - key
3
- Sakura Dance - key
4
- Ichimonji Double - key
5
- Empowered Mortal Draw
- key
- For example, I just used Mortal Draw and want to swap to Sakura Dance, then I just press
3
. Now pressing/unpressingShift
will equip/unequip Sakura Dance.
- Go to Releases tab, grab the archive.
- If you want to use the latest version that has differences mentioned "💳 Master-branch difference" section then go to
ShiftArt/ForRelease
and take the.dll
andini
files.
- If you want to use the latest version that has differences mentioned "💳 Master-branch difference" section then go to
- Extract the archive, copy
shift_art.dll
,shift_art.ini
and paste them into the same folder withsekiro.exe
- Now we need to secure
.dll
file loading. There are two ways about it.- Chain-loading - load
dll
files in a chain matter. Thus, let some other mod load mydll
.- Most likely, you already have Mod Engine. If not, install it. It's a must-have for 95% mods anyway;
- In this case, edit
modengine.ini
: change the linechainDInput8DLLPath=""
tochainDInput8DLLPath="\shift_art.dll"
\
is important!- Now we have a following chain: modengine's
dinput8.dll
➡️chain-loadsshift_art.dll
- If there is nothing else needed or no problems then you are ready to go ✅.
- However, if you already have some other mod here then refer to its instructions about chain-loading and load
shift_art.dll
with it (if it's supported by that other mod).
- Bare
dinput8.dll
- if for some reason my mod is the only mod you ever needed then:
- Rename
shift_art.dll
intodinput8.dll
. Sekiro will automatically load it when launching.
- Chain-loading - load
- Bonus: if you want to chain-load some other
other_mod.dll
with my mod then useshift_art.ini
and put"chainDllName=\other_mod.dll"
in here.
As you can notice from forking note, I found that most of needed code-base already exists in other mod: tmsrise/Sekiro-Weapon-Wheel so all credits to them.
Also, I'm extremely noob in C++ myself. This mod probably can be done in 100x less lines, but I just took tmsrise's mod and edited a few lines for my own desires. So I still have all the code that loads in weapon wheel, it's just not fully used. Sorry about that.
So anyway, if anybody can help - please, I beg you, help me and teach me.
- Nothing really
ToDo list that I probably should write down in my personal notes than a public readme.
- Clean code further up - we have a lot of references to functions from WeaponWheel that are not used anymore.
- UI where we:
- Allow customizing the keybinds (including controller users)
- Allow customizing the combat art(-s)
- I don't know what happens when you don't have the Mortal Draw available yet.
- (?) Looks like the character loses Kusabimaru for a moment, but it's easily fixable in-game;
- Can we even look up to which arts the player has access to (I think Reaper's mod does)
- Publish at nexusmods
- Learn C++ and actually improve/rewrite the code