cinnamonフォルダにfutanariフォルダとfutanari.defを入れて、select.defの[Characters]に
cinnamon/futanari.defを書き加えて下さい。
当パッチでは、このような変更が行われます。
フーバーオーバーや偽・瞬○殺中にフーバーオーバー、偽・瞬○殺、シナモンヒップアタックコマンドを入れるとキャンセルしてフラフラ動く不具合を直しました。

以下のステートにトリガー“stateno != [4000,4019]”、“stateno != [14005,14006]”を追加しました。
[StateDef 3050]〜[StateDef 3099]は存在しないので、トリガー“stateno != [3050,3100)”を削除しました。
cinnamon.cmd
[StateDef -1]
;Hoover's Ooover ;フーバーオーバー(ゲージレベル3) [State -1, HooversOoover] type = ChangeState value = 4000 triggerall = command = "HooversOoover" triggerall = power >= 3000 triggerall = statetype != A trigger1 = ctrl trigger2 = hitdefattr = SC, NA, SA, HA trigger2 = stateno != [3050,3100) trigger2 = movecontact |
;Hoover's Ooover ;フーバーオーバー(ゲージレベル3) [State -1, HooversOoover] type = ChangeState value = 4000 triggerall = command = "HooversOoover" triggerall = power >= 3000 triggerall = statetype != A trigger1 = ctrl trigger2 = hitdefattr = SC, NA, SA, HA trigger2 = stateno != [4000,4019] trigger2 = stateno != [14005,14006] trigger2 = movecontact |
|
;Nikkei Shungokusatsu ;偽・瞬獄殺(ゲージレベル3) [State -1, HooversOoover] type = ChangeState value = 4010 triggerall = command = "Gokusatsu" triggerall = power >= 3000 triggerall = statetype != A trigger1 = ctrl trigger2 = hitdefattr = SC, NA, SA, HA trigger2 = stateno != [3050,3100) trigger2 = movecontact |
;Nikkei Shungokusatsu ;偽・瞬獄殺(ゲージレベル3) [State -1, HooversOoover] type = ChangeState value = 4010 triggerall = command = "Gokusatsu" triggerall = power >= 3000 triggerall = statetype != A trigger1 = ctrl trigger2 = hitdefattr = SC, NA, SA, HA trigger2 = stateno != [4000,4019] trigger2 = stateno != [14005,14006] trigger2 = movecontact |
|
;シナモンヒップアタック(ゲージレベル1) [State -1, CinnamonHipAttack] type = ChangeState value = 2999 triggerall = command = "CinnamonHipAttack" triggerall = power >= 1000 triggerall = stateno != [3000,3050] triggerall = stateno != [1100,1122] trigger1 = statetype != A trigger1 = ctrl trigger2 = statetype != A trigger2 = hitdefattr = SC, NA, SA, HA trigger2 = movecontact |
;シナモンヒップアタック(ゲージレベル1) [State -1, CinnamonHipAttack] type = ChangeState value = 2999 triggerall = command = "CinnamonHipAttack" triggerall = power >= 1000 triggerall = stateno != [1100,1122] triggerall = stateno != [3000,3050] triggerall = stateno != [4000,4019] triggerall = stateno != [14005,14006] trigger1 = statetype != A trigger1 = ctrl trigger2 = statetype != A trigger2 = hitdefattr = SC, NA, SA, HA trigger2 = movecontact |
;AIフーバーオーバー(ゲージレベル3) [State -3, HooversOoover] type = ChangeState value = 4000 Triggerall = Var(59) = 1 ;ここからAI条件 triggerall = power >= 3000 triggerall = statetype = S || statetype = C triggerall = p2statetype = S || p2statetype = C triggerall = movetype = I triggerall = p2movetype != H;A有 trigger1 = p2bodydist X >= 0 trigger1 = p2bodydist X <= 20;ここまで条件 trigger1 = ctrl trigger2 = hitdefattr = SC, NA, SA, HA trigger2 = stateno != [3050,3100) trigger2 = movecontact |
;AIフーバーオーバー(ゲージレベル3) [State -3, HooversOoover] type = ChangeState value = 4000 Triggerall = Var(59) = 1 ;ここからAI条件 triggerall = power >= 3000 triggerall = statetype = S || statetype = C triggerall = p2statetype = S || p2statetype = C triggerall = movetype = I triggerall = p2movetype != H;A有 trigger1 = p2bodydist X >= 0 trigger1 = p2bodydist X <= 20;ここまで条件 trigger1 = ctrl trigger2 = hitdefattr = SC, NA, SA, HA trigger2 = stateno != [4000,4019] trigger2 = stateno != [14005,14006] trigger2 = movecontact |
従来、一部のキャラは受身コマンドやダウン回避コマンドで抜けられるようになっていましたが、それを防止しました。

