Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID
Local C_X = WX(UID)
Local C_Y = WY(UID)
Local WP_FILE = _GetBmpFromArgs()
Local G_S = _GetPicSizeFromArgs()
Local X_P
Local T_COL_F = _ColorTime(_IsLight())
Local WA = __GetOptValueFromArgs("待機")
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 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 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 C_X = WX(UID)
Local C_Y = WY(UID)
Local i L_NUM
Local BMP_FILE = _GetBMPName(UID)
Local BMP_FILE2 = _GetTileName(UID)
Local BMP_FILE3
Local ANG = _GetAngle(UID)
Local TYPE = Args(1)
Local X_F
Local Y_F
Local DRCT
Local DRCT2
Local DRCT3
Local W_T
Local UDR
Local FJ
Local R_S
Local UPE
_UnSetBattleAnimeValue
Set L_NUM 5
Set X_F _GetCircumference(ANG,X)
Set Y_F 1
If (X(UID) < _Get_X(相手ユニットID)) Then
Set DRCT 左右反転
Set DRCT2 左右反転
Set DRCT3 左右反転
Set ANG 270
Else
Set DRCT ""
Set DRCT2 ""
Set DRCT3 ""
Set ANG 90
EndIf
If (_SearchOptionFromArgs("垂直") != "") Then
Set X_F 0
EndIf
Set W_T 1
If (_SearchOptionFromArgs("速") != "") Then
Set W_T 0.5
ElseIf (_SearchOptionFromArgs("遅") != "") Then
Set W_T 1.5
EndIf
Set UDR ""
If (_SearchOptionFromArgs("上下反転") != "") Then
Set UDR 上下反転
EndIf
# 方向判定
Set FJ 1
If (_SearchOptionFromArgs("正") != "") Then
Set FJ -1
EndIf
If (_SearchOptionFromArgs("小移動") != "") Then
FJ = (FJ * 0.5)
EndIf
If (_SearchOptionFromArgs("高") != "") Then
Y_F = (Y_F * 2)
EndIf
If (_SearchOptionFromArgs("回転") != "") Then
If DRCT2 = 左右反転 Then
Set DRCT2 ""
Set DRCT3 ""
Else
Set DRCT2 左右反転
Set DRCT3 左右反転
EndIf
EndIf
If (_SearchOptionFromArgs("昇龍") != "") Then
If DRCT3 = 左右反転 Then
Set DRCT3 ""
Else
Set DRCT3 左右反転
EndIf
EndIf
# アッパー・振り下ろしエフェクト指定
Set BMP_FILE3 "-"
Set UPE ""
If (_SearchOptionFromArgs("アッパー") != "") Then
Set BMP_FILE3 "Attack\EFFECT_Swing0"
Set UPE 上下反転
ElseIf (_SearchOptionFromArgs("振り下ろし") != "") Then
Set BMP_FILE3 "Attack\EFFECT_Swing0"
EndIf
Wait Start
ChangeUnitBitmap UID 非表示
For i = 1 To L_NUM
ClearPicture
_PaintTile BMP_FILE2 C_X C_Y
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 6
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 AFTER_IMAGE SLOW
Local W_T WIRED WC_X WC_Y
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 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
DrawWidth 2
Color RGB(240,240,240)
Set WC_X (WX(UID) + 16)
Set WC_Y (WY(UID) + 16)
Else
Set WIRED 0
EndIf
# 弾の傾き方向
If (_SearchOptionFromArgs("逆") != "") Then
Incr B_ANG 90
Else
Incr B_ANG -90
EndIf
If DRCT = 上下反転 Then
Incr B_ANG 180
EndIf
# 左右反転
Set UDR ""
If (_SearchOptionFromArgs("左右反転") != "") Then
Set UDR 左右反転
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
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
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 i
Local BMP_FILE
Local BMP_FILE2
Local BMP_FILE3
Local BMP_FILE4
Local A_X
Local A_Y
Local C_X
Local C_Y
Local UID
Local ANGP
Local DRCT
Local UDR
Local UDR2
# ネックブリーカー用変数
Local NECX
Local NECY
Set UID _GetName(対象ユニットID,_GetIDFromArgs())
Set C_X WX(相手ユニットID)
Set C_Y WY(相手ユニットID)
Set BMP_FILE _GetBMPName(UID)
Set BMP_FILE2 _GetTileName(UID)
Set BMP_FILE3 _GetBMPName(相手ユニットID)
Set BMP_FILE4 _GetTileName(相手ユニットID)
Set A_X WX(UID)
Set A_Y WY(UID)
Set ANGP 0
Set UDR ""
Set NECX 0
Set NECY 0
If (X(UID) < _Get_X(相手ユニットID)) Then
Set X_D -1
Set DRCT 左右反転
Set UDR2 上下反転
Else
Set X_D 1
Set DRCT ""
Set UDR2 ""
EndIf
If (_SearchOptionFromArgs("プレス") != "") Then
Set ANGP 90
If (DRCT = "左右反転") Then
Set UDR 上下反転
Else
Set DRCT "左右反転"
EndIf
ElseIf (_SearchOptionFromArgs("ネックブリーカー") != "") Then
Set ANGP 90
Set NECY -8
If (DRCT = "左右反転") Then
Set UDR 上下反転
Set DRCT ""
Set NECX -1
Else
Set NECX 1
EndIf
EndIf
Wait Start
If (BMP_FILE2 = "") Then
ChangeUnitBitmap UID 非表示
EndIf
If (BMP_FILE4 = "") Then
ChangeUnitBitmap 相手ユニットID 非表示
EndIf
Local i
Local j
Local A_X
Local A_X
Local X_F
Local X_D
Local Y_F
Local ANG
Local DRC
Local BMP_FILE
Local BMP_FILE2
Local EFFECT_FILE
Local S_D
Local C_X
Local C_Y
Local UID
Local Time
_UnSetBattleAnimeValue
Set UID _GetName(対象ユニットID,_GetIDFromArgs())
Center UID
Set C_X WX(UID)
Set C_Y WY(UID)
Set EFFECT_FILE _GetBeamColor(_GetColorFromArgs())
If (EFFECT_FILE != "") Then
Set EFFECT_FILE ("Common\EFFECT_SonicBoom" & EFFECT_FILE & "02.bmp")
EndIf
Set ANG _GetAngle(UID)
Set BMP_FILE _GetBMPName(UID)
Set BMP_FILE2 _GetTileName(UID)
If (X(UID) < _Get_X(相手ユニットID)) Then
Set X_D -1
Set DRC 左右反転
Else
Set X_D 1
Set DRC ""
EndIf
Wait Start
_SelectSound Whiz.wav _GetWavFromArgs()
If (BMP_FILE2 = "") Then
ChangeUnitBitmap UID 非表示
EndIf
Set Time 0.6
For i = 1 To 5
ClearPicture
If (BMP_FILE2 != "") Then
PaintPicture BMP_FILE2 C_X C_Y _ColorTime()
EndIf
Switch i
Case 1
Set Y_F 8
Case 2
Set Y_F -32
Case 3
Set Y_F -48
Case 4
Set Y_F -56
EndSw
PaintPicture BMP_FILE C_X (C_Y + Y_F) 透過 DRC _ColorTime()
Refresh
Wait Until (i * Time)
Next
Center _Get_X(相手ユニットID) _Get_Y(相手ユニットID)
Set A_X WX(UID)
Set A_Y WY(UID)
Wait Start
For i = 1 To 3
ClearPicture
If (BMP_FILE2 != "") Then
PaintPicture BMP_FILE2 A_X A_Y _ColorTime()
EndIf
Switch i
Case 1
Set X_F 48
Set Y_F -48
Case 2
Set X_F 36
Set Y_F -36
Case 3
Set X_F 24
Set Y_F -24
EndSw