SHOW:
|
|
- or go back to the newest paste.
1 | -- This script has been converted to FE by iPxter | |
2 | ||
3 | ||
4 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end | |
5 | local Player,Mouse,mouse,UserInputService,ContextActionService = owner | |
6 | do | |
7 | print("FE Compatibility code by Mokiros | Translated to FE by iPxter") | |
8 | script.Parent = Player.Character | |
9 | ||
10 | - | Player = game:GetService("Players").LocalPlayer |
10 | + | --RemoteEvent for communicating |
11 | local Event = Instance.new("RemoteEvent") | |
12 | Event.Name = "UserInput_Event" | |
13 | ||
14 | --Fake event to make stuff like Mouse.KeyDown work | |
15 | local function fakeEvent() | |
16 | local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end} | |
17 | t.connect = t.Connect | |
18 | return t | |
19 | end | |
20 | ||
21 | --Creating fake input objects with fake variables | |
22 | local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()} | |
23 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} | |
24 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) | |
25 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil | |
26 | end} | |
27 | --Merged 2 functions into one by checking amount of arguments | |
28 | CAS.UnbindAction = CAS.BindAction | |
29 | ||
30 | --This function will trigger the events that have been :Connect()'ed | |
31 | local function te(self,ev,...) | |
32 | local t = m[ev] | |
33 | if t and t._fakeEvent and t.Function then | |
34 | t.Function(...) | |
35 | end | |
36 | end | |
37 | m.TrigEvent = te | |
38 | UIS.TrigEvent = te | |
39 | ||
40 | Event.OnServerEvent:Connect(function(plr,io) | |
41 | if plr~=Player then return end | |
42 | if io.isMouse then | |
43 | m.Target = io.Target | |
44 | m.Hit = io.Hit | |
45 | else | |
46 | local b = io.UserInputState == Enum.UserInputState.Begin | |
47 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
48 | return m:TrigEvent(b and "Button1Down" or "Button1Up") | |
49 | end | |
50 | for _,t in pairs(CAS.Actions) do | |
51 | for _,k in pairs(t.Keys) do | |
52 | if k==io.KeyCode then | |
53 | t.Function(t.Name,io.UserInputState,io) | |
54 | end | |
55 | end | |
56 | end | |
57 | m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
58 | UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) | |
59 | end | |
60 | end) | |
61 | Event.Parent = NLS([==[ | |
62 | local Player = game:GetService("Players").LocalPlayer | |
63 | local Event = script:WaitForChild("UserInput_Event") | |
64 | ||
65 | local UIS = game:GetService("UserInputService") | |
66 | local input = function(io,a) | |
67 | if a then return end | |
68 | --Since InputObject is a client-side instance, we create and pass table instead | |
69 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState}) | |
70 | end | |
71 | UIS.InputBegan:Connect(input) | |
72 | UIS.InputEnded:Connect(input) | |
73 | ||
74 | local Mouse = Player:GetMouse() | |
75 | local h,t | |
76 | --Give the server mouse data 30 times every second, but only if the values changed | |
77 | --If player is not moving their mouse, client won't fire events | |
78 | while wait(1/30) do | |
79 | if h~=Mouse.Hit or t~=Mouse.Target then | |
80 | h,t=Mouse.Hit,Mouse.Target | |
81 | Event:FireServer({isMouse=true,Target=t,Hit=h}) | |
82 | end | |
83 | end]==],Player.Character) | |
84 | Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS | |
85 | end | |
86 | ||
87 | --Leaked by N3xul lol | |
88 | --Converted to local by Scenius | |
89 | --[[ | |
90 | Made by Fenrier. | |
91 | ]] | |
92 | script.Name = "nigga srsly" | |
93 | ArtificialHB = Instance.new("BindableEvent", script) | |
94 | ArtificialHB.Name = "Heartbeat" | |
95 | script:WaitForChild("Heartbeat") | |
96 | Player = game:GetService("Players").hsdfsfsdfds | |
97 | Character = Player.Character | |
98 | PlayerGui = Player.PlayerGui | |
99 | script.Parent = PlayerGui | |
100 | Backpack = Player.Backpack | |
101 | Torso = Character.Torso | |
102 | Head = Character.Head | |
103 | Humanoid = Character.Humanoid | |
104 | LeftArm = Character["Left Arm"] | |
105 | LeftLeg = Character["Left Leg"] | |
106 | RightArm = Character["Right Arm"] | |
107 | RightLeg = Character["Right Leg"] | |
108 | ch = Character | |
109 | RootPart = Character.HumanoidRootPart | |
110 | RootJoint = RootPart.RootJoint | |
111 | it=Instance.new | |
112 | vt=Vector3.new | |
113 | cf=CFrame.new | |
114 | euler=CFrame.fromEulerAnglesXYZ | |
115 | angles=CFrame.Angles | |
116 | local decreaseatk=0 | |
117 | local decreasedef=0 | |
118 | local decreasemvmt=0 | |
119 | local Anim="Idle" | |
120 | local Effects={} | |
121 | local armorparts={} | |
122 | local armorwelds={} | |
123 | local weaponparts={} | |
124 | local weaponwelds={} | |
125 | local necko=euler(0,0,0)*cf(0,3,0) | |
126 | local attack=false | |
127 | local jump=false | |
128 | local hitfloor,posfloor=nil,nil | |
129 | local target,distance=nil,nil | |
130 | local meleecooldown=0 | |
131 | local mcdadd=1 | |
132 | local summoncrystals=0 | |
133 | local crystals=false | |
134 | local stunanim=false | |
135 | ||
136 | if workspace:findFirstChild("Neflhelm",true) ~= nil then | |
137 | workspace:findFirstChild("Neflhelm",true).Parent = nil | |
138 | end | |
139 | ||
140 | function NoOutline(Part) | |
141 | Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10 | |
142 | end | |
143 | ||
144 | function swait(num) | |
145 | if num==0 or num==nil then | |
146 | --if Stagger.Value==false or Stun.Value<=100 then | |
147 | script.Heartbeat.Event:wait() | |
148 | --end | |
149 | else | |
150 | for i=0,num do | |
151 | script.Heartbeat.Event:wait() | |
152 | --[[if Stagger.Value==true or Stun.Value>=StunT.Value then | |
153 | break | |
154 | end]] | |
155 | end | |
156 | end | |
157 | end | |
158 | ||
159 | --30hz Pacemaker | |
160 | ||
161 | frame = 1/30 | |
162 | tf = 0 | |
163 | allowframeloss = false --if set to true will fire every frame it possibly can. This will result in multiple events happening at the same time whenever delta returns frame*2 or greater. | |
164 | tossremainder = false --if set to true t will be set to 0 after Fire()-ing. | |
165 | lastframe = tick() | |
166 | script.Heartbeat:Fire() --ayy lmao | |
167 | ||
168 | game:GetService("RunService").Heartbeat:connect(function(s,p) --herp derp | |
169 | tf = tf + s | |
170 | if tf >= frame then | |
171 | if allowframeloss then | |
172 | script.Heartbeat:Fire() | |
173 | lastframe=tick() | |
174 | else | |
175 | ----print("FIRED "..math.floor(t/frame).." FRAME(S)","REMAINDER "..(t - frame*(math.floor(t/frame)))) | |
176 | for i=1, math.floor(tf/frame) do | |
177 | script.Heartbeat:Fire() | |
178 | end | |
179 | lastframe=tick() | |
180 | end | |
181 | if tossremainder then | |
182 | tf = 0 | |
183 | else | |
184 | tf = tf - frame * math.floor(tf/frame) | |
185 | end | |
186 | end | |
187 | end) | |
188 | ||
189 | function clerp(a,b,t) | |
190 | local qa = {QuaternionFromCFrame(a)} | |
191 | local qb = {QuaternionFromCFrame(b)} | |
192 | local ax, ay, az = a.x, a.y, a.z | |
193 | local bx, by, bz = b.x, b.y, b.z | |
194 | local _t = 1-t | |
195 | return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) | |
196 | end | |
197 | ||
198 | function QuaternionFromCFrame(cf) | |
199 | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() | |
200 | local trace = m00 + m11 + m22 | |
201 | if trace > 0 then | |
202 | local s = math.sqrt(1 + trace) | |
203 | local recip = 0.5/s | |
204 | return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 | |
205 | else | |
206 | local i = 0 | |
207 | if m11 > m00 then | |
208 | i = 1 | |
209 | end | |
210 | if m22 > (i == 0 and m00 or m11) then | |
211 | i = 2 | |
212 | end | |
213 | if i == 0 then | |
214 | local s = math.sqrt(m00-m11-m22+1) | |
215 | local recip = 0.5/s | |
216 | return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip | |
217 | elseif i == 1 then | |
218 | local s = math.sqrt(m11-m22-m00+1) | |
219 | local recip = 0.5/s | |
220 | return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip | |
221 | elseif i == 2 then | |
222 | local s = math.sqrt(m22-m00-m11+1) | |
223 | local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip | |
224 | end | |
225 | end | |
226 | end | |
227 | ||
228 | function QuaternionToCFrame(px, py, pz, x, y, z, w) | |
229 | local xs, ys, zs = x + x, y + y, z + z | |
230 | local wx, wy, wz = w*xs, w*ys, w*zs | |
231 | local xx = x*xs | |
232 | local xy = x*ys | |
233 | local xz = x*zs | |
234 | local yy = y*ys | |
235 | local yz = y*zs | |
236 | local zz = z*zs | |
237 | return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy)) | |
238 | end | |
239 | ||
240 | function QuaternionSlerp(a, b, t) | |
241 | local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] | |
242 | local startInterp, finishInterp; | |
243 | if cosTheta >= 0.0001 then | |
244 | if (1 - cosTheta) > 0.0001 then | |
245 | local theta = math.acos(cosTheta) | |
246 | local invSinTheta = 1/math.sin(theta) | |
247 | startInterp = math.sin((1-t)*theta)*invSinTheta | |
248 | finishInterp = math.sin(t*theta)*invSinTheta | |
249 | else | |
250 | startInterp = 1-t | |
251 | finishInterp = t | |
252 | end | |
253 | else | |
254 | if (1+cosTheta) > 0.0001 then | |
255 | local theta = math.acos(-cosTheta) | |
256 | local invSinTheta = 1/math.sin(theta) | |
257 | startInterp = math.sin((t-1)*theta)*invSinTheta | |
258 | finishInterp = math.sin(t*theta)*invSinTheta | |
259 | else | |
260 | startInterp = t-1 | |
261 | finishInterp = t | |
262 | end | |
263 | end | |
264 | return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp | |
265 | end | |
266 | ||
267 | function part(formfactor,parent,reflectance,transparency,brickcolor,name,size) | |
268 | local fp=it("Part") | |
269 | fp.formFactor=formfactor | |
270 | fp.Parent=parent | |
271 | fp.Reflectance=reflectance | |
272 | fp.Transparency=transparency | |
273 | fp.CanCollide=false | |
274 | fp.Locked=true | |
275 | fp.BrickColor=brickcolor | |
276 | fp.Name=name | |
277 | fp.Size=size | |
278 | NoOutline(fp) | |
279 | fp.Material="SmoothPlastic" | |
280 | fp:BreakJoints() | |
281 | return fp | |
282 | end | |
283 | ||
284 | function mesh(Mesh,part,meshtype,meshid,offset,scale) | |
285 | local mesh=it(Mesh) | |
286 | mesh.Parent=part | |
287 | if Mesh=="SpecialMesh" then | |
288 | mesh.MeshType=meshtype | |
289 | if meshid~="nil" then | |
290 | mesh.MeshId="http://www.roblox.com/asset/?id="..meshid | |
291 | end | |
292 | end | |
293 | mesh.Offset=offset | |
294 | mesh.Scale=scale | |
295 | return mesh | |
296 | end | |
297 | ||
298 | function weld(parent,part0,part1,c0) | |
299 | local weld=it("Motor") | |
300 | weld.Parent=parent | |
301 | weld.Part0=part0 | |
302 | weld.Part1=part1 | |
303 | weld.C0=c0 | |
304 | return weld | |
305 | end | |
306 | ||
307 | function gui(GuiType,parent,text,backtrans,backcol,pos,size,image) | |
308 | local gui=it(GuiType) | |
309 | gui.Parent=parent | |
310 | gui.BackgroundTransparency=backtrans | |
311 | gui.BackgroundColor3=backcol | |
312 | gui.SizeConstraint="RelativeXY" | |
313 | gui.Position=pos | |
314 | gui.Size=size | |
315 | if GuiType=="TextLabel" then | |
316 | gui.Text=text | |
317 | gui.TextXAlignment="Center" | |
318 | gui.TextYAlignment="Center" | |
319 | gui.Font="SourceSans" | |
320 | gui.FontSize="Size14" | |
321 | gui.TextWrapped=false | |
322 | gui.TextStrokeTransparency=0 | |
323 | gui.TextColor=BrickColor.new("White") | |
324 | elseif GuiType=="ImageLabel" then | |
325 | gui.Image="rbxassetid://"..image | |
326 | gui.ImageColor3=backcol | |
327 | end | |
328 | return gui | |
329 | end | |
330 | ||
331 | local nr=NumberRange.new | |
332 | local ns=NumberSequence.new | |
333 | local cs=ColorSequence.new | |
334 | local nsk=NumberSequenceKeypoint.new | |
335 | ||
336 | function particle(parent,col1,col2,lightemis,size,texture,transparency,zoffset,accel,drag,ltp,velinher,emisdir,enabled,lifetime,rate,rotation,rotspeed,speed,velspread) | |
337 | local fp=it("ParticleEmitter") | |
338 | fp.Parent=parent | |
339 | fp.Color=cs(col1,col2) | |
340 | fp.LightEmission=lightemis | |
341 | fp.Size=size | |
342 | fp.Texture=texture | |
343 | fp.Transparency=transparency | |
344 | fp.ZOffset=zoffset | |
345 | fp.Acceleration=accel | |
346 | fp.Drag=drag | |
347 | fp.LockedToPart=ltp | |
348 | fp.VelocityInheritance=velinher | |
349 | fp.EmissionDirection=emisdir | |
350 | fp.Enabled=enabled | |
351 | fp.Lifetime=lifetime | |
352 | fp.Rate=rate | |
353 | fp.Rotation=rotation | |
354 | fp.RotSpeed=rotspeed | |
355 | fp.Speed=speed | |
356 | fp.VelocitySpread=velspread | |
357 | return fp | |
358 | end | |
359 | ||
360 | --[[local Head=part(0,Character,0,0,BrickColor.new("Pearl"),"Head",vt(2,2,2)) Head.Material="Sand" | |
361 | local Torso=part(0,Character,0,0,BrickColor.new("Pearl"),"Torso",vt(2,2,2)) Torso.Material="Sand"]] | |
362 | Head.Size = vt(2,2,2) | |
363 | Torso.Size = vt(2,2,2) | |
364 | Head.BrickColor = BrickColor.new("Pearl") | |
365 | Torso.BrickColor = BrickColor.new("Pearl") | |
366 | Head.Material = "Sand" | |
367 | Torso.Material = "Sand" | |
368 | Head.face:Destroy() | |
369 | workspace.CurrentCamera.CameraSubject = Torso | |
370 | local Back=part(0,Character,0,0,BrickColor.new("Pearl"),"Back",vt(2,2,2)) Back.Material="Sand" | |
371 | local Lower1=part(0,Character,0,0,BrickColor.new("Pearl"),"Lower1",vt(2,2,2)) Lower1.Material="Sand" | |
372 | local Lower2=part(0,Character,0,0,BrickColor.new("Pearl"),"Lower2",vt(2,2,2)) Lower2.Material="Sand" | |
373 | ||
374 | --local RootPart=part(0,Character,0,0,BrickColor.new("White"),"HumanoidRootPart",vt(2,2,1)) | |
375 | --RootPart.CanCollide=false | |
376 | ||
377 | local HMesh=mesh("SpecialMesh",Head,"Sphere","nil",vt(0,0,0),vt(59.5,59.5,59.5)) | |
378 | local TMesh=mesh("SpecialMesh",Torso,"Sphere","nil",vt(0,0,0),vt(105,105,105)) | |
379 | local BMesh=mesh("SpecialMesh",Back,"Sphere","nil",vt(0,0,0),vt(100,100,100)) | |
380 | local L1Mesh=mesh("SpecialMesh",Lower1,"Sphere","nil",vt(0,0,0),vt(90,90,90)) | |
381 | local L2Mesh=mesh("SpecialMesh",Lower2,"Sphere","nil",vt(0,0,0),vt(90,90,90)) | |
382 | ||
383 | --[[local Neck=weld(Torso,Torso,Head,cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)) | |
384 | Neck.C1=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)]] | |
385 | local Neck=weld(Torso,Torso,Head,euler(0,0,0)*cf(0,35,0)) | |
386 | --Neck.C1=cf(0,-1.5,0) | |
387 | Neck.C1=cf(0,-80,0) | |
388 | --Neck.C0=clerp(Neck.C0,euler(0,0,0)*cf(0,115,0)*euler(-.3,0,0),.3) | |
389 | local RootJoint=weld(Torso,Torso,RootPart,cf(-1.749,-200,0)) | |
390 | local BackJoint=weld(Torso,Torso,Back,cf(0,51,-87.75)) | |
391 | local L1Joint=weld(Torso,Torso,Lower1,cf(0,-42,-7.75)) | |
392 | local L2Joint=weld(Torso,Torso,Lower2,cf(0,-54.75,-16.749)) | |
393 | --Torso.CFrame=cf(0,20,0) | |
394 | RootPart.Anchored=true | |
395 | for d=10,180,10 do | |
396 | for i=10,360,10 do | |
397 | local Hitbox1=part(0,Character,0,1,BrickColor.new("Black"),"Left Arm",vt(1,1,1)) Hitbox1.Material="Sand" | |
398 | local HbMesh=mesh("SpecialMesh",Hitbox1,"Sphere","nil",vt(0,0,0),vt(1,1,1)) | |
399 | --local HHJoint=weld(Hitbox1,Hitbox1,Head,cf(60/(d/30),d,0)*euler(0,math.rad(i),0)) | |
400 | local HHJoint=weld(Hitbox1,Hitbox1,Head,cf(60,0,0)*euler(0,math.rad(i),math.rad(d))) | |
401 | end | |
402 | end | |
403 | ||
404 | Humanoid.Animator:Destroy() | |
405 | Character.Animate:Destroy() | |
406 | ||
407 | local armor=Instance.new("Model") | |
408 | armor.Parent=Character | |
409 | armor.Name="Body" | |
410 | --RootPart.Parent=armor | |
411 | ||
412 | prt1=part(3,armor,0,0,BrickColor.new("Pearl"),"Part01",vt(2,2,2)) prt1.Material="Sand" | |
413 | prt2=part(3,armor,0,0,BrickColor.new("Really black"),"Part02",vt(2,2,2)) | |
414 | prt3=part(3,armor,0,0,BrickColor.new("Bright blue"),"Part03",vt(2,2,2)) prt3.Material="Neon" | |
415 | prt4=part(3,armor,0,0,BrickColor.new("Really black"),"Part04",vt(2,2,2)) | |
416 | prt5=part(3,armor,0,0,BrickColor.new("Bright blue"),"Part05",vt(2,2,2)) prt5.Material="Neon" | |
417 | prt6=part(3,armor,0,0,BrickColor.new("Pearl"),"Part06",vt(2,2,2)) prt6.Material="Sand" | |
418 | prt7=part(3,armor,0,0,BrickColor.new("Pearl"),"Part07",vt(2,2,2)) prt7.Material="Sand" | |
419 | prt8=part(3,armor,0,0,BrickColor.new("Pearl"),"Part08",vt(2,2,2)) prt8.Material="Sand" | |
420 | prt9=part(3,armor,0,0,BrickColor.new("Pearl"),"Part09",vt(2,2,2)) prt9.Material="Sand" | |
421 | prt10=part(3,armor,0,0,BrickColor.new("Pearl"),"Part10",vt(2,2,2)) prt10.Material="Sand" | |
422 | prt11=part(3,armor,.4,0,BrickColor.new("Pearl"),"Part11",vt(2,2,2)) | |
423 | prt12=part(3,armor,.4,0,BrickColor.new("Pastel light blue"),"Part12",vt(2,2,2)) | |
424 | prt13=part(3,armor,.4,0,BrickColor.new("Pearl"),"Part13",vt(2,2,2)) | |
425 | prt14=part(3,armor,.4,0,BrickColor.new("Pearl"),"Part14",vt(2,2,2)) | |
426 | prt15=part(3,armor,.4,0,BrickColor.new("Pearl"),"Part15",vt(2,2,2)) | |
427 | prt16=part(3,armor,.4,0,BrickColor.new("Pearl"),"Part16",vt(2,2,2)) | |
428 | prt17=part(3,armor,.4,0,BrickColor.new("Pearl"),"Part17",vt(2,2,2)) | |
429 | prt18=part(3,armor,.4,0,BrickColor.new("Pearl"),"Part18",vt(2,2,2)) | |
430 | prt19=part(3,armor,0,0,BrickColor.new("Pearl"),"Part19",vt(2,2,2)) prt19.Material="Sand" --main right arm | |
431 | prt20=part(3,armor,0,0,BrickColor.new("Pearl"),"Part20",vt(2,2,2)) prt20.Material="Sand" | |
432 | prt21=part(3,armor,0,0,BrickColor.new("Pearl"),"Part21",vt(2,2,2)) prt21.Material="Sand" --second right arm point | |
433 | prt22=part(3,armor,0,0,BrickColor.new("Pearl"),"Part22",vt(2,2,2)) prt22.Material="Sand" | |
434 | prt23=part(3,armor,0,0,BrickColor.new("Pearl"),"Part23",vt(2,2,2)) prt23.Material="Sand" | |
435 | prt24=part(3,armor,0,0,BrickColor.new("Pearl"),"Part24",vt(2,2,2)) prt24.Material="Sand" --third right arm point | |
436 | prt25=part(3,armor,0,0,BrickColor.new("Pearl"),"Part25",vt(2,2,2)) prt25.Material="Sand" | |
437 | prt26=part(3,armor,0,0,BrickColor.new("Pearl"),"Part26",vt(2,2,2)) prt26.Material="Sand" | |
438 | prt27=part(3,armor,0,0,BrickColor.new("Pearl"),"Part27",vt(2,2,2)) prt27.Material="Sand" | |
439 | prt28=part(3,armor,0,0,BrickColor.new("Pearl"),"Part28",vt(2,2,2)) prt28.Material="Sand" | |
440 | prt29=part(3,armor,0,0,BrickColor.new("Pearl"),"Part29",vt(2,2,2)) prt29.Material="Sand" --fourth right arm point | |
441 | prt30=part(3,armor,0,0,BrickColor.new("Pearl"),"Part30",vt(2,2,2)) prt30.Material="Sand" | |
442 | prt31=part(3,armor,0,0,BrickColor.new("Pearl"),"Part31",vt(2,2,2)) prt31.Material="Sand" | |
443 | prt32=part(3,armor,0,0,BrickColor.new("Pearl"),"Part32",vt(2,2,2)) prt32.Material="Sand" | |
444 | prt33=part(3,armor,0,0,BrickColor.new("Pearl"),"Part33",vt(2,2,2)) prt33.Material="Sand" --main left arm | |
445 | prt34=part(3,armor,0,0,BrickColor.new("Pearl"),"Part34",vt(2,2,2)) prt34.Material="Sand" | |
446 | prt35=part(3,armor,0,0,BrickColor.new("Pearl"),"Part35",vt(2,2,2)) prt35.Material="Sand" --second right arm point | |
447 | prt36=part(3,armor,0,0,BrickColor.new("Pearl"),"Part36",vt(2,2,2)) prt36.Material="Sand" | |
448 | prt37=part(3,armor,0,0,BrickColor.new("Pearl"),"Part37",vt(2,2,2)) prt37.Material="Sand" | |
449 | prt38=part(3,armor,0,0,BrickColor.new("Pearl"),"Part38",vt(2,2,2)) prt38.Material="Sand" --third right arm point | |
450 | prt39=part(3,armor,0,0,BrickColor.new("Pearl"),"Part39",vt(2,2,2)) prt39.Material="Sand" | |
451 | prt40=part(3,armor,0,0,BrickColor.new("Pearl"),"Part40",vt(2,2,2)) prt40.Material="Sand" | |
452 | prt41=part(3,armor,0,0,BrickColor.new("Pearl"),"Part41",vt(2,2,2)) prt41.Material="Sand" | |
453 | prt42=part(3,armor,0,0,BrickColor.new("Pearl"),"Part42",vt(2,2,2)) prt42.Material="Sand" | |
454 | prt43=part(3,armor,0,0,BrickColor.new("Pearl"),"Part43",vt(2,2,2)) prt43.Material="Sand" --fourth right arm point | |
455 | prt44=part(3,armor,0,0,BrickColor.new("Pearl"),"Part44",vt(2,2,2)) prt44.Material="Sand" | |
456 | prt45=part(3,armor,0,0,BrickColor.new("Pearl"),"Part45",vt(2,2,2)) prt45.Material="Sand" | |
457 | prt46=part(3,armor,0,0,BrickColor.new("Pearl"),"Part46",vt(2,2,2)) prt46.Material="Sand" | |
458 | ||
459 | msh1=mesh("SpecialMesh",prt1,"FileMesh","62740878",vt(0,0,0),vt(80,50,80)) | |
460 | msh2=mesh("SpecialMesh",prt2,"Sphere","nil",vt(0,0,0),vt(5,10,10)) | |
461 | msh3=mesh("SpecialMesh",prt3,"Sphere","nil",vt(0,0,0),vt(4,8.5,8.5)) | |
462 | msh4=mesh("SpecialMesh",prt4,"Sphere","nil",vt(0,0,0),vt(5,10,10)) | |
463 | msh5=mesh("SpecialMesh",prt5,"Sphere","nil",vt(0,0,0),vt(4,8.5,8.5)) | |
464 | msh6=mesh("SpecialMesh",prt6,"FileMesh","1323306",vt(0,0,0),vt(100,100,100)) | |
465 | msh7=mesh("SpecialMesh",prt7,"FileMesh","1323306",vt(0,0,0),vt(100,100,100)) | |
466 | msh8=mesh("SpecialMesh",prt8,"FileMesh","1323306",vt(0,0,0),vt(100,100,100)) | |
467 | msh9=mesh("SpecialMesh",prt9,"FileMesh","1323306",vt(0,0,0),vt(100,100,100)) | |
468 | msh10=mesh("SpecialMesh",prt10,"FileMesh","1323306",vt(0,0,0),vt(100,100,100)) | |
469 | msh11=mesh("SpecialMesh",prt11,"FileMesh","9756362",vt(0,0,0),vt(20,90,20)) | |
470 | msh12=mesh("SpecialMesh",prt12,"FileMesh","9756362",vt(0,0,0),vt(20,100,27.5)) | |
471 | msh13=mesh("SpecialMesh",prt13,"FileMesh","9756362",vt(0,0,0),vt(12.5,90,12.5)) | |
472 | msh14=mesh("SpecialMesh",prt14,"FileMesh","9756362",vt(0,0,0),vt(12.5,90,12.5)) | |
473 | msh15=mesh("SpecialMesh",prt15,"FileMesh","9756362",vt(0,0,0),vt(12.5,90,12.5)) | |
474 | msh16=mesh("SpecialMesh",prt16,"FileMesh","9756362",vt(0,0,0),vt(12.5,90,12.5)) | |
475 | msh17=mesh("SpecialMesh",prt17,"FileMesh","9756362",vt(0,0,0),vt(12.5,90,12.5)) | |
476 | msh18=mesh("SpecialMesh",prt18,"FileMesh","9756362",vt(0,0,0),vt(12.5,90,12.5)) | |
477 | msh19=mesh("SpecialMesh",prt19,"Sphere","nil",vt(0,0,0),vt(65,65,65)) | |
478 | msh20=mesh("SpecialMesh",prt20,"FileMesh","1323306",vt(0,0,0),vt(100,100,100)) | |
479 | msh21=mesh("CylinderMesh",prt21,"nil","nil",vt(0,0,0),vt(50,30,50)) | |
480 | msh22=mesh("SpecialMesh",prt22,"Sphere","nil",vt(0,0,0),vt(50,50,50)) | |
481 | msh23=mesh("SpecialMesh",prt23,"Sphere","nil",vt(0,0,0),vt(50,50,50)) | |
482 | msh24=mesh("CylinderMesh",prt24,"nil","nil",vt(0,0,0),vt(65,10,65)) | |
483 | msh25=mesh("SpecialMesh",prt25,"Sphere","nil",vt(0,0,0),vt(65,65,65)) | |
484 | msh26=mesh("SpecialMesh",prt26,"Sphere","nil",vt(0,0,0),vt(65,65,65)) | |
485 | msh27=mesh("SpecialMesh",prt27,"FileMesh","1033714",vt(0,0,0),vt(12.5,160,12.5)) | |
486 | msh28=mesh("SpecialMesh",prt28,"FileMesh","1033714",vt(0,0,0),vt(12.5,160,12.5)) | |
487 | msh29=mesh("CylinderMesh",prt29,"nil","nil",vt(0,0,0),vt(52.5,60,52.5)) | |
488 | msh30=mesh("SpecialMesh",prt30,"Sphere","nil",vt(0,0,0),vt(52.5,52.5,52.5)) | |
489 | msh31=mesh("SpecialMesh",prt31,"Sphere","nil",vt(0,0,0),vt(85,85,85)) | |
490 | msh32=mesh("SpecialMesh",prt32,"FileMesh","1290033",vt(0,0,0),vt(90,90,90)) | |
491 | msh33=mesh("SpecialMesh",prt33,"Sphere","nil",vt(0,0,0),vt(65,65,65)) | |
492 | msh34=mesh("SpecialMesh",prt34,"FileMesh","1323306",vt(0,0,0),vt(100,100,100)) | |
493 | msh35=mesh("CylinderMesh",prt35,"nil","nil",vt(0,0,0),vt(50,30,50)) | |
494 | msh36=mesh("SpecialMesh",prt36,"Sphere","nil",vt(0,0,0),vt(50,50,50)) | |
495 | msh37=mesh("SpecialMesh",prt37,"Sphere","nil",vt(0,0,0),vt(50,50,50)) | |
496 | msh38=mesh("CylinderMesh",prt38,"nil","nil",vt(0,0,0),vt(65,10,65)) | |
497 | msh39=mesh("SpecialMesh",prt39,"Sphere","nil",vt(0,0,0),vt(65,65,65)) | |
498 | msh40=mesh("SpecialMesh",prt40,"Sphere","nil",vt(0,0,0),vt(65,65,65)) | |
499 | msh41=mesh("SpecialMesh",prt41,"FileMesh","1033714",vt(0,0,0),vt(12.5,160,12.5)) | |
500 | msh42=mesh("SpecialMesh",prt42,"FileMesh","1033714",vt(0,0,0),vt(12.5,160,12.5)) | |
501 | msh43=mesh("CylinderMesh",prt43,"nil","nil",vt(0,0,0),vt(52.5,60,52.5)) | |
502 | msh44=mesh("SpecialMesh",prt44,"Sphere","nil",vt(0,0,0),vt(52.5,52.5,52.5)) | |
503 | msh45=mesh("SpecialMesh",prt45,"Sphere","nil",vt(0,0,0),vt(85,85,85)) | |
504 | msh46=mesh("SpecialMesh",prt46,"FileMesh","1290033",vt(0,0,0),vt(90,90,90)) | |
505 | ||
506 | local wld1=weld(prt1,prt1,Head,euler(0,math.rad(180),0)*cf(-4.597,-46.367,0)) | |
507 | local wld2=weld(prt1,prt2,Head,euler(0,math.rad(90+(90-65)),0)*cf(23.772,0,-50.979)) | |
508 | local wld3=weld(prt1,prt3,Head,euler(0,math.rad(90+(90-65)),0)*cf(24.406,0,-52.339)) | |
509 | local wld4=weld(prt1,prt4,Head,euler(0,math.rad(65),0)*cf(-23.772,0,-50.979)) | |
510 | local wld5=weld(prt1,prt5,Head,euler(0,math.rad(65),0)*cf(-24.406,0,-52.339)) | |
511 | local wld6=weld(prt1,prt6,Torso,euler(math.rad(63.644),0,0)*cf(0,-118.531,124.184)) | |
512 | local wld7=weld(prt1,prt7,Torso,euler(math.rad(-90-165.516),0,0)*cf(0,-1.816,157.992)) | |
513 | local wld8=weld(prt1,prt8,Torso,euler(math.rad(171.785),0,0)*cf(-3.372,67.659,3.285)) | |
514 | local wld9=weld(prt1,prt9,Torso,euler(math.rad(-90-55),math.rad(-90-65),0)*cf(-32.5,66.459,35.483)) | |
515 | local wld10=weld(prt1,prt10,Torso,euler(math.rad(-90-60),math.rad(-90-115),0)*cf(32.5,66.459,35.483)) | |
516 | local wld11=weld(prt1,prt11,Torso,euler(0,math.rad(45),0)*cf(0,0,-104.75)) | |
517 | local wld12=weld(prt1,prt12,Torso,euler(0,math.rad(90),0)*cf(0,0,-104.75)) | |
518 | local wld13=weld(prt1,prt13,Torso,euler(0,math.rad(90),math.rad(-35))*cf(32.009,-22.413,-88.007)) | |
519 | local wld14=weld(prt1,prt14,Torso,euler(0,math.rad(90),math.rad(35))*cf(-32.009,-22.413,-88.007)) | |
520 | local wld15=weld(prt1,prt15,Torso,euler(0,math.rad(90),math.rad(90))*cf(32.075,0,-88.007)) | |
521 | local wld16=weld(prt1,prt16,Torso,euler(0,math.rad(90),math.rad(-90))*cf(-32.075,0,-88.007)) | |
522 | local wld17=weld(prt1,prt17,Torso,euler(0,math.rad(90),math.rad(90-35))*cf(32.009,22.413,-88.007)) | |
523 | local wld18=weld(prt1,prt18,Torso,euler(0,math.rad(90),math.rad(-90+35))*cf(-32.009,22.413,-88.007)) | |
524 | local wld19=weld(prt1,prt19,Torso,euler(0,0,0)*cf(94,-47.5,-2.248)) | |
525 | local wld20=weld(prt1,prt20,prt19,euler(math.rad(90),math.rad(-90+75),0)*cf(21.417,0,79.93)) | |
526 | local wld21=weld(prt1,prt21,prt19,euler(0,0,math.rad(90))*cf(74.25,0,0)) | |
527 | local wld22=weld(prt1,prt22,prt21,euler(0,0,0)*cf(0,-30,0)) | |
528 | local wld23=weld(prt1,prt23,prt21,euler(0,0,0)*cf(0,30,0)) | |
529 | local wld24=weld(prt1,prt24,prt21,euler(0,0,0)*cf(0,90.25,0)) | |
530 | local wld25=weld(prt1,prt25,prt24,euler(0,0,0)*cf(0,10,0)) | |
531 | local wld26=weld(prt1,prt26,prt24,euler(0,0,0)*cf(0,-10,0)) | |
532 | local wld27=weld(prt1,prt27,prt24,euler(0,0,math.rad(-90))*cf(88.5,0,0)) | |
533 | local wld28=weld(prt1,prt28,prt24,euler(0,0,math.rad(90))*cf(-88.5,0,0)) | |
534 | local wld29=weld(prt1,prt29,prt24,euler(0,0,0)*cf(0,125,0)) | |
535 | local wld30=weld(prt1,prt30,prt29,euler(0,0,0)*cf(0,-60,0)) | |
536 | local wld31=weld(prt1,prt31,prt29,euler(0,0,0)*cf(0,130,0)) | |
537 | local wld32=weld(prt1,prt32,prt29,euler(0,0,0)*cf(0,130,0)) | |
538 | local wld33=weld(prt1,prt33,Torso,euler(0,0,0)*cf(-94,-47.5,-2.248)) | |
539 | local wld34=weld(prt1,prt34,prt33,euler(math.rad(-90),math.rad(-90-75),0)*cf(-21.417,0,79.93)) | |
540 | local wld35=weld(prt1,prt35,prt33,euler(0,0,math.rad(90))*cf(-74.25,0,0)) | |
541 | local wld36=weld(prt1,prt36,prt35,euler(0,0,0)*cf(0,30,0)) | |
542 | local wld37=weld(prt1,prt37,prt35,euler(0,0,0)*cf(0,-30,0)) | |
543 | local wld38=weld(prt1,prt38,prt35,euler(0,0,0)*cf(0,-90.25,0)) | |
544 | local wld39=weld(prt1,prt39,prt38,euler(0,0,0)*cf(0,-10,0)) | |
545 | local wld40=weld(prt1,prt40,prt38,euler(0,0,0)*cf(0,10,0)) | |
546 | local wld41=weld(prt1,prt41,prt38,euler(0,0,math.rad(-90))*cf(88.5,0,0)) | |
547 | local wld42=weld(prt1,prt42,prt38,euler(0,0,math.rad(90))*cf(-88.5,0,0)) | |
548 | local wld43=weld(prt1,prt43,prt38,euler(0,0,0)*cf(0,-125,0)) | |
549 | local wld44=weld(prt1,prt44,prt43,euler(0,0,0)*cf(0,60,0)) | |
550 | local wld45=weld(prt1,prt45,prt43,euler(0,0,0)*cf(0,-130,0)) | |
551 | local wld46=weld(prt1,prt46,prt43,euler(0,0,0)*cf(0,-130,0)) | |
552 | ||
553 | --[[wld19.C0=clerp(wld19.C0,euler(0,0,0)*cf(94,-47.5,-2.248),.3) | |
554 | wld21.C0=clerp(wld21.C0,euler(0,0,math.rad(90))*cf(74.25,0,0),.3) | |
555 | wld24.C0=clerp(wld24.C0,euler(0,0,0)*cf(0,90.25,0),.3) | |
556 | wld29.C0=clerp(wld29.C0,euler(0,0,0)*cf(0,125,0),.3) | |
557 | ||
558 | wld33.C0=clerp(wld33.C0,euler(0,0,0)*cf(-94,-47.5,-2.248),.3) | |
559 | wld35.C0=clerp(wld35.C0,euler(0,0,math.rad(90))*cf(-74.25,0,0),.3) | |
560 | wld38.C0=clerp(wld38.C0,euler(0,0,0)*cf(0,-90.25,0),.3) | |
561 | wld43.C0=clerp(wld43.C0,euler(0,0,0)*cf(0,-125,0),.3)]] | |
562 | ||
563 | local effects=it("Model",Character) | |
564 | effects.Name="Effects" | |
565 | ||
566 | local refs2={} | |
567 | local createref=true | |
568 | if workspace:findFirstChild("SnowfRef",true) ~= nil then | |
569 | createref=false | |
570 | end | |
571 | local refs=it("Model",nil) | |
572 | refs.Name="SnowfRef" | |
573 | ||
574 | --circle size 170,170,170 | |
575 | ||
576 | Ref1=part(0,refs,0,1,BrickColor.new("Black"),"Ref1",vt(210,210,210)) Ref1.CanCollide=true Ref1.Anchored=true Ref1.Shape="Ball" | |
577 | Ref2=part(0,refs,0,1,BrickColor.new("Black"),"Ref2",vt(119,119,119)) Ref2.CanCollide=true Ref2.Anchored=true Ref2.Shape="Ball" | |
578 | Ref3=part(0,refs,0,1,BrickColor.new("Black"),"Ref3",vt(130,130,130)) Ref3.CanCollide=true Ref3.Anchored=true Ref3.Shape="Ball" | |
579 | Ref4=part(0,refs,0,1,BrickColor.new("Black"),"Ref4",vt(130,100,100)) Ref4.CanCollide=true Ref4.Anchored=true Ref4.Shape="Cylinder" | |
580 | Ref5=part(0,refs,0,1,BrickColor.new("Black"),"Ref5",vt(130,130,130)) Ref5.CanCollide=true Ref5.Anchored=true Ref5.Shape="Ball" | |
581 | Ref6=part(0,refs,0,1,BrickColor.new("Black"),"Ref6",vt(160,105,105)) Ref6.CanCollide=true Ref6.Anchored=true Ref6.Shape="Cylinder" | |
582 | Ref7=part(0,refs,0,1,BrickColor.new("Black"),"Ref7",vt(170,170,170)) Ref7.CanCollide=true Ref7.Anchored=true Ref7.Shape="Ball" | |
583 | Ref8=part(0,refs,0,1,BrickColor.new("Black"),"Ref8",vt(130,130,130)) Ref8.CanCollide=true Ref8.Anchored=true Ref8.Shape="Ball" | |
584 | Ref9=part(0,refs,0,1,BrickColor.new("Black"),"Ref9",vt(130,100,100)) Ref9.CanCollide=true Ref9.Anchored=true Ref9.Shape="Cylinder" | |
585 | Ref10=part(0,refs,0,1,BrickColor.new("Black"),"Ref10",vt(130,130,130)) Ref10.CanCollide=true Ref10.Anchored=true Ref10.Shape="Ball" | |
586 | Ref11=part(0,refs,0,1,BrickColor.new("Black"),"Ref11",vt(160,105,105)) Ref11.CanCollide=true Ref11.Anchored=true Ref11.Shape="Cylinder" | |
587 | Ref12=part(0,refs,0,1,BrickColor.new("Black"),"Ref12",vt(170,170,170)) Ref12.CanCollide=true Ref12.Anchored=true Ref12.Shape="Ball" | |
588 | ||
589 | if createref==false then | |
590 | refs=workspace.SnowfRef | |
591 | Ref1=refs.Ref1 | |
592 | Ref2=refs.Ref2 | |
593 | Ref3=refs.Ref3 | |
594 | Ref4=refs.Ref4 | |
595 | Ref5=refs.Ref5 | |
596 | Ref6=refs.Ref6 | |
597 | Ref7=refs.Ref7 | |
598 | Ref8=refs.Ref8 | |
599 | Ref9=refs.Ref9 | |
600 | Ref10=refs.Ref10 | |
601 | Ref11=refs.Ref11 | |
602 | Ref12=refs.Ref12 | |
603 | else | |
604 | --refs.Parent=workspace | |
605 | end | |
606 | ||
607 | --[[R1wld=weld(Ref1,Ref1,Torso,euler(0,0,0)*cf(0,0,0)) | |
608 | R2wld=weld(Ref2,Ref2,Head,euler(0,0,0)*cf(0,0,0)) | |
609 | R3wld=weld(Ref3,Ref3,prt19,euler(0,0,0)*cf(0,0,0)) | |
610 | R4wld=weld(Ref4,Ref4,prt21,euler(0,0,0)*cf(0,0,0)) | |
611 | R5wld=weld(Ref5,Ref5,prt24,euler(0,0,0)*cf(0,0,0)) | |
612 | R6wld=weld(Ref6,Ref6,prt29,euler(0,0,0)*cf(0,0,0)) | |
613 | R7wld=weld(Ref7,Ref7,prt31,euler(0,0,0)*cf(0,0,0)) | |
614 | R8wld=weld(Ref8,Ref8,prt33,euler(0,0,0)*cf(0,0,0)) | |
615 | R9wld=weld(Ref9,Ref9,prt35,euler(0,0,0)*cf(0,0,0)) | |
616 | R10wld=weld(Ref10,Ref10,prt38,euler(0,0,0)*cf(0,0,0)) | |
617 | R11wld=weld(Ref11,Ref11,prt43,euler(0,0,0)*cf(0,0,0)) | |
618 | R12wld=weld(Ref12,Ref12,prt45,euler(0,0,0)*cf(0,0,0))]] | |
619 | table.insert(refs2,{Ref1,Torso,cf(0,0,0)}) | |
620 | table.insert(refs2,{Ref2,Head,cf(0,0,0)}) | |
621 | table.insert(refs2,{Ref3,prt19,cf(0,0,0)}) | |
622 | table.insert(refs2,{Ref4,prt21,euler(0,0,math.rad(90))}) | |
623 | table.insert(refs2,{Ref5,prt24,cf(0,0,0)}) | |
624 | table.insert(refs2,{Ref6,prt29,euler(0,0,math.rad(90))}) | |
625 | table.insert(refs2,{Ref7,prt31,cf(0,0,0)}) | |
626 | table.insert(refs2,{Ref8,prt33,cf(0,0,0)}) | |
627 | table.insert(refs2,{Ref9,prt35,euler(0,0,math.rad(90))}) | |
628 | table.insert(refs2,{Ref10,prt38,cf(0,0,0)}) | |
629 | table.insert(refs2,{Ref11,prt43,euler(0,0,math.rad(90))}) | |
630 | table.insert(refs2,{Ref12,prt45,cf(0,0,0)}) | |
631 | ||
632 | for _,c in pairs(armor:children()) do | |
633 | table.insert(armorparts,c) | |
634 | end | |
635 | --[[for _,c in pairs(modelzorz:children()) do | |
636 | table.insert(weaponparts,c) | |
637 | end]] | |
638 | for _,c in pairs(prt1:children()) do | |
639 | table.insert(weaponwelds,c) | |
640 | end | |
641 | local hitbox=part(3,nil,0,1,BrickColor.new("Black"),"Hitbox",vt(1,1,1)) | |
642 | --hitbox.Anchored=true | |
643 | local hitbox2=part(3,nil,0,1,BrickColor.new("Black"),"Hitbox",vt(1,1,1)) | |
644 | hitbox2.Anchored=true | |
645 | local hitboxCF=cf(0,0,0) | |
646 | ||
647 | --TehHealth=500+(#game.Players:GetChildren()*20) | |
648 | local CurrentHealth=3000 | |
649 | Humanoid.MaxHealth=CurrentHealth | |
650 | Humanoid.Health=CurrentHealth | |
651 | local Stats=Instance.new("BoolValue") | |
652 | Stats.Name="Stats" | |
653 | Stats.Parent=Character | |
654 | local Alive=Instance.new("BoolValue") | |
655 | Alive.Name="Alive" | |
656 | Alive.Parent=Character | |
657 | Alive.Value=true | |
658 | local Atk=Instance.new("NumberValue") | |
659 | Atk.Name="Damage" | |
660 | Atk.Parent=Stats | |
661 | Atk.Value=1 | |
662 | local Def=Instance.new("NumberValue") | |
663 | Def.Name="Defense" | |
664 | Def.Parent=Stats | |
665 | Def.Value=1 | |
666 | local Mvmt=Instance.new("NumberValue") | |
667 | Mvmt.Name="Movement" | |
668 | Mvmt.Parent=Stats | |
669 | Mvmt.Value=1 | |
670 | local Block=Instance.new("BoolValue") | |
671 | Block.Name="Block" | |
672 | Block.Parent=Stats | |
673 | Block.Value=false | |
674 | local Stun=Instance.new("NumberValue") | |
675 | Stun.Name="Stun" | |
676 | Stun.Parent=Stats | |
677 | Stun.Value=0 | |
678 | local StunT=Instance.new("NumberValue") | |
679 | StunT.Name="StunThreshold" | |
680 | StunT.Parent=Stats | |
681 | StunT.Value=800 | |
682 | local Rooted=Instance.new("BoolValue") | |
683 | Rooted.Name="Rooted" | |
684 | Rooted.Parent=Stats | |
685 | Rooted.Value=false | |
686 | local Stunned=Instance.new("BoolValue") | |
687 | Stunned.Name="Stunned" | |
688 | Stunned.Parent=Stats | |
689 | Stunned.Value=false | |
690 | local Stagger=Instance.new("BoolValue") | |
691 | Stagger.Name="Stagger" | |
692 | Stagger.Parent=Stats | |
693 | Stagger.Value=false | |
694 | local StaggerHit=Instance.new("BoolValue") | |
695 | StaggerHit.Name="StaggerHit" | |
696 | StaggerHit.Parent=Stats | |
697 | StaggerHit.Value=false | |
698 | local Decrease=Instance.new("BoolValue") | |
699 | Decrease.Name="Decrease" | |
700 | Decrease.Parent=Stats | |
701 | Decrease.Value=false | |
702 | local mana=Instance.new("NumberValue") | |
703 | mana.Name="Mana" | |
704 | mana.Parent=Stats | |
705 | mana.Value=0 | |
706 | local boss=Instance.new("BoolValue") | |
707 | boss.Name="Boss" | |
708 | boss.Parent=Stats | |
709 | boss.Value=true | |
710 | local ungrab=Instance.new("BoolValue") | |
711 | ungrab.Name="Ungrabbable" | |
712 | ungrab.Parent=Stats | |
713 | ungrab.Value=true | |
714 | ||
715 | local Cryst1=it("Model",nil) | |
716 | Cryst1.Name="Crystal" | |
717 | local C1Head=part(0,Cryst1,0,0,BrickColor.new("Pastel light blue"),"Head",vt(5,10,5)) C1Head.Anchored=true | |
718 | local C1msh=mesh("SpecialMesh",C1Head,"FileMesh","9756362",vt(0,0,0),vt(10,20,10)) | |
719 | local C1Torso=part(0,Cryst1,0,.5,BrickColor.new("Pastel light blue"),"Torso",vt()) C1Torso.Anchored=true | |
720 | local C1msh=mesh("SpecialMesh",C1Torso,"FileMesh","9756362",vt(0,0,0),vt(-20,-50,-20)) | |
721 | local C1S=Stats:Clone() C1S.Parent=Cryst1 | |
722 | local Cryst2=it("Model",nil) Cryst2.Name="Crystal" | |
723 | local C2Head=C1Head:Clone() C2Head.Parent=Cryst2 | |
724 | local C2Torso=C1Torso:Clone() C2Torso.Parent=Cryst2 | |
725 | local C2S=Stats:Clone() C2S.Parent=Cryst2 | |
726 | local Cryst3=it("Model",nil) Cryst3.Name="Crystal" | |
727 | local C3Head=C1Head:Clone() C3Head.Parent=Cryst3 | |
728 | local C3Torso=C1Torso:Clone() C3Torso.Parent=Cryst3 | |
729 | local C3S=Stats:Clone() C3S.Parent=Cryst3 | |
730 | local Cryst4=it("Model",nil) Cryst4.Name="Crystal" | |
731 | local C4Head=C1Head:Clone() C4Head.Parent=Cryst4 | |
732 | local C4Torso=C1Torso:Clone() C4Torso.Parent=Cryst4 | |
733 | local C4S=Stats:Clone() C4S.Parent=Cryst4 | |
734 | local C1Neck=weld(C1Torso,C1Torso,C1Head,euler(0,0,0)*cf(0,0,0)) | |
735 | local C2Neck=weld(C2Torso,C2Torso,C2Head,euler(0,0,0)*cf(0,0,0)) | |
736 | local C3Neck=weld(C3Torso,C3Torso,C3Head,euler(0,0,0)*cf(0,0,0)) | |
737 | local C4Neck=weld(C4Torso,C4Torso,C4Head,euler(0,0,0)*cf(0,0,0)) | |
738 | local C1Hum=it("Humanoid") | |
739 | local C2Hum=it("Humanoid") | |
740 | local C3Hum=it("Humanoid") | |
741 | local C4Hum=it("Humanoid") | |
742 | local C1a=false | |
743 | local C2a=false | |
744 | local C3a=false | |
745 | local C4a=false | |
746 | ||
747 | so = function(id,par,vol,pit) | |
748 | local sou = Instance.new("Sound",par or workspace) | |
749 | sou.Volume=vol | |
750 | sou.Pitch=pit or 1 | |
751 | sou.SoundId="http://www.roblox.com/asset/?id="..id | |
752 | --swait() | |
753 | sou:play() | |
754 | game:GetService("Debris"):AddItem(sou,6) | |
755 | end | |
756 | ||
757 | local function CFrameFromTopBack(at, top, back) | |
758 | local right = top:Cross(back) | |
759 | return CFrame.new(at.x, at.y, at.z, | |
760 | right.x, top.x, back.x, | |
761 | right.y, top.y, back.y, | |
762 | right.z, top.z, back.z) | |
763 | end | |
764 | ||
765 | function Triangle(a, b, c) | |
766 | local edg1 = (c-a):Dot((b-a).unit) | |
767 | local edg2 = (a-b):Dot((c-b).unit) | |
768 | local edg3 = (b-c):Dot((a-c).unit) | |
769 | if edg1 <= (b-a).magnitude and edg1 >= 0 then | |
770 | a, b, c = a, b, c | |
771 | elseif edg2 <= (c-b).magnitude and edg2 >= 0 then | |
772 | a, b, c = b, c, a | |
773 | elseif edg3 <= (a-c).magnitude and edg3 >= 0 then | |
774 | a, b, c = c, a, b | |
775 | else | |
776 | assert(false, "unreachable") | |
777 | end | |
778 | ||
779 | local len1 = (c-a):Dot((b-a).unit) | |
780 | local len2 = (b-a).magnitude - len1 | |
781 | local width = (a + (b-a).unit*len1 - c).magnitude | |
782 | ||
783 | local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit) | |
784 | ||
785 | local list = {} | |
786 | ||
787 | if len1 > 0.01 then | |
788 | local w1 = Instance.new('WedgePart', m) | |
789 | w1.Name = "Triangle" | |
790 | game:GetService("Debris"):AddItem(w1,5) | |
791 | w1.Material = "SmoothPlastic" | |
792 | w1.FormFactor = 'Custom' | |
793 | w1.BrickColor = BrickColor.new("Teal") | |
794 | w1.Transparency = 0 | |
795 | w1.Reflectance = 0 | |
796 | w1.Material = "SmoothPlastic" | |
797 | w1.CanCollide = false | |
798 | NoOutline(w1) | |
799 | local sz = Vector3.new(0.2, width, len1) | |
800 | w1.Size = sz | |
801 | local sp = Instance.new("SpecialMesh",w1) | |
802 | sp.MeshType = "Wedge" | |
803 | sp.Scale = Vector3.new(0,1,1) * sz/w1.Size | |
804 | w1:BreakJoints() | |
805 | w1.Anchored = true | |
806 | w1.Parent = workspace | |
807 | w1.Transparency = 0.7 | |
808 | table.insert(Effects,{w1,"Disappear",.05}) | |
809 | w1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2) | |
810 | table.insert(list,w1) | |
811 | end | |
812 | ||
813 | if len2 > 0.01 then | |
814 | local w2 = Instance.new('WedgePart', m) | |
815 | w2.Name = "Triangle" | |
816 | game:GetService("Debris"):AddItem(w2,5) | |
817 | w2.Material = "SmoothPlastic" | |
818 | w2.FormFactor = 'Custom' | |
819 | w2.BrickColor = BrickColor.new("Teal") | |
820 | w2.Transparency = 0 | |
821 | w2.Reflectance = 0 | |
822 | w2.Material = "SmoothPlastic" | |
823 | w2.CanCollide = false | |
824 | NoOutline(w2) | |
825 | local sz = Vector3.new(0.2, width, len2) | |
826 | w2.Size = sz | |
827 | local sp = Instance.new("SpecialMesh",w2) | |
828 | sp.MeshType = "Wedge" | |
829 | sp.Scale = Vector3.new(0,1,1) * sz/w2.Size | |
830 | w2:BreakJoints() | |
831 | w2.Anchored = true | |
832 | w2.Parent = workspace | |
833 | w2.Transparency = 0.7 | |
834 | table.insert(Effects,{w2,"Disappear",.05}) | |
835 | w2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2) | |
836 | table.insert(list,w2) | |
837 | end | |
838 | return unpack(list) | |
839 | end | |
840 | ||
841 | function MagicBlock(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay,Type) | |
842 | local prt=part(3,effects,0,0,brickcolor,"Effect",vt()) | |
843 | prt.Anchored=true | |
844 | prt.CFrame=cframe | |
845 | msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1)) | |
846 | game:GetService("Debris"):AddItem(prt,10) | |
847 | if Type==1 or Type==nil then | |
848 | table.insert(Effects,{prt,"Block1",delay,x3,y3,z3,msh}) | |
849 | elseif Type==2 then | |
850 | table.insert(Effects,{prt,"Block2",delay,x3,y3,z3,msh}) | |
851 | end | |
852 | end | |
853 | ||
854 | function MagicCircle(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) | |
855 | local prt=part(3,effects,0,0,brickcolor,"Effect",vt()) | |
856 | prt.Anchored=true | |
857 | prt.CFrame=cframe | |
858 | local msh=mesh("SpecialMesh",prt,"Sphere","nil",vt(0,0,0),vt(x1,y1,z1)) | |
859 | game:GetService("Debris"):AddItem(prt,10) | |
860 | table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh}) | |
861 | end | |
862 | ||
863 | function MagicCircle2(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay,push) | |
864 | local prt=part(3,effects,0,0,brickcolor,"Effect",vt()) | |
865 | prt.Anchored=true | |
866 | prt.CFrame=cframe | |
867 | local msh=mesh("SpecialMesh",prt,"Sphere","nil",vt(0,0,0),vt(x1,y1,z1)) | |
868 | game:GetService("Debris"):AddItem(prt,10) | |
869 | table.insert(Effects,{prt,"Blood",delay,x3,y3,z3,msh,push}) | |
870 | end | |
871 | ||
872 | function MagicRing(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) | |
873 | local prt=part(3,effects,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
874 | prt.Anchored=true | |
875 | prt.CFrame=cframe*cf(x2,y2,z2) | |
876 | local msh=mesh("SpecialMesh",prt,"FileMesh","3270017",vt(0,0,0),vt(x1,y1,z1)) | |
877 | game:GetService("Debris"):AddItem(prt,10) | |
878 | table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh}) | |
879 | end | |
880 | ||
881 | function MagicCylinder(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) | |
882 | local prt=part(3,effects,0,0,brickcolor,"Effect",vt()) | |
883 | prt.Anchored=true | |
884 | prt.CFrame=cframe | |
885 | local msh=mesh("CylinderMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1)) | |
886 | game:GetService("Debris"):AddItem(prt,10) | |
887 | table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh}) | |
888 | end | |
889 | ||
890 | function MagicHead(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) | |
891 | local prt=part(3,effects,0,0,brickcolor,"Effect",vt()) | |
892 | prt.Anchored=true | |
893 | prt.CFrame=cframe | |
894 | local msh=mesh("SpecialMesh",prt,"Head","nil",vt(0,0,0),vt(x1,y1,z1)) | |
895 | game:GetService("Debris"):AddItem(prt,10) | |
896 | table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh}) | |
897 | end | |
898 | ||
899 | function ClangEffect(brickcolor,cframe,duration,decrease,size,power) | |
900 | local prt=part(3,effects,0,1,brickcolor,"Effect",vt()) | |
901 | prt.Anchored=true | |
902 | prt.CFrame=cframe | |
903 | local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(5,5,5)) | |
904 | game:GetService("Debris"):AddItem(prt,10) | |
905 | table.insert(Effects,{prt,"CylinderClang",duration,decrease,size,power,prt.CFrame,nil}) | |
906 | end | |
907 | ||
908 | function MagicWave(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) | |
909 | local prt=part(3,effects,0,0,brickcolor,"Effect",vt()) | |
910 | prt.Anchored=true | |
911 | prt.CFrame=cframe | |
912 | local msh=mesh("SpecialMesh",prt,"FileMesh","20329976",vt(0,0,0),vt(x1,y1,z1)) | |
913 | game:GetService("Debris"):AddItem(prt,10) | |
914 | table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh}) | |
915 | end | |
916 | ||
917 | function MagicWave2(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) | |
918 | local prt=part(3,workspace,0,0,brickcolor,"Effect",vt()) | |
919 | prt.Anchored=true | |
920 | prt.CFrame=cframe | |
921 | local msh=mesh("SpecialMesh",prt,"FileMesh","1323306",vt(0,0,0),vt(x1,y1,z1)) | |
922 | game:GetService("Debris"):AddItem(prt,10) | |
923 | table.insert(Effects,{prt,"Cylinder2",delay,x3,y3,z3,msh,0}) | |
924 | end | |
925 | ||
926 | function MagicCrystal(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay) | |
927 | local prt=part(3,effects,0,0,brickcolor,"Effect",vt()) | |
928 | prt.Anchored=true | |
929 | prt.CFrame=cframe | |
930 | local msh=mesh("SpecialMesh",prt,"FileMesh","9756362",vt(0,0,0),vt(x1,y1,z1)) | |
931 | game:GetService("Debris"):AddItem(prt,10) | |
932 | table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh}) | |
933 | end | |
934 | ||
935 | function BreakEffect(brickcolor,cframe,x1,y1,z1) | |
936 | local prt=part(3,effects,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
937 | prt.Anchored=true | |
938 | prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
939 | game:GetService("Debris"):AddItem(prt,10) | |
940 | local msh=mesh("SpecialMesh",prt,"Sphere","nil",vt(0,0,0),vt(x1,y1,z1)) | |
941 | local num=math.random(10,50)/1000 | |
942 | table.insert(Effects,{prt,"Shatter",num,prt.CFrame,math.random()-math.random(),0,math.random(50,100)/100}) | |
943 | --table.insert(Effects,{prt,"Shatter",.02,msh}) | |
944 | --[[ | |
945 | 1=prt | |
946 | 2=Shatter | |
947 | 3=.02 | |
948 | 4=Thing[1].CFrame | |
949 | 5=randnum | |
950 | 6=Numbb | |
951 | coroutine.resume(coroutine.create(function(Part,CF,Numbb,randnumb) | |
952 | CF=Part.CFrame | |
953 | Numbb=0 | |
954 | randnumb=math.random()-math.random() | |
955 | for i=0,1,0.05 do | |
956 | wait() | |
957 | CF=CF*cf(0,1,0) | |
958 | --Part.CFrame=Part.CFrame*euler(0.5,0,0)*cf(0,1,0) | |
959 | Part.CFrame=CF*euler(Numbb,0,0) | |
960 | Part.Transparency=i | |
961 | Numbb=Numbb+randnumb | |
962 | end | |
963 | Part.Parent=nil | |
964 | end),prt,CF,Numbb,randnumb)]] | |
965 | end | |
966 | ||
967 | function BreakEffect2(brickcolor,cframe,x1,y1,z1) | |
968 | local prt=part(3,effects,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5)) | |
969 | prt.Anchored=true | |
970 | prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
971 | game:GetService("Debris"):AddItem(prt,10) | |
972 | local msh=mesh("SpecialMesh",prt,"Sphere","nil",vt(0,0,0),vt(x1,y1,z1)) | |
973 | local num=math.random(10,50)/1000 | |
974 | table.insert(Effects,{prt,"Shatter",num,prt.CFrame,math.random()-math.random(),0,math.random(300,1000)/100}) | |
975 | end | |
976 | ||
977 | ||
978 | --Break effect. Credits to whoever made it | |
979 | local MaxPieces = 10 | |
980 | local Explode = true | |
981 | local Connection = nil | |
982 | function IsWhole(Number) | |
983 | return math.ceil(Number) == Number | |
984 | end | |
985 | function ChangeAxis(Vector,Axis,Value) | |
986 | if(Axis == "x")then | |
987 | return Vector3.new(Value,Vector.y,Vector.z) | |
988 | end | |
989 | if(Axis == "y")then | |
990 | return Vector3.new(Vector.x,Value,Vector.z) | |
991 | end | |
992 | if(Axis == "z")then | |
993 | return Vector3.new(Vector.x,Vector.y,Value) | |
994 | end | |
995 | end | |
996 | function Break(mouse) | |
997 | local Targ = mouse | |
998 | local oldParent = mouse.Parent | |
999 | local FF = 1 | |
1000 | if(Targ.formFactor == Enum.FormFactor.Symmetric)then | |
1001 | FF = 1 | |
1002 | end | |
1003 | if(Targ.formFactor == Enum.FormFactor.Brick)then | |
1004 | FF = 1.2 | |
1005 | end | |
1006 | if(Targ.formFactor == Enum.FormFactor.Plate)then | |
1007 | FF = 0.4 | |
1008 | end | |
1009 | local New = Targ:Clone() | |
1010 | local Rotation = Targ.CFrame - Targ.CFrame.p | |
1011 | local SizeFactorX = 1 | |
1012 | local SizeFactorY = FF | |
1013 | local SizeFactorZ = 1 | |
1014 | local Extra = (Targ.Size.x*Targ.Size.y*Targ.Size.z/(SizeFactorX*SizeFactorY*SizeFactorZ))/MaxPieces | |
1015 | while Extra > 1 do | |
1016 | SizeFactorX = SizeFactorX * 2 | |
1017 | SizeFactorY = SizeFactorY * 2 | |
1018 | SizeFactorZ = SizeFactorZ * 2 | |
1019 | if(SizeFactorX > Targ.Size.x)then | |
1020 | SizeFactorX = Targ.Size.x | |
1021 | end | |
1022 | if(SizeFactorY > Targ.Size.y)then | |
1023 | SizeFactorY = Targ.Size.y | |
1024 | end | |
1025 | if(SizeFactorZ > Targ.Size.z)then | |
1026 | SizeFactorZ = Targ.Size.z | |
1027 | end | |
1028 | Extra = (Targ.Size.x*Targ.Size.y*Targ.Size.z/(SizeFactorX*SizeFactorY*SizeFactorZ))/MaxPieces | |
1029 | end | |
1030 | local Start = Targ.Position - (Targ.CFrame.lookVector * (Targ.Size.z/2 + (SizeFactorZ / 2)))-((Targ.CFrame * CFrame.fromEulerAnglesXYZ(0,math.pi/2,0)).lookVector * (Targ.Size.x/2 + (SizeFactorX / 2)))-((Targ.CFrame * CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)).lookVector * (Targ.Size.y/2 + (SizeFactorY/2))) | |
1031 | New.Size = Vector3.new(SizeFactorX,SizeFactorY,SizeFactorZ) | |
1032 | New.Anchored = false | |
1033 | local OverShootZ = (Targ.Size.z/SizeFactorZ) - math.floor(Targ.Size.z/SizeFactorZ) | |
1034 | local OverShootX = (Targ.Size.x/SizeFactorX) - math.floor(Targ.Size.x/SizeFactorX) | |
1035 | local OverShootY = (Targ.Size.y/SizeFactorY) - math.floor(Targ.Size.y/SizeFactorY) | |
1036 | ----print("SizeFactor",SizeFactorX,SizeFactorY,SizeFactorZ) | |
1037 | ----print("OverShoot",OverShootX,OverShootY,OverShootZ) | |
1038 | for z = 1,math.ceil(Targ.Size.z/SizeFactorZ) do | |
1039 | if(OverShootZ > 0)then | |
1040 | if(z == math.ceil(Targ.Size.z/SizeFactorZ))then | |
1041 | z = z - ((1 - OverShootZ) / 2) | |
1042 | New.Size = ChangeAxis(New.Size,"z",OverShootZ * SizeFactorZ) | |
1043 | else | |
1044 | New.Size = ChangeAxis(New.Size,"z",SizeFactorZ) | |
1045 | end | |
1046 | end | |
1047 | for y = 1,math.ceil(Targ.Size.y/SizeFactorY) do | |
1048 | if(OverShootY > 0)then | |
1049 | if(y == math.ceil(Targ.Size.y/SizeFactorY))then | |
1050 | y = y - ((1 - OverShootY) / 2) | |
1051 | New.Size = ChangeAxis(New.Size,"y",OverShootY * SizeFactorY) | |
1052 | else | |
1053 | New.Size = ChangeAxis(New.Size,"y",SizeFactorY) | |
1054 | end | |
1055 | end | |
1056 | for x = 1,math.ceil(Targ.Size.x/SizeFactorX) do | |
1057 | if(OverShootX > 0)then | |
1058 | if(x == math.ceil(Targ.Size.x/SizeFactorX))then | |
1059 | x = x - ((1 - OverShootX) / 2) | |
1060 | New.Size = ChangeAxis(New.Size,"x",OverShootX * SizeFactorX) | |
1061 | else | |
1062 | New.Size = ChangeAxis(New.Size,"x",SizeFactorX) | |
1063 | end | |
1064 | end | |
1065 | local N = New:Clone() | |
1066 | N.CFrame = CFrame.new(Start + (Targ.CFrame.lookVector * z * SizeFactorZ)+((Targ.CFrame * CFrame.fromEulerAnglesXYZ(0,math.pi/2,0)).lookVector * x * SizeFactorX)+((Targ.CFrame * CFrame.fromEulerAnglesXYZ(math.pi/2,0,0)).lookVector * y * SizeFactorY))*Rotation | |
1067 | --N.Parent = oldParent | |
1068 | N.Parent = workspace | |
1069 | N.CanCollide = false | |
1070 | N.Velocity = vt(math.random(-300,300),math.random(-20,40),math.random(-300,300)) | |
1071 | N.RotVelocity = vt(math.random(-100,100)/100,math.random(-100,100)/100,math.random(-100,100)/100) | |
1072 | game:GetService("Debris"):AddItem(N,5) | |
1073 | end | |
1074 | end | |
1075 | end | |
1076 | Targ:Remove() | |
1077 | end | |
1078 | ||
1079 | ||
1080 | ||
1081 | local BodGy=Instance.new("BodyGyro") | |
1082 | BodGy.maxTorque=Vector3.new(0,4e+005,0) | |
1083 | BodGy.P=2000 | |
1084 | BodGy.D=100 | |
1085 | BodGy.Name="SiegmundGyro" | |
1086 | CF=RootPart.CFrame | |
1087 | BodGy.Parent=RootPart | |
1088 | BodGy.cframe=CF | |
1089 | ||
1090 | sizeseq=ns({nsk(0,4),nsk(.027,8.5),nsk(.184,9),nsk(1,10)}) | |
1091 | transseq=ns({nsk(0,.375),nsk(.4,1),nsk(1,1)}) | |
1092 | local icicleparti1=particle(Torso,Color3.new(255/255,255/255,255/255),Color3.new(100/255,100/255,255/255),.2,sizeseq,"http://www.roblox.com/asset/?id=329766994",transseq,0,vt(0,-.5,0),0,false,0,"Bottom",false,nr(7,10),15,nr(-360,360),nr(-30,30),nr(3),20) | |
1093 | sizeseq=ns({nsk(0,5),nsk(.025,7.7),nsk(.192,9),nsk(1,10)}) | |
1094 | transseq=ns({nsk(0,.8),nsk(.3,1),nsk(1,1)}) | |
1095 | local icicleparti2=particle(Torso,Color3.new(255/255,255/255,255/255),Color3.new(100/255,100/255,255/255),.3,sizeseq,"http://www.roblox.com/asset/?id=241594419",transseq,0,vt(0,-.5,0),0,false,0,"Bottom",false,nr(7,10),80,nr(-360,360),nr(-30,30),nr(3),20) | |
1096 | sizeseq=ns({nsk(0,.328),nsk(.075,3.11),nsk(.206,4.97),nsk(1,10)}) | |
1097 | transseq=ns({nsk(0,.363),nsk(.107,1),nsk(1,1)}) | |
1098 | ||
1099 | --[[Neck.C0=euler(0,0,0)*cf(0,3,0)*euler(0,.6,0)*euler(-.2,0,0) | |
1100 | RootJoint.C0=cf(0,-2,0)*euler(0,.6,0) | |
1101 | RW.C0=cf(4.5,1.5,0)*euler(-.4,0,.5)*euler(0,0,0) | |
1102 | RW.C1=cf(0,1.5,0)*euler(0,0,0) | |
1103 | LW.C0=cf(-4.5,1.5,0)*euler(.2,0,-.5) | |
1104 | LW.C1=cf(0,1.5,0)*euler(0,0,0) | |
1105 | RH.C0=cf(1.5,-3,0)*euler(0,-.6,0)*euler(0,0,.1) | |
1106 | RH.C1=cf(0,3,0)*euler(0,0,0) | |
1107 | LH.C0=cf(-1.5,-3,0)*euler(0,.6,0)*euler(.1,0,0) | |
1108 | LH.C1=cf(0,3,0)*euler(0,0,0)]] | |
1109 | -- idle pose | |
1110 | --[[Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.4,0,0),1) | |
1111 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-200,0),1) | |
1112 | wld19.C0=wld19.C0:lerp(euler(-.4,.3,0)*cf(94,-47.5,-2.248),1) | |
1113 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-.1,-.6)*euler(0,-.4,0),1) | |
1114 | wld24.C0=wld24.C0:lerp(euler(.8,.1,0)*cf(0,90.25,0),1) | |
1115 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),1) | |
1116 | ||
1117 | wld33.C0=wld33.C0:lerp(euler(-.4,-.3,0)*cf(-94,-47.5,-2.248),1) | |
1118 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,.1,.6)*euler(0,.4,0),1) | |
1119 | wld38.C0=wld38.C0:lerp(euler(-.8,.1,0)*cf(0,-90.25,0),1) | |
1120 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),1)]] | |
1121 | ||
1122 | --[[ old idle | |
1123 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-200,0),1) | |
1124 | wld19.C0=wld19.C0:lerp(euler(-.4,.3,0)*cf(94,-47.5,-2.248),1) | |
1125 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-.2,-.8),1) | |
1126 | wld24.C0=wld24.C0:lerp(euler(1.4,-.2,0)*cf(0,90.25,0),1) | |
1127 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),1) | |
1128 | ||
1129 | wld33.C0=wld33.C0:lerp(euler(-.4,-.3,0)*cf(-94,-47.5,-2.248),1) | |
1130 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,.2,.8),1) | |
1131 | wld38.C0=wld38.C0:lerp(euler(-1.4,-.2,0)*cf(0,-90.25,0),1) | |
1132 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),1) | |
1133 | ]] | |
1134 | ||
1135 | --[[RootJoint.C0=clerp(RootJoint.C0,cf(-1.749,-200,0),1) | |
1136 | wld19.C0=clerp(wld19.C0,euler(-.4,.3,0)*cf(94,-47.5,-2.248),1) | |
1137 | wld21.C0=clerp(wld21.C0,euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-.2,-.8),1) | |
1138 | wld24.C0=clerp(wld24.C0,euler(1.4,-.2,0)*cf(0,90.25,0),1) | |
1139 | wld29.C0=clerp(wld29.C0,euler(0,0,0)*cf(0,125,0),1) | |
1140 | ||
1141 | wld33.C0=clerp(wld33.C0,euler(-.4,-.3,0)*cf(-94,-47.5,-2.248),1) | |
1142 | wld35.C0=clerp(wld35.C0,euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,.2,.8),1) | |
1143 | wld38.C0=clerp(wld38.C0,euler(-1.4,-.2,0)*cf(0,-90.25,0),1) | |
1144 | wld43.C0=clerp(wld43.C0,euler(0,0,0)*cf(0,-125,0),1)]] | |
1145 | msh3.Scale=vt(4,0,8.5) | |
1146 | msh5.Scale=vt(4,0,8.5) | |
1147 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.4,0,0),1) | |
1148 | RootJoint.C0=RootJoint.C0:lerp(euler(-.2,0,.1)*cf(-1.749,-60,-30),1) | |
1149 | wld19.C0=wld19.C0:lerp(euler(-.4,.3,0)*cf(94,-47.5,-2.248),1) | |
1150 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,0,-.6)*euler(0,-.8,0)*euler(0,0,0),1) | |
1151 | wld24.C0=wld24.C0:lerp(euler(1.4,.5,0)*cf(0,90.25,0),1) | |
1152 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),1) | |
1153 | ||
1154 | wld33.C0=wld33.C0:lerp(euler(-.4,-.3,0)*cf(-94,-47.5,-2.248),1) | |
1155 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,0,.8)*euler(0,.8,0)*euler(.8,0,0),1) | |
1156 | wld38.C0=wld38.C0:lerp(euler(-.6,1,0)*cf(0,-90.25,0),1) | |
1157 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),1) | |
1158 | --[[local Ice1=part(0,armor,.2,0,BrickColor.new("Fog"),"Ice",vt(57.75,136.17,57.77)) | |
1159 | Ice1.Material="Ice" | |
1160 | Ice1.Anchored=true | |
1161 | Ice1.CFrame=workspace.BossSpawn.CFrame*cf(144.341,286.773,15.162) | |
1162 | local Ice2=part(0,armor,.2,0,BrickColor.new("Fog"),"Ice",vt(89.99,35.13,77.57)) Ice2.Material="Ice" Ice2.Anchored=true | |
1163 | Ice2.CFrame=workspace.BossSpawn.CFrame*cf(-53.887,-10.726,-155.145) | |
1164 | local Ice3=part(0,armor,.2,0,BrickColor.new("Fog"),"Ice",vt(164.4,63.01,89.76)) Ice3.Material="Ice" Ice3.Anchored=true | |
1165 | Ice3.CFrame=workspace.BossSpawn.CFrame*cf(-107.848,12.137,-93.992) | |
1166 | local Ice4=part(0,armor,.2,0,BrickColor.new("Fog"),"Ice",vt(25.2,179.13,34.57)) | |
1167 | Ice4.Material="Ice" | |
1168 | Ice4.Anchored=true | |
1169 | Ice4.CFrame=workspace.BossSpawn.CFrame*cf(319.875,454.041,179.418)]] | |
1170 | --I1wld=weld(Ice1,RootPart,Ice1,euler(0,0,0)*cf(144.341,286.773,15.162)) | |
1171 | --I1wld=weld(Ice1,RootPart,Ice1,euler(0,0,0)*cf(15.162,286.773)) | |
1172 | --local HMesh=mesh("SpecialMesh",Head,"Sphere","nil",vt(0,0,0),vt(59.5,59.5,59.5)) | |
1173 | ||
1174 | --[[local Neck=weld(Torso,Torso,Head,cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)) | |
1175 | Neck.C1=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)]] | |
1176 | --local Neck=weld(Torso,Torso,Head,euler(0,0,0)*cf(0,35,0)) | |
1177 | for i=0,1,0.05 do | |
1178 | swait() | |
1179 | msh3.Scale=vt(4,1+7.5*i,8.5) | |
1180 | msh5.Scale=vt(4,1+7.5*i,8.5) | |
1181 | end | |
1182 | msh3.Scale=vt(4,8.5,8.5) | |
1183 | msh5.Scale=vt(4,8.5,8.5) | |
1184 | stunanim=true | |
1185 | attack=true | |
1186 | stunanim=false | |
1187 | attack=false | |
1188 | --[[for i=0,1,0.02 do | |
1189 | swait() | |
1190 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.4,0,0),.1) | |
1191 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-200,0),.1) | |
1192 | wld19.C0=wld19.C0:lerp(euler(-.4,.3,0)*cf(94,-47.5,-2.248),.1) | |
1193 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-.1,-.6)*euler(0,-.4,0),.1) | |
1194 | wld24.C0=wld24.C0:lerp(euler(.8,.1,0)*cf(0,90.25,0),.1) | |
1195 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.1) | |
1196 | ||
1197 | wld33.C0=wld33.C0:lerp(euler(-.4,-.3,0)*cf(-94,-47.5,-2.248),.1) | |
1198 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,.1,.6)*euler(0,.4,0),.1) | |
1199 | wld38.C0=wld38.C0:lerp(euler(-.8,.1,0)*cf(0,-90.25,0),.1) | |
1200 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.1) | |
1201 | end]] | |
1202 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.4,0,0),1) | |
1203 | --print("START BOSS BATTLE") | |
1204 | ||
1205 | function TriIceShards() | |
1206 | --for i=1,math.random(1,4) do | |
1207 | local dacfm=Torso.CFrame*euler(-1.57+math.random(60,120)/100,0,math.random(-80,80)/100) | |
1208 | local dacf=Torso.CFrame*euler(-1.57+math.random(60,120)/100,0,math.random(-80,80)/100) | |
1209 | local dacf2=Torso.CFrame*euler(-1.57+math.random(60,120)/100,0,math.random(-80,80)/100) | |
1210 | local dacf3=Torso.CFrame*euler(-1.57+math.random(60,120)/100,0,math.random(-80,80)/100) | |
1211 | local icepart1=part(3,effects,.5,0,BrickColor.new("Pearl"),"Ice",vt()) icepart1.Anchored=true | |
1212 | i1msh=mesh("SpecialMesh",icepart1,"FileMesh","1778999",vt(0,0,0),vt(6,18,6)) | |
1213 | icepart1.CFrame=dacf | |
1214 | local icepart2=part(3,effects,.5,0,BrickColor.new("Pearl"),"Ice",vt()) icepart2.Anchored=true | |
1215 | i2msh=mesh("SpecialMesh",icepart2,"FileMesh","1778999",vt(0,0,0),vt(6,18,6)) | |
1216 | icepart2.CFrame=dacf2 | |
1217 | local icepart3=part(3,effects,.5,0,BrickColor.new("Pearl"),"Ice",vt()) icepart3.Anchored=true | |
1218 | i3msh=mesh("SpecialMesh",icepart3,"FileMesh","1778999",vt(0,0,0),vt(6,18,6)) | |
1219 | icepart3.CFrame=dacf3 | |
1220 | local partic1=icicleparti1:Clone() partic1.Parent=icepart1 partic1.Enabled=true | |
1221 | local partic2=icicleparti2:Clone() partic2.Parent=icepart1 partic2.Enabled=true | |
1222 | local partic3=icicleparti1:Clone() partic3.Parent=icepart2 partic3.Enabled=true | |
1223 | local partic4=icicleparti2:Clone() partic4.Parent=icepart2 partic4.Enabled=true | |
1224 | local partic5=icicleparti1:Clone() partic5.Parent=icepart3 partic5.Enabled=true | |
1225 | local partic6=icicleparti2:Clone() partic6.Parent=icepart3 partic6.Enabled=true | |
1226 | for i=0,1,0.1 do | |
1227 | swait() | |
1228 | icepart1.CFrame=dacf | |
1229 | icepart2.CFrame=dacf2 | |
1230 | icepart3.CFrame=dacf3 | |
1231 | dacf=dacf*cf(0,math.random(500,1000)/10,0) | |
1232 | dacf2=dacf2*cf(0,math.random(500,1000)/10,0) | |
1233 | dacf3=dacf3*cf(0,math.random(500,1000)/10,0) | |
1234 | end | |
1235 | local target1,distance1=findRandomTorso(icepart1.Position) | |
1236 | local target2,distance2=findRandomTorso(icepart2.Position) | |
1237 | local target3,distance3=findRandomTorso(icepart3.Position) | |
1238 | MagicBlock(BrickColor.new("Cyan"),cf(icepart1.Position),60,60,60,20,20,20,.1,1) | |
1239 | MagicBlock(BrickColor.new("Cyan"),cf(icepart2.Position),60,60,60,20,20,20,.1,1) | |
1240 | MagicBlock(BrickColor.new("Cyan"),cf(icepart3.Position),60,60,60,20,20,20,.1,1) | |
1241 | if target1~=nil then | |
1242 | so("333475957",icepart1,1,.9) | |
1243 | local MouseLook=cf((icepart1.Position+target1.Position)/2,target1.Position+vt(math.random(-1000,1000)/100,math.random(-1000,1000)/100,math.random(-1000,1000)/100)) | |
1244 | table.insert(Effects,{MouseLook,"ShootIce",200,icepart1.Position,5,7,0,icepart1,10,1,partic1,partic2}) | |
1245 | else | |
1246 | icepart1.Parent=nil | |
1247 | end | |
1248 | if target2~=nil then | |
1249 | so("333475957",icepart2,1,.9) | |
1250 | local MouseLook=cf((icepart2.Position+target2.Position)/2,target2.Position+vt(math.random(-1000,1000)/100,math.random(-1000,1000)/100,math.random(-1000,1000)/100)) | |
1251 | table.insert(Effects,{MouseLook,"ShootIce",200,icepart2.Position,5,7,0,icepart2,10,1,partic3,partic4}) | |
1252 | else | |
1253 | icepart2.Parent=nil | |
1254 | end | |
1255 | if target3~=nil then | |
1256 | so("333475957",icepart3,1,.9) | |
1257 | local MouseLook=cf((icepart3.Position+target3.Position)/2,target3.Position+vt(math.random(-200,200)/100,math.random(-200,200)/100,math.random(-200,200)/100)) | |
1258 | table.insert(Effects,{MouseLook,"ShootIce",200,icepart3.Position,8,10,0,icepart3,10,1,partic5,partic6}) | |
1259 | else | |
1260 | icepart3.Parent=nil | |
1261 | end | |
1262 | --end | |
1263 | end | |
1264 | ||
1265 | function TriIceShards2() | |
1266 | --for i=1,math.random(1,4) do | |
1267 | local dacfm=Torso.CFrame*euler(-1.57+math.random(60,120)/100,0,math.random(-80,80)/100) | |
1268 | --[[eul1=math.random(0,800)/1000 eul2=math.random(400,1200)/1000 | |
1269 | eul3=math.random(200,1000)/1000 | |
1270 | eul4=math.random(0,800)/1000 eul5=math.random(400,1200)/1000 | |
1271 | local dacf=Torso.CFrame*euler(-eul1,0,eul2) | |
1272 | local dacf2=Torso.CFrame*euler(-eul3,0,0) | |
1273 | local dacf3=Torso.CFrame*euler(-eul4,0,-eul5)]] | |
1274 | local dacf=Torso.CFrame*euler(-1.57+math.random(60,120)/100,0,math.random(-80,80)/100) | |
1275 | local dacf2=Torso.CFrame*euler(-1.57+math.random(60,120)/100,0,math.random(-80,80)/100) | |
1276 | local dacf3=Torso.CFrame*euler(-1.57+math.random(60,120)/100,0,math.random(-80,80)/100) | |
1277 | local icepart1=part(3,effects,.5,0,BrickColor.new("Pearl"),"Ice",vt()) icepart1.Anchored=true | |
1278 | i1msh=mesh("SpecialMesh",icepart1,"FileMesh","1778999",vt(0,0,0),vt(6,18,6)) | |
1279 | icepart1.CFrame=dacf | |
1280 | local icepart2=part(3,effects,.5,0,BrickColor.new("Pearl"),"Ice",vt()) icepart2.Anchored=true | |
1281 | i2msh=mesh("SpecialMesh",icepart2,"FileMesh","1778999",vt(0,0,0),vt(6,18,6)) | |
1282 | icepart2.CFrame=dacf2 | |
1283 | local icepart3=part(3,effects,.5,0,BrickColor.new("Pearl"),"Ice",vt()) icepart3.Anchored=true | |
1284 | i3msh=mesh("SpecialMesh",icepart3,"FileMesh","1778999",vt(0,0,0),vt(6,18,6)) | |
1285 | icepart3.CFrame=dacf3 | |
1286 | local partic1=icicleparti1:Clone() partic1.Parent=icepart1 partic1.Enabled=true | |
1287 | local partic2=icicleparti2:Clone() partic2.Parent=icepart1 partic2.Enabled=true | |
1288 | local partic3=icicleparti1:Clone() partic3.Parent=icepart2 partic3.Enabled=true | |
1289 | local partic4=icicleparti2:Clone() partic4.Parent=icepart2 partic4.Enabled=true | |
1290 | local partic5=icicleparti1:Clone() partic5.Parent=icepart3 partic5.Enabled=true | |
1291 | local partic6=icicleparti2:Clone() partic6.Parent=icepart3 partic6.Enabled=true | |
1292 | for i=0,1,0.1 do | |
1293 | swait() | |
1294 | icepart1.CFrame=dacf | |
1295 | icepart2.CFrame=dacf2 | |
1296 | icepart3.CFrame=dacf3 | |
1297 | dacf=dacf*cf(0,math.random(500,1000)/10,0) | |
1298 | dacf2=dacf2*cf(0,math.random(500,1000)/10,0) | |
1299 | dacf3=dacf3*cf(0,math.random(500,1000)/10,0) | |
1300 | end | |
1301 | local target1,distance1=findNearestTorso(Head.Position) | |
1302 | local target2,distance2=findNearestTorso(Head.Position) | |
1303 | local target3,distance3=findNearestTorso(Head.Position) | |
1304 | MagicBlock(BrickColor.new("Cyan"),cf(icepart1.Position),60,60,60,20,20,20,.1,1) | |
1305 | MagicBlock(BrickColor.new("Cyan"),cf(icepart2.Position),60,60,60,20,20,20,.1,1) | |
1306 | MagicBlock(BrickColor.new("Cyan"),cf(icepart3.Position),60,60,60,20,20,20,.1,1) | |
1307 | if target1~=nil then | |
1308 | so("333475957",icepart1,1,.9) | |
1309 | local MouseLook=cf((icepart1.Position+target1.Position)/2,target1.Position+vt(math.random(-1000,1000)/100,math.random(-1000,1000)/100,math.random(-1000,1000)/100)) | |
1310 | table.insert(Effects,{MouseLook,"ShootIce",200,icepart1.Position,5,7,0,icepart1,10,1,partic1,partic2}) | |
1311 | else | |
1312 | icepart1.Parent=nil | |
1313 | end | |
1314 | if target2~=nil then | |
1315 | so("333475957",icepart2,1,.9) | |
1316 | local MouseLook=cf((icepart2.Position+target2.Position)/2,target2.Position+vt(math.random(-1000,1000)/100,math.random(-1000,1000)/100,math.random(-1000,1000)/100)) | |
1317 | table.insert(Effects,{MouseLook,"ShootIce",200,icepart2.Position,5,7,0,icepart2,10,1,partic3,partic4}) | |
1318 | else | |
1319 | icepart2.Parent=nil | |
1320 | end | |
1321 | if target3~=nil then | |
1322 | so("333475957",icepart3,1,.9) | |
1323 | local MouseLook=cf((icepart3.Position+target3.Position)/2,target3.Position+vt(math.random(-200,200)/100,math.random(-200,200)/100,math.random(-200,200)/100)) | |
1324 | table.insert(Effects,{MouseLook,"ShootIce",200,icepart3.Position,8,10,0,icepart3,10,1,partic5,partic6}) | |
1325 | else | |
1326 | icepart3.Parent=nil | |
1327 | end | |
1328 | --end | |
1329 | end | |
1330 | ||
1331 | function TriOrbs() | |
1332 | --for i=1,math.random(1,4) do | |
1333 | local dacf=Torso.CFrame*euler(-1.57+math.random(100,150)/100,0,math.random(-80,80)/100) | |
1334 | local dacf2=Torso.CFrame*euler(-1.57+math.random(100,150)/100,0,math.random(-80,80)/100) | |
1335 | local dacf3=Torso.CFrame*euler(-1.57+math.random(100,150)/100,0,math.random(-80,80)/100) | |
1336 | local icepart1=part(3,effects,0,0,BrickColor.new("Cyan"),"Ice",vt()) icepart1.Anchored=true | |
1337 | i1msh=mesh("SpecialMesh",icepart1,"Sphere","nil",vt(0,0,0),vt(100,100,100)) | |
1338 | icepart1.CFrame=dacf | |
1339 | local icepart2=part(3,effects,0,0,BrickColor.new("Cyan"),"Ice",vt()) icepart2.Anchored=true | |
1340 | i2msh=mesh("SpecialMesh",icepart2,"Sphere","nil",vt(0,0,0),vt(100,100,100)) | |
1341 | icepart2.CFrame=dacf2 | |
1342 | local icepart3=part(3,effects,0,0,BrickColor.new("Cyan"),"Ice",vt()) icepart3.Anchored=true | |
1343 | i3msh=mesh("SpecialMesh",icepart3,"Sphere","nil",vt(0,0,0),vt(100,100,100)) | |
1344 | icepart3.CFrame=dacf3 | |
1345 | local partic1=icicleparti2:Clone() partic1.Parent=icepart1 partic1.Enabled=true | |
1346 | local partic3=icicleparti2:Clone() partic3.Parent=icepart2 partic3.Enabled=true | |
1347 | local partic5=icicleparti2:Clone() partic5.Parent=icepart3 partic5.Enabled=true | |
1348 | for i=0,1,0.1 do | |
1349 | swait() | |
1350 | icepart1.CFrame=dacf | |
1351 | icepart2.CFrame=dacf2 | |
1352 | icepart3.CFrame=dacf3 | |
1353 | dacf=dacf*cf(0,math.random(400,800)/10,0) | |
1354 | dacf2=dacf2*cf(0,math.random(400,800)/10,0) | |
1355 | dacf3=dacf3*cf(0,math.random(400,800)/10,0) | |
1356 | end | |
1357 | local target1,distance1=findRandomTorso(icepart1.Position) | |
1358 | local target2,distance2=findRandomTorso(icepart2.Position) | |
1359 | local target3,distance3=findRandomTorso(icepart3.Position) | |
1360 | local test1,dist1=findNearestTorso(Head.Position) | |
1361 | local pos1,pos2,pos3=nil,nil,nil | |
1362 | local refpart1=part(3,effects,0,1,BrickColor.new("Cyan"),"Ref",vt()) refpart1.Anchored=true | |
1363 | local refpart2=part(3,effects,0,1,BrickColor.new("Cyan"),"Ref",vt()) refpart2.Anchored=true | |
1364 | local refpart3=part(3,effects,0,1,BrickColor.new("Cyan"),"Ref",vt()) refpart3.Anchored=true | |
1365 | if target1~=nil then | |
1366 | pos1=target1.Position | |
1367 | refpart1.CFrame=cf(pos1)*cf(math.random(-3000,3000)/100,math.random(-3000,3000)/100,math.random(-3000,3000)/100) | |
1368 | end | |
1369 | if target2~=nil then | |
1370 | pos2=target2.Position | |
1371 | refpart2.CFrame=cf(pos2)*cf(math.random(-3000,3000)/100,math.random(-3000,3000)/100,math.random(-3000,3000)/100) | |
1372 | end | |
1373 | if target3~=nil then | |
1374 | pos3=target3.Position | |
1375 | refpart3.CFrame=cf(pos3)*cf(math.random(-3000,3000)/100,math.random(-3000,3000)/100,math.random(-3000,3000)/100) | |
1376 | end | |
1377 | local move=40 | |
1378 | for i=0,1,0.1 do | |
1379 | swait() | |
1380 | move=40-40*i | |
1381 | if target1~=nil then | |
1382 | refpart1.CFrame=cf(refpart1.Position,target1.Position) | |
1383 | MagicCircle2(BrickColor.new("Cyan"),icepart1.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))*cf(0,60,0),15,40,15,-1,20,-1,.1,-5) | |
1384 | icepart1.CFrame=dacf | |
1385 | dacf=dacf*cf(0,move,0) | |
1386 | end | |
1387 | if target2~=nil then | |
1388 | refpart2.CFrame=cf(refpart2.Position,target2.Position) | |
1389 | MagicCircle2(BrickColor.new("Cyan"),icepart2.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))*cf(0,60,0),15,40,15,-1,20,-1,.1,-5) | |
1390 | icepart2.CFrame=dacf2 | |
1391 | dacf2=dacf2*cf(0,move,0) | |
1392 | end | |
1393 | if target3~=nil then | |
1394 | refpart3.CFrame=cf(refpart3.Position,target3.Position) | |
1395 | MagicCircle2(BrickColor.new("Cyan"),icepart3.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))*cf(0,60,0),15,40,15,-1,20,-1,.1,-5) | |
1396 | icepart3.CFrame=dacf3 | |
1397 | dacf3=dacf3*cf(0,move,0) | |
1398 | end | |
1399 | end | |
1400 | local laser1=part(3,effects,0,0,BrickColor.new("Cyan"),"Effect",vt()) laser1.Anchored=true | |
1401 | local lmsh1=mesh("SpecialMesh",laser1,"Head","nil",vt(0,0,0),vt(10,1,10)) | |
1402 | local laser2=part(3,effects,0,0,BrickColor.new("Cyan"),"Effect",vt()) laser2.Anchored=true | |
1403 | local lmsh2=mesh("SpecialMesh",laser2,"Head","nil",vt(0,0,0),vt(10,1,10)) | |
1404 | local laser3=part(3,effects,0,0,BrickColor.new("Cyan"),"Effect",vt()) laser3.Anchored=true | |
1405 | local lmsh3=mesh("SpecialMesh",laser3,"Head","nil",vt(0,0,0),vt(10,1,10)) | |
1406 | local ref=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1407 | ref.Anchored=true | |
1408 | ref.CFrame=cf(0,0,0) | |
1409 | game:GetService("Debris"):AddItem(ref,1) | |
1410 | local ref1=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1411 | ref1.Anchored=true | |
1412 | ref1.CFrame=cf(0,0,0) | |
1413 | game:GetService("Debris"):AddItem(ref1,5) | |
1414 | local ice1=0 | |
1415 | local ref2=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1416 | ref2.Anchored=true | |
1417 | ref2.CFrame=cf(0,0,0) | |
1418 | game:GetService("Debris"):AddItem(ref2,5) | |
1419 | local ice2=2 | |
1420 | local ref3=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1421 | ref3.Anchored=true | |
1422 | ref3.CFrame=cf(0,0,0) | |
1423 | game:GetService("Debris"):AddItem(ref3,5) | |
1424 | local ice3=4 | |
1425 | for i=0,3,0.05 do | |
1426 | swait() | |
1427 | ice1=ice1+1 | |
1428 | ice2=ice2+1 | |
1429 | ice3=ice3+1 | |
1430 | if target1~=nil then | |
1431 | if i>1 then | |
1432 | refpart1.CFrame=refpart1.CFrame*cf(0,0,-1.5) | |
1433 | end | |
1434 | local cfnew=cf(icepart1.Position,refpart1.Position) | |
1435 | local hit1,pos1=rayCast(icepart1.Position,cfnew.lookVector,9999,Character) | |
1436 | local mag1=(icepart1.Position-pos1).magnitude | |
1437 | laser1.CFrame=CFrame.new((icepart1.Position+pos1)/2,pos1)*angles(1.57,0,0) | |
1438 | lmsh1.Scale=vt(10,mag1*5,10) | |
1439 | MagicBlock(BrickColor.new("Cyan"),cf(pos1),5,5,5,5,5,5,.1,1) | |
1440 | ref.CFrame=cf(pos1) | |
1441 | MagniDamage(ref,5,8,14,0,"Normal",RootPart,.2,1,math.random(6,8),nil,nil,true) | |
1442 | ref1.CFrame=cf(ref.Position) | |
1443 | if ice1%2==0 then | |
1444 | so("333476017",ref1,.3,1.4) | |
1445 | end | |
1446 | end | |
1447 | if target2~=nil then | |
1448 | if i>1 then | |
1449 | refpart2.CFrame=refpart2.CFrame*cf(0,0,-1.5) | |
1450 | end | |
1451 | local cfnew=cf(icepart2.Position,refpart2.Position) | |
1452 | local hit2,pos2=rayCast(icepart2.Position,cfnew.lookVector,9999,Character) | |
1453 | local mag2=(icepart2.Position-pos2).magnitude | |
1454 | laser2.CFrame=CFrame.new((icepart2.Position+pos2)/2,pos2)*angles(1.57,0,0) | |
1455 | lmsh2.Scale=vt(10,mag2*5,10) | |
1456 | MagicBlock(BrickColor.new("Cyan"),cf(pos2),5,5,5,5,5,5,.1,1) | |
1457 | ref.CFrame=cf(pos2) | |
1458 | MagniDamage(ref,5,8,14,0,"Normal",RootPart,.2,1,math.random(6,8),nil,nil,true) | |
1459 | ref2.CFrame=cf(ref.Position) | |
1460 | if ice2%2==0 then | |
1461 | so("333476017",ref2,.3,1.4) | |
1462 | end | |
1463 | end | |
1464 | if target3~=nil then | |
1465 | if i>1 then | |
1466 | refpart3.CFrame=refpart3.CFrame*cf(0,0,-1.5) | |
1467 | end | |
1468 | local cfnew=cf(icepart3.Position,refpart3.Position) | |
1469 | local hit3,pos3=rayCast(icepart3.Position,cfnew.lookVector,9999,Character) | |
1470 | local mag3=(icepart3.Position-pos3).magnitude | |
1471 | laser3.CFrame=CFrame.new((icepart3.Position+pos3)/2,pos3)*angles(1.57,0,0) | |
1472 | lmsh3.Scale=vt(10,mag3*5,10) | |
1473 | MagicBlock(BrickColor.new("Cyan"),cf(pos3),5,5,5,5,5,5,.1,1) | |
1474 | ref.CFrame=cf(pos3) | |
1475 | MagniDamage(ref,5,8,14,0,"Normal",RootPart,.2,1,math.random(6,8),nil,nil,true) | |
1476 | ref3.CFrame=cf(ref.Position) | |
1477 | if ice3%2==0 then | |
1478 | so("333476017",ref3,.3,1.4) | |
1479 | end | |
1480 | end | |
1481 | end | |
1482 | if target1~=nil then | |
1483 | local pos1=laser1.CFrame | |
1484 | local x1=lmsh1.Scale.X local y1=lmsh1.Scale.Y local z1=lmsh1.Scale.Z | |
1485 | MagicHead(BrickColor.new("Cyan"),pos1,x1,y1,z1,1,1,1,.1) | |
1486 | end | |
1487 | if target2~=nil then | |
1488 | local pos2=laser2.CFrame | |
1489 | local x2=lmsh2.Scale.X local y2=lmsh2.Scale.Y local z2=lmsh2.Scale.Z | |
1490 | MagicHead(BrickColor.new("Cyan"),pos2,x2,y2,z2,1,1,1,.1) | |
1491 | end | |
1492 | if target3~=nil then | |
1493 | local pos3=laser3.CFrame | |
1494 | local x3=lmsh3.Scale.X local y3=lmsh3.Scale.Y local z3=lmsh3.Scale.Z | |
1495 | MagicHead(BrickColor.new("Cyan"),pos3,x3,y3,z3,1,1,1,.1) | |
1496 | end | |
1497 | MagicCircle(BrickColor.new("Cyan"),cf(icepart1.Position),100,100,100,5,5,5,.2) | |
1498 | MagicCircle(BrickColor.new("Cyan"),cf(icepart2.Position),100,100,100,5,5,5,.2) | |
1499 | MagicCircle(BrickColor.new("Cyan"),cf(icepart3.Position),100,100,100,5,5,5,.2) | |
1500 | icepart1.Parent=nil | |
1501 | icepart2.Parent=nil | |
1502 | icepart3.Parent=nil | |
1503 | refpart1.Parent=nil | |
1504 | refpart2.Parent=nil | |
1505 | refpart3.Parent=nil | |
1506 | laser1.Parent=nil | |
1507 | laser2.Parent=nil | |
1508 | laser3.Parent=nil | |
1509 | ref.Parent=nil | |
1510 | end | |
1511 | ||
1512 | function TriOrbs2() | |
1513 | --for i=1,math.random(1,4) do | |
1514 | local dacf=Torso.CFrame*euler(-1.57+math.random(100,150)/100,0,math.random(-80,80)/100) | |
1515 | local dacf2=Torso.CFrame*euler(-1.57+math.random(100,150)/100,0,math.random(-80,80)/100) | |
1516 | local dacf3=Torso.CFrame*euler(-1.57+math.random(100,150)/100,0,math.random(-80,80)/100) | |
1517 | local icepart1=part(3,effects,0,0,BrickColor.new("Cyan"),"Ice",vt()) icepart1.Anchored=true | |
1518 | i1msh=mesh("SpecialMesh",icepart1,"Sphere","nil",vt(0,0,0),vt(100,100,100)) | |
1519 | icepart1.CFrame=dacf | |
1520 | local icepart2=part(3,effects,0,0,BrickColor.new("Cyan"),"Ice",vt()) icepart2.Anchored=true | |
1521 | i2msh=mesh("SpecialMesh",icepart2,"Sphere","nil",vt(0,0,0),vt(100,100,100)) | |
1522 | icepart2.CFrame=dacf2 | |
1523 | local icepart3=part(3,effects,0,0,BrickColor.new("Cyan"),"Ice",vt()) icepart3.Anchored=true | |
1524 | i3msh=mesh("SpecialMesh",icepart3,"Sphere","nil",vt(0,0,0),vt(100,100,100)) | |
1525 | icepart3.CFrame=dacf3 | |
1526 | local partic1=icicleparti2:Clone() partic1.Parent=icepart1 partic1.Enabled=true | |
1527 | local partic3=icicleparti2:Clone() partic3.Parent=icepart2 partic3.Enabled=true | |
1528 | local partic5=icicleparti2:Clone() partic5.Parent=icepart3 partic5.Enabled=true | |
1529 | for i=0,1,0.1 do | |
1530 | swait() | |
1531 | icepart1.CFrame=dacf | |
1532 | icepart2.CFrame=dacf2 | |
1533 | icepart3.CFrame=dacf3 | |
1534 | dacf=dacf*cf(0,math.random(400,800)/10,0) | |
1535 | dacf2=dacf2*cf(0,math.random(400,800)/10,0) | |
1536 | dacf3=dacf3*cf(0,math.random(400,800)/10,0) | |
1537 | end | |
1538 | local target1,distance1=findNearestTorso(Head.Position) | |
1539 | local target2,distance2=findNearestTorso(Head.Position) | |
1540 | local target3,distance3=findNearestTorso(Head.Position) | |
1541 | local test1,dist1=findNearestTorso(Head.Position) | |
1542 | local pos1,pos2,pos3=nil,nil,nil | |
1543 | local refpart1=part(3,effects,0,1,BrickColor.new("Cyan"),"Ref",vt()) refpart1.Anchored=true | |
1544 | local refpart2=part(3,effects,0,1,BrickColor.new("Cyan"),"Ref",vt()) refpart2.Anchored=true | |
1545 | local refpart3=part(3,effects,0,1,BrickColor.new("Cyan"),"Ref",vt()) refpart3.Anchored=true | |
1546 | if target1~=nil then | |
1547 | pos1=target1.Position | |
1548 | refpart1.CFrame=cf(pos1)*cf(math.random(-3000,3000)/100,math.random(-3000,3000)/100,math.random(-3000,3000)/100) | |
1549 | end | |
1550 | if target2~=nil then | |
1551 | pos2=target2.Position | |
1552 | refpart2.CFrame=cf(pos2)*cf(math.random(-3000,3000)/100,math.random(-3000,3000)/100,math.random(-3000,3000)/100) | |
1553 | end | |
1554 | if target3~=nil then | |
1555 | pos3=target3.Position | |
1556 | refpart3.CFrame=cf(pos3)*cf(math.random(-3000,3000)/100,math.random(-3000,3000)/100,math.random(-3000,3000)/100) | |
1557 | end | |
1558 | local move=40 | |
1559 | for i=0,1,0.1 do | |
1560 | swait() | |
1561 | move=40-40*i | |
1562 | if target1~=nil then | |
1563 | refpart1.CFrame=cf(refpart1.Position,target1.Position) | |
1564 | MagicCircle2(BrickColor.new("Cyan"),icepart1.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))*cf(0,60,0),15,40,15,-1,20,-1,.1,-5) | |
1565 | icepart1.CFrame=dacf | |
1566 | dacf=dacf*cf(0,move,0) | |
1567 | end | |
1568 | if target2~=nil then | |
1569 | refpart2.CFrame=cf(refpart2.Position,target2.Position) | |
1570 | MagicCircle2(BrickColor.new("Cyan"),icepart2.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))*cf(0,60,0),15,40,15,-1,20,-1,.1,-5) | |
1571 | icepart2.CFrame=dacf2 | |
1572 | dacf2=dacf2*cf(0,move,0) | |
1573 | end | |
1574 | if target3~=nil then | |
1575 | refpart3.CFrame=cf(refpart3.Position,target3.Position) | |
1576 | MagicCircle2(BrickColor.new("Cyan"),icepart3.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))*cf(0,60,0),15,40,15,-1,20,-1,.1,-5) | |
1577 | icepart3.CFrame=dacf3 | |
1578 | dacf3=dacf3*cf(0,move,0) | |
1579 | end | |
1580 | end | |
1581 | local laser1=part(3,effects,0,0,BrickColor.new("Cyan"),"Effect",vt()) laser1.Anchored=true | |
1582 | local lmsh1=mesh("SpecialMesh",laser1,"Head","nil",vt(0,0,0),vt(10,1,10)) | |
1583 | local laser2=part(3,effects,0,0,BrickColor.new("Cyan"),"Effect",vt()) laser2.Anchored=true | |
1584 | local lmsh2=mesh("SpecialMesh",laser2,"Head","nil",vt(0,0,0),vt(10,1,10)) | |
1585 | local laser3=part(3,effects,0,0,BrickColor.new("Cyan"),"Effect",vt()) laser3.Anchored=true | |
1586 | local lmsh3=mesh("SpecialMesh",laser3,"Head","nil",vt(0,0,0),vt(10,1,10)) | |
1587 | local ref=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1588 | ref.Anchored=true | |
1589 | ref.CFrame=cf(0,0,0) | |
1590 | game:GetService("Debris"):AddItem(ref,1) | |
1591 | local ref1=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1592 | ref1.Anchored=true | |
1593 | ref1.CFrame=cf(0,0,0) | |
1594 | game:GetService("Debris"):AddItem(ref1,5) | |
1595 | local ice1=0 | |
1596 | local ref2=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1597 | ref2.Anchored=true | |
1598 | ref2.CFrame=cf(0,0,0) | |
1599 | game:GetService("Debris"):AddItem(ref2,5) | |
1600 | local ice2=2 | |
1601 | local ref3=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1602 | ref3.Anchored=true | |
1603 | ref3.CFrame=cf(0,0,0) | |
1604 | game:GetService("Debris"):AddItem(ref3,5) | |
1605 | local ice3=4 | |
1606 | for i=0,3,0.1 do | |
1607 | swait() | |
1608 | ice1=ice1+1 | |
1609 | ice2=ice2+1 | |
1610 | ice3=ice3+1 | |
1611 | if target1~=nil then | |
1612 | if i>1 then | |
1613 | refpart1.CFrame=refpart1.CFrame*cf(0,0,-2) | |
1614 | end | |
1615 | local cfnew=cf(icepart1.Position,refpart1.Position) | |
1616 | local hit1,pos1=rayCast(icepart1.Position,cfnew.lookVector,9999,Character) | |
1617 | local mag1=(icepart1.Position-pos1).magnitude | |
1618 | laser1.CFrame=CFrame.new((icepart1.Position+pos1)/2,pos1)*angles(1.57,0,0) | |
1619 | lmsh1.Scale=vt(10,mag1*5,10) | |
1620 | MagicBlock(BrickColor.new("Cyan"),cf(pos1),5,5,5,5,5,5,.1,1) | |
1621 | ref.CFrame=cf(pos1) | |
1622 | MagniDamage(ref,5,8,14,0,"Normal",RootPart,.2,1,math.random(6,8),nil,nil,true) | |
1623 | ref1.CFrame=cf(ref.Position) | |
1624 | if ice1%2==0 then | |
1625 | so("333476017",ref1,.3,1.4) | |
1626 | end | |
1627 | end | |
1628 | if target2~=nil then | |
1629 | if i>1 then | |
1630 | refpart2.CFrame=refpart2.CFrame*cf(0,0,-2) | |
1631 | end | |
1632 | local cfnew=cf(icepart2.Position,refpart2.Position) | |
1633 | local hit2,pos2=rayCast(icepart2.Position,cfnew.lookVector,9999,Character) | |
1634 | local mag2=(icepart2.Position-pos2).magnitude | |
1635 | laser2.CFrame=CFrame.new((icepart2.Position+pos2)/2,pos2)*angles(1.57,0,0) | |
1636 | lmsh2.Scale=vt(10,mag2*5,10) | |
1637 | MagicBlock(BrickColor.new("Cyan"),cf(pos2),5,5,5,5,5,5,.1,1) | |
1638 | ref.CFrame=cf(pos2) | |
1639 | MagniDamage(ref,5,8,14,0,"Normal",RootPart,.2,1,math.random(6,8),nil,nil,true) | |
1640 | ref2.CFrame=cf(ref.Position) | |
1641 | if ice2%2==0 then | |
1642 | so("333476017",ref2,.3,1.4) | |
1643 | end | |
1644 | end | |
1645 | if target3~=nil then | |
1646 | if i>1 then | |
1647 | refpart3.CFrame=refpart3.CFrame*cf(0,0,-2) | |
1648 | end | |
1649 | local cfnew=cf(icepart3.Position,refpart3.Position) | |
1650 | local hit3,pos3=rayCast(icepart3.Position,cfnew.lookVector,9999,Character) | |
1651 | local mag3=(icepart3.Position-pos3).magnitude | |
1652 | laser3.CFrame=CFrame.new((icepart3.Position+pos3)/2,pos3)*angles(1.57,0,0) | |
1653 | lmsh3.Scale=vt(10,mag3*5,10) | |
1654 | MagicBlock(BrickColor.new("Cyan"),cf(pos3),5,5,5,5,5,5,.1,1) | |
1655 | ref.CFrame=cf(pos3) | |
1656 | MagniDamage(ref,5,8,14,0,"Normal",RootPart,.2,1,math.random(6,8),nil,nil,true) | |
1657 | ref3.CFrame=cf(ref.Position) | |
1658 | if ice3%2==0 then | |
1659 | so("333476017",ref3,.3,1.4) | |
1660 | end | |
1661 | end | |
1662 | end | |
1663 | if target1~=nil then | |
1664 | local pos1=laser1.CFrame | |
1665 | local x1=lmsh1.Scale.X local y1=lmsh1.Scale.Y local z1=lmsh1.Scale.Z | |
1666 | MagicHead(BrickColor.new("Cyan"),pos1,x1,y1,z1,1,1,1,.1) | |
1667 | end | |
1668 | if target2~=nil then | |
1669 | local pos2=laser2.CFrame | |
1670 | local x2=lmsh2.Scale.X local y2=lmsh2.Scale.Y local z2=lmsh2.Scale.Z | |
1671 | MagicHead(BrickColor.new("Cyan"),pos2,x2,y2,z2,1,1,1,.1) | |
1672 | end | |
1673 | if target3~=nil then | |
1674 | local pos3=laser3.CFrame | |
1675 | local x3=lmsh3.Scale.X local y3=lmsh3.Scale.Y local z3=lmsh3.Scale.Z | |
1676 | MagicHead(BrickColor.new("Cyan"),pos3,x3,y3,z3,1,1,1,.1) | |
1677 | end | |
1678 | MagicCircle(BrickColor.new("Cyan"),cf(icepart1.Position),100,100,100,5,5,5,.2) | |
1679 | MagicCircle(BrickColor.new("Cyan"),cf(icepart2.Position),100,100,100,5,5,5,.2) | |
1680 | MagicCircle(BrickColor.new("Cyan"),cf(icepart3.Position),100,100,100,5,5,5,.2) | |
1681 | icepart1.Parent=nil | |
1682 | icepart2.Parent=nil | |
1683 | icepart3.Parent=nil | |
1684 | refpart1.Parent=nil | |
1685 | refpart2.Parent=nil | |
1686 | refpart3.Parent=nil | |
1687 | laser1.Parent=nil | |
1688 | laser2.Parent=nil | |
1689 | laser3.Parent=nil | |
1690 | ref.Parent=nil | |
1691 | end | |
1692 | ||
1693 | function IceMortar() | |
1694 | for i=1,math.random(2,3) do | |
1695 | local dacf=Torso.CFrame*euler(-1.57+math.random(40,80)/100,0,math.random(-80,80)/100) | |
1696 | local icepart1=part(3,effects,0,0,BrickColor.new("Cyan"),"Ice",vt()) icepart1.Anchored=true | |
1697 | i1msh=mesh("SpecialMesh",icepart1,"Sphere","nil",vt(0,0,0),vt(200,200,200)) | |
1698 | icepart1.CFrame=dacf | |
1699 | local inc=100 | |
1700 | for i=0,1,0.1 do | |
1701 | swait() | |
1702 | icepart1.CFrame=dacf | |
1703 | dacf=dacf*cf(0,inc,0) | |
1704 | inc=100-100*i | |
1705 | end | |
1706 | local cfinc=99999 | |
1707 | MagicHead(BrickColor.new("Cyan"),cf(icepart1.Position)*cf(0,cfinc/10,0),200,cfinc,200,-10,1,-10,.1) | |
1708 | MagicCircle(BrickColor.new("Cyan"),cf(icepart1.Position),200,200,200,-10,0,-10,.1) | |
1709 | icepart1.Transparency=1 | |
1710 | so("334325056",icepart1,1,1) | |
1711 | game:GetService("Debris"):AddItem(icepart1,1) | |
1712 | local target1,distance1=findRandomTorso(icepart1.Position) | |
1713 | local test1,dist1=findNearestTorso(Head.Position) | |
1714 | if target1~=nil then | |
1715 | cfda=target1.Position+vt(math.random(-3000,3000)/100,0,math.random(-3000,3000)/100) | |
1716 | local hit2,pos2=rayCast(cfda,(CFrame.new(cfda,cfda - Vector3.new(0,1,0))).lookVector,999,Character) | |
1717 | local d1=part(3,effects,0,.5,BrickColor.new("Medium blue"),"Effect",vt()) | |
1718 | d1.Anchored=true | |
1719 | d1.CFrame=cf(pos2) | |
1720 | msh=mesh("CylinderMesh",d1,"nil","nil",vt(0,0,0),vt(200,5,200)) | |
1721 | d2=d1:Clone() | |
1722 | d2.Parent=d1 | |
1723 | d2.CFrame=cf(d1.Position) | |
1724 | d2.BrickColor=BrickColor.new("White") | |
1725 | d2.Mesh.Scale=vt(0,5,0) | |
1726 | table.insert(Effects,{d1,"SatelliteStrike",d2,d2.Mesh,0}) | |
1727 | end | |
1728 | end | |
1729 | end | |
1730 | ||
1731 | function TurnSlam() | |
1732 | attack=true | |
1733 | local target,distance=findRandomTorso(RootPart.Position) | |
1734 | if target~=nil or target==nil then | |
1735 | local x,y,z = 0,0,0 | |
1736 | for i=0,1,0.02 do | |
1737 | swait() | |
1738 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-200,0),.05) | |
1739 | wld19.C0=wld19.C0:lerp(euler(-.6,.3,0)*cf(94,-47.5,-2.248),.01) | |
1740 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,.4,-.6),.01) | |
1741 | wld24.C0=wld24.C0:lerp(euler(2.4,.2,0)*cf(0,90.25,0),.01) | |
1742 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.01) | |
1743 | ||
1744 | wld33.C0=wld33.C0:lerp(euler(-.6,-.3,0)*cf(-94,-47.5,-2.248),.01) | |
1745 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,-.4,.6),.01) | |
1746 | wld38.C0=wld38.C0:lerp(euler(-2.4,.2,0)*cf(0,-90.25,0),.01) | |
1747 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.01) | |
1748 | if Stun.Value>=StunT.Value then | |
1749 | break | |
1750 | end | |
1751 | end | |
1752 | for i=0,1,0.01 do | |
1753 | swait() | |
1754 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(-.2,0,0),.02) | |
1755 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-200,0),.05) | |
1756 | wld19.C0=wld19.C0:lerp(euler(.2,.3,0)*cf(94,-47.5,-2.248),.02) | |
1757 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-1,-1.2),.02) | |
1758 | wld24.C0=wld24.C0:lerp(euler(2,-1,0)*cf(0,90.25,0),.02) | |
1759 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0)*euler(.5,0,1),.02) | |
1760 | ||
1761 | wld33.C0=wld33.C0:lerp(euler(.2,-.3,0)*cf(-94,-47.5,-2.248),.02) | |
1762 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,1,1.2),.02) | |
1763 | wld38.C0=wld38.C0:lerp(euler(-2,-1,0)*cf(0,-90.25,0),.02) | |
1764 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0)*euler(-.5,0,-1),.02) | |
1765 | if Stun.Value>=StunT.Value then | |
1766 | break | |
1767 | end | |
1768 | end | |
1769 | shockwave=false | |
1770 | ref1a=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1771 | ref1a.Anchored=true | |
1772 | ref1a.CFrame=cf(0,-50,0) | |
1773 | game:GetService("Debris"):AddItem(ref1a,3) | |
1774 | ref2a=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1775 | ref2a.Anchored=true | |
1776 | ref2a.CFrame=cf(0,-50,0) | |
1777 | game:GetService("Debris"):AddItem(ref2a,3) | |
1778 | incda=80 | |
1779 | for i=0,3,0.03 do | |
1780 | swait() | |
1781 | dan=.1 | |
1782 | if shockwave==true then | |
1783 | incda=incda+10 | |
1784 | if i<1.5 then | |
1785 | MagniDamage(ref1a,incda,10,15,math.random(0,0),"Knockdown2",RootPart,1.5,1,math.random(8,10),nil,nil,false,"Movement",.1,300) | |
1786 | MagniDamage(ref2a,incda,10,15,math.random(0,0),"Knockdown2",RootPart,1.5,1,math.random(8,10),nil,nil,false,"Movement",.1,300) | |
1787 | end | |
1788 | end | |
1789 | if i>1 then | |
1790 | dan=.05 | |
1791 | if shockwave==false then | |
1792 | for i=1,2 do | |
1793 | so("157878578",ref1a,1,0.4) | |
1794 | so("2101148",ref1a,1,0.6) | |
1795 | end | |
1796 | for i=1,2 do | |
1797 | so("157878578",ref2a,1,0.4) | |
1798 | so("2101148",ref2a,1,0.6) | |
1799 | end | |
1800 | shockwave=true | |
1801 | refcam=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1802 | refcam.Anchored=true | |
1803 | refcam.CFrame=cf(prt31.Position) | |
1804 | refcam.CFrame=refcam.CFrame:lerp(cf(prt45.Position),.5) | |
1805 | game:GetService("Debris"):AddItem(refcam,1) | |
1806 | hitfl1,posfl1=rayCast(prt31.Position,(CFrame.new(prt31.Position,prt31.Position - Vector3.new(0,1,0))).lookVector,50,Character) | |
1807 | MagicRing(BrickColor.new("Pearl"),cf(posfl1)*euler(1.57,0,0),160,160,1,20,20,1,.1) | |
1808 | ref1a.CFrame=cf(posfl1) | |
1809 | hitfl2,posfl2=rayCast(prt45.Position,(CFrame.new(prt45.Position,prt45.Position - Vector3.new(0,1,0))).lookVector,50,Character) | |
1810 | MagicRing(BrickColor.new("Pearl"),cf(posfl2)*euler(1.57,0,0),160,160,1,20,20,1,.1) | |
1811 | ref2a.CFrame=cf(posfl2) | |
1812 | end | |
1813 | else | |
1814 | MagniDamage(prt31,90,50,70,math.random(40,60),"Knockdown2",RootPart,2,1,math.random(25,40),nil,nil,false) | |
1815 | MagniDamage(prt45,90,50,70,math.random(40,60),"Knockdown2",RootPart,2,1,math.random(25,40),nil,nil,false) | |
1816 | end | |
1817 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.4,0,0),dan) | |
1818 | wld19.C0=wld19.C0:lerp(euler(-.6,.3,0)*cf(94,-47.5,-2.248),dan) | |
1819 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-1,-1.2),dan) | |
1820 | wld24.C0=wld24.C0:lerp(euler(1.2,-1,0)*cf(0,90.25,0),dan) | |
1821 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0)*euler(-.5,0,0)*euler(0,-.6,0)*euler(.3,0,0),dan) | |
1822 | ||
1823 | wld33.C0=wld33.C0:lerp(euler(-.6,-.3,0)*cf(-94,-47.5,-2.248),dan) | |
1824 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,1,1.2),dan) | |
1825 | wld38.C0=wld38.C0:lerp(euler(-1.2,-1,0)*cf(0,-90.25,0),dan) | |
1826 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0)*euler(.5,0,0)*euler(0,-.6,0)*euler(-.3,0,0),dan) | |
1827 | if Stun.Value>=StunT.Value then | |
1828 | break | |
1829 | end | |
1830 | end | |
1831 | meleecooldown=0 | |
1832 | mcdadd=.05 | |
1833 | if CurrentHealth<=1500 then | |
1834 | mcdadd=1 | |
1835 | end | |
1836 | --mcdadd=1 | |
1837 | end | |
1838 | attack=false | |
1839 | end | |
1840 | ||
1841 | function GrandPunch() | |
1842 | attack=true | |
1843 | local target,distance=findRandomTorso(RootPart.Position) | |
1844 | if target~=nil or target==nil then | |
1845 | local x,y,z = 0,0,0 | |
1846 | for i=0,1,0.01 do | |
1847 | swait() | |
1848 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.6,.5,0),.02) | |
1849 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-200,0)*euler(0,.5,0),.02) | |
1850 | wld19.C0=wld19.C0:lerp(euler(-.8,.3,0)*cf(94,-47.5,-2.248),.02) | |
1851 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,.3,-.4)*euler(0,-.2,0),.02) | |
1852 | wld24.C0=wld24.C0:lerp(euler(2,0,0)*euler(0,0,0)*cf(0,90.25,0),.02) | |
1853 | wld29.C0=wld29.C0:lerp(euler(0,.5,0)*cf(0,125,0),.02) | |
1854 | ||
1855 | wld33.C0=wld33.C0:lerp(euler(-.4,-.8,0)*cf(-94,-47.5,-2.248),.02) | |
1856 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,.2,.2)*euler(0,0,0),.02) | |
1857 | wld38.C0=wld38.C0:lerp(euler(-1,-.4,0)*cf(0,-90.25,0),.02) | |
1858 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.02) | |
1859 | if Stun.Value>=StunT.Value then | |
1860 | break | |
1861 | end | |
1862 | end | |
1863 | da=0 | |
1864 | local oldpos=prt31.Position | |
1865 | for i=0,1.5,0.01 do | |
1866 | swait() | |
1867 | da=da+1 | |
1868 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.6,-.5,0),.04) | |
1869 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-200,0)*euler(0,-.5,0),.04) | |
1870 | wld19.C0=wld19.C0:lerp(euler(-.8,.6,0)*cf(94,-47.5,-2.248),.04) | |
1871 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-1.2,-.2)*euler(0,-.2,0),.04) | |
1872 | --wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-1.2,-.8)*euler(0,-.2,0),.1) | |
1873 | wld24.C0=wld24.C0:lerp(euler(.8,0,0)*euler(0,0,0)*cf(0,90.25,0),.04) | |
1874 | wld29.C0=wld29.C0:lerp(euler(0,3,0)*cf(0,125,0),.04) | |
1875 | ||
1876 | wld33.C0=wld33.C0:lerp(euler(-.4,-.1,0)*cf(-94,-47.5,-2.248),.04) | |
1877 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,-.2,.2)*euler(0,0,0),.04) | |
1878 | wld38.C0=wld38.C0:lerp(euler(-1.8,-.4,0)*cf(0,-90.25,0),.04) | |
1879 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.04) | |
1880 | if i<.5 then | |
1881 | if da%4==0 then | |
1882 | MagniDamage(prt31,95,15,20,math.random(60,100),"Knockdown2",prt31,.5,1,math.random(25,40),nil,nil,false) | |
1883 | MagicWave(BrickColor.new("Cyan"),cf(prt31.Position,oldpos)*euler(-1.57,0,0),100,100,100,10,10,10,.1) | |
1884 | oldpos=prt31.Position | |
1885 | end | |
1886 | end | |
1887 | if Stun.Value>=StunT.Value then | |
1888 | break | |
1889 | end | |
1890 | end | |
1891 | meleecooldown=0 | |
1892 | mcdadd=.1 | |
1893 | if CurrentHealth<=1500 then | |
1894 | mcdadd=1 | |
1895 | end | |
1896 | --mcdadd=50 | |
1897 | end | |
1898 | attack=false | |
1899 | end | |
1900 | ||
1901 | --[[ punch | |
1902 | wld19.C0=wld19.C0:lerp(euler(-.4,-.3,0)*cf(94,-47.5,-2.248),.1) | |
1903 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(-.8,0,0)*euler(0,-.2,0),.1) | |
1904 | wld24.C0=wld24.C0:lerp(euler(1.2,.8,0)*cf(0,90.25,0),.1) | |
1905 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.1) | |
1906 | ]] | |
1907 | ||
1908 | function FrostSlam() | |
1909 | attack=true | |
1910 | local target,distance=findRandomTorso(RootPart.Position) | |
1911 | if target~=nil or target==nil then | |
1912 | local x,y,z = 0,0,0 | |
1913 | for i=0,1,0.008 do | |
1914 | swait() | |
1915 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.6,0,0)*euler(0,.3,-.2),.015) | |
1916 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-200,0)*euler(0,.3,0),.015) | |
1917 | wld19.C0=wld19.C0:lerp(euler(-.4,-.3,0)*cf(94,-47.5,-2.248),.015) | |
1918 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(-1,0,0)*euler(0,-.4,0)*euler(0,0,-.4),.015) | |
1919 | wld24.C0=wld24.C0:lerp(euler(.8,.8,0)*euler(0,-.2,0)*cf(0,90.25,0),.015) | |
1920 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.015) | |
1921 | ||
1922 | wld33.C0=wld33.C0:lerp(euler(.4,-.3,0)*cf(-94,-47.5,-2.248),.015) | |
1923 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,0,1)*euler(.5,0,0)*euler(0,.2,0),.015) | |
1924 | wld38.C0=wld38.C0:lerp(euler(-1,-.2,0)*cf(0,-90.25,0),.015) | |
1925 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.015) | |
1926 | if Stun.Value>=StunT.Value then | |
1927 | break | |
1928 | end | |
1929 | end | |
1930 | da=0 | |
1931 | local oldpos=prt45.Position | |
1932 | shockwave=false | |
1933 | ref2a=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1934 | ref2a.Anchored=true | |
1935 | ref2a.CFrame=cf(0,-50,0) | |
1936 | game:GetService("Debris"):AddItem(ref2a,3) | |
1937 | incda=80 | |
1938 | for i=0,10,0.02 do | |
1939 | swait() | |
1940 | da=da+1 | |
1941 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.6,0,0)*euler(0,.3,-.2),.025) | |
1942 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-190,0)*euler(0,.3,0)*euler(-.1,0,0),.025) | |
1943 | wld19.C0=wld19.C0:lerp(euler(-.4,-.3,0)*cf(94,-47.5,-2.248),.025) | |
1944 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(-1,0,0)*euler(0,-.4,0)*euler(0,0,0),.025) | |
1945 | wld24.C0=wld24.C0:lerp(euler(1,0,0)*euler(0,.3,0)*cf(0,90.25,0),.025) | |
1946 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.025) | |
1947 | ||
1948 | wld33.C0=wld33.C0:lerp(euler(-.2,-.3,0)*cf(-94,-47.5,-2.248),.025) | |
1949 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,0,.6)*euler(0,1.4,0)*euler(0,0,0),.025) | |
1950 | wld38.C0=wld38.C0:lerp(euler(-.5,0,0)*euler(0,0,-.2)*cf(0,-90.25,0),.025) | |
1951 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.025) | |
1952 | if i>1 and i<8 then | |
1953 | if da%10==0 then | |
1954 | local do1=0 | |
1955 | local do2=0 | |
1956 | local rand1=math.random(1,2) | |
1957 | if rand1==1 then do1=math.random(5000,15000)/100 | |
1958 | elseif rand1==2 then do1=math.random(-15000,-5000)/100 end | |
1959 | local rand2=math.random(1,2) | |
1960 | if rand2==1 then do2=math.random(5000,15000)/100 | |
1961 | elseif rand2==2 then do2=math.random(-15000,-5000)/100 end | |
1962 | cfda=ref2a.Position+vt(do1,10,do2) | |
1963 | local hit2,pos2=rayCast(cfda,(CFrame.new(cfda,cfda - Vector3.new(0,1,0))).lookVector,999,Character) | |
1964 | local d1=part(3,effects,0,.5,BrickColor.new("Cyan"),"Effect",vt()) | |
1965 | d1.Anchored=true | |
1966 | d1.CFrame=cf(pos2) | |
1967 | msh=mesh("CylinderMesh",d1,"nil","nil",vt(0,0,0),vt(300,5,300)) | |
1968 | d2=d1:Clone() | |
1969 | d2.Parent=d1 | |
1970 | d2.CFrame=cf(d1.Position) | |
1971 | d2.BrickColor=BrickColor.new("White") | |
1972 | d2.Mesh.Scale=vt(0,5,0) | |
1973 | table.insert(Effects,{d1,"SatelliteStrike2",d2,d2.Mesh,0}) | |
1974 | end | |
1975 | end | |
1976 | if i>1 and i<1.3 then | |
1977 | incda=incda+10 | |
1978 | MagniDamage(ref2a,incda,6,8,math.random(0,0),"Knockdown2",RootPart,1.5,1,math.random(8,10),nil,nil,false,"Movement",.1,300) | |
1979 | end | |
1980 | if i<1 then | |
1981 | if da%4==0 then | |
1982 | MagniDamage(prt45,95,15,20,math.random(40,60),"Knockdown2",prt45,.5,1,math.random(25,40),nil,nil,false) | |
1983 | MagicWave(BrickColor.new("Cyan"),cf(prt45.Position,oldpos)*euler(-1.57,0,0),100,100,100,10,10,10,.1) | |
1984 | oldpos=prt45.Position | |
1985 | end | |
1986 | else | |
1987 | if shockwave==false then | |
1988 | shockwave=true | |
1989 | so("157878578",ref2a,1,0.4) | |
1990 | so("2101148",ref2a,1,0.6) | |
1991 | hitfl2,posfl2=rayCast(prt45.Position,(CFrame.new(prt45.Position,prt45.Position - Vector3.new(0,1,0))).lookVector,50,Character) | |
1992 | refaa=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
1993 | refaa.Anchored=true | |
1994 | refaa.CFrame=cf(posfl2) | |
1995 | game:GetService("Debris"):AddItem(refaa,1) | |
1996 | MagicRing(BrickColor.new("Pearl"),cf(posfl2)*euler(1.57,0,0),160,160,1,20,20,1,.1) | |
1997 | ref2a.CFrame=cf(posfl2) | |
1998 | end | |
1999 | end | |
2000 | if Stun.Value>=StunT.Value then | |
2001 | break | |
2002 | end | |
2003 | end | |
2004 | --print(incda) | |
2005 | meleecooldown=0 | |
2006 | mcdadd=.08 | |
2007 | if CurrentHealth<=1500 then | |
2008 | mcdadd=1 | |
2009 | end | |
2010 | end | |
2011 | attack=false | |
2012 | end | |
2013 | ||
2014 | function StunAnim() | |
2015 | attack=true | |
2016 | for i=0,1,0.06 do | |
2017 | swait() | |
2018 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.7,0,0),.06) | |
2019 | RootJoint.C0=RootJoint.C0:lerp(euler(-.2,0,0)*cf(-1.749,-180,0),.06) | |
2020 | wld19.C0=wld19.C0:lerp(euler(-.8,.3,0)*cf(94,-47.5,-2.248),.06) | |
2021 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,0,.6)*euler(0,-.2,0)*euler(-.5,0,0),.06) | |
2022 | wld24.C0=wld24.C0:lerp(euler(1,.1,0)*cf(0,90.25,0),.06) | |
2023 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.06) | |
2024 | ||
2025 | wld33.C0=wld33.C0:lerp(euler(-.8,-.3,0)*cf(-94,-47.5,-2.248),.06) | |
2026 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,0,-.6)*euler(0,.2,0)*euler(-.5,0,0),.06) | |
2027 | wld38.C0=wld38.C0:lerp(euler(-1,.1,0)*cf(0,-90.25,0),.06) | |
2028 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.06) | |
2029 | if Humanoid.Health<=0 then | |
2030 | break | |
2031 | end | |
2032 | end | |
2033 | for i=0,1,0.04 do | |
2034 | swait() | |
2035 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.2,0,0)*euler(0,0,.2),.07) | |
2036 | RootJoint.C0=RootJoint.C0:lerp(euler(-.5,.2,0)*cf(-1.749,-140,0),.07) | |
2037 | wld19.C0=wld19.C0:lerp(euler(-.8,.3,0)*cf(94,-47.5,-2.248),.07) | |
2038 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,0,.8)*euler(0,.2,0)*euler(-.4,0,0),.07) | |
2039 | wld24.C0=wld24.C0:lerp(euler(1.2,.3,0)*cf(0,90.25,0),.07) | |
2040 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.07) | |
2041 | ||
2042 | wld33.C0=wld33.C0:lerp(euler(-.8,-.3,0)*cf(-94,-47.5,-2.248),.07) | |
2043 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,0,.6)*euler(0,.2,0)*euler(.7,0,0),.07) | |
2044 | wld38.C0=wld38.C0:lerp(euler(-1.4,.1,0)*cf(0,-90.25,0),.07) | |
2045 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.07) | |
2046 | if Humanoid.Health<=0 then | |
2047 | break | |
2048 | end | |
2049 | end | |
2050 | for i=0,1,0.01 do | |
2051 | swait() | |
2052 | msh3.Scale=vt(4,8.5-8*i,8.5) | |
2053 | msh5.Scale=vt(4,8.5-8*i,8.5) | |
2054 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.6,0,0)*euler(0,1.5,0),.02) | |
2055 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-100,0)*euler(-1.3,0,0),.05) | |
2056 | wld19.C0=wld19.C0:lerp(euler(-.8,.3,0)*cf(94,-47.5,-2.248),.05) | |
2057 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,0,1)*euler(0,.2,0)*euler(-.1,0,0),.05) | |
2058 | wld24.C0=wld24.C0:lerp(euler(.5,2.2,0)*cf(0,90.25,0),.05) | |
2059 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.05) | |
2060 | ||
2061 | wld33.C0=wld33.C0:lerp(euler(-.8,-.3,0)*cf(-94,-47.5,-2.248),.05) | |
2062 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,0,.6)*euler(0,-.6,0)*euler(1.6,0,0),.05) | |
2063 | wld38.C0=wld38.C0:lerp(euler(-1.6,.1,0)*cf(0,-90.25,0),.05) | |
2064 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.05) | |
2065 | if Humanoid.Health<=0 then | |
2066 | break | |
2067 | end | |
2068 | end | |
2069 | msh3.Scale=vt(4,.5,8.5) | |
2070 | msh5.Scale=vt(4,.5,8.5) | |
2071 | --swait(100) | |
2072 | local numb=1300 | |
2073 | if CurrentHealth<=1500 then | |
2074 | numb=1000 | |
2075 | end | |
2076 | local removedeb=8 | |
2077 | for i=0,numb do | |
2078 | swait() | |
2079 | removedeb=removedeb+1 | |
2080 | if removedeb>8 then | |
2081 | removedeb=0 | |
2082 | for _,c in pairs(Character:children()) do | |
2083 | if c.Name=="DebounceHit" then c.Parent=nil end | |
2084 | end | |
2085 | end | |
2086 | if Humanoid.Health<=0 then | |
2087 | break | |
2088 | end | |
2089 | end | |
2090 | for i=0,1,0.1 do | |
2091 | swait() | |
2092 | msh3.Scale=vt(4,.5+8*i,8.5) | |
2093 | msh5.Scale=vt(4,.5+8*i,8.5) | |
2094 | end | |
2095 | msh3.Scale=vt(4,8.5,8.5) | |
2096 | msh5.Scale=vt(4,8.5,8.5) | |
2097 | for i=0,1,0.02 do | |
2098 | swait() | |
2099 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-100,0)*euler(-1.3,0,0),.05) | |
2100 | wld19.C0=wld19.C0:lerp(euler(-.8,.3,0)*cf(94,-47.5,-2.248),.05) | |
2101 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,0,.1)*euler(0,.4,0)*euler(1,0,0),.05) | |
2102 | wld24.C0=wld24.C0:lerp(euler(1.6,.1,0)*cf(0,90.25,0),.05) | |
2103 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.05) | |
2104 | ||
2105 | wld33.C0=wld33.C0:lerp(euler(-.8,-.3,0)*cf(-94,-47.5,-2.248),.05) | |
2106 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,0,-.1)*euler(0,-.4,0)*euler(1,0,0),.05) | |
2107 | wld38.C0=wld38.C0:lerp(euler(-1.6,.1,0)*cf(0,-90.25,0),.05) | |
2108 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.05) | |
2109 | if Humanoid.Health<=0 then | |
2110 | break | |
2111 | end | |
2112 | end | |
2113 | for i=0,1,0.03 do | |
2114 | swait() | |
2115 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-180,0)*euler(-.6,0,0),.06) | |
2116 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.6,0,0),.06) | |
2117 | wld19.C0=wld19.C0:lerp(euler(.2,.3,0)*cf(94,-47.5,-2.248),.06) | |
2118 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,0,-.4)*euler(0,-.2,0)*euler(-.3,0,0),.06) | |
2119 | wld24.C0=wld24.C0:lerp(euler(1.2,.1,0)*cf(0,90.25,0),.06) | |
2120 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.06) | |
2121 | ||
2122 | wld33.C0=wld33.C0:lerp(euler(.2,-.3,0)*cf(-94,-47.5,-2.248),.06) | |
2123 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,0,.4)*euler(0,.2,0)*euler(-.3,0,0),.06) | |
2124 | wld38.C0=wld38.C0:lerp(euler(-1.2,.1,0)*cf(0,-90.25,0),.06) | |
2125 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.06) | |
2126 | if Humanoid.Health<=0 then | |
2127 | break | |
2128 | end | |
2129 | end | |
2130 | for i=0,1,0.008 do | |
2131 | swait() | |
2132 | if i<.4 then | |
2133 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(-.1,0,0),.06) | |
2134 | else | |
2135 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.6,0,0),.06) | |
2136 | end | |
2137 | RootJoint.C0=RootJoint.C0:lerp(cf(5,-210,0)*euler(.1,0,0),.06) | |
2138 | wld19.C0=wld19.C0:lerp(euler(.2,.3,0)*cf(94,-47.5,-2.248),.06) | |
2139 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,0,-.8)*euler(0,-.6,0)*euler(-.5,0,0),.06) | |
2140 | wld24.C0=wld24.C0:lerp(euler(.6,.3,0)*cf(0,90.25,0),.06) | |
2141 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.06) | |
2142 | ||
2143 | wld33.C0=wld33.C0:lerp(euler(.2,-.3,0)*cf(-94,-47.5,-2.248),.06) | |
2144 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,0,.8)*euler(0,.6,0)*euler(-.5,0,0),.06) | |
2145 | wld38.C0=wld38.C0:lerp(euler(-.6,.3,0)*cf(0,-90.25,0),.06) | |
2146 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.06) | |
2147 | if Humanoid.Health<=0 then | |
2148 | break | |
2149 | end | |
2150 | end | |
2151 | attack=false | |
2152 | end | |
2153 | ||
2154 | function SummonCrystals() | |
2155 | attack=true | |
2156 | for i=0,1,0.01 do | |
2157 | swait() | |
2158 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.5,0,0),.03) | |
2159 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-210,0)*euler(.05,0,0),.03) | |
2160 | --[[wld19.C0=wld19.C0:lerp(euler(-.4,.3,0)*cf(94,-47.5,-2.248),.1) | |
2161 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-.1,-.6)*euler(0,-.4,0),.1) | |
2162 | wld24.C0=wld24.C0:lerp(euler(.8,.1,0)*cf(0,90.25,0),.1) | |
2163 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.1) | |
2164 | ||
2165 | wld33.C0=wld33.C0:lerp(euler(-.4,-.3,0)*cf(-94,-47.5,-2.248),.1) | |
2166 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,.1,.6)*euler(0,.4,0),.1) | |
2167 | wld38.C0=wld38.C0:lerp(euler(-.8,.1,0)*cf(0,-90.25,0),.1) | |
2168 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.1)]] | |
2169 | wld19.C0=wld19.C0:lerp(euler(-.4,.3,0)*cf(94,-47.5,-2.248),.03) | |
2170 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-.2,-.8)*euler(.2,0,0),.03) | |
2171 | wld24.C0=wld24.C0:lerp(euler(1.8,-.2,0)*cf(0,90.25,0),.03) | |
2172 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.03) | |
2173 | ||
2174 | wld33.C0=wld33.C0:lerp(euler(-.4,-.3,0)*cf(-94,-47.5,-2.248),.03) | |
2175 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,.2,.8)*euler(.2,0,0),.03) | |
2176 | wld38.C0=wld38.C0:lerp(euler(-1.8,-.2,0)*cf(0,-90.25,0),.03) | |
2177 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.03) | |
2178 | end | |
2179 | for i=0,1,0.04 do | |
2180 | swait() | |
2181 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.6,0,0),.05) | |
2182 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-200,0)*euler(-.05,0,0),.05) | |
2183 | wld19.C0=wld19.C0:lerp(euler(-.8,.3,0)*cf(94,-47.5,-2.248),.05) | |
2184 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-.2,-.8)*euler(.2,0,0)*euler(0,-.2,0),.05) | |
2185 | wld24.C0=wld24.C0:lerp(euler(1.4,-.2,0)*cf(0,90.25,0),.05) | |
2186 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.05) | |
2187 | ||
2188 | wld33.C0=wld33.C0:lerp(euler(-.8,-.3,0)*cf(-94,-47.5,-2.248),.05) | |
2189 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,.2,.8)*euler(.2,0,0)*euler(0,.2,0),.05) | |
2190 | wld38.C0=wld38.C0:lerp(euler(-1.4,-.2,0)*cf(0,-90.25,0),.05) | |
2191 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.05) | |
2192 | end | |
2193 | Cryst1.Parent=workspace | |
2194 | C1Head.CFrame=RootPart.CFrame*cf(math.random(-2000,2000)/100,0,math.random(-2000,2000)/100) | |
2195 | C1Torso.CFrame=C1Head.CFrame | |
2196 | C1Neck.Parent=C1Head | |
2197 | C1S.Parent=Cryst1 | |
2198 | C1Hum.Parent=Cryst1 | |
2199 | C1Hum.MaxHealth=200 | |
2200 | C1Hum.Health=200 | |
2201 | C1Hum.Parent=Cryst1 | |
2202 | C1Hum:TakeDamage(1) | |
2203 | C1a=true | |
2204 | for _,c in pairs(Cryst1:children()) do | |
2205 | if c.Name=="DebounceHit" then c.Parent=nil end | |
2206 | end | |
2207 | Cryst2.Parent=workspace | |
2208 | C2Head.CFrame=RootPart.CFrame*cf(math.random(-2000,2000)/100,0,math.random(-2000,2000)/100) | |
2209 | C2Torso.CFrame=C2Head.CFrame | |
2210 | C2Neck.Parent=C2Head | |
2211 | C2S.Parent=Cryst2 | |
2212 | C2Hum.Parent=Cryst2 | |
2213 | C2Hum.MaxHealth=200 | |
2214 | C2Hum.Health=200 | |
2215 | C2Hum.Parent=Cryst2 | |
2216 | C2Hum:TakeDamage(1) | |
2217 | C2a=true | |
2218 | for _,c in pairs(Cryst2:children()) do | |
2219 | if c.Name=="DebounceHit" then c.Parent=nil end | |
2220 | end | |
2221 | Cryst3.Parent=workspace | |
2222 | C3Head.CFrame=RootPart.CFrame*cf(math.random(-2000,2000)/100,0,math.random(-2000,2000)/100) | |
2223 | C3Torso.CFrame=C3Head.CFrame | |
2224 | C3Neck.Parent=C3Head | |
2225 | C3S.Parent=Cryst3 | |
2226 | C3Hum.Parent=Cryst3 | |
2227 | C3Hum.MaxHealth=200 | |
2228 | C3Hum.Health=200 | |
2229 | C3Hum.Parent=Cryst3 | |
2230 | C3Hum:TakeDamage(1) | |
2231 | C3a=true | |
2232 | for _,c in pairs(Cryst3:children()) do | |
2233 | if c.Name=="DebounceHit" then c.Parent=nil end | |
2234 | end | |
2235 | Cryst4.Parent=workspace | |
2236 | C4Head.CFrame=RootPart.CFrame*cf(math.random(-2000,2000)/100,0,math.random(-2000,2000)/100) | |
2237 | C4Torso.CFrame=C4Head.CFrame | |
2238 | C4Neck.Parent=C4Head | |
2239 | C4S.Parent=Cryst4 | |
2240 | C4Hum.Parent=Cryst4 | |
2241 | C4Hum.MaxHealth=200 | |
2242 | C4Hum.Health=200 | |
2243 | C4Hum.Parent=Cryst4 | |
2244 | C4Hum:TakeDamage(1) | |
2245 | C4a=true | |
2246 | for _,c in pairs(Cryst4:children()) do | |
2247 | if c.Name=="DebounceHit" then c.Parent=nil end | |
2248 | end | |
2249 | MagicCircle(BrickColor.new("Cyan"),cf(C1Head.Position),150,400,150,5,10,5,.05) | |
2250 | MagicCircle(BrickColor.new("Cyan"),cf(C2Head.Position),150,400,150,5,10,5,.05) | |
2251 | MagicCircle(BrickColor.new("Cyan"),cf(C3Head.Position),150,400,150,5,10,5,.05) | |
2252 | MagicCircle(BrickColor.new("Cyan"),cf(C4Head.Position),150,400,150,5,10,5,.05) | |
2253 | crystals=true | |
2254 | if CurrentHealth>1500 then | |
2255 | else | |
2256 | end | |
2257 | swait(50) | |
2258 | attack=false | |
2259 | end | |
2260 | ||
2261 | function HeavySlam() | |
2262 | attack=true | |
2263 | for i=0,1,0.05 do | |
2264 | swait() | |
2265 | wld1.C0=clerp(wld1.C0,euler(1.57,0,0)*cf(0,3,0),.1) | |
2266 | wld2.C0=clerp(wld2.C0,euler(0,0,0)*cf(0,1,0),.1) | |
2267 | Neck.C0=clerp(Neck.C0,necko*euler(0,1,0)*euler(-.3,0,0),.1) | |
2268 | RootJoint.C0=clerp(RootJoint.C0,cf(0,-2,0)*euler(0,1,0),.1) | |
2269 | RW.C0=clerp(RW.C0,cf(4.5,1.5,0)*euler(2,0,.3),.1) | |
2270 | RW.C1=clerp(LW.C1,cf(0,1.5,0)*euler(0,0,0),.1) | |
2271 | LW.C0=clerp(LW.C0,cf(-4.5,1.5,0)*euler(-.2,0,-.6),.1) | |
2272 | LW.C1=clerp(LW.C1,cf(0,1.5,0)*euler(0,0,0),.1) | |
2273 | LH.C0=clerp(LH.C0,cf(-1.5,-3,0)*euler(0,1,0)*euler(.1,0,0),.1) | |
2274 | RH.C0=clerp(RH.C0,cf(1.5,-3,0)*euler(0,-1,0)*euler(.1,0,0),.1) | |
2275 | end | |
2276 | for i=0,1,0.04 do | |
2277 | swait() | |
2278 | wld1.C0=clerp(wld1.C0,euler(1,0,0)*cf(0,3,0),.1) | |
2279 | wld2.C0=clerp(wld2.C0,euler(0,0,0)*cf(0,1,0),.1) | |
2280 | Neck.C0=clerp(Neck.C0,necko*euler(0,-.2,0)*euler(-.4,0,0),.1) | |
2281 | RootJoint.C0=clerp(RootJoint.C0,cf(0,-2,0)*euler(0,-.2,0),.1) | |
2282 | RW.C0=clerp(RW.C0,cf(4.5,1.5,0)*euler(3.5,0,0)*euler(0,.2,0),.1) | |
2283 | RW.C1=clerp(LW.C1,cf(0,1.5,0)*euler(0,0,0),.1) | |
2284 | LW.C0=clerp(LW.C0,cf(-4.5,1.5,0)*euler(-.4,0,-.6),.1) | |
2285 | LW.C1=clerp(LW.C1,cf(0,1.5,0)*euler(0,0,0),.1) | |
2286 | LH.C0=clerp(LH.C0,cf(-1.5,-3,0)*euler(0,0,0)*euler(-.3,0,0),.1) | |
2287 | RH.C0=clerp(RH.C0,cf(1.5,-3,-1)*euler(0,0,0)*euler(-.1,0,0),.1) | |
2288 | end | |
2289 | so("161006212",prt9,1,.6) | |
2290 | con1=hitbox.Touched:connect(function(hit) Damagefunc(hit,10,15,math.random(50,70),"Knockdown2",RootPart,2,1,math.random(20,40),nil,true) end) | |
2291 | hitbox.Parent=modelzorz | |
2292 | hitbox.Size=vt(2,20,8) | |
2293 | hitboxCF=prt9.CFrame*cf(0,0,0) | |
2294 | hitbox.CFrame=hitboxCF | |
2295 | blcf=nil | |
2296 | scfr=nil | |
2297 | for i=0,1,0.02 do | |
2298 | swait() | |
2299 | --[[local blcf = prt9.CFrame*cf(0,0,0) | |
2300 | if scfr and (prt9.Position-scfr.p).magnitude > .1 then | |
2301 | local h = 14 | |
2302 | local a,b = Triangle((scfr*CFrame.new(0,h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p,(blcf*CFrame.new(0,h/2,0)).p) | |
2303 | if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end | |
2304 | local a,b = Triangle((blcf*CFrame.new(0,h/2,0)).p,(blcf*CFrame.new(0,-h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p) | |
2305 | if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end | |
2306 | scfr = blcf | |
2307 | elseif not scfr then | |
2308 | scfr = blcf | |
2309 | end]] | |
2310 | hitboxCF=prt9.CFrame*cf(0,0,0) | |
2311 | hitbox.CFrame=hitboxCF | |
2312 | wld1.C0=clerp(wld1.C0,euler(2.5,0,0)*cf(0,3,0),.4) | |
2313 | wld2.C0=clerp(wld2.C0,euler(0,0,0)*cf(0,1,0),.4) | |
2314 | Neck.C0=clerp(Neck.C0,necko*euler(0,0,0)*euler(-.6,0,0),.2) | |
2315 | RootJoint.C0=clerp(RootJoint.C0,cf(0,0,0)*euler(0,0,0),.2) | |
2316 | RW.C0=clerp(RW.C0,cf(2.5,1.5,-1)*euler(.5,0,-.2)*euler(0,0,0),.4) | |
2317 | RW.C1=clerp(LW.C1,cf(0,1.5,0)*euler(0,0,0),.2) | |
2318 | LW.C0=clerp(LW.C0,cf(-4.5,1.5,0)*euler(-.8,0,-.6),.2) | |
2319 | LW.C1=clerp(LW.C1,cf(0,1.5,0)*euler(0,0,0),.2) | |
2320 | LH.C0=clerp(LH.C0,cf(-1.5,-3,0)*euler(0,0,0)*euler(-1,0,0),.2) | |
2321 | RH.C0=clerp(RH.C0,cf(1.5,-1,-1.5)*euler(0,0,0)*euler(-.1,0,0),.2) | |
2322 | if i>=.16 and i<=.17 then | |
2323 | hit,pos=rayCast(prt9.Position,(CFrame.new(prt9.Position,prt9.Position - Vector3.new(0,1,0))).lookVector,10,Character) | |
2324 | if hit~=nil then | |
2325 | ref=part(3,workspace,0,1,BrickColor.new("Black"),"Reference",vt()) | |
2326 | ref.Anchored=true | |
2327 | ref.CFrame=cf(pos) | |
2328 | so("199145477",prt9,1,.8) | |
2329 | game:GetService("Debris"):AddItem(ref,1) | |
2330 | --MagniDamage(ref,30,1,5,math.random(50,70),"Knockdown2",false,"Movement",.2,400,math.random(90,100)) | |
2331 | MagniDamage(ref,30,1,5,math.random(200,400),"Knockdown2",false,"Movement",.2,200,math.random(90,100)) | |
2332 | MagicWave(BrickColor.new("Bright stone grey"),cf(ref.Position),1,1,1,2,2,2,.05) | |
2333 | end | |
2334 | end | |
2335 | end | |
2336 | con1:disconnect() | |
2337 | hitbox.Parent=nil | |
2338 | attack=false | |
2339 | end | |
2340 | ||
2341 | local magref=part(3,effects,0,.5,BrickColor.new("Black"),"Effect",vt()) | |
2342 | magref.Anchored=true | |
2343 | magref.CFrame=cf(0,0,0) | |
2344 | magref.Parent=nil | |
2345 | local mrmsh=mesh("SpecialMesh",magref,"Sphere","nil",vt(0,0,0),vt(1,1,1)) | |
2346 | ||
2347 | function MagniDamage(Part,magni,minim,maxim,knockback,Type,Property,Delay,KnockbackType,incstun,stagger,staghit,ranged,DecreaseState,DecreaseAmount,Duration) | |
2348 | --magref.CFrame=cf(Part.Position) | |
2349 | --mrmsh.Scale=vt(magni*10,magni*10,magni*10) | |
2350 | for _,c in pairs(workspace:children()) do | |
2351 | local hum=c:findFirstChild("Humanoid") | |
2352 | if hum~=nil then | |
2353 | local head=nil | |
2354 | for _,d in pairs(c:children()) do | |
2355 | --if d.Name=="Torso" or d.Name=="Head" or d.Name=="HumanoidRootPart" or d.Name=="HitPart" then | |
2356 | if d.className=="Part" then | |
2357 | head=d | |
2358 | if head~=nil then | |
2359 | local targ=head.Position-Part.Position | |
2360 | local mag=targ.magnitude | |
2361 | if mag<=magni and c.Name~=Character.Name and c.Name~="Crystal" then | |
2362 | if stun==nil then | |
2363 | stun=math.random(5,10) | |
2364 | end | |
2365 | local Rang=nil | |
2366 | if Ranged==false then | |
2367 | Rang=true | |
2368 | end | |
2369 | local stag=nil | |
2370 | if shbash==true then | |
2371 | stag=true | |
2372 | end | |
2373 | Damagefunc(head,minim,maxim,knockback,Type,Property,Delay,KnockbackType,incstun,stagger,staghit,ranged,DecreaseState,DecreaseAmount,Duration) | |
2374 | --Damagefunc(hit,minim,maxim,knockback,Type,Property,Delay,KnockbackType,incstun,stagger,staghit,DecreaseState,DecreaseAmount,Duration) | |
2375 | end | |
2376 | end | |
2377 | end | |
2378 | end | |
2379 | end | |
2380 | end | |
2381 | end | |
2382 | ||
2383 | function DecreaseStat(Model,Stat,Amount,Duration) | |
2384 | if Model:findFirstChild("Stats")~=nil then | |
2385 | if Model.Stats[Stat]~=nil then | |
2386 | Model.Stats[Stat].Value=Model.Stats[Stat].Value-Amount | |
2387 | d=Instance.new("NumberValue",Model.Stats.Decrease) | |
2388 | dur=Instance.new("NumberValue",d) | |
2389 | dur.Name="Duration" | |
2390 | dur.Value=Duration | |
2391 | game:GetService("Debris"):AddItem(d,40) | |
2392 | if Stat=="Damage" then | |
2393 | d.Name="DecreaseAtk" | |
2394 | elseif Stat=="Defense" then | |
2395 | d.Name="DecreaseDef" | |
2396 | elseif Stat=="Movement" then | |
2397 | d.Name="DecreaseMvmt" | |
2398 | end | |
2399 | if Model:findFirstChild("Torso")~=nil then | |
2400 | display="" | |
2401 | if Stat=="Damage" then | |
2402 | if Amount>0 then | |
2403 | display="-Damage" | |
2404 | else | |
2405 | display="+Damage" | |
2406 | end | |
2407 | elseif Stat=="Defense" then | |
2408 | if Amount>0 then | |
2409 | display="-Defense" | |
2410 | else | |
2411 | display="+Defense" | |
2412 | end | |
2413 | elseif Stat=="Movement" then | |
2414 | if Amount>0 then | |
2415 | display="-Movement" | |
2416 | else | |
2417 | display="+Movement" | |
2418 | end | |
2419 | end | |
2420 | showDamage(Model,display,"Debuff") | |
2421 | end | |
2422 | d.Value=Amount | |
2423 | table.insert(Effects,{Model,"DecreaseStat",Stat,Amount,Duration,d}) | |
2424 | end | |
2425 | end | |
2426 | end | |
2427 | ||
2428 | function rayCast(Pos, Dir, Max, Ignore) -- Origin Position , Direction, MaxDistance , IgnoreDescendants | |
2429 | return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore) | |
2430 | end | |
2431 | ||
2432 | function findNearestTorso(pos) | |
2433 | local list = game.Workspace:children() | |
2434 | local torso = nil | |
2435 | local dist = 10000 | |
2436 | local temp = nil | |
2437 | local human = nil | |
2438 | local temp2 = nil | |
2439 | for x = 1, #list do | |
2440 | temp2 = list[x] | |
2441 | if (temp2.className == "Model") and (temp2.Name~=Character.Name) and (temp2.Name~="Crystal") then | |
2442 | temp = temp2:findFirstChild("Torso") | |
2443 | human = temp2:findFirstChild("Humanoid") | |
2444 | if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then | |
2445 | if (temp.Position - pos).magnitude < dist then | |
2446 | local dohit=true | |
2447 | if temp2:findFirstChild("Stats")~=nil then if temp2.Stats:findFirstChild("Boss")~=nil then if temp2.Stats.Boss.Value==true then dohit=false end end end | |
2448 | if temp2:findFirstChild("Alive")==nil then dohit=false end | |
2449 | if dohit==true then | |
2450 | torso = temp | |
2451 | dist = (temp.Position - pos).magnitude | |
2452 | end | |
2453 | end | |
2454 | end | |
2455 | end | |
2456 | end | |
2457 | return torso,dist | |
2458 | end | |
2459 | ||
2460 | function findRandomTorso(pos) | |
2461 | local list = game.Workspace:children() | |
2462 | local torso = nil | |
2463 | local dist = 10000 | |
2464 | local temp = nil | |
2465 | local human = nil | |
2466 | local temp2 = nil | |
2467 | local list2 = {} | |
2468 | for x = 1, #list do | |
2469 | temp2 = list[x] | |
2470 | if (temp2.className == "Model") and (temp2.Name~=Character.Name) and (temp2.Name~="Crystal") then | |
2471 | temp = temp2:findFirstChild("Torso") | |
2472 | human = temp2:findFirstChild("Humanoid") | |
2473 | if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then | |
2474 | if pos.magnitude < dist then | |
2475 | local dohit=true | |
2476 | if temp2:findFirstChild("Stats")~=nil then if temp2.Stats:findFirstChild("Boss")~=nil then if temp2.Stats.Boss.Value==true then dohit=false end end end | |
2477 | if temp2:findFirstChild("Alive")==nil then dohit=false end | |
2478 | if dohit==true then | |
2479 | torso = temp | |
2480 | table.insert(list2,temp) | |
2481 | end | |
2482 | end | |
2483 | end | |
2484 | end | |
2485 | end | |
2486 | if #list2>0 then | |
2487 | rand=math.random(1,#list2) | |
2488 | return list2[rand],dist | |
2489 | else | |
2490 | return nil,dist | |
2491 | end | |
2492 | end | |
2493 | ||
2494 | Damagefunc=function(hit,minim,maxim,knockback,Type,Property,Delay,KnockbackType,incstun,stagger,staghit,ranged,DecreaseState,DecreaseAmount,Duration,Sound) | |
2495 | if hit.Parent==nil then | |
2496 | return | |
2497 | end | |
2498 | h=hit.Parent:FindFirstChild("Humanoid") | |
2499 | --[[for _,v in pairs(hit.Parent:children()) do | |
2500 | if v:IsA("Humanoid") then | |
2501 | h=v | |
2502 | end | |
2503 | end]] | |
2504 | --[[if hit.Parent.Parent:FindFirstChild("Torso")~=nil then | |
2505 | h=hit.Parent.Parent:FindFirstChild("Humanoid") | |
2506 | end]] | |
2507 | if hit.Parent.className=="Hat" then | |
2508 | hit=hit.Parent.Parent:findFirstChild("Head") | |
2509 | end | |
2510 | if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent.Name~="Crystal" and hit.Parent:FindFirstChild("Torso")~=nil then | |
2511 | if hit.Parent:findFirstChild("DebounceHit")~=nil then if hit.Parent.DebounceHit.Value==true then return end end | |
2512 | if Sound=="GreatHit" then | |
2513 | so("200632875",hit,1,1) | |
2514 | end | |
2515 | game:GetService("Debris"):AddItem(c,.5) | |
2516 | minim=minim*Atk.Value | |
2517 | maxim=maxim*Atk.Value | |
2518 | Damage=0 | |
2519 | if minim==maxim or minim>maxim then | |
2520 | Damage=maxim | |
2521 | else | |
2522 | Damage=math.random(minim,maxim) | |
2523 | end | |
2524 | blocked=false | |
2525 | enblock=nil | |
2526 | Stats=hit.Parent:findFirstChild("Stats") | |
2527 | if Stats~=nil then | |
2528 | enblock=Stats:findFirstChild("Block") | |
2529 | if enblock~=nil then | |
2530 | if enblock.Value==true then | |
2531 | blocked=true | |
2532 | end | |
2533 | end | |
2534 | if Stats:findFirstChild("Defense")~=nil then | |
2535 | Damage=Damage/(Stats.Defense.Value) | |
2536 | if Damage<=3 and (ranged==false or ranged==nil) and blocked~=true then | |
2537 | hitnum=math.random(1,5) | |
2538 | if hitnum==1 then so("199149321",hit,1,.7) | |
2539 | elseif hitnum==2 then so("199149338",hit,1,.7) | |
2540 | elseif hitnum==3 then so("199149367",hit,1,.7) | |
2541 | elseif hitnum==4 then so("199149409",hit,1,.7) | |
2542 | elseif hitnum==5 then so("199149452",hit,1,.7) | |
2543 | end | |
2544 | elseif ranged==false or ranged==nil and blocked~=true then | |
2545 | hitnum=math.random(1,6) | |
2546 | if hitnum==1 then so("199149137",hit,1,.7) | |
2547 | elseif hitnum==2 then so("199149186",hit,1,.7) | |
2548 | elseif hitnum==3 then so("199149221",hit,1,.7) | |
2549 | elseif hitnum==4 then so("199149235",hit,1,.7) | |
2550 | elseif hitnum==5 then so("199149269",hit,1,.7) | |
2551 | elseif hitnum==6 then so("199149297",hit,1,.7) | |
2552 | end | |
2553 | end | |
2554 | end | |
2555 | if Stats:findFirstChild("Stun")~=nil then | |
2556 | if blocked==true then | |
2557 | incstun=math.floor(incstun/2) | |
2558 | end | |
2559 | Stats.Stun.Value=Stats.Stun.Value+incstun | |
2560 | end | |
2561 | if Stats:findFirstChild("Stagger")~=nil then | |
2562 | if stagger==true then | |
2563 | Stats.Stagger.Value=true | |
2564 | end | |
2565 | end | |
2566 | end | |
2567 | if blocked==true then | |
2568 | showDamage(hit.Parent,"Block","Damage") | |
2569 | hitnum=math.random(1,2) | |
2570 | if hitnum==1 then so("199148933",hit,1,1) | |
2571 | elseif hitnum==2 then so("199148947",hit,1,1) | |
2572 | end | |
2573 | enblock.Value=false | |
2574 | else | |
2575 | Damage=math.floor(Damage) | |
2576 | h:TakeDamage(Damage) | |
2577 | --[[coroutine.resume(coroutine.create(function(Hum,Dam) | |
2578 | damageFunc:InvokeServer(nil,h,Damage) | |
2579 | --print(Dam) | |
2580 | end),h,Damage)]] | |
2581 | showDamage(hit.Parent,Damage,"Damage") | |
2582 | if DecreaseState~=nil then | |
2583 | if DecreaseState=="Shatter" then | |
2584 | DecreaseStat(hit.Parent,"Movement",DecreaseAmount,Duration) | |
2585 | DecreaseStat(hit.Parent,"Damage",DecreaseAmount,Duration) | |
2586 | else | |
2587 | DecreaseStat(hit.Parent,DecreaseState,DecreaseAmount,Duration) | |
2588 | end | |
2589 | end | |
2590 | if Type=="Knockdown" then | |
2591 | hum=hit.Parent.Humanoid | |
2592 | hum.PlatformStand=true | |
2593 | coroutine.resume(coroutine.create(function(HHumanoid) | |
2594 | swait(1) | |
2595 | HHumanoid.PlatformStand=false | |
2596 | end),hum) | |
2597 | local angle=(hit.Position-(Property.Position+Vector3.new(0,0,0))).unit | |
2598 | --hit.CFrame=cf(hit.Position,Vector3.new(angle.x,hit.Position.y,angle.z))*CFrame.fromEulerAnglesXYZ(math.pi/4,0,0) | |
2599 | local bodvol=Instance.new("BodyVelocity") | |
2600 | bodvol.velocity=angle*knockback | |
2601 | bodvol.P=5000 | |
2602 | bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003) | |
2603 | bodvol.Parent=hit | |
2604 | rl=Instance.new("BodyAngularVelocity") | |
2605 | rl.P=3000 | |
2606 | rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000 | |
2607 | rl.angularvelocity=Vector3.new(math.random(-10,10),math.random(-10,10),math.random(-10,10)) | |
2608 | rl.Parent=hit | |
2609 | game:GetService("Debris"):AddItem(bodvol,.5) | |
2610 | game:GetService("Debris"):AddItem(rl,.5) | |
2611 | elseif Type=="Shatter" then | |
2612 | for i=1,10 do | |
2613 | BreakEffect(BrickColor.new("Cyan"),hit.CFrame,math.random(20,80)/100,math.random(2,10),math.random(20,80)/100) | |
2614 | end | |
2615 | elseif Type=="Knockdown2" then | |
2616 | hum=hit.Parent.Humanoid | |
2617 | local angle=(hit.Position-(Property.Position+Vector3.new(0,0,0))).unit | |
2618 | local bodvol=Instance.new("BodyVelocity") | |
2619 | bodvol.velocity=angle*knockback | |
2620 | bodvol.P=5000 | |
2621 | bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003) | |
2622 | bodvol.Parent=hit | |
2623 | - | Player:GetMouse().KeyDown:connect(function(kek) |
2623 | + | |
2624 | elseif Type=="Normal" then | |
2625 | vp=Instance.new("BodyVelocity") | |
2626 | vp.P=500 | |
2627 | vp.maxForce=Vector3.new(math.huge,0,math.huge) | |
2628 | if KnockbackType==1 then | |
2629 | vp.velocity=Property.CFrame.lookVector*knockback+Property.Velocity/1.05 | |
2630 | elseif KnockbackType==2 then | |
2631 | vp.velocity=Property.CFrame.lookVector*knockback | |
2632 | end | |
2633 | game:GetService("Debris"):AddItem(vp,.5) | |
2634 | if knockback>0 then | |
2635 | vp.Parent=hit.Parent.Torso | |
2636 | end | |
2637 | end | |
2638 | end | |
2639 | debounce=Instance.new("BoolValue") | |
2640 | debounce.Name="DebounceHit" | |
2641 | debounce.Parent=hit.Parent | |
2642 | debounce.Value=true | |
2643 | game:GetService("Debris"):AddItem(debounce,Delay) | |
2644 | CRIT=false | |
2645 | end | |
2646 | end | |
2647 | ||
2648 | showDamage=function(Char,Dealt,Type) | |
2649 | m=Instance.new("Model") | |
2650 | m.Name="Effect" | |
2651 | c=Instance.new("Part") | |
2652 | c.Transparency=1 | |
2653 | c.Name="Head" | |
2654 | c.TopSurface=0 | |
2655 | c.BottomSurface=0 | |
2656 | c.formFactor="Plate" | |
2657 | c.Size=Vector3.new(1,.4,1) | |
2658 | b=Instance.new("BillboardGui",c) | |
2659 | b.Size=UDim2.new(5,0,5,0) | |
2660 | b.AlwaysOnTop=true | |
2661 | damgui=gui("TextLabel",b,tostring(Dealt),1,Color3.new(0,0,0),UDim2.new(0,0,0,0),UDim2.new(1,0,1,0)) | |
2662 | if Type=="Damage" then | |
2663 | damgui.Font="SourceSans" | |
2664 | if Dealt=="Block" then | |
2665 | damgui.TextColor3=BrickColor.new("Bright blue").Color | |
2666 | elseif Dealt<3 then | |
2667 | damgui.TextColor3=BrickColor.new("White").Color | |
2668 | elseif Dealt>=3 and Dealt<20 then | |
2669 | damgui.TextColor3=BrickColor.new("Bright yellow").Color | |
2670 | else | |
2671 | damgui.TextColor3=BrickColor.new("Really red").Color | |
2672 | damgui.Font="SourceSansBold" | |
2673 | end | |
2674 | elseif Type=="Debuff" then | |
2675 | damgui.TextColor3=BrickColor.new("White").Color | |
2676 | elseif Type=="Interrupt" then | |
2677 | damgui.TextColor3=BrickColor.new("New Yeller").Color | |
2678 | end | |
2679 | --damgui.FontSize="Size48" | |
2680 | damgui.TextScaled=true | |
2681 | ms=Instance.new("CylinderMesh") | |
2682 | ms.Scale=Vector3.new(.8,.8,.8) | |
2683 | ms.Parent=c | |
2684 | c.Reflectance=0 | |
2685 | Instance.new("BodyGyro").Parent=c | |
2686 | c.Parent=m | |
2687 | if Char:findFirstChild("Head")~=nil then | |
2688 | c.CFrame=cf(Char["Head"].CFrame.p+Vector3.new(math.random(-100,100)/100,3,math.random(-100,100)/100)) | |
2689 | elseif Char.Parent:findFirstChild("Head")~=nil then | |
2690 | c.CFrame=cf(Char.Parent["Head"].CFrame.p+Vector3.new(math.random(-100,100)/100,3,math.random(-100,100)/100)) | |
2691 | end | |
2692 | f=Instance.new("BodyPosition") | |
2693 | f.P=2000 | |
2694 | f.D=100 | |
2695 | f.maxForce=Vector3.new(math.huge,math.huge,math.huge) | |
2696 | if Type=="Damage" then | |
2697 | f.position=c.Position+Vector3.new(0,3,0) | |
2698 | elseif Type=="Debuff" or Type=="Interrupt" then | |
2699 | f.position=c.Position+Vector3.new(0,5,0) | |
2700 | end | |
2701 | f.Parent=c | |
2702 | game:GetService("Debris"):AddItem(m,5) | |
2703 | table.insert(Effects,{m,"showDamage",damgui,f,10,1,15,50,100}) | |
2704 | c.CanCollide=false | |
2705 | m.Parent=effects | |
2706 | c.CanCollide=false | |
2707 | end | |
2708 | kek = kek:lower() | |
2709 | if kek == "z" then | |
2710 | TurnSlam() | |
2711 | end | |
2712 | if kek == "x" then | |
2713 | GrandPunch() | |
2714 | end | |
2715 | if kek == "c" then | |
2716 | FrostSlam() | |
2717 | end | |
2718 | if kek == "v" then | |
2719 | TriIceShards() | |
2720 | end | |
2721 | if kek == "q" then | |
2722 | TriOrbs() | |
2723 | end | |
2724 | if kek == "e" then | |
2725 | IceMortar() | |
2726 | end | |
2727 | if kek == "r" then | |
2728 | TriIceShards2() | |
2729 | end | |
2730 | if kek == "f" then | |
2731 | TriOrbs2() | |
2732 | end | |
2733 | end) | |
2734 | ||
2735 | local stunnum=0 | |
2736 | local animnum=0 | |
2737 | local idle=1 | |
2738 | local animlimit=120 | |
2739 | local attacking=false | |
2740 | while Humanoid.Health>0 do | |
2741 | swait() | |
2742 | for _,c in pairs(C1S:children()) do | |
2743 | if c.Name=="Defense" then c.Value=1 end | |
2744 | if c.Name=="Decrease" then | |
2745 | for _,d in pairs(c:children()) do | |
2746 | d.Parent=nil | |
2747 | end | |
2748 | end | |
2749 | end | |
2750 | for _,c in pairs(C2S:children()) do | |
2751 | if c.Name=="Defense" then c.Value=1 end | |
2752 | if c.Name=="Decrease" then | |
2753 | for _,d in pairs(c:children()) do | |
2754 | d.Parent=nil | |
2755 | end | |
2756 | end | |
2757 | end | |
2758 | for _,c in pairs(C3S:children()) do | |
2759 | if c.Name=="Defense" then c.Value=1 end | |
2760 | if c.Name=="Decrease" then | |
2761 | for _,d in pairs(c:children()) do | |
2762 | d.Parent=nil | |
2763 | end | |
2764 | end | |
2765 | end | |
2766 | for _,c in pairs(C4S:children()) do | |
2767 | if c.Name=="Defense" then c.Value=1 end | |
2768 | if c.Name=="Decrease" then | |
2769 | for _,d in pairs(c:children()) do | |
2770 | d.Parent=nil | |
2771 | end | |
2772 | end | |
2773 | end | |
2774 | if stunanim==false then | |
2775 | Humanoid.Health=CurrentHealth | |
2776 | else | |
2777 | CurrentHealth=Humanoid.Health | |
2778 | end | |
2779 | for i=1,#refs2 do | |
2780 | refs2[i][1].CFrame=refs2[i][2].CFrame*refs2[i][3] | |
2781 | end | |
2782 | if meleecooldown<100 then | |
2783 | meleecooldown=meleecooldown+mcdadd | |
2784 | end | |
2785 | hitbox2.Parent=hitbox.Parent | |
2786 | hitbox2.Size=hitbox.Size | |
2787 | hitbox2.CFrame=hitboxCF | |
2788 | --[[target,distance=findNearestTorso(Torso.Position) | |
2789 | if target~=nil then | |
2790 | local test1,dist1=findNearestTorso(Head.Position) | |
2791 | if dist1<200 then | |
2792 | if math.random(1,50)==1 and stunanim==false then --close projectile attack | |
2793 | coroutine.resume(coroutine.create(function() | |
2794 | atktype=math.random(1,4) | |
2795 | if atktype==1 then | |
2796 | TriIceShards2() | |
2797 | elseif atktype==2 then | |
2798 | TriIceShards2() | |
2799 | elseif atktype==3 then | |
2800 | TriIceShards2() | |
2801 | elseif atktype==4 then | |
2802 | TriOrbs2() | |
2803 | end | |
2804 | end)) | |
2805 | end | |
2806 | end | |
2807 | local rand=math.random(1,30) | |
2808 | if CurrentHealth<1500 then | |
2809 | rand=math.random(1,20) | |
2810 | end | |
2811 | if rand==1 and stunanim==false then --projectile attack | |
2812 | coroutine.resume(coroutine.create(function() | |
2813 | atktype=math.random(1,4) | |
2814 | if atktype==1 then | |
2815 | TriIceShards() | |
2816 | elseif atktype==2 then | |
2817 | TriIceShards() | |
2818 | elseif atktype==3 then | |
2819 | TriOrbs() | |
2820 | elseif atktype==4 then | |
2821 | IceMortar() | |
2822 | end | |
2823 | end)) | |
2824 | end | |
2825 | if math.random(1,50)==1 and attack==false and meleecooldown>=100 and stunanim==false then --melee attack | |
2826 | coroutine.resume(coroutine.create(function() | |
2827 | atktype=math.random(1,3) | |
2828 | if atktype==1 then | |
2829 | TurnSlam() | |
2830 | elseif atktype==2 then | |
2831 | GrandPunch() | |
2832 | elseif atktype==3 then | |
2833 | FrostSlam() | |
2834 | end | |
2835 | end)) | |
2836 | end | |
2837 | end | |
2838 | if C1a==true then | |
2839 | if C1Hum.Health<=0 then | |
2840 | C1a=false | |
2841 | summoncrystals=0 | |
2842 | Stun.Value=Stun.Value+160 | |
2843 | MagicCrystal(BrickColor.new("Pastel light blue"),cf(C1Head.Position),10,20,10,3,3,3,.1) | |
2844 | Cryst1.Parent=nil | |
2845 | end | |
2846 | end | |
2847 | if C2a==true then | |
2848 | if C2Hum.Health<=0 then | |
2849 | C2a=false | |
2850 | summoncrystals=0 | |
2851 | Stun.Value=Stun.Value+160 | |
2852 | MagicCrystal(BrickColor.new("Pastel light blue"),cf(C2Head.Position),10,20,10,3,3,3,.1) | |
2853 | Cryst2.Parent=nil | |
2854 | end | |
2855 | end | |
2856 | if C3a==true then | |
2857 | if C3Hum.Health<=0 then | |
2858 | C3a=false | |
2859 | summoncrystals=0 | |
2860 | Stun.Value=Stun.Value+160 | |
2861 | MagicCrystal(BrickColor.new("Pastel light blue"),cf(C3Head.Position),10,20,10,3,3,3,.1) | |
2862 | Cryst3.Parent=nil | |
2863 | end | |
2864 | end | |
2865 | if C4a==true then | |
2866 | if C4Hum.Health<=0 then | |
2867 | C4a=false | |
2868 | summoncrystals=0 | |
2869 | Stun.Value=Stun.Value+160 | |
2870 | MagicCrystal(BrickColor.new("Pastel light blue"),cf(C4Head.Position),10,20,10,3,3,3,.1) | |
2871 | Cryst4.Parent=nil | |
2872 | end | |
2873 | end | |
2874 | if C1a==false and C2a==false and C3a==false and C4a==false then | |
2875 | if CurrentHealth>1500 then | |
2876 | else | |
2877 | end | |
2878 | crystals=false | |
2879 | end | |
2880 | if CurrentHealth<=1500 then | |
2881 | end | |
2882 | summoncrystals=summoncrystals+.1 | |
2883 | if summoncrystals>100 and crystals==false and attack==false then | |
2884 | coroutine.resume(coroutine.create(function() | |
2885 | while attack==true do | |
2886 | swait() | |
2887 | end | |
2888 | SummonCrystals() | |
2889 | end)) | |
2890 | end]] | |
2891 | Humanoid.WalkSpeed=0 | |
2892 | if Stun.Value>=StunT.Value and stunanim==false and attack==false then | |
2893 | coroutine.resume(coroutine.create(function() | |
2894 | stunanim=true | |
2895 | while attack==true do | |
2896 | swait() | |
2897 | Stun.Value=StunT.Value | |
2898 | end | |
2899 | summoncrystals=0 | |
2900 | StunAnim() | |
2901 | Stun.Value=0 | |
2902 | stunanim=false | |
2903 | end)) | |
2904 | end | |
2905 | local torvel=(RootPart.Velocity*Vector3.new(1,0,1)).magnitude | |
2906 | local velderp=RootPart.Velocity.y | |
2907 | hitfloor,posfloor=rayCast(RootPart.Position,(CFrame.new(RootPart.Position,RootPart.Position - Vector3.new(0,1,0))).lookVector,10,Character) | |
2908 | for _,c in pairs(Decrease:children()) do | |
2909 | c.Parent=nil | |
2910 | if c:findFirstChild("Duration")~=nil then | |
2911 | c.Duration.Value=c.Duration.Value-9999 | |
2912 | if c.Duration.Value<=0 then | |
2913 | c.Parent=nil | |
2914 | end | |
2915 | end | |
2916 | if c.Name=="DecreaseAtk" then | |
2917 | decreaseatk=decreaseatk+c.Value | |
2918 | elseif c.Name=="DecreaseDef" then | |
2919 | decreasedef=decreasedef+c.Value | |
2920 | elseif c.Name=="DecreaseMvmt" then | |
2921 | decreasemvmt=decreasemvmt+c.Value | |
2922 | end | |
2923 | end | |
2924 | Atk.Value=2-decreaseatk | |
2925 | if Atk.Value<=0 then | |
2926 | Atk.Value=0 | |
2927 | end | |
2928 | Def.Value=2-decreasedef | |
2929 | if Def.Value<=0 then | |
2930 | Def.Value=0.01 | |
2931 | end | |
2932 | Mvmt.Value=0-decreasemvmt | |
2933 | if Mvmt.Value<=0 then | |
2934 | Mvmt.Value=0 | |
2935 | end | |
2936 | decreaseatk=0 | |
2937 | decreasedef=0 | |
2938 | decreasemvmt=0 | |
2939 | AtkVal=Atk.Value*100 | |
2940 | AtkVal=math.floor(AtkVal) | |
2941 | AtkVal=AtkVal/100 | |
2942 | DefVal=Def.Value*100 | |
2943 | DefVal=math.floor(DefVal) | |
2944 | DefVal=DefVal/100 | |
2945 | MvmtVal=Mvmt.Value*100 | |
2946 | MvmtVal=math.floor(MvmtVal) | |
2947 | MvmtVal=MvmtVal/100 | |
2948 | if MvmtVal<=0 then | |
2949 | MvmtVal=0 | |
2950 | end | |
2951 | animnum=animnum+1 | |
2952 | if animnum>=animlimit*5 then | |
2953 | idle=1 | |
2954 | animnum=0 | |
2955 | elseif animnum>=animlimit*4 then | |
2956 | idle=1 | |
2957 | animnum=0 | |
2958 | elseif animnum>=animlimit*3 then | |
2959 | idle=4 | |
2960 | elseif animnum>=animlimit*2 then | |
2961 | idle=3 | |
2962 | elseif animnum>=animlimit*1 then | |
2963 | idle=2 | |
2964 | end | |
2965 | if attack==false then --idle anim | |
2966 | if idle==1 or idle==2 then | |
2967 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.4,0,0),.005) | |
2968 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-200,0),.005) | |
2969 | wld19.C0=wld19.C0:lerp(euler(-.4,.3,0)*cf(94,-47.5,-2.248),.005) | |
2970 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-.1,-.6)*euler(0,-.4,0),.005) | |
2971 | wld24.C0=wld24.C0:lerp(euler(.8,.1,0)*cf(0,90.25,0),.005) | |
2972 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.005) | |
2973 | ||
2974 | wld33.C0=wld33.C0:lerp(euler(-.4,-.3,0)*cf(-94,-47.5,-2.248),.005) | |
2975 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,.1,.6)*euler(0,.4,0),.005) | |
2976 | wld38.C0=wld38.C0:lerp(euler(-.8,.1,0)*cf(0,-90.25,0),.005) | |
2977 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.005) | |
2978 | else | |
2979 | Neck.C0=Neck.C0:lerp(euler(0,0,0)*cf(0,35,0)*euler(.4,0,0),.005) | |
2980 | RootJoint.C0=RootJoint.C0:lerp(cf(-1.749,-180,10)*euler(-.2,0,0),.005) | |
2981 | wld19.C0=wld19.C0:lerp(euler(-.2,.3,0)*cf(94,-47.5,-2.248),.005) | |
2982 | wld21.C0=wld21.C0:lerp(euler(0,0,math.rad(90))*cf(74.25,0,0)*euler(0,-.1,-.6)*euler(0,0,0),.005) | |
2983 | wld24.C0=wld24.C0:lerp(euler(1.2,-.2,0)*cf(0,90.25,0),.005) | |
2984 | wld29.C0=wld29.C0:lerp(euler(0,0,0)*cf(0,125,0),.005) | |
2985 | ||
2986 | wld33.C0=wld33.C0:lerp(euler(-.2,-.3,0)*cf(-94,-47.5,-2.248),.005) | |
2987 | wld35.C0=wld35.C0:lerp(euler(0,0,math.rad(90))*cf(-74.25,0,0)*euler(0,.1,.6)*euler(0,0,0),.005) | |
2988 | wld38.C0=wld38.C0:lerp(euler(-1.2,-.2,0)*cf(0,-90.25,0),.005) | |
2989 | wld43.C0=wld43.C0:lerp(euler(0,0,0)*cf(0,-125,0),.005) | |
2990 | end | |
2991 | end | |
2992 | if #Effects>0 then | |
2993 | --table.insert(Effects,{prt,"Block1",delay}) | |
2994 | for e=1,#Effects do | |
2995 | if Effects[e]~=nil then | |
2996 | --for j=1,#Effects[e] do | |
2997 | local Thing=Effects[e] | |
2998 | if Thing~=nil then | |
2999 | local Part=Thing[1] | |
3000 | local Mode=Thing[2] | |
3001 | local Delay=Thing[3] | |
3002 | local IncX=Thing[4] | |
3003 | local IncY=Thing[5] | |
3004 | local IncZ=Thing[6] | |
3005 | if Thing[2]=="DecreaseStat" then | |
3006 | --table.insert(Effects,{Model,"DecreaseStat",Stat,Amount,Duration,d}) | |
3007 | Thing[5]=Thing[5]-1 | |
3008 | if Thing[5]<=0 then | |
3009 | if Thing[1]:findFirstChild("Stats")~=nil then | |
3010 | if Thing[1].Stats:findFirstChild("Decrease")~=nil then | |
3011 | --Thing[1].Stats[Thing[3]].Value=Thing[1].Stats[Thing[3]].Value+Thing[4] | |
3012 | end | |
3013 | end | |
3014 | Thing[6].Parent=nil | |
3015 | table.remove(Effects,e) | |
3016 | end | |
3017 | end | |
3018 | if Thing[2]=="CylinderClang" then | |
3019 | if Thing[3]<=1 then | |
3020 | Thing[1].CFrame=Thing[1].CFrame*CFrame.new(0,2.5*Thing[5],0)*CFrame.fromEulerAnglesXYZ(Thing[6],0,0) | |
3021 | Thing[7]=Thing[1].CFrame | |
3022 | effect("New Yeller",0,Thing[8],Thing[7]) | |
3023 | Thing[8]=Thing[7] | |
3024 | Thing[3]=Thing[3]+Thing[4] | |
3025 | else | |
3026 | Part.Parent=nil | |
3027 | table.remove(Effects,e) | |
3028 | end | |
3029 | end | |
3030 | if Thing[2]=="showDamage" then | |
3031 | if Thing[6]<Thing[5] then | |
3032 | Thing[6]=Thing[6]+1 | |
3033 | elseif Thing[6]<Thing[7] then | |
3034 | Thing[4].position=Thing[4].position+vt(0,-.2,0) | |
3035 | Thing[6]=Thing[6]+1 | |
3036 | elseif Thing[6]<Thing[8] then | |
3037 | Thing[6]=Thing[6]+1 | |
3038 | elseif Thing[6]<Thing[9] then | |
3039 | Thing[6]=Thing[6]+1 | |
3040 | Thing[4].position=Thing[4].position+vt(0,.2,0) | |
3041 | Thing[3].TextStrokeTransparency=Thing[3].TextStrokeTransparency+.1 | |
3042 | Thing[3].TextTransparency=Thing[3].TextTransparency+.1 | |
3043 | else | |
3044 | Thing[1].Parent=nil | |
3045 | table.remove(Effects,e) | |
3046 | end | |
3047 | end | |
3048 | if Thing[2]=="ShootIce" then | |
3049 | local Look=Thing[1] | |
3050 | local hit,pos = rayCast(Thing[4],Look.lookVector,Thing[9],Character) | |
3051 | local mag=(Thing[4]-pos).magnitude | |
3052 | --MagicHead(BrickColor.new(NewCol),CFrame.new((Thing[4]+pos)/2,pos)*angles(1.57,0,0),1,mag*5,1,.5,0,.5,.2) | |
3053 | Thing[8].CFrame=CFrame.new((Thing[4]+pos)/2,pos)*euler(-1.57,0,0) | |
3054 | Thing[4]=Thing[4]+(Look.lookVector*Thing[9]) | |
3055 | Thing[3]=Thing[3]-1 | |
3056 | Thing[9]=Thing[9]+.2 | |
3057 | if hit~=nil then | |
3058 | Thing[3]=0 | |
3059 | --DecreaseStat(hit.Parent,"Movement",.02,50,false) | |
3060 | --Damagefunc(hit,Thing[5],Thing[6],Thing[7],"Normal",RootPart,0,2,math.random(1,3),nil,nil,true) | |
3061 | ref=part(3,effects,0,1,BrickColor.new("Really red"),"Reference",vt()) | |
3062 | ref.Anchored=true | |
3063 | ref.CFrame=cf(pos) | |
3064 | --MagicCircle(BrickColor.new(NewCol3),cf(pos),5,5,5,1,1,1,0.2) | |
3065 | game:GetService("Debris"):AddItem(ref,1) | |
3066 | ref2=part(3,effects,0,1,BrickColor.new("Really red"),"Reference",vt(5,5,5)) | |
3067 | ref2.Anchored=true | |
3068 | ref2.CFrame=cf(pos) | |
3069 | --MagicCircle(BrickColor.new(NewCol3),cf(pos),5,5,5,1,1,1,0.2) | |
3070 | so("199146181",ref2,1,1.6) | |
3071 | game:GetService("Debris"):AddItem(ref2,5) | |
3072 | --MagicCircle(BrickColor.new("Cyan"),ref.CFrame,40,40,40,1,1,1,.05) | |
3073 | freeze=true | |
3074 | MagicCircle(BrickColor.new("Cyan"),cf(ref.Position),20,20,20,20,20,20,.1) | |
3075 | MagniDamage(ref,15,Thing[5],Thing[6],Thing[7],"Normal",RootPart,0,2,math.random(10,15),nil,nil,true,"Movement",.1,100) | |
3076 | freeze=false | |
3077 | for i=1,8 do | |
3078 | BreakEffect(BrickColor.new("Pearl"),ref.CFrame*cf(math.random(-100,100)/100,math.random(-100,100)/100,math.random(-100,100)/100),math.random(60,120)/100,math.random(3,20),math.random(60,120)/100) | |
3079 | end | |
3080 | end | |
3081 | if Thing[3]<=0 then | |
3082 | Thing[8].Transparency=1 | |
3083 | Thing[11].Enabled=false | |
3084 | Thing[12].Enabled=false | |
3085 | game:GetService("Debris"):AddItem(Thing[8],5) | |
3086 | table.remove(Effects,e) | |
3087 | end | |
3088 | end | |
3089 | if Thing[2]=="SatelliteStrike" then | |
3090 | if Thing[5]<200 then | |
3091 | Thing[5]=Thing[5]+2 | |
3092 | Thing[4].Scale=vt(Thing[5],5,Thing[5]) | |
3093 | else | |
3094 | refda=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
3095 | refda.Anchored=true | |
3096 | refda.CFrame=cf(Thing[1].Position) | |
3097 | game:GetService("Debris"):AddItem(refda,1) | |
3098 | so("334325056",refda,1,1) | |
3099 | so("199145739",refda,.8,2) | |
3100 | MagniDamage(refda,20,8,10,0,"Knockdown2",refda,0,1,math.random(10,12),nil,nil,true,"Movement",.4,100) | |
3101 | MagicHead(BrickColor.new("Medium blue"),cf(refda.Position),50,99999,50,-4,1,-4,.1) | |
3102 | MagicBlock(BrickColor.new("Medium blue"),cf(refda.Position),120,120,120,-5,-5,-5,.07,1) | |
3103 | for i=1,15 do | |
3104 | local freezepart=part(3,effects,0.5,0.5,BrickColor.new("Bright blue"),"Ice Part",vt(math.random(500,800)/100,math.random(500,800)/100,math.random(500,800)/100)) | |
3105 | freezepart.Anchored=true | |
3106 | freezepart.CanCollide=true | |
3107 | freezepart.CFrame=cf(refda.Position)*cf(math.random(-2000,2000)/100,0,math.random(-2000,2000)/100)*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
3108 | game:GetService("Debris"):AddItem(freezepart,5) | |
3109 | end | |
3110 | Thing[1].Parent=nil | |
3111 | --MagicIcicle(BrickColor.new("Bright green"),cf(Thing[1].Position)*cf(0,-4,0)*euler(math.random(-50,50)/100,0,math.random(-50,50)/100),5,15,5,.05) | |
3112 | table.remove(Effects,e) | |
3113 | end | |
3114 | end | |
3115 | if Thing[2]=="SatelliteStrike2" then | |
3116 | if Thing[5]<300 then | |
3117 | Thing[5]=Thing[5]+2 | |
3118 | Thing[4].Scale=vt(Thing[5],5,Thing[5]) | |
3119 | else | |
3120 | refda=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
3121 | refda.Anchored=true | |
3122 | refda.CFrame=cf(Thing[1].Position) | |
3123 | game:GetService("Debris"):AddItem(refda,1) | |
3124 | refda2=part(3,effects,0,1,BrickColor.new("Black"),"Reference",vt()) | |
3125 | refda2.Anchored=true | |
3126 | refda2.CFrame=refda.CFrame*cf(0,-10,0) | |
3127 | game:GetService("Debris"):AddItem(refda2,1) | |
3128 | so("178452221",refda,1,1.2) | |
3129 | so("334325056",refda,1,1) | |
3130 | MagniDamage(refda,30,8,10,math.random(40,60),"Knockdown2",refda2,0,1,math.random(15,20),nil,nil,true,"Damage",.4,300) | |
3131 | --MagicHead(BrickColor.new("Medium blue"),cf(refda.Position),50,99999,50,-4,1,-4,.1) | |
3132 | MagicBlock(BrickColor.new("Medium blue"),cf(refda.Position),120,120,120,-5,-5,-5,.07,1) | |
3133 | MagicWave2(BrickColor.new("Cyan"),cf(refda.Position),40,30,40,5,8,5,.07) | |
3134 | --[[for i=1,15 do | |
3135 | local freezepart=part(3,effects,0.5,0.5,BrickColor.new("Bright blue"),"Ice Part",vt(math.random(500,800)/100,math.random(500,800)/100,math.random(500,800)/100)) | |
3136 | freezepart.Anchored=true | |
3137 | freezepart.CanCollide=true | |
3138 | freezepart.CFrame=cf(refda.Position)*cf(math.random(-1500,1500)/100,0,math.random(-1500,1500)/100)*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
3139 | game:GetService("Debris"):AddItem(freezepart,5) | |
3140 | end]] | |
3141 | Thing[1].Parent=nil | |
3142 | --MagicIcicle(BrickColor.new("Bright green"),cf(Thing[1].Position)*cf(0,-4,0)*euler(math.random(-50,50)/100,0,math.random(-50,50)/100),5,15,5,.05) | |
3143 | table.remove(Effects,e) | |
3144 | end | |
3145 | end | |
3146 | if Thing[2]~="DecreaseStat" and Thing[2]~="showDamage" and Thing[2]~="ShootIce" and Thing[2]~="SatelliteStrike" and Thing[2]~="SatelliteStrike2" then | |
3147 | if Thing[1].Transparency<=1 then | |
3148 | if Thing[2]=="Block1" then | |
3149 | Thing[1].CFrame=Thing[1].CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50)) | |
3150 | Mesh=Thing[7] | |
3151 | Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6]) | |
3152 | Thing[1].Transparency=Thing[1].Transparency+Thing[3] | |
3153 | elseif Thing[2]=="Block2" then | |
3154 | Thing[1].CFrame=Thing[1].CFrame | |
3155 | Mesh=Thing[7] | |
3156 | Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6]) | |
3157 | Thing[1].Transparency=Thing[1].Transparency+Thing[3] | |
3158 | elseif Thing[2]=="Cylinder" then | |
3159 | Mesh=Thing[7] | |
3160 | Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6]) | |
3161 | Thing[1].Transparency=Thing[1].Transparency+Thing[3] | |
3162 | elseif Thing[2]=="Cylinder2" then | |
3163 | Mesh=Thing[7] | |
3164 | if Thing[1].Transparency<=.5 then | |
3165 | Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6]) | |
3166 | Thing[8]=Thing[8]+.2 | |
3167 | Thing[1].CFrame=Thing[1].CFrame*cf(0,1,0)*euler(0,Thing[8],0) | |
3168 | else | |
3169 | Mesh.Scale=Mesh.Scale+vt(Thing[4]/2,-Thing[5]/1,Thing[6]/2) | |
3170 | Thing[1].CFrame=Thing[1].CFrame*cf(0,-1,0) | |
3171 | end | |
3172 | Thing[1].Transparency=Thing[1].Transparency+Thing[3] | |
3173 | elseif Thing[2]=="Shatter" then | |
3174 | Thing[1].Transparency=Thing[1].Transparency+Thing[3] | |
3175 | Thing[4]=Thing[4]*cf(0,Thing[7],0) | |
3176 | Thing[1].CFrame=Thing[4]*euler(Thing[6],0,0) | |
3177 | --Thing[1].CFrame=Thing[1].CFrame | |
3178 | Thing[6]=Thing[6]+Thing[5] | |
3179 | elseif Thing[2]=="Blood" then | |
3180 | Mesh=Thing[7] | |
3181 | Thing[1].CFrame=Thing[1].CFrame*cf(0,Thing[8],0) | |
3182 | Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6]) | |
3183 | Thing[1].Transparency=Thing[1].Transparency+Thing[3] | |
3184 | elseif Thing[2]=="Elec" then | |
3185 | Mesh=Thing[7] | |
3186 | Mesh.Scale=Mesh.Scale+vt(Thing[7],Thing[8],Thing[9]) | |
3187 | Thing[1].Transparency=Thing[1].Transparency+Thing[3] | |
3188 | elseif Thing[2]=="Disappear" then | |
3189 | Thing[1].Transparency=Thing[1].Transparency+Thing[3] | |
3190 | end | |
3191 | else | |
3192 | table.remove(Effects,e) | |
3193 | end | |
3194 | end | |
3195 | end | |
3196 | --end | |
3197 | end | |
3198 | end | |
3199 | end | |
3200 | end | |
3201 | refs.Parent=nil | |
3202 | effects.Parent=nil | |
3203 | Humanoid.Parent=nil | |
3204 | for _,c in pairs(Character:children()) do | |
3205 | if c.className=="Part" then | |
3206 | --[[c:BreakJoints() | |
3207 | c.CanCollide=true | |
3208 | c.Anchored=false]] | |
3209 | c.Anchored=true | |
3210 | end | |
3211 | end | |
3212 | for _,c in pairs(armor:children()) do | |
3213 | if c.className=="Part" then | |
3214 | --[[c:BreakJoints() | |
3215 | c.CanCollide=true | |
3216 | c.Anchored=false]] | |
3217 | c.Anchored=true | |
3218 | end | |
3219 | end | |
3220 | for _,c in pairs(Character:children()) do | |
3221 | if c.className=="Part" then | |
3222 | if c.Name~="Left Arm" then | |
3223 | swait() | |
3224 | end | |
3225 | c:BreakJoints() | |
3226 | c.CanCollide=false | |
3227 | c.Anchored=false | |
3228 | end | |
3229 | end | |
3230 | for _,c in pairs(armor:children()) do | |
3231 | if c.className=="Part" then | |
3232 | swait() | |
3233 | c:BreakJoints() | |
3234 | c.CanCollide=false | |
3235 | c.Anchored=false | |
3236 | end | |
3237 | end | |
3238 | --[[ | |
3239 | Copyrighted (C) Fenrier 2015 | |
3240 | ]] |