//--------------------------------
//玉の射出とフリーズを兼ねる
def {
    FREEZE_X = 16
    FREEZE_Y = 11
    FREEZE_SECOND = 20
}
mev[MEV_FREEZE] .pos(FREEZE_X, FREEZE_Y) .name("フリーズ")
mep[1] .body(CHARSET_SAVER, 3) .dir.up .anim.fixDir .trans .priority.high bl {}
mep[2] .body(CHARSET_SAVER, 3) .dir.right .anim.fixDir.step .priority.high .cond(v[__id(freezeState)] == GIM_ST_ACTIVATED) .parallel bl {
    countDownAndChangeState(freezeState, freezeTimer, MEV_FREEZE, GIM_ST_HIDE)
}
mep[3] .body(CHARSET_SAVER, 3) .dir.down .anim.fixDir.step .priority.high .cond(v[__id(freezeState)] == GIM_ST_EVENT) .parallel bl {
    @wait(2)
    @se.play "Magic1" .opt(90, 100, 50)
    @ev.flash .self .rgbv(31, 31, 31, 24) .time(2)
    @wait(5)
    cm_addBall()
    @wait(5)

    //待機状態に戻る
    freezeState = freezeTimer <= 0 ? GIM_ST_HIDE : GIM_ST_ACTIVATED
}

//--------------------------------
//魔王戦のみ、これを叩く事で玉が追加される
def {
    SWITCH_X  = 3
    SWITCH_X2 = 15
    SWITCH_Y  = 1

    SWITCH_RAD   = 8
    SWITCH_FRI   = 800
    SWITCH_REF   = 200
    SWITCH_POW   = 1 * UNIT_POS / 2
}
mev[MEV_SWITCH] .pos(3, 3) .name("マルチボールスイッチ")
mep[1] .body(CHARSET_BOSS_1, 3) .dir.up .anim.fixDir.step .priority.middle .parallel bl {
    @if `!eventMode bl {
        //有効な時は点滅してアピールする
        @if ballCount < 2 bl {
            @if `!(sceneTimer % 30) bl {
                @ev.flash .self .rgbv(31, 31, 31, 24) .time(2)
            }
        }

        pbUpdateBumper(temE, unusedV,
        GIM_LAYER_MID, SWITCH_FRI, SWITCH_REF, SWITCH_POW,
        self.id, SHARP_CIRCLE, SWITCH_RAD, 0, 0, 0, 0)
        @if temE >= 0 bl {
            @se.play "flipper2" .opt(100, 100, 50)
            @se.play "bell1" .opt(70, 120, 50)
            @ev.flash .self .rgbv(31, 31, 31, 31) .time(4)

            @if ballCount < 2 bl {
                _activateMultiBall()
                //移動する
                @wait(5)
                temA = rnd(SWITCH_X, SWITCH_X2)
                temB = SWITCH_Y
                @ev.setPos .self .pos(temA, temB)
                @ev.setAction .self .freq(8) .skippable .act {
                    .turnRandom
                }
                @ev.flash .self .rgbv(31, 31, 31, 31) .time(4)
                @wait(1)
            } .else bl {
                @wait(0)
            }
        }
    }
}
//魔王戦以外の時は消えている
mep[2] .cond(v[__id(bonusGameMode)] != BONUSGAME_MAOU) bl {}