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