SHOW:
|
|
- or go back to the newest paste.
1 | -- Player Stuff | |
2 | - | Pleyur = game.Players:WaitForChild("CKbackup") |
2 | + | Pleyur = game.Players:WaitForChild("NeighborlyWolfyboy01") |
3 | Chara = Pleyur.Character | |
4 | ||
5 | local moosik = 4 -- 1 for Hopes and Dreams, 2 for Necrofantasia, 3 for Nuclear Fusion, | |
6 | ||
7 | BlastQuotes = {"Readying Hikari Blast...","Prepare for your end!","I will purify your soul!"} | |
8 | BusterQuotes = {"Preparing Hikari Buster!","Feel the wrath of Light!","This is the true power!"} | |
9 | FinalBlastQuotes = {"NOW PERISH!","DIE!","YOU WON'T SURVIVE THIS ONE!","HIKARI BLAST!"} | |
10 | EquipBladeQuotes = {"Hikari Blade!","I'll cut you to pieces!","You made a mistake being too close!"} | |
11 | SlashFireQuotes = {"DON'T GET AWAY!","SWIFT SLICE!","YOU WON'T RUN!"} | |
12 | ||
13 | function chat(string) | |
14 | chansu = math.random(1,2) | |
15 | if chansu == 1 then | |
16 | ch = game:GetService("Chat"):Chat(Chara.Head, string, "Red") | |
17 | end | |
18 | end | |
19 | ||
20 | Chara.Humanoid.MaxHealth = math.huge | |
21 | Chara.Humanoid.Health = math.huge | |
22 | Chara.Humanoid.WalkSpeed = 40 | |
23 | ||
24 | local lol = nil | |
25 | ||
26 | if Pleyur ~= nil then | |
27 | lol = Instance.new("Tool", Pleyur.Backpack) | |
28 | lol.Name = "Hikari Blast" | |
29 | lol.CanBeDropped = false | |
30 | lol2 = Instance.new("Tool", Pleyur.Backpack) | |
31 | lol2.Name = "Purity Blast" | |
32 | lol2.CanBeDropped = false | |
33 | lol3 = Instance.new("Tool", Pleyur.Backpack) | |
34 | lol3.Name = "Hikari Blade" | |
35 | lol3.CanBeDropped = false | |
36 | lol3.GripForward = Vector3.new(-1, 0, 0) | |
37 | lol3.GripPos = Vector3.new(0, 0, -2.52) | |
38 | lol3.GripRight = Vector3.new(0, 1, 0) | |
39 | lol3.GripUp = Vector3.new(0, 0, 1) | |
40 | handur2 = Instance.new("Part", lol) | |
41 | handur2.Name = "Handle" | |
42 | handur2.Size = Vector3.new(.2, .2, .2) | |
43 | handur2.Transparency = 1 | |
44 | handur3 = Instance.new("Part", lol2) | |
45 | handur3.Name = "Handle" | |
46 | handur3.Size = Vector3.new(.2, .2, .2) | |
47 | handur3.Transparency = 1 | |
48 | handur = Instance.new("Part", lol3) | |
49 | handur.Name = "Handle" | |
50 | handur.Size = Vector3.new(1, 0.8, 10) | |
51 | handur.Reflectance = 10 | |
52 | handur.BrickColor = BrickColor.new("Institutional white") | |
53 | meshhh = Instance.new("SpecialMesh", handur) | |
54 | meshhh.MeshType = "FileMesh" | |
55 | meshhh.MeshId = "http://www.roblox.com/asset/?id=22771612" | |
56 | meshhh.Scale = Vector3.new(0.5,0.5,0.8) | |
57 | end | |
58 | ||
59 | local transPoints = { | |
60 | NumberSequenceKeypoint.new(0,.819,.0375), | |
61 | NumberSequenceKeypoint.new(.207,.594,.0187), | |
62 | NumberSequenceKeypoint.new(.4,.55,.031), | |
63 | NumberSequenceKeypoint.new(.57,.619,.05), | |
64 | NumberSequenceKeypoint.new(.76,.8,.0375), | |
65 | NumberSequenceKeypoint.new(1,1,0), | |
66 | } | |
67 | ||
68 | local LAEffectu = Instance.new("ParticleEmitter", Chara["Left Arm"]) | |
69 | LAEffectu.Texture = "rbxasset://textures/particles/smoke_main.dds" | |
70 | LAEffectu.LightEmission = 1 | |
71 | LAEffectu.Enabled = false | |
72 | LAEffectu.Rate = 100000 | |
73 | LAEffectu.EmissionDirection = "Bottom" | |
74 | LAEffectu.Size = NumberSequence.new(1,1) | |
75 | LAEffectu.Lifetime = NumberRange.new(.3,.3) | |
76 | LAEffectu.RotSpeed = NumberRange.new(1000,1000) | |
77 | LAEffectu.Speed = NumberRange.new(10,10) | |
78 | LAEffectu.Transparency = NumberSequence.new(transPoints) | |
79 | LAEffectu.VelocitySpread = 20 | |
80 | LAEffectu.LockedToPart = true | |
81 | ||
82 | local Slash1 = Instance.new("Animation",script) | |
83 | Slash1.AnimationId = "http://www.roblox.com/Asset?ID=218504594" | |
84 | local Slash2 = Instance.new("Animation",script) | |
85 | Slash2.AnimationId = "http://www.roblox.com/asset/?id=184573779" | |
86 | local Slash3 = Instance.new("Animation",script) | |
87 | Slash3.AnimationId = "http://www.roblox.com/asset/?id=186934910" | |
88 | local Slash4 = Instance.new("Animation",script) | |
89 | Slash4.AnimationId = "http://www.roblox.com/asset/?id=218508052" | |
90 | local Beam = Instance.new("Animation",script) | |
91 | Beam.AnimationId = "http://www.roblox.com/Asset?ID=86504773" | |
92 | ||
93 | WhackAnim = Chara.Humanoid:LoadAnimation(Slash1) | |
94 | WhackAnim2 = Chara.Humanoid:LoadAnimation(Slash2) | |
95 | WhackAnim3 = Chara.Humanoid:LoadAnimation(Slash3) | |
96 | WhackAnim4 = Chara.Humanoid:LoadAnimation(Slash4) | |
97 | Beam = Chara.Humanoid:LoadAnimation(Beam) | |
98 | ||
99 | local SwordEffect = Instance.new("ParticleEmitter", handur) | |
100 | SwordEffect.Texture = "rbxasset://textures/particles/smoke_main.dds" | |
101 | SwordEffect.LightEmission = 1 | |
102 | SwordEffect.Enabled = false | |
103 | SwordEffect.Rate = 1000000 | |
104 | SwordEffect.Size = NumberSequence.new(2,2) | |
105 | SwordEffect.Lifetime = NumberRange.new(.3,.3) | |
106 | SwordEffect.Transparency = NumberSequence.new(transPoints) | |
107 | SwordEffect.Speed = NumberRange.new(0,0) | |
108 | SwordEffect.RotSpeed = NumberRange.new(1000,1000) | |
109 | ||
110 | local chargesnd = Instance.new("Sound") | |
111 | chargesnd.Name = "Charge" | |
112 | chargesnd.Parent = script | |
113 | chargesnd.SoundId = "http://www.roblox.com/asset/?id=2101137" | |
114 | chargesnd.Volume = 1 | |
115 | chargesnd.Pitch = .5 | |
116 | ||
117 | local shotsnd = Instance.new("Sound") | |
118 | shotsnd.Name = "Shoot" | |
119 | shotsnd.Parent = script | |
120 | shotsnd.SoundId = "http://www.roblox.com/asset/?id=13775494" | |
121 | shotsnd.Volume = 1 | |
122 | shotsnd.Pitch = .7 | |
123 | ||
124 | local shotsnd2 = Instance.new("Sound") | |
125 | shotsnd2.Name = "Shoot2" | |
126 | shotsnd2.Parent = script | |
127 | shotsnd2.SoundId = "http://www.roblox.com/asset/?id=48618802" | |
128 | shotsnd2.Volume = 1 | |
129 | shotsnd2.Pitch = 1 | |
130 | ||
131 | local lungesnd = Instance.new("Sound") | |
132 | lungesnd.Name = "Lunge" | |
133 | lungesnd.Parent = script | |
134 | lungesnd.SoundId = "rbxasset://sounds/swordlunge.wav" | |
135 | lungesnd.Volume = 1 | |
136 | lungesnd.Pitch = 1 | |
137 | ||
138 | local slshsnd = Instance.new("Sound") | |
139 | slshsnd.Name = "Slash" | |
140 | slshsnd.Parent = lol3 | |
141 | slshsnd.SoundId = "http://www.roblox.com/Asset?ID=154965962" | |
142 | slshsnd.Volume = 1 | |
143 | slshsnd.Pitch = 1 | |
144 | ||
145 | local slshsnd2 = Instance.new("Sound") | |
146 | slshsnd2.Name = "Slash2" | |
147 | slshsnd2.Parent = lol3 | |
148 | slshsnd2.SoundId = "http://www.roblox.com/Asset?ID=231917758" | |
149 | slshsnd2.Volume = 1 | |
150 | slshsnd2.Pitch = 1 | |
151 | ||
152 | local hitsnd = Instance.new("Sound") | |
153 | hitsnd.Name = "Hit" | |
154 | hitsnd.Parent = lol3 | |
155 | hitsnd.SoundId = "http://www.roblox.com/asset/?id=154965973" | |
156 | hitsnd.Volume = 1 | |
157 | hitsnd.Pitch = 1 | |
158 | ||
159 | --Godly Effects, bro!------------------------------------------------------------------------------------------------------------------------- | |
160 | ||
161 | Void = nil | |
162 | VoidParts = {} | |
163 | ||
164 | function RayCast(Position, Direction, MaxDistance, IgnoreList) | |
165 | return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position, Direction.unit * (MaxDistance or 999.999)), IgnoreList) | |
166 | end | |
167 | ||
168 | local loopsound = Instance.new("Sound") | |
169 | loopsound.Name = "LoopSound" | |
170 | loopsound.Looped = true | |
171 | loopsound.Parent = script | |
172 | loopsound.Volume = 1 | |
173 | if moosik == 1 then --Hopes and Dreams | |
174 | loopsound.SoundId = "http://www.roblox.com/asset/?id=328606227" | |
175 | loopsound.Pitch = 1 | |
176 | elseif moosik == 2 then --Necrofantasia | |
177 | loopsound.SoundId = "http://www.roblox.com/asset/?id=170884430" | |
178 | loopsound.Pitch = .25 | |
179 | elseif moosik == 3 then --Nuclear Fusion | |
180 | loopsound.SoundId = "http://www.roblox.com/asset/?id=170885892" | |
181 | loopsound.Pitch = .25 | |
182 | elseif moosik == 4 then --Victory | |
183 | loopsound.SoundId = "http://www.roblox.com/asset/?id=565863302" | |
184 | loopsound.Pitch = 1 | |
185 | end | |
186 | ||
187 | script.LoopSound:Play() | |
188 | ||
189 | local startsound = Instance.new("Sound") | |
190 | startsound.Name = "StartUp" | |
191 | startsound.Parent = script | |
192 | startsound.SoundId = "rbxasset://Sounds/collide.wav" | |
193 | startsound.Volume = 0.5 | |
194 | startsound.Pitch = 1 | |
195 | ||
196 | local ex = Instance.new("Explosion", game.Workspace) | |
197 | ex.BlastPressure = 0 | |
198 | ex.Position = Chara:FindFirstChild("Torso").Position | |
199 | script.StartUp:Play() | |
200 | Humanoid = Chara:FindFirstChild("Humanoid") | |
201 | Torso = Chara:FindFirstChild("Torso") | |
202 | if not Pleyur or not Humanoid or Humanoid.Health == 0 or not Torso then | |
203 | return | |
204 | end | |
205 | Equipped = true | |
206 | Void = Instance.new("Model") | |
207 | Void.Name = "Void" | |
208 | Angle = 0 | |
209 | for i = 1, 1 do | |
210 | local VoidPart = Instance.new("Part") | |
211 | VoidPart.Name = "VoidPart" | |
212 | VoidPart.Transparency = 0.2 | |
213 | VoidPart.BrickColor = BrickColor.new("Institutional white") | |
214 | VoidPart.Material = Enum.Material.Plastic | |
215 | VoidPart.Shape = Enum.PartType.Block | |
216 | VoidPart.TopSurface = Enum.SurfaceType.Smooth | |
217 | VoidPart.BottomSurface = Enum.SurfaceType.Smooth | |
218 | VoidPart.Anchored = true | |
219 | VoidPart.CanCollide = false | |
220 | VoidPart.Locked = true | |
221 | VoidPart.Size = Vector3.new(10, 0.2, 10) | |
222 | local Meshu = Instance.new("SpecialMesh", VoidPart) | |
223 | Meshu.MeshType = "FileMesh" | |
224 | Meshu.MeshId = "http://www.roblox.com/asset/?id=20329976" | |
225 | Meshu.Offset = Vector3.new(0,0,-1) | |
226 | Meshu.Scale = Vector3.new(10,4,10) | |
227 | VoidPart.Parent = Void | |
228 | local Light = Instance.new("PointLight", VoidPart) | |
229 | Light.Brightness = 100 | |
230 | Light.Range = 10 | |
231 | local Effectu = Instance.new("ParticleEmitter", VoidPart) | |
232 | Effectu.LightEmission = 1 | |
233 | Effectu.Lifetime = NumberRange.new(5,5) | |
234 | Effectu.Transparency = NumberSequence.new(transPoints) | |
235 | Effectu.RotSpeed = NumberRange.new(100,100) | |
236 | Effectu.Speed = NumberRange.new(10,10) | |
237 | Effectu.LockedToPart = true | |
238 | table.insert(VoidParts, VoidPart) | |
239 | end | |
240 | Spawn(function() | |
241 | while Equipped and Humanoid.Parent and Humanoid.Health > 0 and Chara do | |
242 | if Angle == 360 then | |
243 | Angle = 0 | |
244 | end | |
245 | Angle = Angle + .25 | |
246 | local Hit, EndPosition = RayCast(Chara.Torso.Position, Vector3.new(0, -1, 0), (Chara.Torso.Size.Y * 6.5), {Chara}) | |
247 | if Hit then | |
248 | if not Void.Parent then | |
249 | Void.Parent = Chara | |
250 | end | |
251 | for i, v in pairs(VoidParts) do | |
252 | v.CFrame = CFrame.new(Chara.Torso.Position.X, EndPosition.Y, Chara.Torso.Position.Z) * CFrame.Angles(0, (Angle + i), 0) | |
253 | end | |
254 | else | |
255 | Void.Parent = nil | |
256 | end | |
257 | wait() | |
258 | end | |
259 | end) | |
260 | ||
261 | --Hikari Blast------------------------------------------------------------------------------------------------------------------------- | |
262 | local r = game:service("RunService") | |
263 | local debris = game:GetService("Debris") | |
264 | ||
265 | sword = handur2 | |
266 | Tool = lol | |
267 | ||
268 | local damage = 0 | |
269 | ||
270 | local proc = 40 | |
271 | ||
272 | local lungeAnim = nil | |
273 | ||
274 | function blowprojectile(hit) | |
275 | if (hit.Parent == nil) then return end -- happens when bullet hits sword | |
276 | ||
277 | local humanoid = nil | |
278 | local ceal = hit.Parent:GetChildren() | |
279 | for i = 1, #ceal do | |
280 | if ceal[i].ClassName == "Humanoid" then | |
281 | humanoid = ceal[i] | |
282 | end | |
283 | end | |
284 | local vCharacter = Tool.Parent | |
285 | local vPlayer = game.Players:playerFromCharacter(vCharacter) | |
286 | local hum = vCharacter:findFirstChild("Humanoid") -- non-nil if tool held by a character | |
287 | if humanoid~=nil and humanoid ~= hum and hum ~= nil then | |
288 | -- final check, make sure sword is in-hand | |
289 | hit:BreakJoints() | |
290 | ||
291 | local right_arm = vCharacter:FindFirstChild("Right Arm") | |
292 | if (right_arm ~= nil) then | |
293 | local joint = right_arm:FindFirstChild("RightGrip") | |
294 | if (joint ~= nil and (joint.Part0 == sword or joint.Part1 == sword)) then | |
295 | tagHumanoid(humanoid, vPlayer) | |
296 | humanoid:TakeDamage(proc) | |
297 | local bodyp = humanoid.Parent:GetChildren() | |
298 | if humanoid.Health <= 1 then | |
299 | for i = 1, #bodyp do | |
300 | if bodyp[i].ClassName == "Part" then | |
301 | if bodyp[i]:FindFirstChild("Effecto") == nil then | |
302 | bodyp[i].Material = "Neon" | |
303 | bodyp[i].BrickColor = BrickColor.new("Institutional white") | |
304 | local LAE = Instance.new("ParticleEmitter", bodyp[i]) | |
305 | LAE.Name = "Effecto" | |
306 | LAE.Texture = "rbxasset://textures/particles/smoke_main.dds" | |
307 | LAE.LightEmission = 1 | |
308 | LAE.Rate = 20 | |
309 | LAE.EmissionDirection = "Bottom" | |
310 | LAE.Lifetime = NumberRange.new(0.3,0.3) | |
311 | LAE.RotSpeed = NumberRange.new(1000,1000) | |
312 | LAE.Speed = NumberRange.new(0,0) | |
313 | end | |
314 | end | |
315 | if bodyp[i].Name == "Head" then | |
316 | bodyp[i].Mesh:destroy() | |
317 | bodyp[i].face:destroy() | |
318 | end | |
319 | if bodyp[i].ClassName == "Shirt" or bodyp[i].ClassName == "ShirtGraphic" or bodyp[i].ClassName == "Pants" or bodyp[i].ClassName == "CharacterMesh" then | |
320 | bodyp[i]:destroy() | |
321 | end | |
322 | end | |
323 | end | |
324 | local AE = Instance.new("ParticleEmitter", humanoid.Parent.Torso) | |
325 | AE.Name = "HitSwordEff" | |
326 | AE.Texture = "rbxasset://textures/particles/sparkles_main.dds" | |
327 | AE.LightEmission = 1 | |
328 | AE.Rate = 10000 | |
329 | AE.EmissionDirection = "Front" | |
330 | AE.Lifetime = NumberRange.new(.5,.5) | |
331 | AE.Transparency = NumberSequence.new(transPoints) | |
332 | AE.RotSpeed = NumberRange.new(1000,1000) | |
333 | AE.Speed = NumberRange.new(50,50) | |
334 | AE.VelocitySpread = 100 | |
335 | wait(1) | |
336 | AE:Destroy() | |
337 | untagHumanoid(humanoid) | |
338 | end | |
339 | end | |
340 | end | |
341 | end | |
342 | ||
343 | function fire(v, part) | |
344 | ||
345 | local vCharacter = Tool.Parent | |
346 | local vPlayer = game.Players:playerFromCharacter(vCharacter) | |
347 | ||
348 | local missile = Instance.new("Part") | |
349 | ||
350 | ||
351 | ||
352 | missile.CFrame = part.CFrame * CFrame.Angles(math.pi/2,0,0) | |
353 | missile.Size = Vector3.new(1,1,1) | |
354 | missile.Velocity = v.unit * 100 | |
355 | missile.BrickColor = BrickColor.new("Institutional white") | |
356 | missile.Material = "Neon" | |
357 | missile.BottomSurface = 0 | |
358 | missile.TopSurface = 0 | |
359 | missile.CanCollide = false | |
360 | missile.Elasticity = .05 | |
361 | missile.Friction = .7 | |
362 | missile.Name = "Bullet" | |
363 | ||
364 | missile.Touched:connect(blowprojectile) | |
365 | ||
366 | local mesh = Instance.new("SpecialMesh") | |
367 | mesh.MeshType = "Sphere" | |
368 | mesh.Parent = missile | |
369 | ||
370 | local force = Instance.new("BodyForce") | |
371 | force.force = Vector3.new(0,137,0) | |
372 | force.Parent = missile | |
373 | ||
374 | local shs = Instance.new("ParticleEmitter", missile) | |
375 | shs.Texture = "rbxasset://textures/particles/smoke_main.dds" | |
376 | shs.LightEmission = 1 | |
377 | shs.Rate = 100000 | |
378 | shs.EmissionDirection = "Bottom" | |
379 | shs.Size = NumberSequence.new(0.5,0.5) | |
380 | shs.Lifetime = NumberRange.new(1,1) | |
381 | shs.Transparency = NumberSequence.new(transPoints) | |
382 | shs.RotSpeed = NumberRange.new(1000,1000) | |
383 | shs.Speed = NumberRange.new(0,0) | |
384 | ||
385 | -- local force = Instance.new("BodyForce") | |
386 | -- force.Name = "BulletFloat" | |
387 | -- force.force = Vector3.new(0,98.1,0) | |
388 | -- force.Parent = missile | |
389 | ||
390 | debris:AddItem(missile,5) | |
391 | missile.Parent = game.Workspace | |
392 | ||
393 | shotsnd:play() | |
394 | end | |
395 | ||
396 | function giantfire(v, part) | |
397 | ||
398 | local vCharacter = Tool.Parent | |
399 | local vPlayer = game.Players:playerFromCharacter(vCharacter) | |
400 | ||
401 | local missile = Instance.new("Part") | |
402 | ||
403 | ||
404 | ||
405 | missile.CFrame = part.CFrame * CFrame.Angles(math.pi/2,0,0) | |
406 | missile.Size = Vector3.new(4,4,4) | |
407 | missile.Velocity = v.unit * 100 | |
408 | missile.BrickColor = BrickColor.new("Institutional white") | |
409 | missile.Material = "Neon" | |
410 | missile.BottomSurface = 0 | |
411 | missile.TopSurface = 0 | |
412 | missile.CanCollide = false | |
413 | missile.Elasticity = .05 | |
414 | missile.Friction = .7 | |
415 | missile.Name = "Bullet" | |
416 | ||
417 | missile.Touched:connect(blowprojectile) | |
418 | ||
419 | local mesh = Instance.new("SpecialMesh") | |
420 | mesh.MeshType = "Sphere" | |
421 | mesh.Parent = missile | |
422 | ||
423 | local force = Instance.new("BodyForce") | |
424 | force.force = Vector3.new(0,9000,0) | |
425 | force.Parent = missile | |
426 | ||
427 | local shs = Instance.new("ParticleEmitter", missile) | |
428 | shs.Texture = "rbxasset://textures/particles/smoke_main.dds" | |
429 | shs.LightEmission = 1 | |
430 | shs.Rate = 100000 | |
431 | shs.EmissionDirection = "Bottom" | |
432 | shs.Size = NumberSequence.new(0.5,0.5) | |
433 | shs.Lifetime = NumberRange.new(1,1) | |
434 | shs.Transparency = NumberSequence.new(transPoints) | |
435 | shs.RotSpeed = NumberRange.new(1000,1000) | |
436 | shs.Speed = NumberRange.new(0,0) | |
437 | ||
438 | -- local force = Instance.new("BodyForce") | |
439 | -- force.Name = "BulletFloat" | |
440 | -- force.force = Vector3.new(0,98.1,0) | |
441 | -- force.Parent = missile | |
442 | ||
443 | debris:AddItem(missile,5) | |
444 | missile.Parent = game.Workspace | |
445 | ||
446 | shotsnd2:play() | |
447 | end | |
448 | ||
449 | function tagHumanoid(humanoid, player) | |
450 | local creator_tag = Instance.new("ObjectValue") | |
451 | creator_tag.Value = player | |
452 | creator_tag.Name = "creator" | |
453 | creator_tag.Parent = humanoid | |
454 | end | |
455 | ||
456 | function untagHumanoid(humanoid) | |
457 | if humanoid ~= nil then | |
458 | local tag = humanoid:findFirstChild("creator") | |
459 | if tag ~= nil then | |
460 | tag.Parent = nil | |
461 | end | |
462 | end | |
463 | end | |
464 | ||
465 | function onActivated() | |
466 | if Tool.Enabled then | |
467 | ||
468 | Tool.Enabled = false | |
469 | ||
470 | -- local character = Chara; | |
471 | -- local humanoid = character.Humanoid | |
472 | -- if humanoid == nil then | |
473 | -- print("Humanoid not found") | |
474 | -- return | |
475 | -- end | |
476 | Beam:Play() | |
477 | LAEffectu.Enabled = true | |
478 | chargesnd:play() | |
479 | chat(BlastQuotes[math.random(1, #BlastQuotes)]) | |
480 | wait(2) | |
481 | for i = 1, 6 do | |
482 | wait(0.3) | |
483 | fire(Chara.HumanoidRootPart.CFrame.lookVector, Chara["Left Arm"]) | |
484 | end | |
485 | WhackAnim3:Play() | |
486 | chat(FinalBlastQuotes[math.random(1, #FinalBlastQuotes)]) | |
487 | wait(0.6) | |
488 | shotsnd.Pitch = 0.5 | |
489 | giantfire(Chara.HumanoidRootPart.CFrame.lookVector, Chara["Left Arm"]) | |
490 | wait(0.1) | |
491 | shotsnd.Pitch = 0.7 | |
492 | LAEffectu.Enabled = false | |
493 | WhackAnim3:Stop() | |
494 | end | |
495 | Tool.Enabled = true | |
496 | end | |
497 | ||
498 | ||
499 | function onEquipped() | |
500 | local vCharacter = Chara | |
501 | local humanoid = vCharacter:findFirstChild("Humanoid") | |
502 | if humanoid ~= nil then end | |
503 | end | |
504 | ||
505 | ||
506 | Tool.Activated:connect(onActivated) | |
507 | Tool.Equipped:connect(onEquipped) | |
508 | --Beam of Purity------------------------------------------------------------------------------------------------------------------------- | |
509 | ||
510 | ||
511 | --Sword!------------------------------------------------------------------------------------------------------------------------- | |
512 | ||
513 | -- Handle to the game service, in case we need to get the time | |
514 | r = game:service("RunService") | |
515 | ||
516 | -- normal damage, when the Mackerel touches a humanoid object | |
517 | local damage = 0 | |
518 | ||
519 | -- Whack damage | |
520 | local whack_damage = 10 | |
521 | ||
522 | -- Handle to tool | |
523 | Mackerel = lol3.Handle | |
524 | Tool3 = lol3 | |
525 | local animstates = 1 | |
526 | ||
527 | -- When a collision is detected between the player and another character | |
528 | function blow(hit) | |
529 | if hit == nil or hit.Parent == nil then return end | |
530 | local opponent = hit.Parent:findFirstChild("Torso") | |
531 | local humanoid = nil | |
532 | local ceal = hit.Parent:GetChildren() | |
533 | for i = 1, #ceal do | |
534 | if ceal[i].ClassName == "Humanoid" then | |
535 | humanoid = ceal[i] | |
536 | end | |
537 | end | |
538 | local vCharacter = Tool3.Parent | |
539 | local vPlayer = game.Players:playerFromCharacter(vCharacter) | |
540 | local myTorso = vCharacter:findFirstChild("Torso") | |
541 | local hum = vCharacter:findFirstChild("Humanoid") -- non-nil if tool held by a character | |
542 | if humanoid~=nil and humanoid ~= hum and hum ~= nil then | |
543 | -- final check, make sure Mackerel is in-hand | |
544 | hit:BreakJoints() | |
545 | local right_arm = vCharacter:FindFirstChild("Right Arm") | |
546 | if (right_arm ~= nil) then | |
547 | local joint = right_arm:FindFirstChild("RightGrip") | |
548 | if (joint ~= nil and (joint.Part0 == Mackerel or joint.Part1 == Mackerel)) then | |
549 | tagHumanoid(humanoid, vPlayer) | |
550 | humanoid:TakeDamage(damage) | |
551 | -- Add body velocity to the opponent to push him when he gets whacked | |
552 | -- local bodyVelocity = Instance.new("BodyVelocity") | |
553 | -- bodyVelocity.P = 100000 | |
554 | -- bodyVelocity.maxForce = Vector3.new(bodyVelocity.P, bodyVelocity.P, bodyVelocity.P) | |
555 | -- bodyVelocity.velocity = (opponent.Position - myTorso.Position) * 6 | |
556 | -- bodyVelocity.Parent = opponent | |
557 | -- wait(0.5) | |
558 | -- if bodyVelocity ~= nil then bodyVelocity:remove() end | |
559 | if humanoid.Health <= 1 then | |
560 | local bodyp = hit.Parent:GetChildren() | |
561 | for i = 1, #bodyp do | |
562 | if bodyp[i].ClassName == "Part" then | |
563 | if bodyp[i]:FindFirstChild("Effecto") == nil then | |
564 | bodyp[i].Material = "Neon" | |
565 | bodyp[i].BrickColor = BrickColor.new("Institutional white") | |
566 | local LAE = Instance.new("ParticleEmitter", bodyp[i]) | |
567 | LAE.Name = "Effecto" | |
568 | LAE.Texture = "rbxasset://textures/particles/smoke_main.dds" | |
569 | LAE.LightEmission = 1 | |
570 | LAE.Rate = 20 | |
571 | LAE.EmissionDirection = "Bottom" | |
572 | LAE.Lifetime = NumberRange.new(0.3,0.3) | |
573 | LAE.RotSpeed = NumberRange.new(1000,1000) | |
574 | LAE.Speed = NumberRange.new(0,0) | |
575 | end | |
576 | end | |
577 | if bodyp[i].Name == "Head" then | |
578 | bodyp[i].Mesh:destroy() | |
579 | bodyp[i].face:destroy() | |
580 | end | |
581 | if bodyp[i].ClassName == "Shirt" or bodyp[i].ClassName == "ShirtGraphic" or bodyp[i].ClassName == "Pants" or bodyp[i].ClassName == "CharacterMesh" then | |
582 | bodyp[i]:destroy() | |
583 | end | |
584 | end | |
585 | end | |
586 | Tool3:FindFirstChild("Hit"):play() | |
587 | local AE = Instance.new("ParticleEmitter", humanoid.Parent.Torso) | |
588 | AE.Name = "HitSwordEff" | |
589 | AE.Texture = "rbxasset://textures/particles/sparkles_main.dds" | |
590 | AE.LightEmission = 1 | |
591 | AE.Rate = 10000 | |
592 | AE.EmissionDirection = "Front" | |
593 | AE.Lifetime = NumberRange.new(.3,.3) | |
594 | AE.Transparency = NumberSequence.new(transPoints) | |
595 | AE.RotSpeed = NumberRange.new(1000,1000) | |
596 | AE.Speed = NumberRange.new(50,50) | |
597 | AE.VelocitySpread = 100 | |
598 | wait(0.5) | |
599 | AE:Destroy() | |
600 | untagHumanoid(humanoid) | |
601 | end | |
602 | end | |
603 | ||
604 | end | |
605 | end | |
606 | ||
607 | function blowprojectileslash(hit) | |
608 | if (hit.Parent == nil) then return end -- happens when bullet hits sword | |
609 | local humanoid = nil | |
610 | local ceal = hit.Parent:GetChildren() | |
611 | for i = 1, #ceal do | |
612 | if ceal[i].ClassName == "Humanoid" then | |
613 | humanoid = ceal[i] | |
614 | end | |
615 | end | |
616 | local vCharacter = Tool3.Parent | |
617 | local vPlayer = game.Players:playerFromCharacter(vCharacter) | |
618 | local hum = vCharacter:findFirstChild("Humanoid") -- non-nil if tool held by a character | |
619 | if humanoid~=nil and humanoid ~= hum and hum ~= nil then | |
620 | -- final check, make sure sword is in-hand | |
621 | hit:BreakJoints() | |
622 | ||
623 | -- local right_arm = vCharacter:FindFirstChild("Right Arm") | |
624 | -- if (right_arm ~= nil) then | |
625 | -- local joint = right_arm:FindFirstChild("RightGrip") | |
626 | -- if (joint ~= nil and (joint.Part0 == sword or joint.Part1 == sword)) then | |
627 | tagHumanoid(humanoid, vPlayer) | |
628 | humanoid:TakeDamage(100) | |
629 | if humanoid.Health <= 1 then | |
630 | local bodyp = hit.Parent:GetChildren() | |
631 | for i = 1, #bodyp do | |
632 | if bodyp[i].ClassName == "Part" then | |
633 | if bodyp[i]:FindFirstChild("Effecto") == nil then | |
634 | bodyp[i].Material = "Neon" | |
635 | bodyp[i].BrickColor = BrickColor.new("Institutional white") | |
636 | local LAE = Instance.new("ParticleEmitter", bodyp[i]) | |
637 | LAE.Name = "Effecto" | |
638 | LAE.Texture = "rbxasset://textures/particles/smoke_main.dds" | |
639 | LAE.LightEmission = 1 | |
640 | LAE.Rate = 20 | |
641 | LAE.EmissionDirection = "Bottom" | |
642 | LAE.Lifetime = NumberRange.new(.5,.5) | |
643 | LAE.Transparency = NumberSequence.new(transPoints) | |
644 | LAE.RotSpeed = NumberRange.new(1000,1000) | |
645 | LAE.Speed = NumberRange.new(0,0) | |
646 | end | |
647 | end | |
648 | if bodyp[i].Name == "Head" then | |
649 | bodyp[i].Mesh:destroy() | |
650 | bodyp[i].face:destroy() | |
651 | end | |
652 | if bodyp[i].ClassName == "Shirt" or bodyp[i].ClassName == "ShirtGraphic" or bodyp[i].ClassName == "Pants" or bodyp[i].ClassName == "CharacterMesh" then | |
653 | bodyp[i]:destroy() | |
654 | end | |
655 | end | |
656 | end | |
657 | Tool3:FindFirstChild("Hit"):play() | |
658 | local AE = Instance.new("ParticleEmitter", humanoid.Parent.Torso) | |
659 | AE.Name = "HitSwordEff" | |
660 | AE.Texture = "rbxasset://textures/particles/sparkles_main.dds" | |
661 | AE.LightEmission = 1 | |
662 | AE.Rate = 10000 | |
663 | AE.EmissionDirection = "Front" | |
664 | AE.Lifetime = NumberRange.new(0.3,0.3) | |
665 | AE.Transparency = NumberSequence.new(transPoints) | |
666 | AE.RotSpeed = NumberRange.new(1000,1000) | |
667 | AE.Speed = NumberRange.new(50,50) | |
668 | AE.VelocitySpread = 100 | |
669 | wait(1) | |
670 | AE:Destroy() | |
671 | untagHumanoid(humanoid) | |
672 | -- end | |
673 | -- end | |
674 | end | |
675 | end | |
676 | ||
677 | function fireslash(v, part) | |
678 | ||
679 | local vCharacter = Tool3.Parent | |
680 | local vPlayer = game.Players:playerFromCharacter(vCharacter) | |
681 | ||
682 | local missile = Instance.new("Part") | |
683 | ||
684 | ||
685 | ||
686 | missile.CFrame = part.CFrame * CFrame.Angles(math.pi/2,0,0) | |
687 | missile.Size = Vector3.new(1,1,1) | |
688 | missile.Velocity = v.unit * 400 | |
689 | missile.BrickColor = BrickColor.new("Institutional white") | |
690 | missile.Material = "Neon" | |
691 | missile.BottomSurface = 0 | |
692 | missile.TopSurface = 0 | |
693 | missile.CanCollide = false | |
694 | missile.Elasticity = .05 | |
695 | missile.Friction = .7 | |
696 | missile.Name = "Bullet" | |
697 | ||
698 | missile.Touched:connect(blowprojectileslash) | |
699 | ||
700 | local mesh = Instance.new("SpecialMesh") | |
701 | mesh.MeshType = "Sphere" | |
702 | mesh.Scale = Vector3.new(0.1,7,7) | |
703 | mesh.Parent = missile | |
704 | ||
705 | local force = Instance.new("BodyForce") | |
706 | force.force = Vector3.new(0,137,0) | |
707 | force.Parent = missile | |
708 | ||
709 | -- local mehss = Instance.new("SpecialMesh", missile) | |
710 | -- mehss.MeshType = "FileMesh" | |
711 | -- mehss.MeshId = "rbxassetid://65514292" | |
712 | -- mehss.Scale = Vector3.new(10,10,1) | |
713 | ||
714 | local shs = Instance.new("ParticleEmitter", missile) | |
715 | shs.Texture = "rbxasset://textures/particles/sparkles_main.dds" | |
716 | shs.LightEmission = 1 | |
717 | shs.Rate = 20 | |
718 | shs.EmissionDirection = "Bottom" | |
719 | shs.Size = NumberSequence.new(0.5,0.5) | |
720 | shs.Lifetime = NumberRange.new(1,1) | |
721 | shs.Transparency = NumberSequence.new(transPoints) | |
722 | shs.RotSpeed = NumberRange.new(1000,1000) | |
723 | shs.Speed = NumberRange.new(0,0) | |
724 | ||
725 | -- local force = Instance.new("BodyForce") | |
726 | -- force.Name = "BulletFloat" | |
727 | -- force.force = Vector3.new(0,98.1,0) | |
728 | -- force.Parent = missile | |
729 | ||
730 | debris:AddItem(missile,5) | |
731 | missile.Parent = game.Workspace | |
732 | ||
733 | slshsnd2:play() | |
734 | slshsnd:play() | |
735 | lungesnd:play() | |
736 | end | |
737 | ||
738 | -- Tagging and Untagging primarily for the leaderboards | |
739 | function tagHumanoid(humanoid, player) | |
740 | local creator_tag = Instance.new("ObjectValue") | |
741 | creator_tag.Value = player | |
742 | creator_tag.Name = "creator" | |
743 | creator_tag.Parent = humanoid | |
744 | end | |
745 | ||
746 | function untagHumanoid(humanoid) | |
747 | if humanoid ~= nil then | |
748 | local tag = humanoid:findFirstChild("creator") | |
749 | if tag ~= nil then | |
750 | tag.Parent = nil | |
751 | end | |
752 | end | |
753 | end | |
754 | ||
755 | ||
756 | -- On, left click! | |
757 | function attack() | |
758 | damage = whack_damage | |
759 | -- Play the sound | |
760 | if Tool3:FindFirstChild("Slash") and Tool3:FindFirstChild("Slash2") then Tool3:FindFirstChild("Slash"):Play() Tool3:FindFirstChild("Slash2"):Play() end | |
761 | end | |
762 | ||
763 | -- Tentative lock | |
764 | Tool3.Enabled = true | |
765 | ||
766 | function onActivated() | |
767 | if not Tool3.Enabled then | |
768 | return | |
769 | end | |
770 | Tool3.Enabled = false | |
771 | -- Check if the handle to the Player is still available in the space | |
772 | local MyPlayer = Chara | |
773 | if MyPlayer == nil then | |
774 | return | |
775 | end | |
776 | -- Check to see if the humanoid is still in the world | |
777 | local MyHumanoid= MyPlayer:FindFirstChild("Humanoid") | |
778 | if MyHumanoid == nil then | |
779 | return | |
780 | end | |
781 | attack() | |
782 | -- Load and play the animation | |
783 | SwordEffect.Enabled = true | |
784 | if WhackAnim and WhackAnim2 and WhackAnim3 and WhackAnim4 then | |
785 | if animstates == 1 then | |
786 | WhackAnim:Play() | |
787 | animstates = 2 | |
788 | elseif animstates == 2 then | |
789 | WhackAnim2:Play() | |
790 | lol3.GripUp = Vector3.new(1,-1,1) | |
791 | animstates = 3 | |
792 | elseif animstates == 3 then | |
793 | WhackAnim3:Play() | |
794 | animstates = 4 | |
795 | elseif animstates == 4 then | |
796 | WhackAnim4:Play() | |
797 | wait(0.3) | |
798 | slshsnd2.Pitch = 1.2 | |
799 | slshsnd:play() | |
800 | slshsnd2:play() | |
801 | chat(SlashFireQuotes[math.random(1, #SlashFireQuotes)]) | |
802 | wait(0.3) | |
803 | fireslash(Chara.HumanoidRootPart.CFrame.lookVector, Chara.HumanoidRootPart) | |
804 | slshsnd2.Pitch = 1 | |
805 | animstates = 1 | |
806 | end | |
807 | end | |
808 | wait(0.5) | |
809 | lol3.GripRight = Vector3.new(0,1,0) | |
810 | lol3.GripUp = Vector3.new(0,0,1) | |
811 | SwordEffect.Enabled = false | |
812 | Tool3.Enabled = true | |
813 | -- Reset the damage | |
814 | damage = 0 | |
815 | end | |
816 | ||
817 | ||
818 | function onEquipped() | |
819 | -- Remove the sound if its still playing | |
820 | chat(EquipBladeQuotes[math.random(1, #EquipBladeQuotes)]) | |
821 | Tool3:FindFirstChild("Slash").Volume = 1 | |
822 | Tool3:FindFirstChild("Slash2").Volume = 1 | |
823 | if Tool3:FindFirstChild("Slash") and Tool3:FindFirstChild("Slash2") then Tool3:FindFirstChild("Slash"):Stop() Tool3:FindFirstChild("Slash2"):Stop() end | |
824 | Tool3.GripRight = Vector3.new(0, 1, 0) | |
825 | end | |
826 | ||
827 | function onUnequipped() | |
828 | -- Remove the sounds and the animations | |
829 | Tool3:FindFirstChild("Slash").Volume = 0 | |
830 | Tool3:FindFirstChild("Slash2").Volume = 0 | |
831 | if WhackAnim and WhackAnim2 and WhackAnim3 and WhackAnim4 then WhackAnim:Stop() WhackAnim2:Stop() WhackAnim3:Stop() WhackAnim4:Stop() end | |
832 | if Tool3:FindFirstChild("Slash") then Tool3:FindFirstChild("Slash"):Stop() end | |
833 | end | |
834 | ||
835 | Tool3.Activated:connect(onActivated) | |
836 | Tool3.Equipped:connect(onEquipped) | |
837 | Tool3.Unequipped:connect(onUnequipped) | |
838 | ||
839 | connection = Mackerel.Touched:connect(blow) | |
840 | ||
841 | --On Death-------------------------------------------------------------------------------------------------- | |
842 | function onDeath() | |
843 | script:Destroy() | |
844 | end | |
845 | ||
846 | Chara.Humanoid.Died:connect(onDeath) |