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