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