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