Il concetto é che una mossa fa piú o meno male, a seconda di quanto é ampia o pesante, o entrambi, quello che si introduce é che se viene sferrata nel modo giusto fa piú male, se viene sferrata nel modo sbagliato fa meno male.
Si invita cosí il giocatore a valutare tempi, distanze ed esecuzioni con un criterio in piú, se vuole ottenere i vantaggi derivati da impatti perfetti o rasoiate.
Cominciamo parlando del fumble.
Il fumble é niente di piú e niente di meno che una mossa eseguita male.
Illustreró il concetto con un esempio che di certo é noto a tutti, il calcio rovesciato di Guile.
Per ottenere tale mossa il giocatore deve tener premuto "giú" per un secondo circa, poi mollare "giú" e premere "su" e quindi premere un pulsante di calcio.
Ora, decidiamo di inserire una versione fumble della mossa, in cui ad esempio inciampa e cade di schiena.
dovremo realizzare il paragrafo AIR adeguato, e nel file CMD e CNS inserire il fumble.
Nel file CMD dovremo inserire le condizioni di "fumble", ad esempio se si é tenuto premuto "Giú" per troppo poco tempo.
Il fumble in questo caso va sotto la mossa eseguita correttamente, nel file CMD, ma a seconda di come si differenzia dalla mossa corretta potrebbe andare sopra.
_________
Impatto perfetto
L´impatto perfetto si ottiene scomponendo l´animazione (e azione) nel file AIR in due animazioni (e azioni)distinte, nel momento dell´esplosione.
Nel caso di un pugno, (azione 220) diciamo che l´esplosione avviene al 4° frame, che é seguito da altri 3 frames, la persistenza di ogni frame nell´animazione é di 4 ticks.
Per inserire nel pugno l´impressione di impatto perfetto bisogna creare una seconda animazione che parte con l´esplosione del colpo, la chiameremo 221
Quando il colpo é definito bisogna inserire un changestate su movecontact
Quote
[state 220, impatto perfetto]
Type = changestate
Value = 221
trigger1 = MoveContact = 0
trigger1 = time = 16; Il momento dell´impatto imperfetto.
Type = changestate
Value = 221
trigger1 = MoveContact = 0
trigger1 = time = 16; Il momento dell´impatto imperfetto.
Quindi, se il colpo non connette nei primi due ticks dell´esplosione, lo stato passa all´animazione che parte con lo stesso colpo, ma fa piú danno, oppure fa cadere, oppure tiene l´avversario in stato di sofferenza incontrollata piú a lungo. Addirittura il ritorno potrebbe essere piú veloce.
In generale per certi colpi a mano aperta o a gamba tesa, l´impatto perfetto dovrebbe avere la scatola di collisione rossa leggermente piú estesa che l´impatto imperfetto.
Rasoiata
La rasoiata é come l´impatto perfetto, un colpo che a certe condizioni ha effetti differenti, solo che questi vengono definiti direttamente nel paragrafo Hitdef del file CNS.
Prendiamo ad esempio la spazzata di Kung Fu Man, é l´azione 440 nel file CNS di kung fu man, nella vostra distro di MUGEN.
Quote
[State 440, 3]
type = HitDef
trigger1 = Time = 0
attr = C, NA
damage = 72
hitflag = MAFD
guardflag = L
pausetime = 12,12
sparkno = 1
sparkxy = -5,-10
hitsound = 5,2
guardsound = 6,0
ground.type = Trip
ground.slidetime = 10
ground.hittime = 17
ground.velocity = -1.5,-2
air.velocity = -1.2,-3
guard.velocity = -5
fall = 1
type = HitDef
trigger1 = Time = 0
attr = C, NA
damage = 72
hitflag = MAFD
guardflag = L
pausetime = 12,12
sparkno = 1
sparkxy = -5,-10
hitsound = 5,2
guardsound = 6,0
ground.type = Trip
ground.slidetime = 10
ground.hittime = 17
ground.velocity = -1.5,-2
air.velocity = -1.2,-3
guard.velocity = -5
fall = 1
Ho evidenziato il fall = 1 per fare un esempio semplice: vogliamo che la mossa faccia cadere l´avversario solo se la barra del power é sopra il valore arbitrario di 731. (ho scelto un numero bizzarro per far comprendere l´esempio, per quello che ne sapevo quando me lo sono inventato potrebbe persino essere un numero primo.
Dunque, vogliamo un dato che ci restituisca 1 se il furore é maggiore di 732 e 0 in caso contrario.
Per la proprietá dei valori booleani non ci interessa molto che valore sia il flag, se anche fosse "banana" o "scarpa" farebbe comunque al caso nostro.
quindi metteremo
fall = floor(power/732)
In questo modo la spazzata fará cadere l´avversario se il valore di power é maggiore di 731, non lo fará cadere se il valore di power é uguale o inferiore, ció in quanto il floor di un numero compreso fra 0 e 1 é 0

Aiuto










