The Mugen Fighters Guild

Help => M.U.G.E.N Development Help => Code Library => Topic started by: Obreck2 on May 05, 2007, 10:32:29 PM

Title: "Take no block damage" hack
Post by: Obreck2 on May 05, 2007, 10:32:29 PM
First if your character doesn't have them already open Mugen's common1.cns file and copy statedef 150 (for standing block), statedef 152 (crouching block), and statedef 154 (air block) to you character.

Next simply add this coding to each of those statedefs you copied:

[State 150, CancelBlockDamage]
type = lifeadd
trigger1 = Time = 0
value = Ceil(gethitvar(damage))

This coding basicly instantly feeds back all the block damage you just took. Might need a fix for lethal block damage, don't know, I just figured this trick out last night.

You can only reduce a character's block damage by changing the value to something like this:

value = Ceil(0.5*(gethitvar(damage)))
;a 50% reduction

If those instructions are too messy for you, just cut-n-paste the following code to one of your character's .cns files:

;--------------------------------------------
; STAND GUARD PART
; SGUARDHIT (shaking)
[Statedef 150]
type    = S
movetype= H
physics = N
velset = 0,0

[State 150, CancelBlockDamage]
type = lifeadd
trigger1 = Time = 0
value = Ceil(gethitvar(damage))

[State 150, 1]
type = ChangeAnim
trigger1 = 1
value = 150

[State 150, 2]
type = ChangeState
trigger1 = HitShakeOver
value = 151 + 2*(command = "holddown")

[State 150, Hi to Lo]
type = StateTypeSet
trigger1 = statetype = S && command = "holddown"
statetype = C
physics = C

[State 150, Lo to Hi]
type = StateTypeSet
trigger1 = statetype = C && command != "holddown"
statetype = S
physics = S

[State 150, 3]
type = ForceFeedback
trigger1 = time = 0
waveform = square
time = 3

;----------------------------------
; CROUCH GUARD PART
; CGUARDHIT (shaking)
[Statedef 152]
type    = C
movetype= H
physics = N
velset = 0,0

[State 152, CancelBlockDamage]
type = lifeadd
trigger1 = Time = 0
value = Ceil(gethitvar(damage))

[State 152, 1]
type = ChangeAnim
trigger1 = 1
value = 151

[State 152, 3]
type = ChangeState
trigger1 = HitShakeOver
value = 151 + 2*(command = "holddown")

[State 152, Hi to Lo]
type = StateTypeSet
trigger1 = statetype = S && command = "holddown"
statetype = C
physics = C

[State 152, Lo to Hi]
type = StateTypeSet
trigger1 = statetype = C && command != "holddown"
statetype = S
physics = S

[State 152, 4]
type = ForceFeedback
trigger1 = time = 0
waveform = square
time = 4

;---------------------------
; AIR GUARD PART
; AGUARDHIT (shaking)
[Statedef 154]
type    = A
movetype= H
physics = N
velset = 0,0

[State 154, CancelBlockDamage]
type = lifeadd
trigger1 = Time = 0
value = Ceil(gethitvar(damage))

[State 154, 1]
type = ChangeAnim
trigger1 = 1
value = 152

[State 154, 2]
type = ChangeState
trigger1 = HitShakeOver
value = 155 ;AGUARDHIT2

[State 154, 3]
type = ForceFeedback
trigger1 = time = 0
waveform = square
time = 4