該当キャラは大抵、cmdファイルやAIに
[State -1, UKEMI] type = ChangeState value = ???? triggerall = command = "recovery" triggerall = alive = 1 trigger1 = stateno = 5050 trigger1 = pos y > -30 |
つかまれた敵が移行する[StateDef 4007]にある
[State 820, 2] type = SelfState trigger1 = !gethitvar(isbound) value = 5050 |
[State 4002, Bind ] type = TargetBind trigger1 = time = 0 pos = 40, 0 |
[State 4002, Bind ] type = TargetBind Trigger1 = Time < 64 pos = 40, 0 |
[State 4007, NoPush] Type = PlayerPush Trigger1 = 1 Value = 0 |
同様に、偽・瞬○殺の[StateDef 4012]に以下のような記述変更を行いました。
[State 4012, Bind ] type = TargetBind trigger1 = Time = 0 pos = 40, 0 |
[State 4012, Bind ] type = TargetBind trigger1 = 1 pos = 40, 0 |
その後の敵が移行する[StateDef 15020]〜[StateDef 15035]に以下のような記述変更を行いました。
[StateDef 15030]
[State 15030, 3] type = SelfState triggerall = !HitFall trigger1 = HitOver trigger2 = Vel Y > 0 ;Hit ground trigger2 = Pos Y >= 30 ;. value = 5040 ;HITA_RECOV [State 15030, 4] type = SelfState triggerall = HitFall trigger1 = HitOver trigger2 = Vel Y > 0 ;Hit ground trigger2 = Pos Y >= 30 ; value = 5050 ;HITA_FALL |
[State 15030, 3] type = ChangeState triggerall = !HitFall trigger1 = HitOver trigger2 = Vel Y > 0 ;Hit ground trigger2 = Pos Y >= 30 ;. value = 15040 ;HITA_RECOV [State 15030, 4] type = ChangeState triggerall = HitFall trigger1 = HitOver trigger2 = Vel Y > 0 ;Hit ground trigger2 = Pos Y >= 30 ; value = 15050 ;HITA_FALL |
[State 15035, 3] type = SelfState triggerall = !HitFall trigger1 = HitOver ;Hit is over trigger2 = AnimTime = 0 ;Animation over trigger3 = Vel Y > 0 ;Hit ground trigger3 = Pos Y >= 30 ;. trigger4 = Time = 0 ;No transition anim trigger4 = Anim != 5035 ;. value = 5040 ;HITA_RECOV |
[State 15035, 3] type = ChangeState triggerall = !HitFall trigger1 = HitOver ;Hit is over trigger2 = AnimTime = 0 ;Animation over trigger3 = Vel Y > 0 ;Hit ground trigger3 = Pos Y >= 30 ;. trigger4 = Time = 0 ;No transition anim trigger4 = Anim != 5035 ;. value = 15040 ;HITA_RECOV |
|
[State 15035, 4] type = SelfState triggerall = HitFall trigger1 = HitOver ;Hit is over trigger2 = AnimTime = 0 ;Anim is over trigger3 = Vel Y > 0 ;Hit ground trigger3 = Pos Y >= 30 ;. trigger4 = Time = 0 ;No transition anim trigger4 = Anim != 5035 ;. value = 5050 ;HITA_FALL |
[State 15035, 4] type = ChangeState triggerall = HitFall trigger1 = HitOver ;Hit is over trigger2 = AnimTime = 0 ;Anim is over trigger3 = Vel Y > 0 ;Hit ground trigger3 = Pos Y >= 30 ;. trigger4 = Time = 0 ;No transition anim trigger4 = Anim != 5035 ;. value = 15050 ;HITA_FALL |
そして、新たに以下のステートを追加しました。
; HITA_RECOV (recovering in air, not falling) [Statedef 15040] type = A movetype= H physics = N [State 15040, 1] type = ChangeState trigger1 = !Alive value = 15050 [State 15040, 2] type = ChangeAnim trigger1 = AnimTime = 0 trigger1 = Anim != 5040 trigger2 = Time = 0 trigger2 = Anim != 5035 value = 5040 [State 15040, 3] type = CtrlSet trigger1 = HitOver value = 1 [State 15040, 4] type = StateTypeSet trigger1 = HitOver movetype = I [State 15040, 5] type = VelAdd trigger1 = 1 y = GetHitVar(yaccel) [State 15040, 6] type = SelfState trigger1 = Vel Y > 0 trigger1 = Pos Y >= 0 value = 52 ;JUMPLAND ; HITA_FALL (knocked up, falling) [Statedef 15050] type = A movetype= H physics = N [State 15050, 1] ;Change anim when done with transition type = ChangeAnim trigger1 = AnimTime = 0 trigger1 = Anim = 5035 trigger2 = Time = 0 ;If no transition anim trigger2 = Anim != 5035 trigger2 = (Anim != [5051, 5059]) && (Anim != [5061, 5069]) trigger2 = Anim != 5090 ;Not if hit off ground anim value = 5050 [State 15050, 2] ;Coming down anim type = ChangeAnim trigger1 = anim = [5050,5059] trigger1 = Vel Y >= ifelse(anim = 5050, 1, -2) trigger1 = SelfAnimExist(anim+10) value = anim+10 persistent = 0 [State 15050, 3] ;Gravity type = VelAdd trigger1 = 1 y = GetHitVar(yaccel) [State 15050, 6] type = SelfState trigger1 = Vel Y > 0 trigger1 = Pos Y >= ifelse((anim = [5051,5059]) || (anim = [5061,5069]), 0, 25) value = 5100 ;HIT_BOUNCE |
従来の、カップに当たった敵が移行する[StateDef 3110]、[StateDef 3111]で敵の位置を設定する
[State 3110, 2] type = PosSet trigger1 = time = 20 trigger1 = enemy,Facing = 1 x = 80 y = -25 [State 3110, 2] type = PosSet trigger1 = time = 20 trigger1 = enemy,Facing = -1 x = -80 y = -25 |

