SRC総合支援センター

ヘルプh| 連絡先

GSCトップ掲示板等身大ゲームデータ掲示板


【6807】include.eve

名前
 panu
投稿日時
 - 2015年11月28日(土) 00時40分 -
設定
引用なし
パスワード
# 本インクルードファイルは以下の変数を使用しています。
# シナリオ内で同名の変数を定義した場合、予期せぬ動作をする場合があります。

# KTM_VAR_Ohji_X
# KTM_VAR_Ohji_Y
# KTM_VAR_Dash

################################################################################
### 常時イベントラベル #########################################################
################################################################################

*ターン 全 味方:
    Call 塊魂サブルーチン_王子位置更新
Exit

*使用後 大コスモの王子 王子ダッシュ:
    Call 塊魂サブルーチン_王子ダッシュフラグ更新
Exit

*行動終了 大コスモの王子:
    Call 塊魂サブルーチン_王子気力上昇判定
Exit

################################################################################
### 移動後気力上昇処理 #########################################################
################################################################################

塊魂サブルーチン_王子位置更新:
    KTM_VAR_Ohji_X = X(大コスモの王子)
    KTM_VAR_Ohji_Y = Y(大コスモの王子)
Return

塊魂サブルーチン_王子ダッシュフラグ更新:
    KTM_VAR_Dash = 1
Return

塊魂サブルーチン_王子気力上昇判定:
    Local UID l_distance l_num l_morale l_monoList l_monoName
    Local l_i l_wx1 l_wy1 l_wx2 l_wy2 l_wxd1 l_wyd1 l_wxd2 l_wyd2
    
    UID = 対象ユニットID
    
    l_distance = Abs(X(UID) - KTM_VAR_Ohji_X) + Abs(Y(UID) - KTM_VAR_Ohji_Y)
    l_wx1 = WX(KTM_VAR_Ohji_X) + 16
    l_wy1 = WY(KTM_VAR_Ohji_Y) + 16
    l_wx2 = WX(UID)      + 16
    l_wy2 = WY(UID)      + 16
    
    Call 塊魂サブルーチン_王子位置更新
    
    If Unit(UID) = 大コスモの王子(塊なし) Then
        Return
    EndIf
    
    If Unit(UID) = 大コスモの王子(単) Then
        Return
    EndIf

    //巻き込み個数の決定
    l_num = Random(l_distance)
    If (KTM_VAR_Dash = 1) Then
        KTM_VAR_Dash = 0
        l_num = Int(l_num * 1.5) + 3
    EndIf
    
    If l_num = 0 Then
        Return
    EndIf
    
    l_morale = Int(l_num / 2)
    
    If l_morale > 0 Then
        IncreaseMorale UID l_morale
        Line (l_wx2 - 16) (l_wy2 - 36) (l_wx2 + 16) (l_wy2 - 20) #333333 BF
        Font 9pt #EE6633 Pゴシック
        PaintString (l_wx2 - 14) (l_wy2 - 34) 気+$(l_morale)
    EndIf
    
    l_monoList = Call(塊魂サブルーチン_巻き込み対象物リスト取得, Info(ユニットデータ, Unit(UID), サイズ))
    
    For l_i = 1 To l_num
        l_monoName = LIndex(l_monoList, Random(LLength(l_monoList)))
        
        //表示位置の計算
        l_wxd1 = Int(((l_wx1 * (1 + l_num - l_i)) + (l_wx2 * l_i)) / (l_num + 1))
        l_wyd1 = Int(((l_wy1 * (1 + l_num - l_i)) + (l_wy2 * l_i)) / (l_num + 1))
        l_wxd2 = 100 * (Int((l_i - 1) / 5) + 1) - 40
        l_wyd2 = 96 * (((l_i - 1) mod 5) + 1) - 64
        
        Call 戦闘アニメ_塊魂_巻き込み物表示 塊魂サブルーチン_名称取得(l_monoName) _GetWeaponBmpInfo("画像ファイル", l_monoName) _
                          _GetWeaponBmpInfo("サイズ", l_monoName) l_wxd1 l_wyd1 l_wxd2 l_wyd2
        
        Wait 1
    Next
    
    Wait 5
Return

