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