ヘルダンク

ヴァンパイアシリーズの ザベル・ザロック が使用します。

相手をボールに変化させてダンクシュートを放ちます。ボール化したキャラはどれもコミカルなデフォルメチックな姿になります。
MUGENで対応可能なのは操さん、Zelgadis296さんのザベルになります。



対応番号等は存在せず、こちら側で対応ステートを用いて対応させます。

※ 2014/1/19追記 海外でヘルダンクの番号が7768として使用されているとの情報をいただきました。

下記のSFFやanim、ステートの番号はこちらで独自に指定している番号です。
すでに使用済みの番号の場合、別の未使用の番号に変更する必要があります。

まず、SFF9950,0に(基本サイズ)、9950,1に(潰れた状態)のボールの画像を登録します。
座標は画像によって微妙に変更する必要がありますので、
ゆ~とはるが製作したキャラのSFFか"特殊やられ対応素材"に同梱しているSFFの登録座標を参考にしてください。

anim例

;ヘルダンク(操さん製作)
[Begin Action 9950]
9950,-1,0,0,20
9950,0,0,0,27
9950,1,0,0,1
9950,0,0,0,8
9950,1,0,0,2
9950,0,0,0,56
9950,1,1,-1,1
9950,0,0,0,16

;ヘルダンク(Zelgadis296さん製作)
[Begin Action 9951]
9950,0,2,14,29
9950,1,4,13,3
9950,0,2,14,15
9950,1,4,13,2
9950,0,2,14,56
9950,1,4,0,1
9950,0,2,3,-1

この2つのanimを登録します。

;Spirit Roller
[Begin Action 7688]
9950,0,0,0,2
9950,1,0,0,2
9950,0,0,0,2

海外でヘルダンクの番号が7768として使用されているとの情報をいただきましたが、
こちらでヘルダンクとしての使用しているのを確認できませんでした。

Phantom.of.the.Serverさんのレイレイのオリジナル技「Spirit Roller」で使用されているのは確認できました。

↓この記述を喰らう側(自分)の-2ステートに追記します。

;ザベル「ヘルダンク」対応ステート
[State ]
type=Helper
trigger1=numenemy&&movetype=H&&!numhelper(1422)
trigger1=enemynear,name="Zabel"&&((enemynear,authorname="misao"&&stateno=950&&time=20)||(enemynear,authorname="Zelgadis296"&&stateno=2150&&enemynear,time=6&&enemynear,stateno=2002&&enemynear,movetype=A))
name = "helldunk"
ID=ifelse(enemynear,authorname="misao",1422,1423)
pos=ifelse(enemynear,authorname="misao",130,70),-ifelse(enemynear,authorname="misao",42,55)
postype=p2
stateno=1422
helpertype=normal
facing=-1

↓次にこのステートをcnsのどこでも良いので追記します。

;ヘルダンク対応ステート(ヘルパー)
[Statedef 1422]
type=A
physics=N
ctrl=0
anim=ifelse(ishelper(1422),9950,9951)
sprpriority=ifelse(ishelper(1422),0,4)

[State ]
type=posset
trigger1=ishelper(1422)&&facing=-1&&(time=[21,32])
x=enemynear,pos x+ifelse(time=21,120,ifelse(time=22,110,ifelse(time=23,100,ifelse(time=24,90,ifelse(time=25,80,ifelse(time=26,70,ifelse(time=27,60,ifelse(time=28,50,ifelse(time=29,40,ifelse(time=30,30,ifelse(time=31,20,15)))))))))))
y=enemynear,pos y-ifelse(time=21,25,ifelse(time=22,30,ifelse(time=23,35,ifelse(time=24,40,ifelse(time=25,45,ifelse(time=26,55,ifelse(time=27||time=32,60,ifelse(time=29,67,ifelse(time=31,63,65)))))))))

[State ]
type=posset
trigger1=ishelper(1422)&&facing=1&&(time=[21,32])
x=enemynear,pos x-ifelse(time=21,120,ifelse(time=22,110,ifelse(time=23,100,ifelse(time=24,90,ifelse(time=25,80,ifelse(time=26,70,ifelse(time=27,60,ifelse(time=28,50,ifelse(time=29,40,ifelse(time=30,30,ifelse(time=31,20,15)))))))))))
y=enemynear,pos y-ifelse(time=21,25,ifelse(time=22,30,ifelse(time=23,35,ifelse(time=24,40,ifelse(time=25,45,ifelse(time=26,55,ifelse(time=27||time=32,60,ifelse(time=29,67,ifelse(time=31,63,65)))))))))

[State ]
type=posset
trigger1=ishelper(1422)&&facing=-1&&(time=42||(time=[44,50])||time=52||time=54||(time=[56,60]))
x=enemynear,pos x+ifelse(time=42||time=52,27,ifelse(time=44||time=50,-5,ifelse((time=[45,49]),-20,ifelse(time=54,52,ifelse(time=56,20,ifelse(time=57,16,ifelse(time=58,12,ifelse(time=59,8,ifelse(time=60,6,0)))))))))
y=enemynear,pos y+ifelse(time=42||time=52,-55,ifelse(time=44||time=50,-60,ifelse(time=45||time=48||time=60,-10,ifelse(time=46||time=59,-5,ifelse(time=49,-15,ifelse(time=54,-25,ifelse(time=56,10,ifelse(time=57,5,ifelse(time=31,63,0)))))))))