塊魂サブルーチン_巻き込み対象物リスト取得:
    Local l_Size l_ResultList
    l_Size = Args(1)

    l_ResultList = ""

    Switch l_Size
        Case "SS"
    
    EndSw
    
    //todo:サイズ別巻き込み物の設定
    l_ResultList = List("ダイス1", "ダイス3", "ダイス5", "消しゴム")

Return l_ResultList

塊魂サブルーチン_名称取得:

    //特別に名称を変更する場合ここに記述

Return Args(1) //基本的に画像名称を返す

################################################################################
### 戦闘アニメラベル ###########################################################
################################################################################

戦闘アニメ_塊魂_巻き込みとどめ:
    Call 戦闘アニメ_塊魂_巻き込み物表示 NickName(Unit(相手ユニットID)) _GetBMPName(相手ユニットID) 32 _
                      WX(相手ユニットID) WY(相手ユニットID) 120 120 回転
Return

戦闘アニメ_塊魂_星とどめ:
    Call 戦闘アニメ_塊魂_巻き込み物表示 NickName(Unit(相手ユニットID)) _GetBMPName(相手ユニットID) 32 _
                      WX(相手ユニットID) WY(相手ユニットID) 120 120 回転 _
                      -.wav
    Call 戦闘アニメ_塊魂_塊完成レインボー共通
    Call 戦闘アニメ_塊魂_塊打ち上げ共通
    Call 戦闘アニメ_塊魂_塊星完成
    
    ClearPicture
    Refresh
Return

戦闘アニメ_塊魂_ビッグバンとどめ:
    Call 戦闘アニメ_塊魂_巻き込み物表示 NickName(Unit(相手ユニットID)) _GetBMPName(相手ユニットID) 32 _
                      WX(相手ユニットID) WY(相手ユニットID) 120 120 回転 _
                      -.wav
    Call 戦闘アニメ_塊魂_塊完成レインボー共通
    Call 戦闘アニメ_塊魂_塊打ち上げ共通
    Call 戦闘アニメ_塊魂_塊ビッグバン完成
    
    ClearPicture
    Refresh
Return

戦闘アニメ_塊魂_巻き込み物表示:
    Local l_i l_text l_bmpName l_bmpSizeHalf l_x1 l_y1 l_x2 l_y2 l_roll l_angleStart l_boxWidthHalf
    
    l_text    = Args(1)
    l_bmpName   = Args(2)
    l_bmpSizeHalf = Args(3) \ 2
    l_x1     = Args(4)
    l_y1     = Args(5)
    l_x2     = Args(6)
    l_y2     = Args(7)
    l_roll    = Args(8)

    _SelectSound "Type(Digital)(" & (Random(3) + 1) & ").wav" _GetWavFromArgs()

    FillStyle 塗りつぶし
    FillColor #EEEEEE

    For l_i = 1 to 6
        Circle (((l_x1 * l_i) + (l_x2 * (7 - l_i))) / 7) (((l_y1 * l_i) + (l_y2 * (7 - l_i))) / 7) 2 #EEEEEE
    Next

    Font 9pt #EEEEEE Pゴシック
    l_boxWidthHalf = Max(48, TextWidth(l_text) \ 2 + 2)
    Line (l_x2 - l_boxWidthHalf) (l_y2 + 32) (l_x2 + l_boxWidthHalf) (l_y2 + 48) #333333 BF
    
    PaintString (l_x2 - TextWidth(l_text) \ 2) (l_y2 + 40 - TextHeight(l_text) \ 2) l_text

    FillColor #333333

    If l_roll = "回転" Then
        l_angleStart = Random(180)
        For l_i = 1 to 20
            Circle l_x2 l_y2 24 #333333
            PaintPicture l_bmpName (l_x2 - l_bmpSizeHalf) (l_y2 - l_bmpSizeHalf) 透過 右回転 (l_angleStart + l_i * 24)
            Refresh
            Wait 1
        Next
    Else
        Circle l_x2 l_y2 24 #333333
        PaintPicture l_bmpName (l_x2 - l_bmpSizeHalf) (l_y2 - l_bmpSizeHalf) 透過 右回転 l_angle
    EndIf
    
    Refresh
Return

