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!
It appears that you are using ad block :'(
Hey, we get it. However this website is run by and for the community... and it needs ads in order to keep running.
Please disable your adblock on Smashboards, or go premium to hide all advertisements and this notice. Alternatively, this ad may have just failed to load. Woops!
I didn't mean damage ratio i think idk what its called as the damage ratio acts like a knockback defence.
What I wanted was like if you set the damage ratio to 3.0 for an example, it will increase all of the player's attack damage by 3 times just like a super mushroom. So you would deal 9 damage instead of the normal 3 damage etc.
This code will make a player's damage RECEIVING (not dealing) with a multiplier based on the player's handicap when handicap is at ON. The higher the handicap is, the more damage that player will receive. The 04 code will remove the basic handicap mode and replace it with this instead.
The table for damage received is as below:
HANDICAP - DAMAGE RECEIVED
1 - 25%
2 - 50%
3 - 75%
4 - 100% (Melee default)
5 - 125%
6 - 150%
7 - 175%
8 - 200%
9 - 225%
If you want to modify the multiplier, like to 0.5 so that 2 handicap is 100%/6 handicap is 300% etc. , you have to change the hex number "3E203FD0" in green to a different number. I use this site: http://gregstoll.dyndns.org/~gregstoll/floattohex/ , and enter a decimal number in the "Double Value" field, convert and pick the 4 first numbers and replace them here.
ASM notes:
lis r15, 0x8045
ori r15, r15, 0xBF15 #load handicap value
lbz r15, 0(r15)
cmpwi r15, 2
bne NOCHANGE #if handicap is not at ON, do not change
lis r15, 0x8048
ori r15, r15, 0x0828 #load offset for loading handicap number
lbz r17, 0xc(r30) #load player number
mulli r17, r17, 0x24 #multiply by player number (defense)
add r15, r17, r15
lbz r16, 0x0(r15) #r16 = handicap number
lis r17, 0x3fd0 #0.25 float
stw r17, 0x20(r2) #store 0.25
li r17, 0
stw r17, 0x24(r2) #store 2nd part of float 0.25
lfd f15, 0x20(r2) #f15 = 0.25
lfd f18,-29808(r2) # 4d8570. loads magic double for int to float conversion
stfd f18,0x20(r2)
sth r16,0x26(r2) # 0x43300000800000xx. put 1st int at end of magic double
lfd f16,0x20(r2)
fsubs f16,f16,f18 #f16 = handicap number
fmul f16, f16, f15 #f16 = handicap value * 0.25
fmuls f1, f1, f16 #damage = damage x multiplier (4 handicap = x1)
NOCHANGE:
fmr f31, f1 #NORMAL LINE
This code will make a player's damage RECEIVING (not dealing) with a multiplier based on the player's handicap when handicap is at ON. The higher the handicap is, the more damage that player will receive. The 04 code will remove the basic handicap mode and replace it with this instead.
The table for damage received is as below:
HANDICAP - DAMAGE RECEIVED
1 - 25%
2 - 50%
3 - 75%
4 - 100% (Melee default)
5 - 125%
6 - 150%
7 - 175%
8 - 200%
9 - 225%
If you want to modify the multiplier, like to 0.5 so that 2 handicap is 100%/6 handicap is 300% etc. , you have to change the hex number "3E203FD0" in green to a different number. I use this site: http://gregstoll.dyndns.org/~gregstoll/floattohex/ , and enter a decimal number in the "Double Value" field, convert and pick the 4 first numbers and replace them here.
ASM notes:
lis r15, 0x8045
ori r15, r15, 0xBF15 #load handicap value
lbz r15, 0(r15)
cmpwi r15, 2
bne NOCHANGE #if handicap is not at ON, do not change
lis r15, 0x8048
ori r15, r15, 0x0828 #load offset for loading handicap number
lbz r17, 0xc(r30) #load player number
mulli r17, r17, 0x24 #multiply by player number (defense)
add r15, r17, r15
lbz r16, 0x0(r15) #r16 = handicap number
lis r17, 0x3fd0 #0.25 float
stw r17, 0x20(r2) #store 0.25
li r17, 0
stw r17, 0x24(r2) #store 2nd part of float 0.25
lfd f15, 0x20(r2) #f15 = 0.25
lfd f18,-29808(r2) # 4d8570. loads magic double for int to float conversion
stfd f18,0x20(r2)
sth r16,0x26(r2) # 0x43300000800000xx. put 1st int at end of magic double
lfd f16,0x20(r2)
fsubs f16,f16,f18 #f16 = handicap number
fmul f16, f16, f15 #f16 = handicap value * 0.25
fmuls f1, f1, f16 #damage = damage x multiplier (4 handicap = x1)
NOCHANGE:
fmr f31, f1 #NORMAL LINE
That only multiplies the knockback, OP wants damage (i tested with Mario and did a move that did 5 damage with the opponent at 1 and 9 handicap and it did the same damage)