-
Notifications
You must be signed in to change notification settings - Fork 17
/
AntiDangerousSpells.lua
290 lines (258 loc) · 29.9 KB
/
AntiDangerousSpells.lua
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
DS = {
["AatroxQ"] = { slot = _Q , champName = "Aatrox" , spellType = "circular" , projectileSpeed = 2000 , spellDelay = 600 , spellRange = 650 , spellRadius = 225 , collision = false },
["AhriSeduce"] = { slot = _E , champName = "Ahri" , spellType = "line" , projectileSpeed = 1600 , spellDelay = 250 , spellRange = 975 , spellRadius = 60 , collision = true },
["AkaliShadowDance"] = { slot = _R , champName = "Akali" , spellType = "target" , projectileSpeed = 2000 , spellDelay = 250 , spellRange = 700 , spellRadius = 0 , collision = true },
["Pulverize"] = { slot = _Q , champName = "Alistar" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 365 , spellRadius = 365 , collision = false },
["BandageToss"] = { slot = _Q , champName = "Amumu" , spellType = "line" , projectileSpeed = 2000 , spellDelay = 250 , spellRange = 1100 , spellRadius = 80 , collision = true },
["CurseoftheSadMummy"] = { slot = _R , champName = "Amumu" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 550 , spellRadius = 550 , collision = false },
["FlashFrostSpell"] = { slot = _Q , champName = "Anivia" , spellType = "line" , projectileSpeed = 850 , spellDelay = 250 , spellRange = 1075 , spellRadius = 115 , collision = false },
["InfernalGuardian"] = { slot = _R , champName = "Annie" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 600 , spellRadius = 290 , collision = false },
["EnchantedCrystalArrow"] = { slot = _R , champName = "Ashe" , spellType = "line" , projectileSpeed = 1600 , spellDelay = 250 , spellRange = 25000 , spellRadius = 125 , collision = false },
["AurelionSolQ"] = { slot = _Q , champName = "AurelionSol" , spellType = "line" , projectileSpeed = 600 , spellDelay = 250 , spellRange = 1500 , spellRadius = 180 , collision = false },
["AurelionSolR"] = { slot = _R , champName = "AurelionSol" , spellType = "line" , projectileSpeed = 4500 , spellDelay = 300 , spellRange = 1500 , spellRadius = 120 , collision = false },
["AzirR"] = { slot = _R , champName = "Azir" , spellType = "line" , projectileSpeed = 800 , spellDelay = 250 , spellRange = 250 , spellRadius = 400 , collision = false },
["StaticField"] = { slot = _R , champName = "Blitzcrank" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 600 , spellRadius = 600 , collision = false },
["BrandConflagration"] = { slot = _R , champName = "Brand" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 625 , spellRadius = 0 , collision = false },
["BraumRWrapper"] = { slot = _R , champName = "Braum" , spellType = "line" , projectileSpeed = 1400 , spellDelay = 500 , spellRange = 1250 , spellRadius = 115 , collision = false },
["CaitlynAceintheHole"] = { slot = _R , champName = "Caitlyn" , spellType = "target" , projectileSpeed = 3200 , spellDelay = 1000 , spellRange = 3000 , spellRadius = 0 , collision = false },
["CassiopeiaPetrifyingGaze"] = { slot = _R , champName = "Cassiopeia" , spellType = "line" , projectileSpeed = math.huge , spellDelay = 600 , spellRange = 825 , spellRadius = 160 , collision = false },
["Feast"] = { slot = _R , champName = "Chogath" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 100 , spellRange = 175 , spellRadius = 250 , collision = false },
["CarpetBomb"] = { slot = _W , champName = "Corki" , spellType = "line" , projectileSpeed = 650 , spellDelay = 50 , spellRange = 600 , spellRadius = 100 , collision = false },
["DariusAxeGrabCone"] = { slot = _E , champName = "Darius" , spellType = "line" , projectileSpeed = math.huge , spellDelay = 300 , spellRange = 535 , spellRadius = 100 , collision = false },
["DariusExecute"] = { slot = _R , champName = "Darius" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 460 , spellRadius = 0 , collision = false },
["DianaTeleport"] = { slot = _R , champName = "Diana" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 825 , spellRadius = 0 , collision = false },
["DravenDoubleShot"] = { slot = _E , champName = "Draven" , spellType = "line" , projectileSpeed = 1400 , spellDelay = 250 , spellRange = 1050 , spellRadius = 130 , collision = false },
["EkkoR"] = { slot = _R , champName = "Ekko" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 25000 , spellRadius = 375 , collision = false },
["Terrify"] = { slot = _Q , champName = "FiddleSticks" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 575 , spellRadius = 0 , collision = false },
["FiddlesticksDarkWind"] = { slot = _E , champName = "FiddleSticks" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 750 , spellRadius = 0 , collision = false },
["FizzMarinerDoom"] = { slot = _R , champName = "Fizz" , spellType = "line" , projectileSpeed = 1300 , spellDelay = 250 , spellRange = 1300 , spellRadius = 110 , collision = false },
["GalioIdolOfDurand"] = { slot = _R , champName = "Galio" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 1250 , spellRange = 5500 , spellRadius = 550 , collision = false },
["GangplankR"] = { slot = _R , champName = "Gangplank" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 25000 , spellRadius = 600 , collision = false },
["GarenR"] = { slot = _R , champName = "Garen" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 400 , spellRadius = 0 , collision = false },
["gnarbigw"] = { slot = _W , champName = "Gnar" , spellType = "line" , projectileSpeed = math.huge , spellDelay = 600 , spellRange = 550 , spellRadius = 100 , collision = false },
["GnarR"] = { slot = _R , champName = "Gnar" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 475 , spellRadius = 475 , collision = false },
["GragasE"] = { slot = _E , champName = "Gragas" , spellType = "line" , projectileSpeed = 900 , spellDelay = 0 , spellRange = 600 , spellRadius = 180 , collision = true },
["GragasR"] = { slot = _R , champName = "Gragas" , spellType = "circular" , projectileSpeed = 1800 , spellDelay = 250 , spellRange = 1000 , spellRadius = 400 , collision = false },
["HecarimUlt"] = { slot = _R , champName = "Hecarim" , spellType = "circular" , projectileSpeed = 1100 , spellDelay = 10 , spellRange = 1000 , spellRadius = 300 , collision = false },
["HeimerdingerE"] = { slot = _E , champName = "Heimerdinger" , spellType = "circular" , projectileSpeed = 1750 , spellDelay = 350 , spellRange = 925 , spellRadius = 135 , collision = false },
["IllaoiR"] = { slot = _R , champName = "Illaoi" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 500 , spellRange = 450 , spellRadius = 450 , collision = false },
["IreliaE"] = { slot = _E , champName = "Irelia" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 325 , spellRadius = 0 , collision = false },
["SowTheWind"] = { slot = _W , champName = "Janna" , spellType = "target" , projectileSpeed = 1000 , spellDelay = 250 , spellRange = 550 , spellRadius = 0 , collision = false },
["JannaR"] = { slot = _R , champName = "Janna" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 725 , spellRadius = 725 , collision = false },
["JarvanIVCataclysm"] = { slot = _R , champName = "JarvanIV" , spellType = "target" , projectileSpeed = 1900 , spellDelay = 0 , spellRange = 650 , spellRadius = 325 , collision = false },
["JaxQ"] = { slot = _Q , champName = "Jax" , spellType = "target" , projectileSpeed = 1900 , spellDelay = 250 , spellRange = 700 , spellRadius = 0 , collision = false },
["JayceToTheSkies"] = { slot = _Q , champName = "Jayce" , spellType = "target" , projectileSpeed = 1000 , spellDelay = 250 , spellRange = 600 , spellRadius = 100 , collision = false },
["JayceThunderingBlow"] = { slot = _E , champName = "Jayce" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 240 , spellRadius = 0 , collision = false },
["JhinR"] = { slot = _R , champName = "Jhin" , spellType = "line" , projectileSpeed = 5000 , spellDelay = 250 , spellRange = 3500 , spellRadius = 80 , collision = false },
["RiftWalk"] = { slot = _R , champName = "Kassadin" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 500 , spellRadius = 150 , collision = false },
["KatarinaR"] = { slot = _R , champName = "Katarina" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 50 , spellRange = 550 , spellRadius = 550 , collision = false },
["KayleQ"] = { slot = _Q , champName = "Kayle" , spellType = "target" , projectileSpeed = 1500 , spellDelay = 250 , spellRange = 650 , spellRadius = 0 , collision = false },
["KaynR"] = { slot = _R , champName = "Kayn" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 2500 , spellRange = 550 , spellRadius = 0 , collision = false },
["KennenR"] = { slot = _R , champName = "Kennen" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 550 , spellRadius = 550 , collision = false },
["KhazixE"] = { slot = _E , champName = "KhaZix" , spellType = "circular" , projectileSpeed = 1500 , spellDelay = 250 , spellRange = 900 , spellRadius = 300 , collision = false },
["KledE"] = { slot = _E , champName = "Kled" , spellType = "line" , projectileSpeed = 945 , spellDelay = 0 , spellRange = 750 , spellRadius = 125 , collision = false },
["LeblancSlide"] = { slot = _W , champName = "Leblanc" , spellType = "circular" , projectileSpeed = 1600 , spellDelay = 0 , spellRange = 600 , spellRadius = 260 , collision = false },
["LeblancSlideM"] = { slot = _W , champName = "Leblanc" , spellType = "circular" , projectileSpeed = 1600 , spellDelay = 0 , spellRange = 600 , spellRadius = 260 , collision = false },
["BlindMonkRKick"] = { slot = _R , champName = "LeeSin" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 375 , spellRadius = 0 , collision = false },
["LeonaSolarFlare"] = { slot = _R , champName = "Leona" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 625 , spellRange = 1200 , spellRadius = 250 , collision = false },
["LissandraW"] = { slot = _W , champName = "Lissandra" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 450 , spellRadius = 450 , collision = false },
["LissandraR"] = { slot = _R , champName = "Lissandra" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 550 , spellRadius = 550 , collision = false },
["LucianRMis"] = { slot = _R , champName = "Lucian" , spellType = "line" , projectileSpeed = 2800 , spellDelay = 250 , spellRange = 1200 , spellRadius = 110 , collision = false },
["LuluW"] = { slot = _W , champName = "Lulu" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 650 , spellRadius = 0 , collision = false },
["LuxLightStrikeKuge1"] = { slot = _E , champName = "Lux" , spellType = "circular" , projectileSpeed = 1300 , spellDelay = 250 , spellRange = 1000 , spellRadius = 350 , collision = true },
["LuxMaliceCannon"] = { slot = _R , champName = "Lux" , spellType = "line" , projectileSpeed = math.huge , spellDelay = 1000 , spellRange = 3340 , spellRadius = 190 , collision = true },
["SeismicShard"] = { slot = _Q , champName = "Malphite" , spellType = "target" , projectileSpeed = 1000 , spellDelay = 250 , spellRange = 625 , spellRadius = 0 , collision = false },
["UFSlash"] = { slot = _R , champName = "Malphite" , spellType = "circular" , projectileSpeed = 2000 , spellDelay = 0 , spellRange = 1000 , spellRadius = 300 , collision = false },
["AlZaharNetherGrasp"] = { slot = _R , champName = "Malzahar" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 700 , spellRadius = 0 , collision = false },
["MaokaiTrunkLine"] = { slot = _Q , champName = "Maokai" , spellType = "line" , projectileSpeed = 1000 , spellDelay = 350 , spellRange = 600 , spellRadius = 300 , collision = false },
["MaokaiW"] = { slot = _W , champName = "Maokai" , spellType = "target" , projectileSpeed = 1000 , spellDelay = 250 , spellRange = 525 , spellRadius = 0 , collision = false },
["AlphaStrike"] = { slot = _W , champName = "MasterYi" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 600 , spellRadius = 0 , collision = false },
["MissFortune"] = { slot = _R , champName = "MissFortune" , spellType = "line" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 1400 , spellRadius = 80 , collision = false },
["SoulShackles"] = { slot = _R , champName = "Morgana" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 625 , spellRadius = 1050 , collision = false },
["NamiR"] = { slot = _R , champName = "Nami" , spellType = "line" , projectileSpeed = 850 , spellDelay = 500 , spellRange = 2750 , spellRadius = 260 , collision = false },
["NasusW"] = { slot = _W , champName = "Nasus" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 600 , spellRadius = 0 , collision = false },
["NautilusAnchorDrag"] = { slot = _Q , champName = "Nautilus" , spellType = "line" , projectileSpeed = 2000 , spellDelay = 250 , spellRange = 1100 , spellRadius = 90 , collision = true },
["NautilusR"] = { slot = _R , champName = "Nautilus" , spellType = "target" , projectileSpeed = 1000 , spellDelay = 250 , spellRange = 825 , spellRadius = 0 , collision = false },
["Pounce"] = { slot = _W , champName = "Nidalee" , spellType = "circular" , projectileSpeed = 1750 , spellDelay = 150 , spellRange = 750 , spellRadius = 150 , collision = false },
["NocturneUnspeakableHorror"] = { slot = _E , champName = "Nocturne" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 425 , spellRadius = 0 , collision = false },
["IceBlast"] = { slot = _E , champName = "Nunu" , spellType = "target" , projectileSpeed = 1000 , spellDelay = 250 , spellRange = 550 , spellRadius = 0 , collision = false },
["AbsoluteZero"] = { slot = _R , champName = "Nunu" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 3000 , spellRange = 650 , spellRadius = 650 , collision = false },
["OrnnE"] = { slot = _R , champName = "Ornn" , spellType = "circular" , projectileSpeed = 1200 , spellDelay = 250 , spellRange = 800 , spellRadius = 360 , collision = false },
["PantheonW"] = { slot = _W , champName = "Pantheon" , spellType = "target" , projectileSpeed = 1000 , spellDelay = 250 , spellRange = 600 , spellRadius = 0 , collision = false },
["PoppyHeroiDSharge"] = { slot = _E , champName = "Poppy" , spellType = "target" , projectileSpeed = 1000 , spellDelay = 250 , spellRange = 425 , spellRadius = 0 , collision = false },
["QuinnE"] = { slot = _E , champName = "Quinn" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 700 , spellRadius = 0 , collision = false },
["RakanW"] = { slot = _W , champName = "Rakan" , spellType = "circular" , projectileSpeed = 2200 , spellDelay = 600 , spellRange = 600 , spellRadius = 250 , collision = false },
["PuncturingTaunt"] = { slot = _E , champName = "Rammus" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 325 , spellRadius = 0 , collision = false },
["RenektonExecute"] = { slot = _W , champName = "Renekton" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 250 , spellRadius = 250 , collision = false },
["RenektonSuperExecute"] = { slot = _W , champName = "Renekton" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 250 , spellRadius = 250 , collision = false },
["RivenMartyr"] = { slot = _W , champName = "Riven" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 270 , spellRadius = 270 , collision = false },
["RyzeW"] = { slot = _W , champName = "Ryze" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 615 , spellRadius = 0 , collision = false },
["SejuaniArcticAssault"] = { slot = _Q , champName = "Sejuani" , spellType = "line" , projectileSpeed = 1600 , spellDelay = 0 , spellRange = 650 , spellRadius = 70 , collision = false },
["SejuaniGlacialPrisonCast"] = { slot = _R , champName = "Sejuani" , spellType = "line" , projectileSpeed = 1350 , spellDelay = 250 , spellRange = 1200 , spellRadius = 110 , collision = false },
["TwoShivPoison"] = { slot = _E , champName = "Shaco" , spellType = "target" , projectileSpeed = 1000 , spellDelay = 250 , spellRange = 625 , spellRadius = 0 , collision = false },
["ShenShadowDash"] = { slot = _E , champName = "Shen" , spellType = "line" , projectileSpeed = 1250 , spellDelay = 0 , spellRange = 600 , spellRadius = 60 , collision = false },
["ShyvanaTransformCast"] = { slot = _R , champName = "Shyvana" , spellType = "line" , projectileSpeed = 1100 , spellDelay = 250 , spellRange = 850 , spellRadius = 150 , collision = false },
["Fling"] = { slot = _E , champName = "Singed" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 125 , spellRadius = 0 , collision = false },
["SionQ"] = { slot = _Q , champName = "Sion" , spellType = "line" , projectileSpeed = math.huge , spellDelay = 1000 , spellRange = 600 , spellRadius = 300 , collision = false },
["SkarnerFracture"] = { slot = _E , champName = "Skarner" , spellType = "line" , projectileSpeed = 1500 , spellDelay = 250 , spellRange = 1000 , spellRadius = 70 , collision = false },
["SkarnerImpale"] = { slot = _R , champName = "Skarner" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 350 , spellRadius = 0 , collision = false },
["SonaR"] = { slot = _R , champName = "Sona" , spellType = "line" , projectileSpeed = 2400 , spellDelay = 250 , spellRange = 900 , spellRadius = 140 , collision = false },
["SwainQ"] = { slot = _Q , champName = "Swain" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 700 , spellRadius = 325 , collision = false },
["SwainShadowGrasp"] = { slot = _W , champName = "Swain" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 875 , spellRange = 900 , spellRadius = 125 , collision = false },
["SwainTorment"] = { slot = _E , champName = "Swain" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 625 , spellRadius = 250 , collision = false },
["SyndraE"] = { slot = _E , champName = "Syndra" , spellType = "line" , projectileSpeed = 2500 , spellDelay = 250 , spellRange = 700 , spellRadius = 80 , collision = false },
["SyndraR"] = { slot = _R , champName = "Syndra" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 750 , spellRadius = 0 , collision = false },
["TahmKenchW"] = { slot = _W , champName = "TahmKench" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 250 , spellRadius = 0 , collision = false },
["Dazzle"] = { slot = _E , champName = "Taric" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 1000 , spellRange = 575 , spellRadius = 100 , collision = false },
["BlindingDart"] = { slot = _Q , champName = "Teemo" , spellType = "target" , projectileSpeed = 2000 , spellDelay = 250 , spellRange = 680 , spellRadius = 0 , collision = false },
["ThreshE"] = { slot = _E , champName = "Thresh" , spellType = "line" , projectileSpeed = 2000 , spellDelay = 125 , spellRange = 1075/2 , spellRadius = 110 , collision = false },
["ThreshR"] = { slot = _Q , champName = "Thresh" , spellType = "aoe" , projectileSpeed = math.huge , spellDelay = 750 , spellRange = 450 , spellRadius = 450 , collision = false },
["TristanaR"] = { slot = _R , champName = "Tristana" , spellType = "target" , projectileSpeed = 2000 , spellDelay = 250 , spellRange = 669 , spellRadius = 0 , collision = false },
["SlashCast"] = { slot = _E , champName = "Tryndamere" , spellType = "line" , projectileSpeed = 1300 , spellDelay = 0 , spellRange = 660 , spellRadius = 93 , collision = false },
["UrgotE"] = { slot = _E , champName = "Urgot" , spellType = "line" , projectileSpeed = 1600 , spellDelay = 250 , spellRange = 475 , spellRadius = 180 , collision = false },
["UrgotR"] = { slot = _R , champName = "Urgot" , spellType = "line" , projectileSpeed = 3200 , spellDelay = 250 , spellRange = 1600 , spellRadius = 90 , collision = false },
["VarusR"] = { slot = _R , champName = "Varus" , spellType = "line" , projectileSpeed = 1850 , spellDelay = 250 , spellRange = 1075 , spellRadius = 120 , collision = false },
["VayneCondemn"] = { slot = _E , champName = "Vayne" , spellType = "target" , projectileSpeed = 2000 , spellDelay = 250 , spellRange = 550 , spellRadius = 0 , collision = false },
["VeigarEventHorizon"] = { slot = _E , champName = "Veigar" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 500 , spellRange = 700 , spellRadius = 375 , collision = false },
["VeigarPrimordialBurst"] = { slot = _R , champName = "Veigar" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 650 , spellRadius = 0 , collision = false },
["VelkozR"] = { slot = _R , champName = "Velkoz" , spellType = "line" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 1550 , spellRadius = 80 , collision = false },
["ViQMissile"] = { slot = _Q , champName = "Vi" , spellType = "line" , projectileSpeed = 1400 , spellDelay = 0 , spellRange = 725 , spellRadius = 90 , collision = false },
["ViR"] = { slot = _R , champName = "Vi" , spellType = "line" , projectileSpeed = 1000 , spellDelay = 250 , spellRange = 800 , spellRadius = 0 , collision = false },
["ChaosStorm"] = { slot = _R , champName = "Viktor" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 700 , spellRadius = 325 , collision = false },
["VladimirR"] = { slot = _R , champName = "Vladimir" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 250 , spellRange = 700 , spellRadius = 175 , collision = false },
["infiniteduresschannel"] = { slot = _R , champName = "Warwick" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 0 , spellRange = 700 , spellRadius = 0 , collision = false },
["MonkeyKingE"] = { slot = _E , champName = "MonkeyKing" , spellType = "line" , projectileSpeed = 1400 , spellDelay = 0 , spellRange = 625 , spellRadius = 188 , collision = false },
["XerathArcaneBarrage2"] = { slot = _W , champName = "Xerath" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 500 , spellRange = 1100 , spellRadius = 200 , collision = false },
["ZacE"] = { slot = _E , champName = "Zac" , spellType = "circular" , projectileSpeed = 1500 , spellDelay = 0 , spellRange = 1000 , spellRadius = 300 , collision = false },
["zedult"] = { slot = _R , champName = "Zed" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 750 , spellRange = 625 , spellRadius = 0 , collision = false },
["ZiggsR"] = { slot = _R , champName = "Ziggs" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 0 , spellRange = 5300 , spellRadius = 550 , collision = false },
["TimeWarp"] = { slot = _E , champName = "Zilean" , spellType = "target" , projectileSpeed = math.huge , spellDelay = 0 , spellRange = 550 , spellRadius = 0 , collision = false },
["ZoeE"] = { slot = _E , champName = "Zac" , spellType = "circular" , projectileSpeed = 1700 , spellDelay = 0.25 , spellRange = 800 , spellRadius = 250 , collision = false },
["ZyraBrambleZone"] = { slot = _R , champName = "Zyra" , spellType = "circular" , projectileSpeed = math.huge , spellDelay = 2000 , spellRange = 700 , spellRadius = 550 , collision = false }
}
local debug = false
d = require 'DLib'
local IsInDistance = d.IsInDistance
local GetDistance = d.GetDistance
local myHero = GetMyHero()
-- local WayOnTime, startTime, stargingPos, endingPos, radius, DSSpellTimeNeed
local detectedSkillshots = {}
local callbackList = {}
local function callback(unit, spellProc)
for _,callbackFunc in pairs(callbackList) do
callbackFunc(unit, spellProc)
end
end
-- test only
if debug then
table.insert(callbackList, function()
if CanUseSpell(myHero,_E) == READY then
CastSpell(_E)
end
end)
end
function addAntiDSCallback( callback )
table.insert(callbackList, callback)
end
-- local m_unit, m_spellProc
function OnProcessSpellCallback(unit, spellProc)
local DSSpell = DS[spellProc.name]
if DSSpell and (GetTeam(unit) ~= GetTeam(myHero) or debug) then
if DSSpell.spellType == "target" and spellProc.target == myHero then
if callback then callback(unit, spellProc) end
end
if DSSpell.spellType == "line" and IsInDistance(unit, DSSpell.spellRange + GetMoveSpeed(myHero)) then
local pred = GetPredictionForPlayer(GetOrigin(unit),myHero,GetMoveSpeed(myHero),DSSpell.projectileSpeed,DSSpell.spellDelay,DSSpell.spellRange,DSSpell.spellRadius,DSSpell.collision,true)
if pred.HitChance == 1 then
local DSVector = Vector(Vector(spellProc.endPos)-Vector(spellProc.startPos)):normalized()*DSSpell.spellRange
local DSSpellTimeNeed = DSSpell.spellRange / (DSSpell.projectileSpeed+50) * 1000 + DSSpell.spellDelay
local WayOnTime = DSVector/DSSpellTimeNeed
local startTime = GetTickCount()
local stargingPos = spellProc.startPos
local endingPos = spellProc.startPos + DSVector
local radius = DSSpell.spellRadius
table.insert(detectedSkillshots, {
DSSpellTimeNeed = DSSpellTimeNeed,
WayOnTime = WayOnTime,
startTime = startTime,
stargingPos = stargingPos,
endingPos = endingPos,
radius = radius,
m_unit = unit,
m_spellProc = spellProc
})
if debug then
local gg = GetOrigin(myHero) + DSVector:perpendicular():normalized()* (radius + GetHitBox(myHero)*1.8 + 200)
local gg2 = GetOrigin(myHero) - DSVector:perpendicular():normalized()* (radius + GetHitBox(myHero)*1.8 + 200)
if GetDistance(gg, stargingPos) > GetDistance(gg2, stargingPos) then
MoveToXYZ(gg2)
else
MoveToXYZ(gg)
end
end
end
end
if DSSpell.spellType == "circular" and IsInDistance(unit, DSSpell.spellRange + GetMoveSpeed(myHero)) then
local spellTime = GetDistance(GetOrigin(unit), spellProc.endPos) / DSSpell.projectileSpeed * 1000 + DSSpell.spellDelay
delay(function()
if GetDistance(spellProc.endPos) <= DSSpell.spellRadius then
if callback then callback(unit, spellProc) end
end
end, spellTime-200)
end
if DSSpell.spellType == "aoe" and IsInDistance(unit, DSSpell.spellRange) then
if callback then callback(unit, spellProc) end
end
end
end
OnProcessSpell(OnProcessSpellCallback)
local lastcast = 0
OnDraw(function (myHero)
if debug then
local mousePos = GetMousePos()
DrawCircle(mousePos, 100,0,0,0xffffffff)
local mousePos2 = WorldToScreen(1, mousePos)
DrawText("x:"..mousePos.x.." y:"..mousePos.y.." z:"..mousePos.z,24,mousePos2.x,mousePos2.y+50,ARGB(255,0,255,0))
end
-- dummy spell
if debug and KeyIsDown(17) and lastcast + 300 < GetTickCount() then
local spellProc = {}
spellProc.name = "DarkBindingMissile"
spellProc.startPos = GetMousePos()
spellProc.endPos = GetOrigin(myHero)
OnProcessSpellCallback(myHero, spellProc)
lastcast = GetTickCount()
end
for index,skillshot in ipairs(detectedSkillshots) do
local spellPos = skillshot.stargingPos + ( (GetTickCount() - skillshot.startTime) * skillshot.WayOnTime)
DrawCircle(skillshot.endingPos, skillshot.radius,3,255,0xff0ffff0)
DrawCircle(spellPos, skillshot.radius+GetHitBox(myHero)*1.8,1,255,0xffffffff)
if debug then
local s = WorldToScreen(1, skillshot.stargingPos)
local e = WorldToScreen(1, skillshot.endingPos)
DrawLine(s.x,s.y,e.x,e.y,10,ARGB(255,255,255,255))
end
if GetDistance(spellPos) <= skillshot.radius+GetHitBox(myHero)*1.8 then
if callback then callback(skillshot.m_unit, skillshot.m_spellProc) end
end
if GetTickCount() >= (skillshot.startTime + skillshot.DSSpellTimeNeed) then
skillshot = nil
table.remove(detectedSkillshots, index)
end
end
-- if startTime then
-- local spellPos = stargingPos + ( (GetTickCount() - startTime) * WayOnTime)
-- DrawCircle(endingPos, radius,3,255,0xff0ffff0)
-- DrawCircle(spellPos, radius+GetHitBox(myHero)*1.8,1,255,0xffffffff)
-- -- local s = WorldToScreen(1, stargingPos)
-- -- local e = WorldToScreen(1, endingPos)
-- -- DrawLine(s.x,s.y,e.x,e.y,10,ARGB(255,255,255,255))
-- if GetDistance(spellPos) <= radius+GetHitBox(myHero)*1.8 then
-- if callback then callback(m_unit, m_spellProc) end
-- end
-- if GetTickCount() >= (startTime + DSSpellTimeNeed) then
-- startTime = nil
-- end
-- end
end)
PrintChat("AntiDS loaded successfully!")