戦闘アニメ_塊魂_塊完成レインボー共通:

    Local l_i l_j l_colorsList l_colors l_yStart
    
    l_colorsList[1] = List(252, 0, 15)
    l_colorsList[2] = List(246,145, 37)
    l_colorsList[3] = List(255,255, 22)
    l_colorsList[4] = List( 51,254, 15)
    l_colorsList[5] = List( 0, 0,254)
    l_colorsList[6] = List(101, 38,142)
    l_colorsList[7] = List(252, 0,252)

    For l_i = 1 to 7
        l_colors[l_i] = RGB(LIndex(l_colorsList[l_i], 1), LIndex(l_colorsList[l_i], 2), LIndex(l_colorsList[l_i], 3))
        l_yStart[l_i] = Random(8) + (l_i Mod 2) * 24
    Next

    For l_i = 1 to 6
        For l_j = 1 to 7
            Line ((l_j - 1) * 69 + 1) (0) ((l_j - 1) * 69 + 69) (l_i * 80 + l_yStart[l_j]) l_colors[l_j] BF
        Next
        Refresh
        Wait 1
    Next

    For l_i = 1 to 6
        For l_j = 1 to 7
            Line ((l_j - 1) * 69 + 1) (0) ((l_j - 1) * 69 + 69) (480) Call(戦闘アニメ_塊魂_レインボー色取得, l_colorsList[l_j], l_i) BF
        Next
        Refresh
        Wait 1
    Next
    
    Line 0 0 480 480 #112233 BF
    Refresh

Return

戦闘アニメ_塊魂_レインボー色取得:
Return RGB(Int(LIndex(Args(1), 1) * (7 - Args(2)) / 7), _
      Int(LIndex(Args(1), 2) * (7 - Args(2)) / 7), _
      Int(LIndex(Args(1), 3) * (7 - Args(2)) / 7))

戦闘アニメ_塊魂_塊打ち上げ共通:

    Local UID l_i l_j l_rad l_x l_y l_bmpName l_bmpX l_bmpY l_monoList l_monoName l_drawList
    
    UID = 対象ユニットID
    
    //描画対象の画像情報をリストに定義
    
    l_monoList = Call(塊魂サブルーチン_巻き込み対象物リスト取得, Info(ユニットデータ, Unit(UID), サイズ))
    
    For l_i = 1 to 24
        l_monoName = LIndex(l_monoList, Random(LLength(l_monoList)))
        
        l_drawList[l_i] = List(_GetWeaponBmpInfo("画像ファイル", l_monoName), l_i + Random(8), _GetWeaponBmpInfo("サイズ", l_monoName) \ 2)
    Next
    
    l_i = Count(l_drawList) + 1
    
    l_drawList[l_i] = List(Info(ユニットデータ, Unit(相手ユニットID), グラフィック), 16 + Random(8), 32 \ 2)
    
    //描画しながら浮かべる
    
    PlaySound Charge.wav
    
    FillStyle 塗りつぶし
    For l_i = 1 to 16
        Line 0 0 480 480 #112233 BF
        l_x = 240
        l_y = 320 - (12 * l_i)
    
        FillColor #004400
        Circle l_x (l_y + 24) 16 #004400
        FillColor #008800
        Circle l_x l_y 24 #008800
        
        For l_j = 1 to Count(l_drawList)
            l_rad = (l_i * 30 + l_j * 30) * 3.141592 / 180
            l_bmpName = LIndex(l_drawList[l_j], 1)
            
            l_bmpX = (l_x + LIndex(l_drawList[l_j], 2) * Cos(l_rad) - LIndex(l_drawList[l_j], 3))
            l_bmpY = (l_y + LIndex(l_drawList[l_j], 2) * Sin(l_rad) - LIndex(l_drawList[l_j], 3))
            PaintPicture l_bmpName l_bmpX l_bmpY 透過 右回転 (l_i * 30 + l_j * 30)
        Next
    
        Refresh
        Wait 0.5
    Next

Return