だから、敵に当たったカップが移行する[StateDef 3105]でTargetBindを使う方法にかえました。
これにより、
586氏作Unknownの「たるのなか」対応キャラ、スディ氏作首斬り破沙羅の絶命奥義対応キャラ、NRF氏作コンバット越前は、カップから顔を出すようにしました。



[StateDef 3110]で
[State 3110, Invisible];586作Unknownの「たるのなか」非対応キャラの透明化 type = AssertSpecial triggerAll = time >= 20 TriggerAll = !SelfAnimExist(5860) Trigger1 = AuthorName = "586" Trigger2 = AuthorName = "uru" Trigger3 = AuthorName = "Rekku" Trigger4 = AuthorName = "YU-TOHARU" Trigger5 = AuthorName = "ju" Trigger6 = AuthorName = "frule" flag = invisible |
[State 3110, Invisible];非対応キャラの透明化 type = AssertSpecial triggerAll = time >= 20 Trigger1 = !(AuthorName = "NRF" && Name = "Combat Echizen") Trigger1 = !(AuthorName = "586") Trigger1 = !(AuthorName = "uru") Trigger1 = !(AuthorName = "Rekku") Trigger1 = !(AuthorName = "YU-TOHARU") Trigger1 = !(AuthorName = "ju") Trigger1 = !(AuthorName = "frule") Trigger1 = !(AuthorName = "SDY") Trigger1 = !(AuthorName = "masquer") Trigger1 = !(AuthorName = "HIROKITI") Trigger1 = !(AuthorName = "kusareMiyabi") flag = invisible |
[State 3110, Anim1];586作Unknownの「たるのなか」対応キャラ用 type = ChangeAnim triggerAll = time = 20 TriggerAll = SelfAnimExist(5860) Trigger1 = AuthorName = "586" Trigger2 = AuthorName = "uru" Trigger3 = AuthorName = "Rekku" Trigger4 = AuthorName = "YU-TOHARU" Trigger5 = AuthorName = "ju" Trigger6 = AuthorName = "frule" value = 5860 |
[StateDef 3105]で
[State 3105, Enemy];スディ作首斬り破沙羅の絶命奥義対応キャラ用 Type = TargetBind triggerAll = time = 20 TriggerAll = Target,SelfAnimExist(41168) Trigger1 = Target,AuthorName = "SDY" Trigger2 = Target,AuthorName = "masquer" Trigger3 = Target,AuthorName = "HIROKITI" Trigger4 = Target,AuthorName = "KusareMiyabi" pos = 0,-53 |
[StateDef 3110]で
[State 3110, Invisible];スディ作首斬り破沙羅の絶命奥義非対応キャラの透明化 type = AssertSpecial triggerAll = time >= 20 TriggerAll = !SelfAnimExist(41168) Trigger1 = AuthorName = "SDY" Trigger2 = AuthorName = "masquer" Trigger3 = AuthorName = "HIROKITI" Trigger4 = AuthorName = "kusareMiyabi" flag = invisible |
[State 3110, Invisible];非対応キャラの透明化 type = AssertSpecial triggerAll = time >= 20 Trigger1 = !(AuthorName = "NRF" && Name = "Combat Echizen") Trigger1 = !(AuthorName = "586") Trigger1 = !(AuthorName = "uru") Trigger1 = !(AuthorName = "Rekku") Trigger1 = !(AuthorName = "YU-TOHARU") Trigger1 = !(AuthorName = "ju") Trigger1 = !(AuthorName = "frule") Trigger1 = !(AuthorName = "SDY") Trigger1 = !(AuthorName = "masquer") Trigger1 = !(AuthorName = "HIROKITI") Trigger1 = !(AuthorName = "kusareMiyabi") flag = invisible |
[State 3110, Anim2];スディ作首斬り破沙羅の絶命奥義対応キャラ用 type = ChangeAnim triggerAll = time = 20 TriggerAll = SelfAnimExist(41168) Trigger1 = AuthorName = "SDY" Trigger2 = AuthorName = "masquer" Trigger3 = AuthorName = "HIROKITI" Trigger4 = AuthorName = "kusareMiyabi" value = 41168 elem = 2 |
以下のステートに
trigger1 = Life < LifeMax trigger2 = Power < PowerMax |
cinnamon.cmd
[StateDef -1]
;Charge ;チャージ [State -1, Charge] type = ChangeState value = 990 triggerall = command = "Charge" triggerall = command != "holddown" triggerall = Var(59) = 0 trigger1 = statetype = S trigger1 = ctrl |
;Charge ;チャージ [State -1, Charge] type = ChangeState value = 990 triggerall = command = "Charge" triggerall = command != "holddown" triggerall = Var(59) = 0 triggerAll = statetype = S triggerAll = ctrl Trigger1 = Life < LifeMax Trigger2 = Power < PowerMax |
[State 990, 6] type = ChangeState trigger1 = time = 25 trigger1 = command = "hold_Charge" value = 991 ctrl = 1 |
[State 990, 6] type = ChangeState triggerAll = time = 25 triggerAll = command = "hold_Charge" trigger1 = Life < LifeMax trigger2 = Power < PowerMax value = 991 ctrl = 1 |
[State 991, 5] type = ChangeState trigger1 = time = 19 trigger1 = command = "hold_Charge" value = 991 |
[State 991, 5] type = ChangeState triggerAll = time = 19 triggerAll = command = "hold_Charge" trigger1 = Life < LifeMax trigger2 = Power < PowerMax value = 991 |
パッチ作者 Masanobu Uchida
mailto:mas_uchida@mve.biglobe.ne.jp
2009/05