-
Notifications
You must be signed in to change notification settings - Fork 0
/
Attack.inc
111 lines (87 loc) · 2.23 KB
/
Attack.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
; Version 3
.Data
UserAttackSoldier DWORD ?
CompAttackSoldier DWORD ?
UserAttackTarget DWORD ?
CompAttackTarget DWORD ?
UserATK DWORD ?
CompATK DWORD ?
UserHP DWORD ?
CompHP DWORD ?
UserCastleHP DWORD 5000
CompCastleHP DWORD 5000
AttackToUserCastle MACRO
GettingSoldierAttack CompSoldiers, CompAttackSoldier, CompATK
MOV EAX, CompATK
.IF( UserCastleHP > EAX )
SubBy UserCastleHP, CompATK
.ELSE
CompWin
.ENDIF
ENDM
AttackToCompCastle MACRO
GettingSoldierAttack UserSoldiers, UserAttackSoldier, UserATK
MOV EAX, UserATK
.IF( CompCastleHP > EAX )
SubBy CompCastleHP, UserATK
.ELSE
UserWin
.ENDIF
ENDM
UserAttack MACRO
PUSHAD
.IF( UserAttackTarget < 8 && UserAttackTarget >= 0 )
GettingSoldierAttack UserSoldiers, UserAttackSoldier, UserATK
GettingSoldierHP CompSoldiers, UserAttackTarget, CompHP
MOV EAX, UserATK
.IF( CompHP > EAX )
SubBy CompHP, UserATK
SettingSoldierHP CompSoldiers, UserAttackTarget, CompHP
.ELSE
GettingSoldierMoney CompSoldiers, UserAttackTarget, GetterHandler
MOV EDX, 0
MOV EAX, GetterHandler
MOV ECX, 2
DIV ECX
AddBy UserMoney, EAX
DestorySoldier CompSoldiers, UserAttackTarget
SettingSoldierAttackTo UserSoldiers, UserAttackSoldier, -1
ResetAttack
CollisionCheck UserAttackSoldier
.ENDIF
.ELSEIF ( UserAttackTarget == 8 )
AttackToCompCastle
.ENDIF
POPAD
ENDM
CompAttack MACRO
PUSHAD
.IF( CompAttackTarget < 8 && CompAttackTarget >= 0 )
GettingSoldierAttack CompSoldiers, CompAttackSoldier, CompATK
GettingSoldierHP UserSoldiers, CompAttackTarget, UserHP
MOV EAX, CompATK
.IF( UserHP > EAX )
SubBy UserHP, CompATK
SettingSoldierHP UserSoldiers, CompAttackTarget, UserHP
.ELSE
DestorySoldier UserSoldiers, CompAttackTarget
SettingSoldierAttackTo CompSoldiers, CompAttackSoldier, -1
ResetAttack
.ENDIF
.ELSEIF( CompAttackTarget == 8 )
AttackToUserCastle
.ENDIF
POPAD
ENDM
ResetAttack MACRO
MOV UserAttackTimer ,0
MOV CompAttackTimer ,0
MOV UserAttackSoldier ,0
MOV CompAttackSoldier ,0
MOV UserAttackTarget ,0
MOV CompAttackTarget ,0
MOV UserATK ,0
MOV CompATK ,0
MOV UserHP ,0
MOV CompHP ,0
ENDM