• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Luigi Always Misfires (with a catch)

Zadamanim

Smash Cadet
Joined
Dec 8, 2015
Messages
37
I need a bit of advice. What I'm trying to create is a luigi whose side b always has the misfire graphic / sound / rumble effect, but also retains the ability to charge his side b for greater or weaker effect. Looking at Crazy Hand, the amount of data available to tamper with isn't great enough to simply recreate all the misfire effects on the normal move and set the misfire chance to 0 (creating the permanent misfire illusion). I considered using a .dol mod to replace his normal side b with misfire side b, and that MIGHT retain the effects while giving it the charging property... But I don't know how to make .dol mods! Any tips or ideas would be appreciated.
 

Fug Ebin Meme

Smash Rookie
Joined
Aug 8, 2016
Messages
12
Location
Vancouver Island
you could try setting the misfire chance to 0, and then use the misfire subaction space for the regular side-b by changing the regular side-b subaction pointer to where the misfire subaction starts
 

Zadamanim

Smash Cadet
Joined
Dec 8, 2015
Messages
37
Oh nice! I haven't worked with subactions yet but I'll try that. Exactly how do the pointers work?
 

Fug Ebin Meme

Smash Rookie
Joined
Aug 8, 2016
Messages
12
Location
Vancouver Island
I'm sure there's a tutorial somewhere, but I'm too lazy to find it so I'll just make my own.

You will need Crazy Hand and any hex editor (I use HxD)
If you go to a subaction, there will be an offset for each command. For moving the pointer, we want the offset for the first command



take that number, in this case 0x3680, and subtract 0x20. In this case, you end up with 0x3660
save the character, and open the file up in your hex editor, and search for 3660



Since we want to move the pointer to the space of the misfire subaction, we need to know its offset. Its offset is 0x36C0, but we need to point to 0x20 less than that, which leaves us with 0x36C0 - 0x20 = 0x36A0. So, to change the pointer to the misfire space, we change 3660 to 36A0.

If you're just going to move the pointer and leave it with no further modifications, be sure to lower the damage and knockback growth the hitbox has to 10 and 80, respectively, as the misfire does 25 damage and has 100 knockback growth, while the regular side-b does 10 damage with 80 knockback growth.
 
Last edited:

Zadamanim

Smash Cadet
Joined
Dec 8, 2015
Messages
37
Alright! Thanks so much for your help, I'll try this right away!

EDIT: I see you have a file called luigi.dat... Did you get that by exporting the root folder of the iso in GCRebuilder? My root folder doesn't have a file by that name.

EDITEDIT: Oh it's a crazyhand file? Exactly what did you open? lol

EDITEDITEDIT: Oh I think you mean save it like creating one of those loadable character files... I was thinking the big save button at the bottom, lol. I think i got this.

Final Edit: Got it working! I switched the pointers for misfire (00 00 00 00 36 A0) and green missile ( 00 00 00 00 36 60), there were two of each, because the ground and air versions are separate. Unfortunately there is a bit of a snag. It seems impossible to set the misfire chance to 0. The pointer switch also does not put the properties of charging onto the misfire, it puts the misfire properties onto the charge move. This means if the misfire chance is set to 1 out of 1, it will not be chargable, even with the pointer changes. I tried setting it to 1 out of 0 chance to misfire, but that was the same as 1 out of 1. Since I don't think you can set it to infinity, misfire cannot be disabled. In the end, I've decided to make it a small chance (1 out of 25) to send Luigi straight upwards, using the green missile code. It's become kind of scrambled and hard to understand, but it functions as intended now!
 
Last edited:

Fug Ebin Meme

Smash Rookie
Joined
Aug 8, 2016
Messages
12
Location
Vancouver Island
Sorry! I completely forgot about the move logic. If you still want to have it the way you originally wanted it, go into the move logic tab for luigi, scroll down until you see SpecialS(0x12B) and SpecialS(0x12C), and copy & paste the Animation Interrupt function, IASA function, Action Physics function, and Collision Interrupt values from SpecialS(0x12B) to SpecialS(0x12C).



Again, sorry for the delayed reply.
 
Top Bottom