#apply
//#msg .instant
#include "../_include.txt"

//map id
def parentMap = MAP_OPENING

//event id
def {
    MEV_AUTO = 1
    MEV_ALEX
    MEV_BRIAN
}

//picture path
def {
    FACE_PARSON = "Actor1_2k"
    CHAR_PARSON = "Actor1"
    CHAR_BALL = "brianball"
    PIC_SPACECADEC = "opening\spacecadec_face"
}

//change face
$faceA = @msg.face FACE_PARSON, 0, .left
$faceB = @msg.face FACE_PARSON, 2, .left

//create event
__fn _parsonEvent $mev $name $char $x $y {
  mev[$mev] .map(parentMap) .name($name) .pos($x,$y)
  mep[1] .body(CHAR_PARSON, $char) bl {}
}

//parson event
_parsonEvent(MEV_ALEX, "alex", 0, 9, 8)
_parsonEvent(MEV_BRIAN, "brian", 2, 12, 8)

//main event
mev[MEV_AUTO] .map(parentMap) .name("auto") .pos(1,0)
mep[1] .auto bl {
    @comment "ready"

    //player
    @player.trans .on
    @map[MAP_OPENING].setPlayerPos .pos(10, 8) .retain
    @wait(0)

    //message
    msgBottom()

    //fade in
    @scr.show(FADE_NORMAL)

    @comment "start"
    @wait 5

$faceA
"Windowsの\c[2]3Dピンボール\c[0]を知ってるか？"

    // 謎のおっさんがフェードイン
    @pic[1].show {
        PIC_SPACECADEC
        .pos(240, 60) .center
        .chromakey(1)
        .scale(200)
        .trans(100)
        .rgbs(100, 100, 100, 100)
        .mapLayer(7)
        .eraseWhenTransfer
        .affectedByTint   
    }
    @pic[1].move {
        .relative
        .pos(10,0)
        .scale(0)
        .trans(-50)
        .time(10)
    }

$faceB
"え？ちょっと待って。
へんなおっさんの顔が頭をよぎった。"
"3Dじゃない方のピンボールは知ってるぜ。
紫っぽい台だった気がする。"

$faceA
"多分それが3Dピンボールだわ。
ググれば分かるけど奥行きがある画面だ。"

$faceB
"へー、あれかー。
昔よく遊んだぜ。"
"台を揺らすと動かなくなるよな。"

$faceA
"台パンで即終了は、あるあるだな。"
"俺もルールを知らなかったんだけど、
ミッションとか時間制限イベントが
あるそうなんだ。"
"玉を宇宙船に見立てて
飛ばしてるんだとさ。"

$faceB
"え？ちょっと待って
名前の知らない古のゲームが
頭の中をよぎりまくってる"

    // 郷愁
    @bgm.store
    @bgm.play "Repose 3" .opt(0,100,100,50)
    @scr.tint .rgbs(120,110,110,0) .time(10)

"あの…アレだよ。
雑誌の付録のCDに大量のソフト…
ふりーむとかベクターとかにあってさ"
"今となっちゃ入手できないし、
検索しても出ないようなものも
結構あるんだよな。"
"そうだ。あの時だったなぁ。"
"システムが似てるゲームが
多くある事に気づいた俺は、
ツクールの存在を知ったんだ。"
"簡単にゲームが作れるという
ツクールに興味が湧いて、そうして
辿り着いたのが匿名掲示板だった…"

$faceA
"おいやめろ。
今はピンボールの話をしてるんだ。
懐ゲーじゃない。"

    //郷愁終わり
    @bgm.restore
    @scr.tint .rgbs(100,100,100,100) .time(5)

    @wait 2

$faceB
"そうだな。
で、ピンボールがどうしたんだ？"

$faceA
"あぁ、なんていうか
ミッションを達成して数値を増やしていく
感じがRPGみたいだなって思ってさ。"
"「もしもピンボールだったら」ってのを
思いついたんだ。\!
このネタで把握やろうず。"

$faceB
"おー、いいんじゃねぇか…\!
RPGとピンボールの組み合わせって
スマホゲーでたまにあるよな。"

$faceA
"そうだな。
世界を凝縮したようなレベルデザインは
RPGと相性が良いのかもな。"
"そこでだー
ブライアンに重要な役割を頼みたい。"

    //フラッシュ
    @se.play "Holy9" .opt(100, 100, 50)
    @scr.flash .once(3) .rgbv(31, 31, 31, 31)

$faceB
"仲間ktkr"

$faceA
"その役ってのは、つまり主役だ。"

    //フラッシュ
    @se.play "Holy9" .opt(100, 120, 50)
    @scr.flash .once(3) .rgbv(31, 31, 31, 31)

$faceB
"主演ktkr"

    @bgm.store
    @bgm.stop

$faceA
"お前ボールな。"

    @wait 20

    //ボールか
    @se.play "Jump1" .opt(100, 100, 50)
    @ev[MEV_BRIAN].flash .rgbv(31, 31, 31, 31) .time(2)
    @ev[MEV_BRIAN].setAction .freq(8) .skippable .act {
        .setBody CHAR_BALL, 0
        .faceUp
        .beginJump
        .endJump
    }

    @wait 5

$faceB
"おk
これでいいか？"

    //右を向く
    @ev[MEV_ALEX].setAction .freq(8) .skippable .act {
        .faceRight
    }

$faceA
"え"

$faceB
"え"

$faceA
"球体になれとは言ってねぇよ！\!
そもそも需要あるのそれ？"   

$faceB
"これはピンボールという
ゲームジャンルに合わせたデフォルメ。"
"見慣れない表現を何でも性癖だと
捉えるのは大人の悪い癖だぜ。"

    //下を向く
    @ev[MEV_ALEX].setAction .freq(8) .skippable .act {
        .faceDown
    }

$faceA
"そうか…そうなのか…\!
にしてもなんかデカくね？"

$faceB
"それにだ。
有名なヒゲとかハリネズミとか…
ハリネズミは元から丸くなれるな。"
"とにかく有名どころも体を張ってんだ。
これくらい恥でもねぇさ。"

$faceA
"プロやな――――"
"でも残念だな。\!
ブライアンをタルに詰めてフリッパーで
弾いたら面白いと思ったんだけど。"

$faceB
"こんなサイコ野郎が
性癖の需要を語っていたのか。"

$faceA
"まぁ、やる気ならいいや
台に向かおうぜ。"

    //吹っ飛ばす
    @ev[MEV_ALEX].setAction .freq(8) .skippable bl {
        .moveRight
        .moveRight
    }
    @ev.execAction

    @se.play "Blow3" .opt(100, 100, 50)
    @ev[MEV_BRIAN].setAction .freq(8) .skippable bl {
        .fixDir
        .speedUp
        .speedUp
        .speedUp
        .moveUpperRight
        .moveUpperRight
        .moveUpperRight
        .moveUpperRight
        .moveUpperRight
        .moveUpperRight
        .moveUpperRight
        .moveUpperRight
    }
    @wait(1)
    @pic[1].move {
        .relative
        .pos(160,-80)
        .scale(0)
        .trans(0)
        .time(2)
    }

    @ev.execAction

    @comment "end"
    @se.play "Wind1" .opt(100, 100, 50)
    
    @scr.hide(FADE_NORMAL)
    @map[MAP_RELAY].setPlayerPos .pos(0, 0) .down
    
}