Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID
Local posX posY
Local ANG B_ANG
Local DST
Local i
Local VRT
Local UID2 = _GetName(相手ユニットID)
If (UID = UID2) Then
UID2 = _GetName(対象ユニットID)
Endif
If Abs(X(UID) - X(UID2)) > Abs(Y(UID) - Y(UID2)) Then
set VRT 1
If X(UID) > X(UID2) Then
Else
Set B_ANG 180
Endif
Else
If Y(UID) > Y(UID2) Then
Set B_ANG 90
Else
Set B_ANG 270
Endif
Endif
#発射物に関する変数
Local BMP_FILE = Args(1)
Local BMP_FILE2 = Args(2)
Local BMP_FILE3 = Args(3)
Local BMP_FILE4 = Args(4)
Local BMP_FILE5 = Args(5)
Local G_S G_SC
Local C_X = WX(UID)
Local C_Y = WY(UID)
Local UDR
Local FL SLOW
Local W_T
Set ANG _GetAngle(UID)
Set G_S _GetPicSizeFromArgs()
Set posX ((X(UID) - _Get_X(UID2)) * 32)
Set posY ((Y(UID) - _Get_Y(UID2)) * 32)
Set DST (Abs(X(UID) - _Get_X(UID2)) _
+ Abs(Y(UID) - _Get_Y(UID2)))
G_SC = G_S + _GetOptValueFromArgs("間隔")
If (_IsLight() = 1) Then
Set FL 1
Else
Set FL ""
EndIf
#実弾の速度を遅くする?
If (_SearchOptionFromArgs("遅") != "") Then
Set SLOW 1
Set DST (2 * DST)
Set W_T 0.5
ElseIf (_SearchOptionFromArgs("速") != "") Then
Set SLOW 0
Set W_T 0.4
Else
Set W_T 0.6
Set SLOW 0
EndIf
# 弾の傾き変更
If (_SearchOptionFromArgs("角度固定") != "") Then
Set B_ANG 0
EndIf
# 左右反転
Set UDR ""
If (_SearchOptionFromArgs("左右反転") != "") Then
Set UDR 左右反転
EndIf
Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID
Local posX posY
Local ANG
Local DST
Local i
Local VRT
Local UID2 = _GetName(相手ユニットID)
If (UID = UID2) Then
UID2 = _GetName(対象ユニットID)
Endif
#発射物に関する変数
Local BMP_FILE = Args(1)
Local BMP_FILE2 = Args(2)
Local BMP_FILE3 = Args(3)
Local BMP_FILE4 = Args(4)
Local BMP_FILE5 = Args(5)
Local G_S G_SC
Local C_X = WX(UID)
Local C_Y = WY(UID)
Local UDR
Local FL SLOW
Local W_T
Set ANG _GetAngle(UID)
Set G_S _GetPicSizeFromArgs()
Set posX ((X(UID) - _Get_X(UID2)) * 32)
Set posY ((Y(UID) - _Get_Y(UID2)) * 32)
Set DST (Abs(X(UID) - _Get_X(UID2)) _
+ Abs(Y(UID) - _Get_Y(UID2)))
If (_IsLight() = 1) Then
Set FL 1
Else
Set FL ""
EndIf
#実弾の速度を遅くする?
If (_SearchOptionFromArgs("遅") != "") Then
Set SLOW 1
Set DST (2 * DST)
Set W_T 0.5
ElseIf (_SearchOptionFromArgs("速") != "") Then
Set SLOW 0
Set W_T 0.4
Else
Set W_T 0.6
Set SLOW 0
EndIf
# 弾の傾き変更
If (_SearchOptionFromArgs("角度固定") != "") Then
Set ANG 0
EndIf
# 左右反転
Set UDR ""
If (_SearchOptionFromArgs("左右反転") != "") Then
Set UDR 左右反転
EndIf
If Abs(X(UID) - X(UID2)) > Abs(Y(UID) - Y(UID2)) Then
set VRT 1
Endif
Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID
Local C_X = WX(UID)
LOcal C_Y = WY(UID)
Local posX = ((X(UID) - _Get_X(相手ユニットID)) * 32)
Local posY = ((Y(UID) - _Get_Y(相手ユニットID)) * 32)
Local ANG
Local DST = (Abs(X(UID) - _Get_X(相手ユニットID)) _
+ Abs(Y(UID) - _Get_Y(相手ユニットID)))
Local i
Local SLOW W_T WIRED AFTER_IMAGE
Local WC_X WC_Y
Font _GetName(#FF0000,_GetColor(_GetColorFromArgs())) Bold ゴシック (Args(2) & "pt")
#残像を表示する?
If (_SearchOptionFromArgs("残像") != "") Then
Set AFTER_IMAGE 1
Else
Set AFTER_IMAGE 0
EndIf
#実弾の速度を遅くする?
If (_SearchOptionFromArgs("遅") != "") Then
Set SLOW 1
Set DST (2 * DST)
Set W_T 0.5
ElseIf (_SearchOptionFromArgs("速") != "") Then
Set SLOW 0
Set W_T 0.4
Else
Set W_T 0.6
Set SLOW 0
EndIf
#有線表示を行う?
If (_SearchOptionFromArgs("有線") != "") Then
Set WIRED 1
Color RGB(180,180,180)
Set WC_X (WX(UID) + 16)
Set WC_Y (WY(UID) + 16)
Else
Set WIRED 0
EndIf
Wait Reset
_SelectSound Missile.wav _GetWavFromArgs()
If (AFTER_IMAGE = 1) Then
ClearPicture
EndIf
For i = 1 To (DST + 1)
If (AFTER_IMAGE = 0) Then
ClearPicture
If (WIRED = 1) Then
Line WC_X WC_Y (WC_X - (posX / (DST + 2)) * i) (WC_Y - (posY / (DST + 2)) * i)
ElseIf (SLOW = 0 And i > 1) Then
PaintString (C_X - (posX / (DST + 2)) * (i - 1)) (C_Y - (posY / (DST + 2)) * (i - 1 ) ) Args(1)
EndIf
Else
If (WIRED = 1) Then
Line WC_X WC_Y (WC_X - (posX / (DST + 2)) * i) (WC_Y - (posY / (DST + 2)) * i)
EndIf
EndIf
Local UID = _GetName(対象ユニットID)
Center 相手ユニットID
Local BMP_FILE = _GetBMPName(UID)
Local BMP_FILE2 = _GetTileName(UID)
Local G_S = _GetName(32,Args(2))
Local G_SH = (G_S \ 2)
Local ANG = 270
Set C_X WX(UID)
Set C_Y WY(UID)
Local W_Y
Local ANG_F = 1
Local DRCT = _FlipVertical(ANG)
Local T_COL = _ColorTime(_IsLight())
Local i j
Local S_F = _GetWavFromArgs()
Local G_DST G_DST_MAX
Local X_F = _GetCircumference(ANG,X)
Local Y_F = _GetCircumference(ANG,Y)
Local MAX_NUM
Set G_DST_MAX Int(G_S * 0.95)
Set MAX_NUM Int(_SetMinValue(((100 / G_DST_MAX) + 1),5))
If (BMP_FILE2 = "") Then
ChangeUnitBitmap UID 非表示
EndIf
_GBA_GetBmpPatternInfo _G_APTN_FA() -.wav
_SelectSound Swing.wav S_F
Set W_Y[1] 116
Wait Start
For i = 1 To 6
ClearPicture
If (BMP_FILE2 != "") Then
PaintPicture BMP_FILE2 C_X C_Y _ColorTime()
EndIf
PaintPicture BMP_FILE - 100 透過 _ColorTime()
# 柄部分
Set G_DST _SetMaxValue((G_S * ((i - 1) * 0.2)),G_S)
For j = 2 To MAX_NUM
# 中間1
Set W_Y[j] (W_Y[(j - 1)] + G_DST)
Next
PaintPicture _SetBmpNum2(_GBA_P_NAME,3,_GBA_P_TYPE) - (W_Y[1] - G_SH) G_S G_S 右回転 ANG 透過 DRCT T_COL
For j = 2 To (MAX_NUM - 1)
PaintPicture _SetBmpNum2(_GBA_P_NAME,2,_GBA_P_TYPE) - (W_Y[j] - G_SH) G_S G_S 右回転 ANG 透過 DRCT T_COL
Next
PaintPicture _SetBmpNum2(_GBA_P_NAME,1,_GBA_P_TYPE) - (W_Y[MAX_NUM] - G_SH) G_S G_S 右回転 ANG 透過 DRCT T_COL
Refresh
Wait Until (i * 0.6)
Next
Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID
Local WP_FILE = _GetBmpFromArgs()
Local G_S = _GetPicSizeFromArgs()
Local C_X = (WX(UID) + (16 - (G_S \ 2)))
Local C_Y = (WY(UID) + (16 - (G_S \ 2)))
Local ANG1 ANG2 ANG3 ANG4 ANG5 ANG6
Local i m
Local k = _GetOptValueFromArgs("回転数")
Local T_COL_F = _ColorTime(_IsLight())
Set ANG1 45
Set ANG2 135
Set ANG3 45
Set ANG4 135
Set ANG5 45
Set ANG6 135
If (_SearchOptionFromArgs("ランダム") != "") Then
Set ANG1 (30 * random(12))
Set ANG2 (30 * random(12))
Set ANG3 (30 * random(12))
Set ANG4 (30 * random(12))
Set ANG5 (30 * random(12))
Set ANG6 (30 * random(12))
EndIf
Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID
Local GS_STR = _GetBoxSizeFromArgs(Args(2))
Local G_SX = _GN(32,_SelectBmpSizeType(GS_STR,"X"))
Local G_SY = _GN(32,_SelectBmpSizeType(GS_STR,"Y"))
Local i
Local j
Local C_X = WX(UID)
LOcal C_Y = WY(UID)
Local G_X = (WX(UID) + 16)
LOcal G_Y = (WY(UID) + 16)
Local BMP_FILE = _GetBMPName(UID)
Local T_COL_F = _ColorTime(_IsLight())
Local W_T
Local B_FLG = _S_OPT_FA("背面")
Local DRCT = ""
Local POS = _GetDrawPosFromArgs()
Local T_COL = _ColorTime()
Local ANG = 0
Local ANGP
Local OPT
If ((X(対象ユニットID) < _Get_X(相手ユニットID)) And (_S_OPT_FA("方向判定") = "方向判定")) Then
Set DRCT 左右反転
EndIf
Local UD_OPT = _S_OPT_FA("上下反転")
Local LR_OPT = _S_OPT_FA("左右反転")
If ((DRCT != "") And (LR_OPT != "")) Then
Set DRCT ""
ElseIf (LR_OPT != "") Then
Set DRCT LR_OPT
EndIf
Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID
Local GS_STR = _GetBoxSizeFromArgs(Args(2))
Local GS_STR2 = _GetBoxSizeFromArgs(Args(4))
Local G_SX = _GN(32,_SelectBmpSizeType(GS_STR,"X"))
Local G_SY = _GN(32,_SelectBmpSizeType(GS_STR,"Y"))
Local G_SX2 = _GN(32,_SelectBmpSizeType(GS_STR2,"X"))
Local G_SY2 = _GN(32,_SelectBmpSizeType(GS_STR2,"Y"))
Local h i j k
Local C_X = WX(UID)
LOcal C_Y = WY(UID)
Local G_X = (WX(UID) + 16)
LOcal G_Y = (WY(UID) + 16)
Local BMP_FILE = _GetBMPName(UID)
Local T_COL_F = _ColorTime(_IsLight())
Local W_T
Local B_FLG = _S_OPT_FA("背面")
Local DRCT = ""
Local DRCT2 = ""
Local POS = _GetDrawPosFromArgs()
Local T_COL = _ColorTime()
Local OPT = _GetOptValueFromArgs("オプション")
Local OPT2 = _GetOptValueFromArgs("オプション2")
Local ANG = 0
# 画像反転判定
If ((X(対象ユニットID) < _Get_X(相手ユニットID)) And (_S_OPT_FA("方向判定") = "方向判定")) Then
Set DRCT 左右反転
Set DRCT2 左右反転
EndIf
Local UD_OPT = _S_OPT_FA("上下反転")
Local LR_OPT = _S_OPT_FA("左右反転")
If ((DRCT != "") And (LR_OPT != "")) Then
Set DRCT ""
ElseIf (LR_OPT != "") Then
Set DRCT LR_OPT
EndIf
Local UD_OPT2 = ""
If (_SearchOptionFromArgs("上下反転2") != "") Then
UD_OPT2 = "上下反転"
EndIf
Local LR_OPT2 = ""
If (_SearchOptionFromArgs("左右反転2") != "") Then
LR_OPT2 = "左右反転"
Endif
If ((DRCT2 != "") And (LR_OPT2 != "")) Then
Set DRCT2 ""
ElseIf (LR_OPT != "") Then
Set DRCT2 LR_OPT2
EndIf
Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID
Local i j
Local BMP_FILE = _GetBMPName(UID)
Local TILE_FILE = _GetTileName(UID)
Local C_X = WX(UID)
Local C_Y = WY(UID)
Local ANG = 0
Local DRCT
Local DRC
Local S_F = _GetName("Swing.wav",_GetWavFromArgs())
Local CNT = _GetNumberFromArgs()
Local SPEED = 1
If (_SearchOptionFromArgs("遅") != "") Then
Set SPEED 1.5
ElseIf (_SearchOptionFromArgs("速") != "") Then
Set SPEED 0.7
ElseIf (_SearchOptionFromArgs("高速") != "") Then
Set SPEED 0.3
EndIf
Set DRCT -60
If (_SearchOptionFromArgs("正") != "") Then
Set DRCT 60
EndIf
Set DRC ""
If (X(UID) < _Get_X(相手ユニットID)) Then
Set DRC 左右反転
Set DRCT (DRCT * -1)
EndIf
ChangeUnitBitmap UID 非表示
If (CNT < 1) Then
For i = 1 To 12
If ((i Mod 3) = 0) Then
PlaySound S_F
EndIf
ClearPicture
_PaintTile TILE_FILE C_X C_Y
PaintPicture BMP_FILE C_X (C_Y - i) 透過 左回転 ANG DRC _ColorTime()
Refresh
Wait (((10 - (i \ 6)) * 0.1) * SPEED)
Incr ANG DRCT
Next
For j = 1 To 3
Wait Start
For i = 1 To 3
If ((i Mod 3) = 0) Then
PlaySound S_F
EndIf
ClearPicture
If (TILE_FILE != "") Then
PaintPicture TILE_FILE C_X C_Y _ColorTime()
EndIf
PaintPicture BMP_FILE C_X (C_Y - 12) 透過 左回転 ANG DRC _ColorTime()
Refresh
Wait Until ((i * (9 - j) * 0.1) * SPEED)
Incr ANG DRCT
Next
Next
Else
For j = 1 To CNT
PlaySound S_F
Wait Start
For i = 1 To 6
ClearPicture
If (TILE_FILE != "") Then
PaintPicture TILE_FILE C_X C_Y _ColorTime()
EndIf
PaintPicture BMP_FILE C_X C_Y 透過 左回転 ANG DRC _ColorTime()
Refresh
Wait Until (i * SPEED)
Incr ANG DRCT
Next
Next
EndIf
Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID
Local posX posY
Local ANG B_ANG
Local DST
Local i
Local UID2 = _GetName(相手ユニットID)
If (UID = UID2) Then
UID2 = _GetName(対象ユニットID)
Endif
#発射物に関する変数
Local BMP_FILE = _GetBmpFromArgs()
Local G_S
Local C_X = WX(UID)
Local C_Y = WY(UID)
Local UDR
Local DRCT FL SLOW
Local W_T
If ((IsNumeric(Args(1)) = 1) And (IsNumeric(Args(2)) = 1)) Then
Set ANG _GetAngle(X(UID),Y(UID),Args(1),Args(2))
Set G_S _GetPicSizeFromArgs(Args(3),Args(4),Args(5),Args(6),Args(7),Args(8))
Set posX ((X(UID) - Args(1)) * 32)
Set posY ((Y(UID) - Args(2)) * 32)
Set DST (Abs(X(UID) - Args(1)) + Abs(Y(UID) - Args(2)))
Else
Set ANG _GetAngle(UID)
Set G_S _GetPicSizeFromArgs()
Set posX ((X(UID) - _Get_X(UID2)) * 32)
Set posY ((Y(UID) - _Get_Y(UID2)) * 32)
Set DST (Abs(X(UID) - _Get_X(UID2)) _
+ Abs(Y(UID) - _Get_Y(UID2)))
EndIf
Set B_ANG _CheckAngleFix(ANG)
Set DRCT _FlipVertical(ANG)
If (_IsLight() = 1) Then
Set FL 1
Else
Set FL ""
EndIf
#実弾の速度を遅くする?
If (_SearchOptionFromArgs("遅") != "") Then
Set SLOW 1
Set DST (2 * DST)
Set W_T 0.5
ElseIf (_SearchOptionFromArgs("速") != "") Then
Set SLOW 0
Set W_T 0.4
Else
Set W_T 0.6
Set SLOW 0
EndIf
# 弾の傾き変更
If (_SearchOptionFromArgs("角度固定") != "") Then
Set B_ANG 0
EndIf
If DRCT = 上下反転 Then
Incr B_ANG 180
EndIf
# 左右反転
Set UDR ""
If (_SearchOptionFromArgs("左右反転") != "") Then
Set UDR 左右反転
EndIf
Wait Reset
_SelectSound Missile.wav _GetWavFromArgs()
For i = 1 To (DST + 1)
If (SLOW = 0 And i > 1) Then
PaintPicture BMP_FILE _
(C_X - (posX / (DST + 2)) * (i - 1)) (C_Y - (posY / (DST + 2)) * (i - 1 ) ) _
G_S G_S 透過 セピア 右回転 B_ANG DRCT UDR _ColorTime(FL)
EndIf