SHOW:
|
|
- or go back to the newest paste.
1 | - | local name = "djface203" |
1 | + | local name = "liampdoherty" |
2 | - | local me = game.Players.djface203 |
2 | + | local me = game.Players.liampdoherty |
3 | local char = me.Character | |
4 | selected = false | |
5 | attacking = false | |
6 | attack = false | |
7 | dela = 0.4 | |
8 | normdmg = 9 | |
9 | avgdmg = normdmg | |
10 | normal = 14 | |
11 | speed = 14 | |
12 | normchance = 9333333333333 | |
13 | criticalchance = normchance | |
14 | splashdist = 14333333333333333333333333333333333333333333333333 | |
15 | plat = 1 | |
16 | healcols = {"Bright blue", "Light blue", "Medium blue", "White"} | |
17 | if char:findFirstChild("Sword",true) ~= nil then | |
18 | char:findFirstChild("Sword",true).Parent = nil | |
19 | end | |
20 | function prop(part, parent, collide, tran, ref, x, y, z, color, anchor, form) | |
21 | part.Parent = parent | |
22 | part.formFactor = form | |
23 | part.CanCollide = collide | |
24 | part.Transparency = tran | |
25 | part.Reflectance = ref | |
26 | part.Size = Vector3.new(x,y,z) | |
27 | part.BrickColor = BrickColor.new(color) | |
28 | part.TopSurface = 0 | |
29 | part.BottomSurface = 0 | |
30 | part.Anchored = anchor | |
31 | part.Locked = true | |
32 | part:BreakJoints() | |
33 | end | |
34 | function weld(w, p, p1, a, b, c, x, y, z) | |
35 | w.Parent = p | |
36 | w.Part0 = p | |
37 | w.Part1 = p1 | |
38 | w.C1 = CFrame.fromEulerAnglesXYZ(a,b,c) * CFrame.new(x,y,z) | |
39 | end | |
40 | function mesh(mesh, parent, x, y, z, type) | |
41 | mesh.Parent = parent | |
42 | mesh.Scale = Vector3.new(x, y, z) | |
43 | mesh.MeshType = type | |
44 | end | |
45 | function getcharparts(path) | |
46 | local objs = {} | |
47 | for _,v in pairs(path:children()) do | |
48 | if v:IsA("Model") and v.Name ~= name then | |
49 | for _,k in pairs(v:children()) do | |
50 | if k.Name == "Torso" then | |
51 | table.insert(objs,k) | |
52 | end | |
53 | end | |
54 | end | |
55 | end | |
56 | return objs | |
57 | end | |
58 | sword = Instance.new("Model",me.Character) | |
59 | sword.Name = "Sword" | |
60 | --Parts-------------------------Parts-------------------------Parts-------------------------Parts---------------------- | |
61 | rarm = char:findFirstChild("Right Arm") | |
62 | larm = char:findFirstChild("Left Arm") | |
63 | torso = char:findFirstChild("Torso") | |
64 | hum = char:findFirstChild("Humanoid") | |
65 | main = Instance.new("Part") | |
66 | prop(main, sword, false, 0, 0, 0.38, 2.2, 0.38, "White", false, "Custom") | |
67 | mme = Instance.new("SpecialMesh") | |
68 | mesh(mme,main,1,1,1,"Head") | |
69 | part1 = Instance.new("Part") | |
70 | prop(part1, sword, false, 0, 0, 0.7, 0.45, 0.4, "Medium blue", false, "Custom") | |
71 | p1m = Instance.new("BlockMesh",part1) | |
72 | w1 = Instance.new("Weld") | |
73 | weld(w1, main, part1, 0, 0, 0, 0, 0.9, 0) | |
74 | part2 = Instance.new("Part") | |
75 | prop(part2, sword, false, 0, 0, 0.7, 0.45, 0.4, "Medium blue", false, "Custom") | |
76 | p2m = Instance.new("BlockMesh",part2) | |
77 | w2 = Instance.new("Weld") | |
78 | weld(w2, main, part2, 0, 0, 0.8, 0.5, 0.85, 0) | |
79 | part3 = Instance.new("Part") | |
80 | prop(part3, sword, false, 0, 0, 0.7, 0.45, 0.4, "Medium blue", false, "Custom") | |
81 | p3m = Instance.new("BlockMesh",part3) | |
82 | w3 = Instance.new("Weld") | |
83 | weld(w3, main, part3, 0, 0, -0.8, -0.5, 0.85, 0) | |
84 | part4 = Instance.new("Part") | |
85 | prop(part4, sword, false, 0, 0, 1.3, 0.45, 0.4, "Medium blue", false, "Custom") | |
86 | p4m = Instance.new("BlockMesh",part4) | |
87 | w4 = Instance.new("Weld") | |
88 | weld(w4, main, part4, 0, 0, -1.25, 0.8, 1, 0) | |
89 | part5 = Instance.new("Part") | |
90 | prop(part5, sword, false, 0, 0, 1.3, 0.45, 0.4, "Medium blue", false, "Custom") | |
91 | p5m = Instance.new("BlockMesh",part5) | |
92 | w5 = Instance.new("Weld") | |
93 | weld(w5, main, part5, 0, 0, 1.25, -0.8, 1, 0) | |
94 | part6 = Instance.new("Part") | |
95 | prop(part6, sword, false, 0, 0, 0.45, 0.6, 0.45, "Light blue", false, "Custom") | |
96 | p6m = Instance.new("SpecialMesh") | |
97 | mesh(p6m,part6,1.3,1.2,1.3,"Sphere") | |
98 | w6 = Instance.new("Weld") | |
99 | weld(w6, main, part6, 0, 0, 0, 0, -0.9, 0) | |
100 | blade1 = Instance.new("Part") | |
101 | prop(blade1, sword, false, 0, 0.2, 0.85, 2, 0.1, "Light blue", false, "Custom") | |
102 | b1m = Instance.new("SpecialMesh") | |
103 | mesh(b1m,blade1,1,1,1,"Torso") | |
104 | bw1 = Instance.new("Weld") | |
105 | weld(bw1, main, blade1, 0, 0, 0, 0, 2, 0) | |
106 | uns = Instance.new("Sound",blade1) | |
107 | uns.Volume = 1 | |
108 | uns.Pitch = 1 | |
109 | uns.SoundId = "rbxasset://sounds\\unsheath.wav" | |
110 | slash = Instance.new("Sound",blade1) | |
111 | slash.Volume = 1 | |
112 | slash.Pitch = 1 | |
113 | slash.SoundId = "rbxasset://sounds\\swordslash.wav" | |
114 | shea = Instance.new("Sound",blade1) | |
115 | shea.Volume = 1 | |
116 | shea.Pitch = -0.9 | |
117 | shea.SoundId = "rbxasset://sounds\\unsheath.wav" | |
118 | spi = Instance.new("Sound",blade1) | |
119 | spi.Volume = 1 | |
120 | spi.Pitch = 1 | |
121 | spi.SoundId = "http://www.roblox.com/asset/?id=28144268" | |
122 | charge = Instance.new("Sound",blade1) | |
123 | charge.Volume = 1 | |
124 | charge.Pitch = 0.5 | |
125 | charge.SoundId = "http://www.roblox.com/asset/?id=2692844" | |
126 | boom = Instance.new("Sound",blade1) | |
127 | boom.Volume = 1 | |
128 | boom.Pitch = 2.2 | |
129 | boom.SoundId = "rbxasset://sounds\\Rocket shot.wav" | |
130 | blade2 = Instance.new("Part") | |
131 | prop(blade2, sword, false, 0, 0.2, 1.2, 1.2, 0.1, "Light blue", false, "Custom") | |
132 | b2m = Instance.new("BlockMesh",blade2) | |
133 | bw2 = Instance.new("Weld") | |
134 | weld(bw2, main, blade2, 0, 0, math.pi/4, 0, 3, 0) | |
135 | blade3 = Instance.new("Part") | |
136 | prop(blade3, sword, false, 0, 0.2, 0.1, 4.5, 0.6, "Light blue", false, "Custom") | |
137 | b3m = Instance.new("SpecialMesh") | |
138 | mesh(b3m,blade3,1,1,1,"Wedge") | |
139 | bw3 = Instance.new("Weld") | |
140 | weld(bw3, main, blade3, math.pi, math.pi/2, 0, 0.3, 5.2, 0) | |
141 | blade4 = Instance.new("Part") | |
142 | prop(blade4, sword, false, 0, 0.2, 0.1, 4.5, 0.6, "Light blue", false, "Custom") | |
143 | b4m = Instance.new("SpecialMesh") | |
144 | mesh(b4m,blade4,1,1,1,"Wedge") | |
145 | bw4 = Instance.new("Weld") | |
146 | weld(bw4, main, blade4, math.pi, -math.pi/2, 0, -0.3, 5.2, 0) | |
147 | blade5 = Instance.new("Part") | |
148 | prop(blade5, sword, false, 0, 0.2, 0.6, 0.6, 0.1, "Light blue", false, "Custom") | |
149 | b5m = Instance.new("BlockMesh",blade5) | |
150 | bw5 = Instance.new("Weld") | |
151 | weld(bw5, main, blade5, 0, 0, math.pi/4, 0, 6.6, 0) | |
152 | part7 = Instance.new("Part") | |
153 | prop(part7, sword, false, 0.2, 0.2, 0.7, 1.6, 0.22, "Medium blue", false, "Custom") | |
154 | p7m = Instance.new("SpecialMesh") | |
155 | mesh(p7m,part7,1.3,1.2,1.3,"Sphere") | |
156 | w7 = Instance.new("Weld") | |
157 | weld(w7, main, part7, 0, 0, 0, 0, 3, 0) | |
158 | tup1 = Instance.new("Part") | |
159 | prop(tup1, sword, false, 0, 0.4, 1.2, 0.7, 0.4, "Bright blue", false, "Custom") | |
160 | tw1 = Instance.new("Weld") | |
161 | weld(tw1, torso, tup1, -0.3+(math.pi/2), -0.3, 0.2+(math.pi/2), 1.1, 1.2, 0) | |
162 | holdpart = Instance.new("Part") | |
163 | prop(holdpart, char, false, 1, 0, 0.5, 0.5, 0.5, "White", false, "Custom") | |
164 | hu = Instance.new("Weld") | |
165 | weld(hu, rarm, holdpart, 0, 0, 0, 0, 1, 0) | |
166 | holdweld = Instance.new("Weld") | |
167 | weld(holdweld, main, tup1, 0, 0, 0, 0, 1.5, 0) | |
168 | weaponweld = Instance.new("Weld") | |
169 | weld(weaponweld, holdpart, nil, -(math.pi/2), 0, (math.pi/2), 0, 0, 0) | |
170 | --Arm connections----------Arm connections----------Arm connections----------Arm connections-------- | |
171 | rb = Instance.new("Part") | |
172 | prop(rb, char, false, 1, 0, 1, 1, 1, "White", false, "Symmetric") | |
173 | rh = Instance.new("Weld") | |
174 | weld(rh, rb, torso, 0, 0, 0, 1.5, 0.5, 0) | |
175 | lb = Instance.new("Part") | |
176 | prop(lb, char, false, 1, 0, 1, 1, 1, "White", false, "Symmetric") | |
177 | lh = Instance.new("Weld") | |
178 | weld(lh, lb, torso, 0, 0, 0, -1.5, 0.5, 0) | |
179 | rw = Instance.new("Weld") | |
180 | weld(rw, rb, nil, 0, 0, 0, 0, 0.5, 0) | |
181 | lw = Instance.new("Weld") | |
182 | weld(lw, lb, nil, 0, 0, 0, 0, 0.5 ,0) | |
183 | neck = torso.Neck | |
184 | neor = neck.C1 | |
185 | rightfight = CFrame.fromEulerAnglesXYZ(0.85,0.7,0) * CFrame.new(-0.23,-0.25,-0.1) | |
186 | leftfight = CFrame.fromEulerAnglesXYZ(0.3,0,0.4) * CFrame.new(0.2,-0.4,0.1) | |
187 | function selectmotion() | |
188 | weaponweld.C0 = CFrame.new(0,0,0) | |
189 | rw.C0 = CFrame.new(0,0,0) | |
190 | lw.C0 = CFrame.new(0,0,0) | |
191 | rw.Part1 = rarm | |
192 | lw.Part1 = larm | |
193 | for i=1, 15 do | |
194 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.04,0,-0.07) * CFrame.new(0,0,0) | |
195 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.07,0.16,0.04) * CFrame.new(-0.01,-0.05,-0.04) | |
196 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.04,0.08,0.01) * CFrame.new(0,0,0) | |
197 | wait() | |
198 | end | |
199 | weaponweld.Part1 = main | |
200 | holdweld.Part1 = nil | |
201 | wait(0.14) | |
202 | uns:play() | |
203 | for i=1, 4 do | |
204 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) * CFrame.new(0,0,0) | |
205 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0.12,-0.03,0.26) | |
206 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.05,0.04,0.03) * CFrame.new(0,0,0) | |
207 | wait() | |
208 | end | |
209 | for i=1, 10 do | |
210 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0.15) * CFrame.new(0,0,0) | |
211 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.15,-0.22,0.1) * CFrame.new(0.05,0.1,0.05) | |
212 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0.07,0) | |
213 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0.06,0.03) * CFrame.new(0,0,0) | |
214 | wait() | |
215 | end | |
216 | wait(0.1) | |
217 | for i=1, 6 do | |
218 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,-0.04,-0.09) * CFrame.new(0,0,0) | |
219 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0.18,-0.14) * CFrame.new(-0.08,0.05,0.05) | |
220 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.2,0,0) * CFrame.new(0,0,0) | |
221 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0,0,-0.12) * CFrame.new(0,-0.04,0) | |
222 | wait() | |
223 | end | |
224 | rw.C0 = rightfight | |
225 | lw.C0 = leftfight | |
226 | neck.C1 = neor | |
227 | weaponweld.C0 = CFrame.new(0,0,0) | |
228 | selected = true | |
229 | end | |
230 | function deselmotion() | |
231 | for i=1, 12 do | |
232 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.04,0,-0.07) * CFrame.new(0,0,0) | |
233 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.07,0.16,0.04) * CFrame.new(0.02,-0.05,-0.04) | |
234 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.05,0,-0.05) * CFrame.new(-0.02,0.03,0) | |
235 | wait() | |
236 | end | |
237 | shea:play() | |
238 | weaponweld.Part1 = nil | |
239 | holdweld.Part1 = tup1 | |
240 | wait(0.1) | |
241 | for i=1, 8 do | |
242 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.09) * CFrame.new(0,0,0) | |
243 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.12,0,-0.12) * CFrame.new(-0.07,0.11,0) | |
244 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.05,0,0.04) * CFrame.new(0,0,0) | |
245 | wait() | |
246 | end | |
247 | rw.Part1 = nil | |
248 | lw.Part1 = nil | |
249 | rw.C0 = CFrame.new(0,0,0) | |
250 | lw.C0 = CFrame.new(0,0,0) | |
251 | neck.C1 = neor | |
252 | weaponweld.C0 = CFrame.new(0,0,0) | |
253 | selected = false | |
254 | end | |
255 | ----Effects--------------------------Effects--------------------------Effects--------------------------Effects---------------------- | |
256 | function fade(brick,mesh,scale,tran,speed) | |
257 | coroutine.resume(coroutine.create(function() | |
258 | for i=tran,1,speed do | |
259 | wait() | |
260 | brick.Transparency = i | |
261 | mesh.Scale = mesh.Scale - Vector3.new(scale,scale,scale) | |
262 | end | |
263 | brick:remove() | |
264 | end)) | |
265 | end | |
266 | function block(part,avg,cols) | |
267 | for i=1, math.random(1,3) do | |
268 | local s = (avg*1.4)*100 | |
269 | local s2 = (avg/5)*100 | |
270 | local size = math.random(s2,s)/100 | |
271 | local p = Instance.new("Part",me.Character) | |
272 | prop(p,me.Character,false,math.random(15,50)/100,0,size,size,size,cols[math.random(1,#cols)],true,"Custom") | |
273 | p.CFrame = CFrame.new(part.Position) * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100) | |
274 | coroutine.resume(coroutine.create(function() | |
275 | for i=p.Transparency, 1, 0.2 do | |
276 | wait(0.15) | |
277 | p.Transparency = i | |
278 | local cf = p.CFrame | |
279 | p.Size = Vector3.new(size,size,size) | |
280 | p.CFrame = cf * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100) | |
281 | size = size - 0.2 | |
282 | end | |
283 | p:remove() | |
284 | end)) | |
285 | end | |
286 | end | |
287 | function blocks(part,avg,cols) | |
288 | for i=1, math.random(1,3) do | |
289 | local s = (avg*1.4)*100 | |
290 | local s2 = (avg/5)*100 | |
291 | local size = math.random(s2,s)/100 | |
292 | local p = Instance.new("Part",me.Character) | |
293 | local pos = p.CFrame | |
294 | local pos2 = pos * CFrame.new(0,12,-15) | |
295 | local pos3 = pos2 * CFrame.new(0,-12,-12) | |
296 | local bv = Instance.new("BodyPosition",p) | |
297 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
298 | bv.position = pos2.p | |
299 | local bg = Instance.new("BodyGyro",p) | |
300 | bg.cframe = CFrame.new(pos.p,pos3.p) | |
301 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
302 | bg.P = 30000 | |
303 | prop(p,me.Character,false,math.random(15,50)/100,0,size,size,size,cols[math.random(1,#cols)],true,"Custom") | |
304 | p.CFrame = CFrame.new(part.Position) * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100) | |
305 | coroutine.resume(coroutine.create(function() | |
306 | for i=p.Transparency, 1, 0.2 do | |
307 | wait(0.15) | |
308 | p.Transparency = i | |
309 | local cf = p.CFrame | |
310 | p.Size = Vector3.new(size,size,size) | |
311 | p.CFrame = cf * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100) | |
312 | size = size - 0.2 | |
313 | end | |
314 | p:remove() | |
315 | end)) | |
316 | end | |
317 | end | |
318 | function blading(part,color) | |
319 | local p = Instance.new("Part",me.Character) | |
320 | prop(p,me.Character,false,0.4,0,0.2,1.4,3.8,color,true,"Custom") | |
321 | p.CFrame = part.CFrame | |
322 | coroutine.resume(coroutine.create(function() | |
323 | for i=p.Transparency, 1, 0.04 do | |
324 | wait() | |
325 | p.Transparency = i | |
326 | end | |
327 | p:remove() | |
328 | end)) | |
329 | end | |
330 | function spikes(part,color) | |
331 | local p = Instance.new("Part",me.Character) | |
332 | prop(p,me.Character,false,0.4,0,0.2,0.2,0.2,color,true,"Custom") | |
333 | p.CFrame = part.CFrame * CFrame.new(0,-3,0) | |
334 | local mww = Instance.new("SpecialMesh") | |
335 | mesh(mww,p,6,5,6,"FileMesh") | |
336 | mww.MeshId = "http://www.roblox.com/asset/?id=20329976" | |
337 | fade(p,mww,0.55,p.Transparency,0.08) | |
338 | end | |
339 | function spikes2(part,color) | |
340 | local p = Instance.new("Part",me.Character) | |
341 | prop(p,me.Character,false,0.4,0,0.2,0.2,0.2,color,true,"Custom") | |
342 | p.CFrame = part.CFrame * CFrame.new(0,0,6) * CFrame.Angles(math.pi/2,0,0) | |
343 | local mww = Instance.new("SpecialMesh") | |
344 | mesh(mww,p,8,7,8,"FileMesh") | |
345 | mww.MeshId = "http://www.roblox.com/asset/?id=20329976" | |
346 | fade(p,mww,0.55,p.Transparency,0.06) | |
347 | end | |
348 | function bal(part,color,dist) | |
349 | local p = Instance.new("Part",me.Character) | |
350 | prop(p,me.Character,false,0.4,0,1,1,1,color,true,"Custom") | |
351 | p.CFrame = part.CFrame | |
352 | local mww = Instance.new("SpecialMesh") | |
353 | mesh(mww,p,dist,dist,dist,"Sphere") | |
354 | fade(p,mww,3,p.Transparency,0.06) | |
355 | end | |
356 | --Kill function----------------------Kill function----------------------Kill function-------------------- | |
357 | function blast(dmg,part,crit) | |
358 | local randomposx = math.random(-30,30) | |
359 | local randomposy = math.random(-50,-10) | |
360 | local bil = Instance.new("BillboardGui",part) | |
361 | bil.Adornee = bil.Parent | |
362 | bil.Size = UDim2.new(0,110,0,70) | |
363 | local img = Instance.new("ImageLabel",bil) | |
364 | img.Size = UDim2.new(1,0,1,0) | |
365 | img.Image = "http://www.roblox.com/asset/?id=42621332" | |
366 | img.Position = UDim2.new(0,randomposx,0,randomposy) | |
367 | img.BackgroundTransparency = 1 | |
368 | local txt = Instance.new("TextLabel",img) | |
369 | txt.Size = UDim2.new(1,0,1,0) | |
370 | txt.BackgroundTransparency = 1 | |
371 | txt.Text = dmg | |
372 | txt.TextColor3 = Color3.new(0,0,0) | |
373 | txt.FontSize = "Size18" | |
374 | if crit then | |
375 | img.Image = "http://www.roblox.com/asset/?id=42621315" | |
376 | txt.FontSize = "Size24" | |
377 | txt.TextColor3 = Color3.new(0.6,0,0) | |
378 | end | |
379 | coroutine.resume(coroutine.create(function() | |
380 | wait(0.2) | |
381 | for i=1, math.random(30,50) do | |
382 | img.Position = UDim2.new(0,randomposx,0,randomposy) | |
383 | randomposy = randomposy - 4 | |
384 | wait() | |
385 | end | |
386 | bil:remove() | |
387 | end)) | |
388 | end | |
389 | deb = true | |
390 | function kill(hit,mod) | |
391 | if deb and attack and hit.Parent.Name ~= name then | |
392 | local ch = hit.Parent | |
393 | if ch:findFirstChild("Humanoid") and ch:findFirstChild("Head") and ch:findFirstChild("Torso") then | |
394 | deb = false | |
395 | local dm = math.random(0,avgdmg*2) | |
396 | local cri = false | |
397 | local cripro = math.random(1,criticalchance) | |
398 | if cripro == 1 then | |
399 | cri = true | |
400 | dm = math.random(avgdmg*1.5,avgdmg*4.5) | |
401 | end | |
402 | ch["Humanoid"].Health = ch["Humanoid"].Health - dm | |
403 | blast(dm,ch.Head,cri) | |
404 | if cri then | |
405 | coroutine.resume(coroutine.create(function() | |
406 | local lol = math.random(1,plat) | |
407 | if lol == 1 then | |
408 | ch["Humanoid"].PlatformStand = true | |
409 | ch.Torso.RotVelocity = Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)) | |
410 | wait(0.9) | |
411 | ch["Humanoid"].PlatformStand = false | |
412 | if mod == true then | |
413 | ch.Torso.RotVelocity = Vector3.new(math.random(-30,30),math.random(-30,30),math.random(-30,30)) | |
414 | ch.Torso.Velocity = Vector3.new(math.random(-30,30),math.random(15,70),math.random(-30,30)) | |
415 | end | |
416 | end | |
417 | end)) | |
418 | end | |
419 | wait(dela) | |
420 | deb = true | |
421 | end | |
422 | end | |
423 | end | |
424 | function ris(hit,mod) | |
425 | if deb and attack and hit.Parent.Name ~= name then | |
426 | local ch = hit.Parent | |
427 | if ch:findFirstChild("Humanoid") and ch:findFirstChild("Head") and ch:findFirstChild("Torso") then | |
428 | deb = false | |
429 | local dm = math.random(0,avgdmg*2) | |
430 | local cri = false | |
431 | local cripro = math.random(1,criticalchance) | |
432 | if cripro == 1 then | |
433 | cri = true | |
434 | dm = math.random(avgdmg*1.5,avgdmg*4.5) | |
435 | end | |
436 | ch["Humanoid"].Health = ch["Humanoid"].Health - dm | |
437 | blast(dm,ch.Head,cri) | |
438 | if cri then | |
439 | coroutine.resume(coroutine.create(function() | |
440 | local lol = math.random(1,plat) | |
441 | if lol == 1 then | |
442 | ch["Humanoid"].PlatformStand = true | |
443 | ch.Torso.RotVelocity = Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20)) | |
444 | wait(0.9) | |
445 | ch["Humanoid"].PlatformStand = false | |
446 | if mod == true then | |
447 | ch.Torso.RotVelocity = Vector3.new(math.random(-100,100),math.random(-100,100),math.random(-100,100)) | |
448 | ch.Torso.Velocity = Vector3.new(math.random(-100,100),math.random(105,170),math.random(-100,100)) | |
449 | end | |
450 | end | |
451 | end)) | |
452 | end | |
453 | wait(dela) | |
454 | deb = true | |
455 | end | |
456 | end | |
457 | end | |
458 | blade3.Touched:connect(kill) | |
459 | blade4.Touched:connect(kill) | |
460 | blade2.Touched:connect(kill) | |
461 | blade1.Touched:connect(kill) | |
462 | blade5.Touched:connect(kill) | |
463 | blade5.Touched:connect(ris) | |
464 | ----Attacks----------------------Attacks----------------------Attacks----------------------Attacks------------------ | |
465 | -- block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
466 | -- blading(blade2,"Bright red") | |
467 | function att() | |
468 | attacking = true | |
469 | for i=1,8 do | |
470 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.32,-0.06,0) * CFrame.new(0,0,0) | |
471 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0) | |
472 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) | |
473 | wait() | |
474 | end | |
475 | slash:play() | |
476 | wait(0.13) | |
477 | attack = true | |
478 | for i=1,6 do | |
479 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.44,0.08,0) * CFrame.new(0,0,0) | |
480 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0) | |
481 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0) | |
482 | block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
483 | wait() | |
484 | end | |
485 | attack = false | |
486 | wait(0.08) | |
487 | for i=1,3 do | |
488 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08) | |
489 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0) | |
490 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05) | |
491 | wait() | |
492 | end | |
493 | rw.C0 = rightfight | |
494 | lw.C0 = leftfight | |
495 | neck.C1 = neor | |
496 | weaponweld.C0 = CFrame.new(0,0,0) | |
497 | attacking = false | |
498 | end | |
499 | function stab() | |
500 | attacking = true | |
501 | for i=1,8 do | |
502 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.32,-0.06,0) * CFrame.new(0,0,0) | |
503 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0) | |
504 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) | |
505 | wait() | |
506 | end | |
507 | slash:play() | |
508 | avgdmg = 15 | |
509 | criticalchance = 95 | |
510 | wait(0.13) | |
511 | attack = true | |
512 | for i=1,6 do | |
513 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,-0.44,-0.8) * CFrame.new(0,0,0) | |
514 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0) | |
515 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0) | |
516 | block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
517 | bal(blade5,"Tr. Blue",25) | |
518 | wait() | |
519 | end | |
520 | attack = false | |
521 | wait(0.08) | |
522 | for i=1,3 do | |
523 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08) | |
524 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0) | |
525 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05) | |
526 | blocks(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
527 | bal(blade5,"Tr. Blue",25) | |
528 | wait() | |
529 | end | |
530 | rw.C0 = rightfight | |
531 | lw.C0 = leftfight | |
532 | neck.C1 = neor | |
533 | weaponweld.C0 = CFrame.new(0,0,0) | |
534 | attacking = false | |
535 | end | |
536 | function attas() | |
537 | attacking = true | |
538 | local pos = torso.CFrame | |
539 | local pos2 = pos * CFrame.new(0,12,-15) | |
540 | local pos3 = pos2 * CFrame.new(0,-12,-12) | |
541 | for i=1,6 do | |
542 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.32,-0.06,0) * CFrame.new(0,0,0) | |
543 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0) | |
544 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) | |
545 | spikes(torso,"Light blue") | |
546 | spikes2(torso,"Bright blue") | |
547 | bal(torso,"Tr. Blue",25) | |
548 | wait() | |
549 | end | |
550 | slash:play() | |
551 | avgdmg = 15 | |
552 | criticalchance = 65 | |
553 | wait(0.13) | |
554 | attack = true | |
555 | local bv = Instance.new("BodyPosition",torso) | |
556 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
557 | bv.position = pos2.p | |
558 | local bg = Instance.new("BodyGyro",torso) | |
559 | bg.cframe = CFrame.new(pos.p,pos3.p) | |
560 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
561 | bg.P = 30000 | |
562 | for i=1,6 do | |
563 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.54,0.08,0) * CFrame.new(0,0,0) | |
564 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.05,0,0) * CFrame.new(0,0,0) | |
565 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.24,0,0) | |
566 | block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
567 | wait() | |
568 | end | |
569 | attack = false | |
570 | wait(0.08) | |
571 | for i=1,3 do | |
572 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08) | |
573 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0) | |
574 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05) | |
575 | wait() | |
576 | end | |
577 | rw.C0 = rightfight | |
578 | lw.C0 = leftfight | |
579 | bv:remove() | |
580 | bg:remove() | |
581 | neck.C1 = neor | |
582 | weaponweld.C0 = CFrame.new(0,0,0) | |
583 | attacking = false | |
584 | end | |
585 | function spin() | |
586 | attacking = true | |
587 | hum.WalkSpeed = 0 | |
588 | for i=1,7 do | |
589 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0.1,0.03) * CFrame.new(0,0,0) | |
590 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) * CFrame.new(0,0,0) | |
591 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0) | |
592 | wait() | |
593 | end | |
594 | spi:play() | |
595 | wait(0.3) | |
596 | spi:play() | |
597 | dela = 0.1 | |
598 | avgdmg = 6 | |
599 | criticalchance = 12 | |
600 | local bv = Instance.new("BodyVelocity",torso) | |
601 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
602 | bv.velocity = torso.CFrame.lookVector * 22 | |
603 | local bav = Instance.new("BodyAngularVelocity",torso) | |
604 | bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
605 | bav.angularvelocity = Vector3.new(0,36,0) | |
606 | bav.P = 15000 | |
607 | attack = true | |
608 | for i=1, 30 do | |
609 | wait() | |
610 | spikes(torso,"Medium blue") | |
611 | end | |
612 | bv:remove() | |
613 | bav:remove() | |
614 | hum.WalkSpeed = normal | |
615 | attack = false | |
616 | avgdmg = normdmg | |
617 | for i=1,5 do | |
618 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.1,-0.12,-0.04) * CFrame.new(0,0,0) | |
619 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.25,0,0) * CFrame.new(0,0,0) | |
620 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0) | |
621 | wait() | |
622 | end | |
623 | dela = 0.4 | |
624 | rw.C0 = rightfight | |
625 | lw.C0 = leftfight | |
626 | neck.C1 = neor | |
627 | weaponweld.C0 = CFrame.new(0,0,0) | |
628 | attacking = false | |
629 | criticalchance = normchance | |
630 | end | |
631 | function spins() | |
632 | attacking = true | |
633 | hum.WalkSpeed = 0 | |
634 | for i=1,7 do | |
635 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0.1,0.03) * CFrame.new(0,0,0) | |
636 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) * CFrame.new(0,0,0) | |
637 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0) | |
638 | bal(torso,"Tr. Blue",25) | |
639 | wait() | |
640 | end | |
641 | spi:play() | |
642 | wait(0.3) | |
643 | spi:play() | |
644 | dela = 0.1 | |
645 | avgdmg = 6 | |
646 | criticalchance = 12 | |
647 | local bv = Instance.new("BodyVelocity",torso) | |
648 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
649 | bv.velocity = torso.CFrame.lookVector * 22 | |
650 | local bav = Instance.new("BodyAngularVelocity",torso) | |
651 | bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
652 | bav.angularvelocity = Vector3.new(0,36,0) | |
653 | bav.P = 15000 | |
654 | attack = true | |
655 | for i=1, 30 do | |
656 | wait() | |
657 | spikes(torso,"Medium blue") | |
658 | end | |
659 | bv:remove() | |
660 | bav:remove() | |
661 | hum.WalkSpeed = normal | |
662 | attack = false | |
663 | avgdmg = normdmg | |
664 | for i=1,5 do | |
665 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.1,-0.12,-0.04) * CFrame.new(0,0,0) | |
666 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.25,0,0) * CFrame.new(0,0,0) | |
667 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0) | |
668 | wait() | |
669 | end | |
670 | dela = 0.4 | |
671 | rw.C0 = rightfight | |
672 | lw.C0 = leftfight | |
673 | neck.C1 = neor | |
674 | weaponweld.C0 = CFrame.new(0,0,0) | |
675 | attacking = false | |
676 | criticalchance = normchance | |
677 | end | |
678 | function rise() | |
679 | attacking = true | |
680 | local pos = torso.CFrame | |
681 | local pos2 = pos * CFrame.new(0,5,-15) | |
682 | local pos3 = pos2 * CFrame.new(0,-3,-12) | |
683 | hum.WalkSpeed = 0 | |
684 | for i=1,7 do | |
685 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0.1,0.03) * CFrame.new(0,0,0) | |
686 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) * CFrame.new(0,0,0) | |
687 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0) | |
688 | bal(torso,"Tr. Blue",25) | |
689 | wait() | |
690 | end | |
691 | spi:play() | |
692 | wait(0.3) | |
693 | spi:play() | |
694 | dela = 0.1 | |
695 | avgdmg = 6 | |
696 | criticalchance = 12 | |
697 | local bv = Instance.new("BodyPosition",torso) | |
698 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
699 | bv.position = pos2.p | |
700 | local bg = Instance.new("BodyGyro",torso) | |
701 | bg.cframe = CFrame.new(pos.p,pos3.p) | |
702 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
703 | bg.P = 30000 | |
704 | attack = true | |
705 | for i=1, 30 do | |
706 | wait() | |
707 | spikes2(torso,"Medium blue") | |
708 | end | |
709 | bv:remove() | |
710 | bg:remove() | |
711 | hum.WalkSpeed = normal | |
712 | attack = false | |
713 | avgdmg = normdmg | |
714 | for i=1,5 do | |
715 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.1,-0.12,-0.04) * CFrame.new(0,0,0) | |
716 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.25,0,0) * CFrame.new(0,0,0) | |
717 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0) | |
718 | wait() | |
719 | end | |
720 | dela = 0.4 | |
721 | rw.C0 = rightfight | |
722 | lw.C0 = leftfight | |
723 | neck.C1 = neor | |
724 | weaponweld.C0 = CFrame.new(0,0,0) | |
725 | attacking = false | |
726 | criticalchance = normchance | |
727 | end | |
728 | function sprint() | |
729 | attacking = true | |
730 | hum.WalkSpeed = 0 | |
731 | local pos = torso.CFrame | |
732 | local pos2 = pos * CFrame.new(0,12,-15) | |
733 | local pos3 = pos2 * CFrame.new(0,-12,-12) | |
734 | for i=1,6 do | |
735 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) | |
736 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) | |
737 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,0) * CFrame.new(0,0,0) | |
738 | wait() | |
739 | end | |
740 | avgdmg = 14 | |
741 | local bv = Instance.new("BodyPosition",torso) | |
742 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
743 | bv.position = pos2.p | |
744 | local bg = Instance.new("BodyGyro",torso) | |
745 | bg.cframe = CFrame.new(pos.p,pos3.p) | |
746 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
747 | bg.P = 30000 | |
748 | for i=1, 7 do | |
749 | wait() | |
750 | spikes2(torso,"Medium blue") | |
751 | end | |
752 | wait(0.1) | |
753 | coroutine.resume(coroutine.create(function() | |
754 | for i=1, 17 do | |
755 | wait() | |
756 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.15,0,-0.04) | |
757 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.16,0,0.05) | |
758 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.02,0,0) * CFrame.new(0,0,0) | |
759 | end | |
760 | end)) | |
761 | coroutine.resume(coroutine.create(function() | |
762 | for i=0.4, 5.3,0.07 do | |
763 | wait(0.04) | |
764 | block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
765 | end | |
766 | end)) | |
767 | charge:play() | |
768 | coroutine.resume(coroutine.create(function() | |
769 | wait(2.5) | |
770 | for i=1, 11 do | |
771 | wait() | |
772 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.05,0,0) | |
773 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0,0) | |
774 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0,-(math.pi/11),0) | |
775 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.03,0,0) * CFrame.new(0,0,0) | |
776 | end | |
777 | end)) | |
778 | criticalchance = 1 | |
779 | plat = 1 | |
780 | dela = 0 | |
781 | wait(3.8) | |
782 | boom:play() | |
783 | attack = true | |
784 | coroutine.resume(coroutine.create(function() | |
785 | for i=1, 5 do | |
786 | wait() | |
787 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0) | |
788 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0) | |
789 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0) | |
790 | end | |
791 | end)) | |
792 | bv.position = pos3.p | |
793 | for i=1, 7 do | |
794 | wait() | |
795 | spikes2(torso,"Medium blue") | |
796 | end | |
797 | coroutine.resume(coroutine.create(function() | |
798 | for i=1, 12 do | |
799 | wait() | |
800 | bal(blade5,"Medium blue",splashdist*2) | |
801 | end | |
802 | end)) | |
803 | local parts = getcharparts(workspace) | |
804 | for _,v in pairs(parts) do | |
805 | if (v.Position - blade5.Position).magnitude < 14 then | |
806 | kill(v,true) | |
807 | end | |
808 | end | |
809 | wait(0.3) | |
810 | attack = false | |
811 | bv:remove() | |
812 | bg:remove() | |
813 | hum.WalkSpeed = normal | |
814 | avgdmg = normdmg | |
815 | rw.C0 = rightfight | |
816 | lw.C0 = leftfight | |
817 | neck.C1 = neor | |
818 | weaponweld.C0 = CFrame.new(0,0,0) | |
819 | attacking = false | |
820 | criticalchance = normchance | |
821 | plat = 2 | |
822 | end | |
823 | function sprint2() | |
824 | attacking = true | |
825 | hum.WalkSpeed = 0 | |
826 | local pos = torso.CFrame | |
827 | local pos2 = pos * CFrame.new(0,15,-15) | |
828 | local pos3 = pos2 * CFrame.new(0,-13,-12) | |
829 | for i=1,6 do | |
830 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) | |
831 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) | |
832 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,0) * CFrame.new(0,0,0) | |
833 | wait() | |
834 | end | |
835 | avgdmg = 14 | |
836 | local bv = Instance.new("BodyPosition",torso) | |
837 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
838 | bv.position = pos2.p | |
839 | local bg = Instance.new("BodyGyro",torso) | |
840 | bg.cframe = CFrame.new(pos.p,pos3.p) | |
841 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
842 | bg.P = 30000 | |
843 | for i=1, 4 do | |
844 | wait() | |
845 | spikes2(torso,"Medium blue") | |
846 | spikes2(torso,"Light blue") | |
847 | spikes2(torso,"Bright blue") | |
848 | end | |
849 | wait(0.1) | |
850 | coroutine.resume(coroutine.create(function() | |
851 | for i=1, 34 do | |
852 | wait() | |
853 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.15,0,-0.04) | |
854 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.16,0,0.05) | |
855 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.02,0,0) * CFrame.new(0,0,0) | |
856 | end | |
857 | end)) | |
858 | coroutine.resume(coroutine.create(function() | |
859 | for i=0.4, 5.3,0.07 do | |
860 | wait(0.04) | |
861 | block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
862 | end | |
863 | end)) | |
864 | charge:play() | |
865 | coroutine.resume(coroutine.create(function() | |
866 | wait(2.5) | |
867 | for i=1, 11 do | |
868 | wait() | |
869 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.05,0,0) | |
870 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0,0) | |
871 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0,-(math.pi/11),0) | |
872 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.03,0,0) * CFrame.new(0,0,0) | |
873 | end | |
874 | end)) | |
875 | criticalchance = 1 | |
876 | plat = 1 | |
877 | dela = 0 | |
878 | wait(3.8) | |
879 | boom:play() | |
880 | attack = true | |
881 | coroutine.resume(coroutine.create(function() | |
882 | for i=1, 5 do | |
883 | wait() | |
884 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0) | |
885 | lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0) | |
886 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0) | |
887 | end | |
888 | end)) | |
889 | bv.position = pos3.p | |
890 | for i=1, 7 do | |
891 | wait() | |
892 | spikes2(torso,"Medium blue") | |
893 | end | |
894 | coroutine.resume(coroutine.create(function() | |
895 | for i=1, 12 do | |
896 | wait() | |
897 | bal(blade5,"Medium blue",splashdist*2) | |
898 | end | |
899 | end)) | |
900 | local parts = getcharparts(workspace) | |
901 | for _,v in pairs(parts) do | |
902 | if (v.Position - blade5.Position).magnitude < 14 then | |
903 | kill(v,true) | |
904 | end | |
905 | end | |
906 | wait(0.3) | |
907 | attack = false | |
908 | bv:remove() | |
909 | bg:remove() | |
910 | hum.WalkSpeed = normal | |
911 | avgdmg = normdmg | |
912 | rw.C0 = rightfight | |
913 | lw.C0 = leftfight | |
914 | neck.C1 = neor | |
915 | weaponweld.C0 = CFrame.new(0,0,0) | |
916 | attacking = false | |
917 | criticalchance = normchance | |
918 | plat = 2 | |
919 | end | |
920 | function combo() | |
921 | att() | |
922 | attas() | |
923 | sprint() | |
924 | spin() | |
925 | end | |
926 | function run() | |
927 | spin() | |
928 | spin() | |
929 | spin() | |
930 | end | |
931 | function rush() | |
932 | attacking = true | |
933 | for i=1,8 do | |
934 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.03,0.1,0) * CFrame.new(0,0,0) | |
935 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-(math.pi/2)/12,0.03,0.07) * CFrame.new(0,0,0) | |
936 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) | |
937 | wait(0.1) | |
938 | end | |
939 | slash:play() | |
940 | wait(0.13) | |
941 | attack = true | |
942 | local bv = Instance.new("BodyVelocity",torso) | |
943 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
944 | bv.velocity = torso.CFrame.lookVector * 220 | |
945 | local bav = Instance.new("BodyAngularVelocity",torso) | |
946 | bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
947 | bav.angularvelocity = Vector3.new(0,36,0) | |
948 | bav.P = 15000 | |
949 | for i=1,6 do | |
950 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.44,0.08,0) * CFrame.new(0,0,0) | |
951 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0) | |
952 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0) | |
953 | block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
954 | wait() | |
955 | end | |
956 | attack = false | |
957 | wait(0.08) | |
958 | for i=1,3 do | |
959 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08) | |
960 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0) | |
961 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05) | |
962 | block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
963 | wait() | |
964 | end | |
965 | rw.C0 = rightfight | |
966 | lw.C0 = leftfight | |
967 | bv:remove() | |
968 | bav:remove() | |
969 | neck.C1 = neor | |
970 | weaponweld.C0 = CFrame.new(0,0,0) | |
971 | attacking = false | |
972 | end | |
973 | function masta() | |
974 | attacking = true | |
975 | for i=1,8 do | |
976 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.03,0.1,0) * CFrame.new(0,0,0) | |
977 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-(math.pi/2)/12,0.03,0.07) * CFrame.new(0,0,0) | |
978 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) | |
979 | bal(torso,"Tr. Blue",25) | |
980 | spikes2(torso,"Medium blue") | |
981 | block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
982 | wait(0.1) | |
983 | end | |
984 | slash:play() | |
985 | avgdmg = 37 | |
986 | criticalchance = 125 | |
987 | wait(0.13) | |
988 | attack = true | |
989 | local bv = Instance.new("BodyVelocity",torso) | |
990 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
991 | bv.velocity = torso.CFrame.lookVector * 220 | |
992 | local bav = Instance.new("BodyAngularVelocity",torso) | |
993 | bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
994 | bav.angularvelocity = Vector3.new(0,36,0) | |
995 | bav.P = 15000 | |
996 | for i=1,6 do | |
997 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.44,0.08,0) * CFrame.new(0,0,0) | |
998 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0) | |
999 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0) | |
1000 | bal(torso,"Tr. Blue",25) | |
1001 | spikes2(torso,"Medium blue") | |
1002 | block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1003 | wait() | |
1004 | end | |
1005 | attack = false | |
1006 | wait(0.08) | |
1007 | for i=1,3 do | |
1008 | rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08) | |
1009 | weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0) | |
1010 | neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05) | |
1011 | bal(torso,"Tr. Blue",25) | |
1012 | spikes2(torso,"Medium blue") | |
1013 | block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"}) | |
1014 | wait() | |
1015 | end | |
1016 | rw.C0 = rightfight | |
1017 | lw.C0 = leftfight | |
1018 | bv:remove() | |
1019 | bav:remove() | |
1020 | neck.C1 = neor | |
1021 | weaponweld.C0 = CFrame.new(0,0,0) | |
1022 | attacking = false | |
1023 | end | |
1024 | if script.Parent.className ~= "HopperBin" then | |
1025 | local h = Instance.new("HopperBin",me.Backpack) | |
1026 | h.Name = "SoulSword" | |
1027 | script.Parent = h | |
1028 | end | |
1029 | local bin = script.Parent | |
1030 | function sel(mouse) | |
1031 | neck.C1 = neor | |
1032 | if (selected == false) then | |
1033 | selectmotion() | |
1034 | end | |
1035 | mouse.Button1Down:connect(function() | |
1036 | if (attacking == false) then | |
1037 | att() | |
1038 | end | |
1039 | end) | |
1040 | mouse.KeyDown:connect(function(kuu) | |
1041 | local kai = kuu:lower() | |
1042 | if attacking == false then | |
1043 | if (kai == "q") then | |
1044 | spin() | |
1045 | elseif (kai == "e") then | |
1046 | att() | |
1047 | elseif (kai == "r") then | |
1048 | sprint() | |
1049 | elseif (kai == "l") then | |
1050 | stab() | |
1051 | elseif (kai == "t") then | |
1052 | attas() | |
1053 | elseif (kai == "z") then | |
1054 | masta() | |
1055 | elseif (kai == "y") then | |
1056 | spins() | |
1057 | elseif (kai == "g") then | |
1058 | combo() | |
1059 | elseif (kai == "p") then | |
1060 | rise() | |
1061 | elseif (kai == "j") then | |
1062 | sprint2() | |
1063 | elseif (kai == "h") then | |
1064 | run() | |
1065 | elseif (kai == "f") then | |
1066 | rush() | |
1067 | end | |
1068 | end | |
1069 | end) | |
1070 | while selected do | |
1071 | wait(0.8) | |
1072 | local k = math.random(1,5) | |
1073 | if k == 1 then | |
1074 | if hum.Health < 50 then | |
1075 | for i=1, math.random(4,24) do | |
1076 | wait(0.1) | |
1077 | local col = healcols[math.random(1,#healcols)] | |
1078 | local sa = math.random(30,90)/100 | |
1079 | local p = Instance.new("Part") | |
1080 | prop(p,me.Character,false,0.1,0.05,1,1,1,col,false,"Symmetric") | |
1081 | p.CFrame = CFrame.new(torso.Position) * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100) * CFrame.new(0,0,math.random(4,12)) | |
1082 | local mes = Instance.new("SpecialMesh") | |
1083 | mesh(mes,p,sa,sa,sa,"Sphere") | |
1084 | local bg = Instance.new("BodyPosition",p) | |
1085 | bg.maxForce = Vector3.new(1000000,1000000,1000000) | |
1086 | bg.P = 100000 | |
1087 | bg.position = torso.Position | |
1088 | coroutine.resume(coroutine.create(function() | |
1089 | repeat | |
1090 | bg.position = torso.Position | |
1091 | wait() | |
1092 | until (p.Position - torso.Position).magnitude < 1.8 | |
1093 | hum.Health = hum.Health + 1.2 | |
1094 | p:remove() | |
1095 | end)) | |
1096 | end | |
1097 | end | |
1098 | end | |
1099 | end | |
1100 | end | |
1101 | function desel() | |
1102 | neck.C1 = neor | |
1103 | if selected then | |
1104 | deselmotion() | |
1105 | end | |
1106 | end | |
1107 | bin.Selected:connect(sel) | |
1108 | bin.Deselected:connect(desel) | |
1109 | --LEGO |