戦闘アニメ_塊魂_塊星完成:
    Local UID l_backColor l_lightColor l_nickName

    UID = 相手ユニットID
    
    l_nickName = NickName(Unit(UID))
    
    FillStyle 塗りつぶし
    Font 9pt Pゴシック Bold #eeeeee
    
    PlaySound Glass(2).wav
    
    For l_i = 1 to 8
        l_backColor = RGB(17 + (8 - l_i) * 24, 34 + (8 - l_i) * 24, 51 + (8 - l_i) * 24)
        l_lightColor = RGB(64 + (l_i Mod 2) * 32, 32, (l_i Mod 2) * 64)
        
        FillColor l_backColor
        Line 0 0 480 480 l_backColor BF
        FillColor l_lightColor
        Circle 240 128 24 l_lightColor
        PaintPicture Impact\EFFECT_ImpactBallHit(Pink)02.gif (240 - 128) (128 - 128) 透過
    
        PaintString - (240 - 48) $(l_nickName)星
    
        Refresh
        Wait 1
    Next
    
    For l_i = 1 to 24
        FillColor #112233
        Line 0 0 480 480 #112233 BF
        FillColor RGB(64 + (l_i Mod 2) * 32, 32, (l_i Mod 2) * 64)
        Circle 240 128 24 #112233
        PaintPicture Impact\EFFECT_ImpactBallHit(Pink)02.gif (240 - 128) (128 - 128) 透過
    
        PaintString - (240 - 48) $(l_nickName)星
        
        Refresh
        Wait 1
    Next
Return

戦闘アニメ_塊魂_塊ビッグバン完成:
    Local UID l_i l_fr l_fg l_fb l_br l_bg l_bb l_backColor l_lightColor l_nickName

    UID = 相手ユニットID
    
    l_nickName = NickName(Unit(UID))
    
    FillStyle 塗りつぶし
    Font 9pt Pゴシック Bold #eeeeee
    
    PlaySound Flash.wav
    
    l_fr = 255
    l_fg = 192
    l_fb = 225
    
    For l_i = 1 to 8
        l_br = 17 + (8 - l_i) * 24
        l_bg = 34 + (8 - l_i) * 24
        l_bb = 51 + (8 - l_i) * 24
        
        Call 戦闘アニメ_塊魂_塊ビッグバン描画 l_i l_fr l_fg l_fb l_br l_bg l_bb
        
        PaintString - (240 - 48) $(l_nickName)ビッグバン
        
        Refresh
        Wait 1
    Next
    
    For l_i = 1 to 24
        l_br = 17
        l_bg = 34
        l_bb = 51
        
        Call 戦闘アニメ_塊魂_塊ビッグバン描画 l_i l_fr l_fg l_fb l_br l_bg l_bb
        
        PaintString - (240 - 48) $(l_nickName)ビッグバン
        
        Refresh
        Wait 1
    Next
Return

戦闘アニメ_塊魂_塊ビッグバン描画:
    Local l_i l_m l_fr l_fg l_fb l_br l_bg l_bb l_backColor l_foreColor
    
    l_m = Args(1)
    l_fr = Args(2)
    l_fg = Args(3)
    l_fb = Args(4)
    
    If (l_m Mod 2) = 1 Then
        l_fr = Int(l_fr * 0.8)
        l_fg = Int(l_fg * 0.8)
        l_fb = Int(l_fb * 0.8)
    EndIf
    
    l_br = Args(5)
    l_bg = Args(6)
    l_bb = Args(7)
    
    l_backColor = RGB(l_br, l_bg, l_bb)
    
    FillStyle 塗りつぶし
    Line 0 0 480 480 l_backColor BF
    
    For l_i = 1 to 6
        l_foreColor = RGB(Int((l_fr * l_i / 7) + (l_br * (7 - l_i) / 7)), _
                 Int((l_fg * l_i / 7) + (l_bg * (7 - l_i) / 7)), _
                 Int((l_fb * l_i / 7) + (l_bb * (7 - l_i) / 7)))
    
        FillColor l_foreColor
        Circle 240 128 ((7 - l_i) * 48) l_foreColor
    Next
    
    FillColor l_backColor
    For l_i = 1 to 6
        Arc 240 128 360 ((l_i * 60 - 30 + l_m * 6) Mod 360) ((l_i * 60 + l_m * 6) Mod 360) l_backColor
    Next
    
    l_foreColor = RGB(l_fr, l_fg, l_fb)
    FillColor l_foreColor
    Circle 240 128 48 l_foreColor
    FillColor #ffffff
    Circle 240 128 32 #ffffff
Return

368 hits



519 / 7214 ←次へ前へ→

ページ:

記事番号:

634,409

(SS)C-BOARD v3.8 is Free

ページトップへt


SRC総合支援センター