[State ]
type=posset
trigger1=ishelper(1422)&&facing=1&&(time=42||(time=[44,50])||time=52||time=54||(time=[56,60]))
x=enemynear,pos x+ifelse(time=42||time=52,-27,ifelse(time=44||time=50,5,ifelse((time=[45,49]),20,ifelse(time=54,-52,ifelse(time=56,-20,ifelse(time=57,-16,ifelse(time=58,-12,ifelse(time=59,-8,ifelse(time=60,-6,0)))))))))
y=enemynear,pos y+ifelse(time=42||time=52,-55,ifelse(time=44||time=50,-60,ifelse(time=45||time=48||time=60,-10,ifelse(time=46||time=59,-5,ifelse(time=49,-15,ifelse(time=54,-25,ifelse(time=56,10,ifelse(time=57,5,ifelse(time=31,63,0)))))))))

[State ]
type=posset
trigger1=ishelper(1422)&&facing=-1&&(time=62||(time=[86,97]))
x=enemynear,pos x+ifelse(time=97,25,-20)
y=enemynear,pos y-ifelse(time=62,25,ifelse(time=97,55,60))

[State ]
type=posset
trigger1=ishelper(1422)&&facing=1&&(time=62||(time=[86,97]))
x=enemynear,pos x+ifelse(time=97,-25,20)
y=enemynear,pos y-ifelse(time=62,25,ifelse(time=97,55,60))

[State ]
type=SprPriority
trigger1=ishelper(1422)&&(time=29||time=42||time=54||time=62)
value=ifelse(time=29||time=54,5,3)

[State ]
type=VelSet
trigger1=ishelper(1422)&&(time=63||time=86||(time>=100&&pos y>0))
x=ifelse(time=63,-3,ifelse(time=86,0,-4))
y=ifelse(time=63,-9.5,ifelse(time=86,0,-10))

[State ]
type=VelSet
trigger1=ishelper(1422)&&time=98
y=10

[State ]
type=VelAdd
trigger1=ishelper(1422)&&((time=[63, 85])||(time=[120,130]))
y=ifelse((time=[63,85]),0.25,2)

[State ]
type=VelSet
trigger1=ishelper(1423)&&(time=0||time=20||time=84||(time=[105,106]))
x=ifelse(time=0,3.2,ifelse(time=106,0.5,0))
y=ifelse(time=0,-4.5,ifelse(time=20||time=105,0,ifelse(time=84,8.5,-3.1)))

[State ]
type=VelAdd
trigger1=ishelper(1423)&&(time=[1,19])
y=.44

[State ]
type=turn
trigger1=ishelper(1423)&&time=20

[State ]
type=posset
trigger1=ishelper(1423)&&facing=1&&(time=20||time=26||time=29||time=32||time=35||time=38||time=41||time=44||time=47||time=49||time=51||(time=[53,84]))
x=enemynear,pos x+ifelse(time=20||time=41,26,ifelse(time=26||time=38,-3,ifelse(time=44,64,ifelse(time=47,36,ifelse(time=49,23,ifelse(time=51,11,ifelse((time=[53,83]),-15,ifelse(time=84,42,-19))))))))
y=enemynear,pos y-ifelse(time=20||time=41,70,ifelse(time=26||time=38,80,ifelse(time=32,16,ifelse(time=35,33,ifelse(time=44,38,ifelse(time=49,14,ifelse(time=51,25,ifelse((time=[53,83]),60,ifelse(time=84,69,10)))))))))

[State ]
type=posset
trigger1=ishelper(1423)&&facing=-1&&(time=20||time=26||time=29||time=32||time=35||time=38||time=41||time=44||time=47||time=49||time=51||(time=[53,84]))
x=enemynear,pos x+ifelse(time=20||time=41,-26,ifelse(time=26||time=38,3,ifelse(time=44,-64,ifelse(time=47,-36,ifelse(time=49,-23,ifelse(time=51,-11,ifelse((time=[53,83]),15,ifelse(time=84,-42,19))))))))
y=enemynear,pos y-ifelse(time=20||time=41,70,ifelse(time=26||time=38,80,ifelse(time=32,16,ifelse(time=35,33,ifelse(time=44,38,ifelse(time=49,14,ifelse(time=51,25,ifelse((time=[53,83]),60,ifelse(time=84,69,10)))))))))

[State ]
type=SprPriority
trigger1=ishelper(1423)&&(time=26||time=47||time=84)
value=ifelse(time=47,4,2)

[State ]
type=DestroySelf
trigger1=(ishelper(1422)&&AnimTime=0)||(ishelper(1423)&&time=126)

↑ここまで

[State ]
type=AngleDraw
trigger1=1
scale=2,2

↑このAngleDrawのステートコントローラはキャラのsizeを0.5(D4設定)にしている場合、一緒にステート内に追記してください。
 0.5以外の場合はここのscale値を等倍(scale1)になるように変更してください。
 sizeを1以外にしているキャラの場合、これを追記しないとボールの大きさが合わず不具合が発生してしまいます。

以上で全てです。
記述に問題がなければ、きちんとボール化しザベルの動きに合う動作の対応をするはずです。

※ 本来、ザベル側の記述に手を加えなければ正常に対応化できない技なのですが、この対応方法は
  ザベル側で表示したボールの画像の上にヘルパーを重ねて表示させて擬似的に対応しているように見せかけているということになります。
  故に、この対応方法はザベル側か自分のどちらかのsizeを変更している場合、ボールのサイズがおかしくなり表示がずれてしまいます
  従いまして、この対応記述を使用する際はこの点をご了承の上でのご使用をお願い致します。

自作キャラの対応

- -


戻る

TOP

inserted by FC2 system