SHOW:
|
|
- or go back to the newest paste.
1 | - | --//Made by Spyro |
1 | + | --//Edit Made By SonicSydney |
2 | --//Proteus | |
3 | --[[ | |
4 | ||
5 | =======Moves======= | |
6 | ===[Normal mode]=== | |
7 | -Q = Void's Wrath | |
8 | -E = Void Crush | |
9 | -R = Void Crash | |
10 | -F = Power Punch | |
11 | =================== | |
12 | ===[Power mode]==== | |
13 | -Q = Pure Devastation | |
14 | -E = Raining Pain | |
15 | -R = Sonic Boom | |
16 | -T = Controlled Devastation | |
17 | =================== | |
18 | ====[Misc Keys]==== | |
19 | -L = Switch between modes | |
20 | -K = Teleport | |
21 | =================== | |
22 | --]] | |
23 | UserInputService = game:GetService("UserInputService") | |
24 | TweenService = game:GetService("TweenService") | |
25 | Plr = game:GetService("Players").LocalPlayer | |
26 | - | Colours= {BrickColor.new("Black"),BrickColor.new("Royal purple")} |
26 | + | Colours= {BrickColor.new("Black"),BrickColor.new("Really red")} |
27 | Mouse = Plr:GetMouse() | |
28 | Char = Plr.Character | |
29 | Motor6DClones = {} | |
30 | BodyPartClones = {} | |
31 | Torso = Char.Torso | |
32 | HRoot = Char.HumanoidRootPart | |
33 | LArm = Char["Left Arm"] | |
34 | RArm = Char["Right Arm"] | |
35 | LLeg = Char["Left Leg"] | |
36 | RLeg = Char["Right Leg"] | |
37 | Head = Char.Head | |
38 | Hrj = HRoot.RootJoint | |
39 | LShold = Torso["Left Shoulder"] | |
40 | RShold = Torso["Right Shoulder"] | |
41 | LHip = Torso["Left Hip"] | |
42 | RHip = Torso["Right Hip"] | |
43 | Neck = Torso.Neck | |
44 | Lscf = LShold.C0 | |
45 | Rscf = RShold.C0 | |
46 | Lhcf = LHip.C0 | |
47 | Rhcf = RHip.C0 | |
48 | Ncf = Neck.C0 | |
49 | Hrjcf = Hrj.C0 | |
50 | Human = Char:FindFirstChildOfClass("Humanoid") | |
51 | Rad = math.rad | |
52 | Sin = math.sin | |
53 | Random = math.random | |
54 | Floor = math.floor | |
55 | Keys = {} | |
56 | Attacking = false | |
57 | Typing = false | |
58 | Attacking = false | |
59 | SuperFly = false | |
60 | Flying = false | |
61 | Invisible = false | |
62 | Phase = false | |
63 | Anim = "Idle" | |
64 | Mode = "Normal" | |
65 | Walkspeed = 16 | |
66 | Char.Animate.Disabled = true | |
67 | Human.Animator:Destroy() | |
68 | Human:RemoveAccessories() | |
69 | Char.Sound:Destroy() | |
70 | Char.Animate:Destroy() | |
71 | pcall(function() | |
72 | Char["Body Colors"]:Destroy() | |
73 | end) | |
74 | wait(.05) | |
75 | for _,v in pairs(Char:GetChildren()) do | |
76 | if v:IsA('Clothing') or v:IsA('Accessory') or v:IsA('Hat') then | |
77 | v:Destroy() | |
78 | elseif v:IsA('BasePart') then | |
79 | v.BrickColor = BrickColor.new("Black") | |
80 | end | |
81 | end | |
82 | function Smooth(part) | |
83 | part.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
84 | part.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
85 | part.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
86 | part.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
87 | part.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
88 | part.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
89 | end | |
90 | function Create(Class,Parent,Name,Extra) | |
91 | local asd = Instance.new(Class,Parent) | |
92 | asd.Name = Name or Class | |
93 | if asd:IsA('BasePart') then | |
94 | Smooth(asd) | |
95 | end | |
96 | for i,v in pairs(Extra or {}) do | |
97 | asd[i] = v | |
98 | end | |
99 | return asd | |
100 | end | |
101 | function newWeld(parent, P0, P1, C0, C1) | |
102 | local weld = Instance.new("Motor6D", parent or P0) | |
103 | weld.Part0 = P0 | |
104 | weld.Part1 = P1 | |
105 | weld.C0 = C0 or weld.C0 | |
106 | weld.C1 = C1 or weld.C1 | |
107 | return weld | |
108 | end | |
109 | - | Shirt = Create("Shirt",Char,"Shirt",{ShirtTemplate = "rbxassetid://761748165"}) |
109 | + | Shirt = Create("Shirt",Char,"Shirt",{ShirtTemplate = "rbxassetid://344089667"}) |
110 | - | Pants = Create("Pants",Char,"Pants",{PantsTemplate = "rbxassetid://222431914"}) |
110 | + | Pants = Create("Pants",Char,"Pants",{PantsTemplate = "rbxassetid://344084364"}) |
111 | Head.face.Texture = "rbxassetid://120954647" | |
112 | Bg = Create("BillboardGui",Head,"BG",{Size = UDim2.new(7,0,2,0),StudsOffset = Vector3.new(0,2,0)}) | |
113 | - | Tl = Create("TextLabel",Bg,"TL",{Size = UDim2.new(1,0,1,0),BackgroundTransparency = 1,TextColor3 = Color3.fromRGB(85,0,127),TextScaled = true,TextStrokeTransparency = 0,Font = Enum.Font.Fantasy,Text = "Proteus"}) |
113 | + | Tl = Create("TextLabel",Bg,"TL",{Size = UDim2.new(1,0,1,0),BackgroundTransparency = 1,TextColor3 = Color3.fromRGB(85,0,127),TextScaled = true,TextStrokeTransparency = 0,Font = Enum.Font.Fantasy,Text = "-Chara-"}) |
114 | Fist1 = Create("Part",Char,"Fist",{CanCollide = false,Size = Vector3.new(LArm.Size.X,LArm.Size.Y/2,LArm.Size.Z),Transparency = 1}) | |
115 | FistAura1 = Create("ParticleEmitter",Fist1,"PE",{ | |
116 | Texture = "http://www.roblox.com/asset/?id=258126401", | |
117 | Color = ColorSequence.new(Color3.fromRGB(0,0,0),Color3.fromRGB(170,0,0)), | |
118 | LightEmission = 0.5, | |
119 | Size = NumberSequence.new(0.719,0), | |
120 | Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.025,0.6),NumberSequenceKeypoint.new(0.05,0.5),NumberSequenceKeypoint.new(0.5,0.5),NumberSequenceKeypoint.new(0.7,0.6),NumberSequenceKeypoint.new(1,1)}), | |
121 | Acceleration = Vector3.new(0,0,0), | |
122 | EmissionDirection = "Top", | |
123 | Speed = NumberRange.new(0,0), | |
124 | Lifetime = NumberRange.new(0.6,0.8), | |
125 | Rate = 500, | |
126 | Rotation = NumberRange.new(-180,180), | |
127 | RotSpeed = NumberRange.new(-50,50), | |
128 | ZOffset = 2, | |
129 | LockedToPart = false, | |
130 | Enabled = false | |
131 | }) | |
132 | Fist1W = newWeld(LArm,Fist1,LArm,CFrame.new(0,LArm.Size.Y/2,0)) | |
133 | Fist2 = Create("Part",Char,"Fist",{CanCollide = false,Size = Vector3.new(RArm.Size.X,RArm.Size.Y/2,RArm.Size.Z),Transparency = 1}) | |
134 | FistAura2 = Create("ParticleEmitter",Fist2,"PE",{ | |
135 | Texture = "http://www.roblox.com/asset/?id=258126401", | |
136 | Color = ColorSequence.new(Color3.fromRGB(0,0,0),Color3.fromRGB(170,0,0)), | |
137 | LightEmission = 0.5, | |
138 | Size = NumberSequence.new(0.719,0), | |
139 | Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.025,0.6),NumberSequenceKeypoint.new(0.05,0.5),NumberSequenceKeypoint.new(0.5,0.5),NumberSequenceKeypoint.new(0.7,0.6),NumberSequenceKeypoint.new(1,1)}), | |
140 | Acceleration = Vector3.new(0,0,0), | |
141 | EmissionDirection = "Top", | |
142 | Speed = NumberRange.new(0,0), | |
143 | Lifetime = NumberRange.new(0.6,0.8), | |
144 | Rate = 500, | |
145 | Rotation = NumberRange.new(-180,180), | |
146 | RotSpeed = NumberRange.new(-50,50), | |
147 | ZOffset = 2, | |
148 | LockedToPart = false, | |
149 | Enabled = false | |
150 | }) | |
151 | Fist2W = newWeld(RArm,Fist2,RArm,CFrame.new(0,RArm.Size.Y/2,0)) | |
152 | BodyPosition = Create("BodyPosition",nil,"BP",{MaxForce = Vector3.new(0,2e8,0)}) | |
153 | BodyVel = Create("BodyVelocity",nil,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = Vector3.new(0,0,0)}) | |
154 | function keyDown(key) | |
155 | if not Attacking then--For the moves | |
156 | if Mode == "Normal" then | |
157 | if key == Enum.KeyCode.Q then | |
158 | Attacking = true | |
159 | local createEffect = true | |
160 | coroutine.resume(coroutine.create(function() | |
161 | repeat | |
162 | local blast = Create("Part",workspace,"Part",{Anchored = true,CanCollide = false,CFrame = HRoot.CFrame * CFrame.new(0,-2,0),BrickColor = Colours[math.random(1,#Colours)]}) | |
163 | local mesh = Create("SpecialMesh",blast,"Mesh",{MeshId = "http://www.roblox.com/asset/?id=20329976",Scale = Vector3.new(3,1,3)}) | |
164 | blast.CFrame = blast.CFrame * CFrame.Angles(Rad(0),Rad(Random(-360,360)),Rad(0)) | |
165 | coroutine.resume(coroutine.create(function() | |
166 | for i=0,1,0.1 do | |
167 | mesh.Scale = mesh.Scale:lerp(Vector3.new(10,2,10),i) | |
168 | blast.Transparency = i | |
169 | wait() | |
170 | end | |
171 | blast:Destroy() | |
172 | end)) | |
173 | game:GetService("Debris"):AddItem(blast,1) | |
174 | wait() | |
175 | until not createEffect | |
176 | end)) | |
177 | coroutine.resume(coroutine.create(function() | |
178 | repeat | |
179 | local effect = Create("Part",workspace,"Part",{Material = "Neon",BrickColor = Colours[Random(1,#Colours)],Size = Vector3.new(2,2,2),CanCollide = false,Anchored = false,CFrame = HRoot.CFrame * CFrame.new(Random(-10,10),-2,Random(-10,10))}) | |
180 | Create("BodyVelocity",effect,"BV",{MaxForce = Vector3.new(0,2e8,0),Velocity = Vector3.new(0,10,0)}) | |
181 | coroutine.resume(coroutine.create(function() | |
182 | for i=0,1,0.1 do | |
183 | effect.CFrame = effect.CFrame:lerp(effect.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))),i) | |
184 | effect.Transparency = i | |
185 | wait() | |
186 | end | |
187 | effect:Destroy() | |
188 | end)) | |
189 | game:GetService("Debris"):AddItem(effect,1) | |
190 | wait() | |
191 | until not createEffect | |
192 | end)) | |
193 | for i=0,1,0.1 do | |
194 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(10),Rad(0),Rad(0)),i) | |
195 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i) | |
196 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i) | |
197 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-10),Rad(0),Rad(-20)),i) | |
198 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-10),Rad(0),Rad(20)),i) | |
199 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(10),Rad(0),Rad(0)),i) | |
200 | wait() | |
201 | end | |
202 | wait(1) | |
203 | for i=0,1,0.1 do | |
204 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i) | |
205 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i) | |
206 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i) | |
207 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-40),Rad(0),Rad(40)),i) | |
208 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-40),Rad(0),Rad(-40)),i) | |
209 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i) | |
210 | wait() | |
211 | if i>=0.8 then | |
212 | createEffect = false | |
213 | end | |
214 | end | |
215 | coroutine.resume(coroutine.create(function() | |
216 | for _,v in pairs(workspace:GetChildren()) do | |
217 | if v:IsA('Model') and v ~= Char and v:FindFirstChildOfClass("Humanoid") then | |
218 | local hum = v:FindFirstChildOfClass("Humanoid") | |
219 | local tor = v:FindFirstChild("Torso") or v:FindFirstChild("HumanoidRootPart") | |
220 | if tor then | |
221 | if (tor.Position-HRoot.Position).magnitude < 20 then | |
222 | v:BreakJoints() | |
223 | elseif (tor.Position-HRoot.Position).magnitude >= 20 and (tor.Position-HRoot.Position).magnitude <= 50 then | |
224 | for _,b in pairs(v:GetChildren()) do | |
225 | if b:IsA('ForceField') then | |
226 | b:Destroy() | |
227 | end | |
228 | end | |
229 | hum:TakeDamage(100-Floor((tor.Position-HRoot.Position).magnitude)) | |
230 | end | |
231 | end | |
232 | end | |
233 | end | |
234 | end)) | |
235 | for i=0,1,0.1 do | |
236 | local part = Create("Part",Char,"Effect",{Material = "Neon",Anchored = true,CanCollide = false,Size = Vector3.new(10,10,10),CFrame = HRoot.CFrame,BrickColor = Colours[Random(1,#Colours)]}) | |
237 | coroutine.resume(coroutine.create(function() | |
238 | for i=0,1,0.1 do | |
239 | part.Size = part.Size:lerp(Vector3.new(20,20,20),i) | |
240 | part.CFrame = HRoot.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))) | |
241 | part.Transparency = i | |
242 | wait() | |
243 | end | |
244 | part:Destroy() | |
245 | end)) | |
246 | wait() | |
247 | end | |
248 | Attacking = false | |
249 | elseif key == Enum.KeyCode.E then | |
250 | Attacking = true | |
251 | local detect = true | |
252 | local targ = nil | |
253 | local targTor = nil | |
254 | LArm.Touched:connect(function(h) | |
255 | if not detect then return end | |
256 | if h.Parent == nil then return end | |
257 | if h:IsDescendantOf(Char) then return end | |
258 | local hum = h.Parent:FindFirstChildOfClass("Humanoid") | |
259 | local tor = h.Parent:FindFirstChild("Torso") or h.Parent:FindFirstChild("HumanoidRootPart") | |
260 | if hum and tor then | |
261 | targ = h.Parent | |
262 | targTor = tor | |
263 | end | |
264 | end) | |
265 | for i=0,1,0.1 do | |
266 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(0),Rad(0),Rad(-90)),i) | |
267 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(90),Rad(-90)),i) | |
268 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(0),Rad(0),Rad(90)),i) | |
269 | wait() | |
270 | end | |
271 | detect = false | |
272 | coroutine.resume(coroutine.create(function() | |
273 | if targ ~= nil and targTor ~= nil then | |
274 | pcall(function() | |
275 | targTor.Anchored = true | |
276 | for i=0,1,0.1 do | |
277 | targTor.CFrame = targTor.CFrame:lerp(HRoot.CFrame * CFrame.new(0,0,-10),i) | |
278 | wait() | |
279 | end | |
280 | for _,v in pairs(targ:GetChildren()) do | |
281 | if v:IsA('BasePart') then v.Transparency = 1 end | |
282 | end | |
283 | local orb = Create("Part",targ,"Part",{Anchored = true,CanCollide = false,Shape = "Ball",BrickColor = BrickColor.new("Black"),Size = Vector3.new(8,8,8),CFrame = targTor.CFrame}) | |
284 | local mesh = Create("SpecialMesh",orb,"Mesh",{MeshId = "http://www.roblox.com/Asset/?id=9982590",Scale = Vector3.new(5,5,5)}) | |
285 | game:GetService("Debris"):AddItem(orb,5) | |
286 | for i=0,1,0.1 do | |
287 | local orig = orb.CFrame | |
288 | mesh.Scale = mesh.Scale:lerp(Vector3.new(0.05,0.05,0.05),i) | |
289 | orb.CFrame = orig * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))) | |
290 | wait() | |
291 | end | |
292 | orb:Destroy() | |
293 | targ:BreakJoints() | |
294 | game:GetService("Debris"):AddItem(targ,1) | |
295 | end) | |
296 | end | |
297 | end)) | |
298 | Attacking = false | |
299 | elseif key == Enum.KeyCode.R then | |
300 | Attacking = true | |
301 | for i=0,1,0.1 do | |
302 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(10),Rad(0),Rad(0)),i) | |
303 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i) | |
304 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i) | |
305 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-10),Rad(0),Rad(-20)),i) | |
306 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-10),Rad(0),Rad(20)),i) | |
307 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(10),Rad(0),Rad(0)),i) | |
308 | wait() | |
309 | end | |
310 | for i=0,1,0.1 do | |
311 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i) | |
312 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-20),Rad(0),Rad(0)),i) | |
313 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-10),Rad(0),Rad(10)),i) | |
314 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-10),Rad(0),Rad(-10)),i) | |
315 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i) | |
316 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i) | |
317 | wait() | |
318 | end | |
319 | local bv = Create("BodyVelocity",HRoot,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = Vector3.new(0,100,0)}) | |
320 | wait(2) | |
321 | Torso.Transparency = 1 | |
322 | Head.Transparency = 1 | |
323 | LArm.Transparency = 1 | |
324 | RArm.Transparency = 1 | |
325 | LLeg.Transparency = 1 | |
326 | RLeg.Transparency = 1 | |
327 | Torso.Anchored = true | |
328 | bv:Destroy() | |
329 | local createEffect = true | |
330 | local proj = Create("Part",workspace,"Effect",{CanCollide = false,Transparency = 1,Size = Vector3.new(6,6,6),CFrame = HRoot.CFrame * CFrame.new(0,-6,0) * CFrame.Angles(Rad(-90),Rad(0),Rad(0))}) | |
331 | local vel = Create("BodyVelocity",proj,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = proj.CFrame.lookVector * 100}) | |
332 | workspace.CurrentCamera.CameraSubject = proj | |
333 | coroutine.resume(coroutine.create(function() | |
334 | repeat | |
335 | local part = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,Material = "Neon",BrickColor = Colours[Random(1,#Colours)],Size = Vector3.new(6,6,6),CFrame = proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))}) | |
336 | game:GetService("Debris"):AddItem(part,1) | |
337 | coroutine.resume(coroutine.create(function() | |
338 | local tween = TweenService:Create(part,TweenInfo.new(1),{Size = Vector3.new(12,12,12),Transparency = 1,CFrame = part.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))}) | |
339 | tween:Play() | |
340 | wait(1) | |
341 | part:Destroy() | |
342 | end)) | |
343 | game:GetService("RunService").RenderStepped:wait() | |
344 | until not createEffect | |
345 | end)) | |
346 | proj.Touched:connect(function(h) | |
347 | if h:IsDescendantOf(Char) then return end | |
348 | createEffect = false | |
349 | proj.Anchored = true | |
350 | Torso.CFrame = CFrame.new((proj.CFrame * CFrame.new(0,2,0)).p) | |
351 | Torso.Transparency = 0 | |
352 | Head.Transparency = 0 | |
353 | LArm.Transparency = 0 | |
354 | RArm.Transparency = 0 | |
355 | LLeg.Transparency = 0 | |
356 | RLeg.Transparency = 0 | |
357 | workspace.CurrentCamera.CameraSubject = Human | |
358 | coroutine.resume(coroutine.create(function() | |
359 | for _,v in pairs(workspace:GetChildren()) do | |
360 | if v:IsA('Model') and v ~= Char and v:FindFirstChildOfClass("Humanoid") then | |
361 | local hum = v:FindFirstChildOfClass("Humanoid") | |
362 | local tor = v:FindFirstChild("Torso") or v:FindFirstChild("HumanoidRootPart") | |
363 | if tor then | |
364 | local magni = (tor.Position-HRoot.Position).magnitude | |
365 | if magni <= 20 then | |
366 | v:BreakJoints() | |
367 | elseif magni > 20 and magni <= 50 then | |
368 | for _,b in pairs(v:GetChildren()) do | |
369 | if b:IsA('ForceField') then | |
370 | b:Destroy() | |
371 | end | |
372 | end | |
373 | hum:TakeDamage(100-Floor(magni)) | |
374 | end | |
375 | end | |
376 | end | |
377 | end | |
378 | end)) | |
379 | coroutine.resume(coroutine.create(function() | |
380 | for i=0,1,0.1 do | |
381 | local part = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,Material = "Neon",Size = Vector3.new(8,8,8),BrickColor = Colours[Random(1,#Colours)],CFrame = proj.CFrame}) | |
382 | local ring = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,CFrame = proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))),BrickColor = Colours[Random(1,#Colours)]}) | |
383 | local mesh = Create("SpecialMesh",ring,"Mesh",{MeshId = "http://www.roblox.com/asset/?id=3270017",Scale = Vector3.new(16,16,16)}) | |
384 | coroutine.resume(coroutine.create(function() | |
385 | --[[for i=0,1,0.1 do | |
386 | mesh.Scale = mesh.Scale:lerp(Vector3.new(24,24,24),i) | |
387 | ring.Transparency = i | |
388 | wait() | |
389 | end]] | |
390 | TweenService:Create(ring,TweenInfo.new(1),{Transparency = 1}):Play() | |
391 | TweenService:Create(mesh,TweenInfo.new(1),{Scale = Vector3.new(24,24,24)}):Play() | |
392 | wait(1) | |
393 | ring:Destroy() | |
394 | end)) | |
395 | coroutine.resume(coroutine.create(function() | |
396 | for i=0,1,0.1 do | |
397 | local orig = part.CFrame | |
398 | part.Size = part.Size:lerp(Vector3.new(16,16,16),i) | |
399 | part.CFrame = proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))) | |
400 | part.Transparency = i | |
401 | wait() | |
402 | end | |
403 | part:Destroy() | |
404 | end)) | |
405 | wait() | |
406 | end | |
407 | proj:Destroy() | |
408 | Attacking = false | |
409 | Torso.Anchored = false | |
410 | end)) | |
411 | end) | |
412 | elseif key == Enum.KeyCode.F then | |
413 | --Super punch,send them flying | |
414 | FistAura1.Enabled = true | |
415 | Attacking = true | |
416 | local Punching = true | |
417 | local cache = {} | |
418 | LArm.Touched:connect(function(h) | |
419 | if h.Parent == nil then return end | |
420 | if cache[h.Parent.Name] then return end | |
421 | if h:IsDescendantOf(Char) then return end | |
422 | if not Punching then return end | |
423 | if h.Parent.Name:lower():find("veh") and not h.Parent.Name:lower():find("spawn") then | |
424 | local bv = Create("BodyVelocity",h,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = HRoot.CFrame.lookVector * 500}) | |
425 | h.Parent:BreakJoints() | |
426 | game:GetService("Debris"):AddItem(bv,0.5) | |
427 | game:GetService("Debris"):AddItem(h.Parent,3) | |
428 | return | |
429 | end | |
430 | if not h.Parent:FindFirstChildOfClass("Humanoid") then return end | |
431 | Punching = false | |
432 | cache[h.Parent.Name] = true | |
433 | local hum = h.Parent:FindFirstChildOfClass("Humanoid") | |
434 | if hum.MaxHealth > 2000 then | |
435 | hum.MaxHealth = 2000 | |
436 | end | |
437 | for _,v in pairs(h.Parent:GetChildren()) do | |
438 | if v:IsA('ForceField') then | |
439 | v:Destroy() | |
440 | end | |
441 | end | |
442 | if hum.Health > (hum.MaxHealth/2) then | |
443 | local bv = Create("BodyVelocity",h,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = HRoot.CFrame.lookVector * 100}) | |
444 | game:GetService("Debris"):AddItem(bv,1) | |
445 | hum:TakeDamage(hum.MaxHealth/2) | |
446 | else | |
447 | h.Parent:BreakJoints() | |
448 | Torso.Anchored = true | |
449 | for _,v in pairs(h.Parent:GetChildren()) do | |
450 | if v:IsA('BasePart') then | |
451 | v.CanCollide = false | |
452 | local bv = Create("BodyVelocity",v,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = HRoot.CFrame.lookVector * 500}) | |
453 | game:GetService("Debris"):AddItem(bv,2) | |
454 | end | |
455 | end | |
456 | Torso.Anchored = false | |
457 | end | |
458 | Attacking = false | |
459 | end) | |
460 | for i=0,1,0.1 do | |
461 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(0),Rad(0),Rad(90)),i) | |
462 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(0),Rad(0),Rad(270)),i) | |
463 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(0),Rad(20),Rad(40)),i) | |
464 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(20),Rad(-90)),i) | |
465 | wait() | |
466 | end | |
467 | wait(.1) | |
468 | for i=0,1,0.1 do | |
469 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(0),Rad(0),Rad(270)),i) | |
470 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(0),Rad(0),Rad(90)),i) | |
471 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(0),Rad(-20),Rad(40)),i) | |
472 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(90),Rad(-90)),i) | |
473 | if not Punching then | |
474 | break | |
475 | end | |
476 | wait() | |
477 | end | |
478 | if Punching then | |
479 | Punching = false | |
480 | Attacking = false | |
481 | end | |
482 | FistAura1.Enabled = false | |
483 | end | |
484 | else | |
485 | if key == Enum.KeyCode.Q then | |
486 | Attacking = true | |
487 | local createEffect = true | |
488 | local projFire = false | |
489 | coroutine.resume(coroutine.create(function() | |
490 | repeat | |
491 | local effect = Create("Part",workspace,"Part",{Material = "Neon",BrickColor = Colours[Random(1,#Colours)],Size = Vector3.new(2,2,2),CanCollide = false,Anchored = false,CFrame = HRoot.CFrame * CFrame.new(Random(-10,10),-2,Random(-10,10))}) | |
492 | Create("BodyVelocity",effect,"BV",{MaxForce = Vector3.new(0,2e8,0),Velocity = Vector3.new(0,10,0)}) | |
493 | coroutine.resume(coroutine.create(function() | |
494 | for i=0,1,0.1 do | |
495 | effect.CFrame = effect.CFrame:lerp(effect.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))),i) | |
496 | effect.Transparency = i | |
497 | wait() | |
498 | end | |
499 | effect:Destroy() | |
500 | end)) | |
501 | game:GetService("Debris"):AddItem(effect,1) | |
502 | game:GetService("RunService").RenderStepped:wait() | |
503 | until not createEffect | |
504 | end)) | |
505 | for i=0,1,0.1 do | |
506 | Hrj.C0 = Hrj.C0:lerp(Hrjcf,i) | |
507 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(-70),Rad(-90)),i) | |
508 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(0),Rad(70),Rad(90)),i) | |
509 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(10),Rad(0),Rad(0)),i) | |
510 | wait() | |
511 | end | |
512 | wait(1) | |
513 | for i=0,1,0.1 do | |
514 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(-50),Rad(-90)),i) | |
515 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(0),Rad(50),Rad(90)),i) | |
516 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i) | |
517 | if i>= 0.8 then | |
518 | createEffect = false | |
519 | end | |
520 | wait() | |
521 | end | |
522 | local proj = Create("Part",workspace,"Effect",{CanCollide = false,Anchored = false,Size = Vector3.new(20,40,8),CFrame = HRoot.CFrame,Transparency = 1}) | |
523 | Create("BodyVelocity",proj,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = HRoot.CFrame.lookVector * 150}) | |
524 | game:GetService("Debris"):AddItem(proj,2) | |
525 | proj.Touched:connect(function(h) | |
526 | if h.Parent == nil then return end | |
527 | if h:IsDescendantOf(Char) then return end | |
528 | if h.Parent.Name:lower():find("veh") then h.Parent:BreakJoints() game:GetService("Debris"):AddItem(h.Parent,3) return end | |
529 | h:BreakJoints() | |
530 | end) | |
531 | projFire = true | |
532 | proj.CFrame = HRoot.CFrame * CFrame.new(0,0,-4) | |
533 | coroutine.resume(coroutine.create(function() | |
534 | repeat | |
535 | coroutine.resume(coroutine.create(function() | |
536 | local part = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,Material = "Neon",BrickColor = Colours[Random(1,#Colours)],Size = Vector3.new(8,8,8),CFrame = proj.CFrame}) | |
537 | part.CFrame = proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))) | |
538 | game:GetService("Debris"):AddItem(part,0.1) | |
539 | local ring = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,CFrame = proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))),BrickColor = Colours[Random(1,#Colours)]}) | |
540 | local mesh = Create("SpecialMesh",ring,"Mesh",{MeshId = "http://www.roblox.com/asset/?id=3270017",Scale = Vector3.new(8,8,8)}) | |
541 | local tween = TweenService:Create(ring,TweenInfo.new(0.5),{Transparency = 1}) | |
542 | local tween2 = TweenService:Create(mesh,TweenInfo.new(0.5),{Scale = Vector3.new(32,32,32)}) | |
543 | tween:Play() | |
544 | tween2:Play() | |
545 | wait(0.5) | |
546 | ring:Destroy() | |
547 | end)) | |
548 | game:GetService("RunService").RenderStepped:wait() | |
549 | until not projFire | |
550 | end)) | |
551 | coroutine.resume(coroutine.create(function() | |
552 | wait(2) | |
553 | projFire = false | |
554 | end)) | |
555 | Attacking = false | |
556 | elseif key == Enum.KeyCode.E then | |
557 | Attacking = true | |
558 | for i=0,1,0.1 do | |
559 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(-20),Rad(0),Rad(0)),i) | |
560 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i) | |
561 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(60),Rad(-90)),i) | |
562 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(0),Rad(-60),Rad(90)),i) | |
563 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(20)),i) | |
564 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-20)),i) | |
565 | wait() | |
566 | end | |
567 | for i=0,1,0.1 do | |
568 | local part = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,Transparency = 1,CFrame = HRoot.CFrame * CFrame.new(Random(-50,50),-4,Random(-50,50))}) | |
569 | game:GetService("Debris"):AddItem(part,2) | |
570 | coroutine.resume(coroutine.create(function() | |
571 | local createEffect = true | |
572 | local proj = Create("Part",workspace,"Effect",{CanCollide = false,Material = "Neon",Size = Vector3.new(4,4,4),CFrame = HRoot.CFrame * CFrame.new(0,200,0),BrickColor = Colours[Random(1,#Colours)]}) | |
573 | local mesh = Create("SpecialMesh",proj,"Mesh",{MeshType = "Sphere",Scale = Vector3.new(1,1,1)}) | |
574 | proj.CFrame = CFrame.new(proj.Position,part.Position) | |
575 | Create("BodyVelocity",proj,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = proj.CFrame.lookVector * 100}) | |
576 | proj.Touched:connect(function(h) | |
577 | if h:IsDescendantOf(Char) then return end | |
578 | if h.Name == "Effect" then return end | |
579 | createEffect = false | |
580 | proj.Anchored = true | |
581 | coroutine.resume(coroutine.create(function() | |
582 | for _,v in pairs(workspace:GetChildren()) do | |
583 | if v:IsA('Model') and v ~= Char and v:FindFirstChildOfClass("Humanoid") then | |
584 | local hum = v:FindFirstChildOfClass("Humanoid") | |
585 | local tor = v:FindFirstChild("Torso") or v:FindFirstChild("HumanoidRootPart") | |
586 | if tor then | |
587 | local magni = (tor.Position-proj.Position).magnitude | |
588 | if magni <= 20 then | |
589 | v:BreakJoints() | |
590 | elseif magni > 20 and magni <= 50 then | |
591 | for _,b in pairs(v:GetChildren()) do | |
592 | if b:IsA('ForceField') then | |
593 | b:Destroy() | |
594 | end | |
595 | end | |
596 | hum:TakeDamage(100-Floor(magni)) | |
597 | end | |
598 | end | |
599 | end | |
600 | end | |
601 | end)) | |
602 | local tween = TweenService:Create(mesh,TweenInfo.new(2),{Scale = Vector3.new(12,12,12)}) | |
603 | local tween2 = TweenService:Create(proj,TweenInfo.new(2),{Transparency = 1}) | |
604 | tween:Play() | |
605 | tween2:Play() | |
606 | wait(2) | |
607 | proj:Destroy() | |
608 | end) | |
609 | coroutine.resume(coroutine.create(function() | |
610 | repeat | |
611 | coroutine.resume(coroutine.create(function() | |
612 | local brick = Create("Part",Char,"Effect",{Material = "Neon",Anchored = true,CanCollide = false,BrickColor = Colours[Random(1,#Colours)],Size = Vector3.new(4,4,4),CFrame = proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))}) | |
613 | local bmesh = Create("BlockMesh",brick,"Mesh",{}) | |
614 | game:GetService("Debris"):AddItem(brick,1) | |
615 | local tween = TweenService:Create(brick,TweenInfo.new(1),{Transparency = 1}) | |
616 | local tween2 = TweenService:Create(bmesh,TweenInfo.new(1),{Scale = Vector3.new(3,3,3)}) | |
617 | tween:Play() | |
618 | tween2:Play() | |
619 | wait(1) | |
620 | --[[for i=0,1,0.1 do | |
621 | bmesh.Scale = bmesh.Scale:lerp(Vector3.new(3,3,3),i) | |
622 | brick.Transparency = i | |
623 | wait() | |
624 | end]] | |
625 | brick:Destroy() | |
626 | end)) | |
627 | game:GetService("RunService").RenderStepped:wait() | |
628 | until not createEffect | |
629 | end)) | |
630 | end)) | |
631 | wait() | |
632 | end | |
633 | Attacking = false | |
634 | elseif key == Enum.KeyCode.R then | |
635 | Attacking = true | |
636 | for i=0,1,0.1 do | |
637 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i) | |
638 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i) | |
639 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i) | |
640 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i) | |
641 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i) | |
642 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i) | |
643 | wait() | |
644 | end | |
645 | for i=0,1,0.1 do | |
646 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(10),Rad(0),Rad(0)),i) | |
647 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i) | |
648 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i) | |
649 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i) | |
650 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i) | |
651 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i) | |
652 | if i > 0.8 and i <= 0.9 then | |
653 | local proj = Create("Part",workspace,"Effect",{CanCollide = false,Anchored = false,Size = Vector3.new(20,40,8),CFrame = HRoot.CFrame,Transparency = 1}) | |
654 | Create("BodyVelocity",proj,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = HRoot.CFrame.lookVector * 150}) | |
655 | game:GetService("Debris"):AddItem(proj,2) | |
656 | proj.Touched:connect(function(h) | |
657 | local cf = proj.CFrame | |
658 | if h:IsDescendantOf(Char) then return end | |
659 | if h.Parent == nil then return end | |
660 | if h.Parent.Name:lower():find("veh") then | |
661 | h.Parent:BreakJoints() | |
662 | game:GetService("Debris"):AddItem(h.Parent,3) | |
663 | return | |
664 | end | |
665 | if h:IsDescendantOf(Char) then return end | |
666 | if h:IsA('BasePart') then | |
667 | if h.Parent:FindFirstChildOfClass("Humanoid") then | |
668 | h.Velocity = proj.CFrame.lookVector * 100 | |
669 | end | |
670 | h:BreakJoints() | |
671 | end | |
672 | proj.CFrame = cf | |
673 | end) | |
674 | proj.CFrame = HRoot.CFrame * CFrame.new(0,0,-4) | |
675 | coroutine.resume(coroutine.create(function() | |
676 | repeat | |
677 | coroutine.resume(coroutine.create(function() | |
678 | local ring = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,CFrame = proj.CFrame,BrickColor = Colours[Random(1,#Colours)]})--proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))) | |
679 | local mesh = Create("SpecialMesh",ring,"Mesh",{MeshId = "http://www.roblox.com/asset/?id=3270017",Scale = Vector3.new(8,8,8)}) | |
680 | local tween = TweenService:Create(ring,TweenInfo.new(0.5),{Transparency = 1}) | |
681 | local tween2 = TweenService:Create(mesh,TweenInfo.new(0.5),{Scale = Vector3.new(32,32,32)}) | |
682 | tween:Play() | |
683 | tween2:Play() | |
684 | wait(0.5) | |
685 | ring:Destroy() | |
686 | end)) | |
687 | game:GetService("RunService").RenderStepped:wait() | |
688 | until proj.Parent == nil | |
689 | end)) | |
690 | end | |
691 | wait() | |
692 | end | |
693 | Attacking = false | |
694 | elseif key == Enum.KeyCode.T then | |
695 | Attacking = true | |
696 | for i=0,1,0.1 do | |
697 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(90),Rad(0),Rad(0)),i) | |
698 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(0),Rad(0),Rad(-120)),i) | |
699 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(0),Rad(0),Rad(120)),i) | |
700 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(0),Rad(-70)),i) | |
701 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(0),Rad(0),Rad(70)),i) | |
702 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(90),Rad(0),Rad(0)),i) | |
703 | Torso.Transparency = i | |
704 | LArm.Transparency = i | |
705 | RArm.Transparency = i | |
706 | LLeg.Transparency = i | |
707 | RLeg.Transparency = i | |
708 | Head.Transparency = i | |
709 | FistAura1.Enabled = false | |
710 | FistAura2.Enabled = false | |
711 | Tl.Visible = false | |
712 | Head.face.Transparency = i | |
713 | wait() | |
714 | end | |
715 | local createEffect = true | |
716 | spawn(function() | |
717 | local hitbox = Create("Part",Char,"Effect",{CanCollide = false,Size = Vector3.new(8,8,8),Transparency = 1,CFrame = HRoot.CFrame}) | |
718 | local hitWeld = newWeld(HRoot,hitbox,HRoot) | |
719 | BodyVel.Parent = HRoot | |
720 | BodyPosition.Parent = nil | |
721 | BodyVel.Velocity = Vector3.new(0,50,0) | |
722 | wait(1) | |
723 | hitbox.Touched:connect(function(h) | |
724 | if h:IsDescendantOf(Char) then return end | |
725 | if h.Name == "Effect" then return end | |
726 | if not createEffect then return end | |
727 | hitbox.Anchored = true | |
728 | hitWeld:Destroy() | |
729 | createEffect = false | |
730 | BodyVel.Velocity = Vector3.new(0,0,0) | |
731 | coroutine.resume(coroutine.create(function() | |
732 | for _,v in pairs(workspace:GetChildren()) do | |
733 | if v:IsA('Model') and v ~= Char and v:FindFirstChildOfClass("Humanoid") then | |
734 | local hum = v:FindFirstChildOfClass("Humanoid") | |
735 | local tor = v:FindFirstChild("Torso") or v:FindFirstChild("HumanoidRootPart") | |
736 | if tor then | |
737 | local magni = (tor.Position-HRoot.Position).magnitude | |
738 | if magni <= 20 then | |
739 | v:BreakJoints() | |
740 | elseif magni > 20 and magni <= 50 then | |
741 | for _,b in pairs(v:GetChildren()) do | |
742 | if b:IsA('ForceField') then | |
743 | b:Destroy() | |
744 | end | |
745 | end | |
746 | hum:TakeDamage(100-Floor(magni)) | |
747 | end | |
748 | end | |
749 | end | |
750 | end | |
751 | end)) | |
752 | coroutine.resume(coroutine.create(function() | |
753 | for i=0,2,0.1 do | |
754 | local part = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,Material = "Neon",Size = Vector3.new(8,8,8),BrickColor = Colours[Random(1,#Colours)],CFrame = hitbox.CFrame}) | |
755 | local bmesh = Create("BlockMesh",part,"Mesh",{}) | |
756 | local ring = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,CFrame = hitbox.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))),BrickColor = Colours[Random(1,#Colours)]}) | |
757 | local mesh = Create("SpecialMesh",ring,"Mesh",{MeshId = "http://www.roblox.com/asset/?id=3270017",Scale = Vector3.new(16,16,16)}) | |
758 | TweenService:Create(ring,TweenInfo.new(1),{Transparency = 1}):Play() | |
759 | TweenService:Create(mesh,TweenInfo.new(1),{Scale = Vector3.new(50,50,50)}):Play() | |
760 | game:GetService("Debris"):AddItem(ring,0.9) | |
761 | TweenService:Create(part,TweenInfo.new(1),{Transparency = 1}):Play() | |
762 | TweenService:Create(bmesh,TweenInfo.new(1),{Scale = Vector3.new(6,6,6)}):Play() | |
763 | game:GetService("Debris"):AddItem(part,0.9) | |
764 | coroutine.resume(coroutine.create(function() | |
765 | for i=0,1,0.01 do | |
766 | part.CFrame = hitbox.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))) | |
767 | ring.CFrame = hitbox.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))) | |
768 | wait() | |
769 | end | |
770 | end)) | |
771 | wait() | |
772 | end | |
773 | hitbox:Destroy() | |
774 | end)) | |
775 | for i=1,0,-0.1 do | |
776 | Torso.Transparency = i | |
777 | LArm.Transparency = i | |
778 | RArm.Transparency = i | |
779 | LLeg.Transparency = i | |
780 | RLeg.Transparency = i | |
781 | Head.Transparency = i | |
782 | FistAura1.Enabled = true | |
783 | FistAura2.Enabled = true | |
784 | Tl.Visible = true | |
785 | Head.face.Transparency = i | |
786 | wait() | |
787 | end | |
788 | BodyPosition.Parent = HRoot | |
789 | BodyVel.Parent = nil | |
790 | Attacking = false | |
791 | end) | |
792 | repeat | |
793 | spawn(function() | |
794 | local effect = Create("Part",Char,"Effect",{Anchored = true,Material = "Neon",CanCollide = false,BrickColor = Colours[Random(1,#Colours)],Size = Vector3.new(8,8,8),CFrame = HRoot.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))}) | |
795 | local mesh = Create("BlockMesh",effect,"Mesh",{}) | |
796 | game:GetService("Debris"):AddItem(effect,1) | |
797 | TweenService:Create(mesh,TweenInfo.new(1),{Scale = Vector3.new(2,2,2)}):Play() | |
798 | TweenService:Create(effect,TweenInfo.new(1),{Transparency = 1}):Play() | |
799 | effect.CFrame = HRoot.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))) | |
800 | end) | |
801 | BodyVel.Velocity = workspace.CurrentCamera.CFrame.lookVector * 100 | |
802 | game:GetService("RunService").RenderStepped:wait() | |
803 | until not createEffect | |
804 | end) | |
805 | end | |
806 | end | |
807 | if key == Enum.KeyCode.L then | |
808 | Walkspeed = 0 | |
809 | Attacking = true | |
810 | if Mode == "Normal" then | |
811 | Mode = "Power" | |
812 | Colours= {BrickColor.new("Black"),BrickColor.new("Crimson")} | |
813 | local Switching = true | |
814 | coroutine.resume(coroutine.create(function() | |
815 | repeat | |
816 | local ball = Create("Part",workspace,"Ball",{Shape = "Ball",Size = Vector3.new(4,4,4),Anchored = true,CanCollide = false,CFrame = HRoot.CFrame,Material = "Neon",BrickColor = Colours[Random(1,#Colours)]}) | |
817 | game:GetService("Debris"):AddItem(ball,1) | |
818 | coroutine.resume(coroutine.create(function() | |
819 | for i=0,1,0.1 do | |
820 | ball.Size = ball.Size:lerp(Vector3.new(10,10,10),0.5) | |
821 | ball.CFrame = HRoot.CFrame | |
822 | ball.Transparency = i | |
823 | wait() | |
824 | end | |
825 | ball:Destroy() | |
826 | end)) | |
827 | wait() | |
828 | until not Switching | |
829 | end)) | |
830 | local ball = Create("Part",Char,"Ball",{Transparency=1,Shape = "Ball",Size = Vector3.new(4,4,4),Anchored = true,CanCollide = false,CFrame = HRoot.CFrame,Material = "Neon",BrickColor = BrickColor.new("Black")}) | |
831 | for i=0,1,0.1 do | |
832 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i) | |
833 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i) | |
834 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i) | |
835 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i) | |
836 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-40),Rad(0),Rad(40)),i) | |
837 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-40),Rad(0),Rad(-40)),i) | |
838 | wait() | |
839 | end | |
840 | Switching = false | |
841 | ball.Transparency = 0 | |
842 | for i=0,1,0.1 do | |
843 | ball.Size = ball.Size:lerp(Vector3.new(14,14,14),i) | |
844 | ball.CFrame = HRoot.CFrame | |
845 | ball.Transparency = i | |
846 | wait() | |
847 | end | |
848 | ball:Destroy() | |
849 | FistAura1.Enabled = true | |
850 | FistAura2.Enabled = true | |
851 | BodyPosition.Position = HRoot.Position + Vector3.new(0,2,0) | |
852 | BodyPosition.Parent = HRoot | |
853 | Walkspeed = 32 | |
854 | else | |
855 | Mode = "Normal" | |
856 | Colours= {BrickColor.new("Black"),BrickColor.new("Royal purple")} | |
857 | local Switching = true | |
858 | coroutine.resume(coroutine.create(function() | |
859 | repeat | |
860 | local ball = Create("Part",workspace,"Ball",{Shape = "Ball",Size = Vector3.new(4,4,4),Anchored = true,CanCollide = false,CFrame = HRoot.CFrame,Material = "Neon",BrickColor = Colours[Random(1,#Colours)]}) | |
861 | game:GetService("Debris"):AddItem(ball,1) | |
862 | coroutine.resume(coroutine.create(function() | |
863 | for i=0,1,0.1 do | |
864 | ball.Size = ball.Size:lerp(Vector3.new(10,10,10),0.5) | |
865 | ball.CFrame = HRoot.CFrame | |
866 | ball.Transparency = i | |
867 | wait() | |
868 | end | |
869 | ball:Destroy() | |
870 | end)) | |
871 | wait() | |
872 | until not Switching | |
873 | end)) | |
874 | local ball = Create("Part",Char,"Ball",{Transparency=1,Shape = "Ball",Size = Vector3.new(4,4,4),Anchored = true,CanCollide = false,CFrame = HRoot.CFrame,Material = "Neon",BrickColor = BrickColor.new("Black")}) | |
875 | for i=0,1,0.1 do | |
876 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i) | |
877 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i) | |
878 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i) | |
879 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i) | |
880 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-40),Rad(0),Rad(40)),i) | |
881 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-40),Rad(0),Rad(-40)),i) | |
882 | wait() | |
883 | end | |
884 | Switching = false | |
885 | ball.Transparency = 0 | |
886 | for i=0,1,0.1 do | |
887 | local cf = ball.CFrame | |
888 | ball.Size = ball.Size:lerp(Vector3.new(14,14,14),i) | |
889 | ball.CFrame = cf | |
890 | ball.Transparency = i | |
891 | wait() | |
892 | end | |
893 | ball:Destroy() | |
894 | FistAura1.Enabled = false | |
895 | FistAura2.Enabled = false | |
896 | BodyPosition.Parent = nil | |
897 | Walkspeed = 16 | |
898 | end | |
899 | Attacking = false | |
900 | elseif key == Enum.KeyCode.K then | |
901 | Attacking = true | |
902 | for i=0,1,0.1 do | |
903 | Torso.Transparency = i | |
904 | LArm.Transparency = i | |
905 | RArm.Transparency = i | |
906 | LLeg.Transparency = i | |
907 | RLeg.Transparency = i | |
908 | Head.Transparency = i | |
909 | wait() | |
910 | end | |
911 | Char:MoveTo(Mouse.Hit.p + Vector3.new(0,2,0)) | |
912 | --Torso.CFrame = CFrame.new(Mouse.Hit.p) | |
913 | for i=1,0,-0.1 do | |
914 | Torso.Transparency = i | |
915 | LArm.Transparency = i | |
916 | RArm.Transparency = i | |
917 | LLeg.Transparency = i | |
918 | RLeg.Transparency = i | |
919 | Head.Transparency = i | |
920 | wait() | |
921 | end | |
922 | Attacking = false | |
923 | end | |
924 | end | |
925 | end | |
926 | function keyUp(key) | |
927 | ||
928 | end | |
929 | UserInputService.TextBoxFocused:connect(function() | |
930 | Typing = true | |
931 | end) | |
932 | UserInputService.TextBoxFocusReleased:connect(function() | |
933 | Typing = false | |
934 | end) | |
935 | if UserInputService.KeyboardEnabled and UserInputService.MouseEnabled then | |
936 | UserInputService.InputBegan:connect(function(inpType) | |
937 | if inpType.KeyCode ~= Enum.KeyCode.Unknown then | |
938 | if not Typing then | |
939 | keyDown(inpType.KeyCode) | |
940 | end | |
941 | end | |
942 | end) | |
943 | UserInputService.InputEnded:connect(function(inpType) | |
944 | if inpType ~= Enum.KeyCode.Unknown then | |
945 | if not Typing then | |
946 | keyUp(inpType.KeyCode) | |
947 | end | |
948 | end | |
949 | end) | |
950 | end | |
951 | game:GetService("RunService").RenderStepped:connect(function(step) | |
952 | Human.WalkSpeed = Walkspeed | |
953 | Human.MaxHealth = math.huge | |
954 | Human.Health = Human.MaxHealth | |
955 | if not Attacking then | |
956 | if (Torso.Velocity).magnitude < 2 then | |
957 | Anim = "Idle" | |
958 | elseif (Torso.Velocity).magnitude < 20 then | |
959 | Anim = "Walk" | |
960 | elseif (Torso.Velocity).magnitude > 20 then | |
961 | Anim = "Run" | |
962 | end | |
963 | if Anim == "Idle" then | |
964 | if Mode == "Normal" then | |
965 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(0),Rad(0)),0.2) | |
966 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),-Rad(2 * Sin(tick()/1.5))),0.2) | |
967 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(2 * Sin(tick()/1.5))),0.2) | |
968 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-5),Rad(0),Rad(0)) * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(0),Rad(0)),0.2) | |
969 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-5),Rad(0),Rad(0)) * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(0),Rad(0)),0.2) | |
970 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(5),Rad(0)),0.2) | |
971 | else | |
972 | Hrj.C0 = Hrj.C0:lerp(Hrjcf,0.2) | |
973 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(0),Rad(0)),0.2) | |
974 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(0),Rad(0)),0.2) | |
975 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(0),Rad(0)),0.2) | |
976 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-8),Rad(0),Rad(0)),0.2) | |
977 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-8),Rad(0),Rad(0)),0.2) | |
978 | end | |
979 | elseif Anim == "Walk" then | |
980 | if Mode == "Normal" then | |
981 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(0),Rad(0),Rad(10 * Sin(tick()*4))),0.5) | |
982 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(0),Rad(0),Rad(10 * Sin(tick()*4))),0.5) | |
983 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(0),Rad(0),Rad(10 * Sin(tick()*4))),0.5) | |
984 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-5),Rad(0),Rad(10 * Sin(tick()*4))),0.5) | |
985 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-5),Rad(0),Rad(10 * Sin(tick()*4))),0.5) | |
986 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(0),Rad(10 * Sin(tick()*4)),Rad(0)),0.5) | |
987 | end | |
988 | elseif Anim == "Run" then | |
989 | if Mode == "Power" then | |
990 | Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(20),Rad(0),Rad(0)),0.5) | |
991 | LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-10),Rad(0),Rad(20)),0.5) | |
992 | RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-10),Rad(0),Rad(-20)),0.5) | |
993 | LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(0),Rad(0),Rad(10)),0.5) | |
994 | RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(0),Rad(0),Rad(-10)),0.5) | |
995 | Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-20),Rad(0),Rad(0)),0.5) | |
996 | end | |
997 | end | |
998 | end | |
999 | end) | |
1000 | spawn(function() | |
1001 | while game:GetService("RunService").RenderStepped:wait() do | |
1002 | if Mode == "Power" and Torso.Transparency ~= 1 then | |
1003 | local effect1 = Create("Part",Char,"Effect",{Size = Vector3.new(LLeg.Size.Z,LLeg.Size.Y/2,LLeg.Size.Z),Anchored = true,CanCollide = false,Material = "Neon",Transparency = 0.3,BrickColor = Colours[Random(1,#Colours)],CFrame = LLeg.CFrame * CFrame.new(0,-LLeg.Size.Y/2,0)}) | |
1004 | local effect2 = Create("Part",Char,"Effect",{Size = Vector3.new(RLeg.Size.Z,RLeg.Size.Y/2,RLeg.Size.Z),Anchored = true,CanCollide = false,Material = "Neon",Transparency = 0.3,BrickColor = Colours[Random(1,#Colours)],CFrame = RLeg.CFrame * CFrame.new(0,-RLeg.Size.Y/2,0)}) | |
1005 | effect1.CFrame = effect1.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))) | |
1006 | effect2.CFrame = effect2.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))) | |
1007 | game:GetService("Debris"):AddItem(effect1,0.05) | |
1008 | game:GetService("Debris"):AddItem(effect2,0.05) | |
1009 | end | |
1010 | end | |
1011 | end) |