marcrobledo / savegame-editors

A compilation of console savegame editors made with HTML5 technologies.
https://www.marcrobledo.com/savegame-editors/
Other
1.11k stars 229 forks source link

BOTW: Multiple weapon modifiers #166

Open TurkyJ opened 1 year ago

TurkyJ commented 1 year ago

Like how IST does it

Truinto commented 1 year ago

You should probably explain what you mean. IST is a glitch in BOTW that let's you copy data from food items onto weapons/shields/bows. This can corrupt the modifiers in interesting ways. Namely, you can have the value apply to multiple modifiers at the same time.

This works for Botw. You can edit the file zelda-botw.data.js and add new modifiers to the list (see below). I am almost certain it won't work for Totk. The modifiers do not use a flag system and appear to be random numbers.

MODIFIERS:[{value:0x00000000,name:'(none)'},{value:0x00000001,name:'Attack up'},{value:0x80000001,name:'Attack up ★'},{value:0x00000002,name:'Durability up'},{value:0x80000002,name:'Durability up ★'},{value:0x00000004,name:'Critical hit up'},{value:0x80000004,name:'Critical hit up ★'},{value:0x00000008,name:'(Weapon only) Long throw'},{value:0x80000008,name:'(Weapon only) Long throw ★'},{value:0x00000010,name:'(Bow only) Five-Shot Burst'},{value:0x80000010,name:'(Bow only) Five-Shot Burst ★'},/*{value:0x00000020,name:'(Bow only) unknown 2?'},{value:0x80000020,name:'(Bow only) unknown 2? ★'},*/{value:0x00000040,name:'(Bow only) Quick shot'},{value:0x80000040,name:'(Bow only) Quick shot ★'},{value:0x00000080,name:'(Shield only) Shield surf up'},{value:0x80000080,name:'(Shield only) Shield surf up ★'},{value:0x00000100,name:'(Shield only) Shield guard up'},{value:0x80000100,name:'(Shield only) Shield guard up ★'},{value:0x00000005,name:'Atk+Crit'},{value:0x00000025,name:'Atk+Crit+Zoom'},{value:0x00000015,name:'Atk+Crit+Multi'},{value:0x00000035,name:'Atk+Crit+Multi+Zoom'},{value:0x00000105,name:'Atk+Crit+Guard'}]

marcrobledo commented 1 year ago

I figure this issue was open before the TOTK editor was released, so it was related to BOTW.

My time is limited so I've decided to work only on TOTK, but this is definitively possible in BOTW.

tiehu commented 3 months ago

As Truinto mentioned, I recommend that anyone who currently needs this functionality clone the modifier project and then add your own modifier data in zelda-botw.data.js.

For those who don't understand the WMC principle and how this modifier works: There are two pieces of data that affect weapon modifiers: modifier type and value. The values of all modifier types are common, but the effects are different. This section can be modified directly using the save editor, so you don’t need to worry about that. The modifier type data is the part we really care about. This is a 32-bit of binary data, where the highest bit (the leftmost bit) represents the modifier's color (gold or white), and the 1-9 bits (the 9 bits from the rightmost to the left) determine the modifier type. From right to left, they are: atk, dur, crt, lt, ms, zm, qs, sri, grd For example, a modifier that contains both atk and crt and is gold would look like this: 1000 0000 0000 0000 0000 0000 0000 0101 Then we convert it to hexadecimal: 0x80000005 Next just add this modifier to zelda-botw.data.js : {value:0x00000005,name:'Atk+Crt'} This may sound complicated, but it shouldn't be too hard to follow.

Also, for developers, I think the easiest way to implement this feature is to simply add a custom input field and then let the user enter the modifier type data themselves (you can post a link to let them know how the thing works).