Advertisement
lafur

Untitled

Sep 29th, 2018
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 77.64 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  4. local RealPlayer = Player
  5. do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},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 script.Name = "Dead winter"
  6. wait(0.2)
  7.  
  8. Player = game:GetService("Players").LocalPlayer
  9. PlayerGui = Player.PlayerGui
  10. Cam = workspace.CurrentCamera
  11. Backpack = Player.Backpack
  12. Character = Player.Character
  13. Humanoid = Character.Humanoid
  14. Mouse = Player:GetMouse()
  15. RootPart = Character["HumanoidRootPart"]
  16. Torso = Character["Torso"]
  17. Head = Character["Head"]
  18. RightArm = Character["Right Arm"]
  19. LeftArm = Character["Left Arm"]
  20. RightLeg = Character["Right Leg"]
  21. LeftLeg = Character["Left Leg"]
  22. RootJoint = RootPart["RootJoint"]
  23. Neck = Torso["Neck"]
  24. RightShoulder = Torso["Right Shoulder"]
  25. LeftShoulder = Torso["Left Shoulder"]
  26. RightHip = Torso["Right Hip"]
  27. LeftHip = Torso["Left Hip"]
  28.  
  29. IT = Instance.new
  30. CF = CFrame.new
  31. VT = Vector3.new
  32. RAD = math.rad
  33. C3 = Color3.new
  34. UD2 = UDim2.new
  35. BRICKC = BrickColor.new
  36. ANGLES = CFrame.Angles
  37. EULER = CFrame.fromEulerAnglesXYZ
  38. COS = math.cos
  39. ACOS = math.acos
  40. SIN = math.sin
  41. ASIN = math.asin
  42. ABS = math.abs
  43. MRANDOM = math.random
  44. FLOOR = math.floor
  45.  
  46. --//=================================\\
  47. --|| USEFUL VALUES
  48. --\\=================================//
  49.  
  50. Animation_Speed = 3
  51. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  52. local Speed = 16
  53. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  54. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  55. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  56. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  57. local DAMAGEMULTIPLIER = 1
  58. local ANIM = "Idle"
  59. local ATTACK = false
  60. local EQUIPPED = false
  61. local HOLD = false
  62. local COMBO = 1
  63. local Rooted = true
  64. local SINE = 0
  65. local KEYHOLD = false
  66. local CHANGE = 2 / Animation_Speed
  67. local WALKINGANIM = false
  68. local VALUE1 = true
  69. local VALUE2 = false
  70. local ROBLOXIDLEANIMATION = IT("Animation")
  71. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  72. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  73. --ROBLOXIDLEANIMATION.Parent = Humanoid
  74. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  75. WEAPONGUI.Name = "Weapon GUI"
  76. local Weapon = IT("Model")
  77. Weapon.Name = "Adds"
  78. local Effects = IT("Folder", Weapon)
  79. Effects.Name = "Effects"
  80. local ANIMATOR = Humanoid.Animator
  81. local ANIMATE = Character.Animate
  82. local UNANCHOR = true
  83. local COLOR = C3(102,255,255)
  84. Player_Size = 1 --Size of the player.
  85.  
  86. --//=================================\\
  87. --\\=================================//
  88.  
  89.  
  90. --//=================================\\
  91. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  92. --\\=================================//
  93.  
  94. ArtificialHB = Instance.new("BindableEvent", script)
  95. ArtificialHB.Name = "ArtificialHB"
  96.  
  97. script:WaitForChild("ArtificialHB")
  98.  
  99. frame = Frame_Speed
  100. tf = 0
  101. allowframeloss = false
  102. tossremainder = false
  103. lastframe = tick()
  104. script.ArtificialHB:Fire()
  105.  
  106. game:GetService("RunService").Heartbeat:connect(function(s, p)
  107. tf = tf + s
  108. if tf >= frame then
  109. if allowframeloss then
  110. script.ArtificialHB:Fire()
  111. lastframe = tick()
  112. else
  113. for i = 1, math.floor(tf / frame) do
  114. script.ArtificialHB:Fire()
  115. end
  116. lastframe = tick()
  117. end
  118. if tossremainder then
  119. tf = 0
  120. else
  121. tf = tf - frame * math.floor(tf / frame)
  122. end
  123. end
  124. end)
  125.  
  126. --//=================================\\
  127. --\\=================================//
  128.  
  129. --//=================================\\
  130. --|| SOME FUNCTIONS
  131. --\\=================================//
  132.  
  133. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  134. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  135. end
  136.  
  137. function PositiveAngle(NUMBER)
  138. if NUMBER >= 0 then
  139. NUMBER = 0
  140. end
  141. return NUMBER
  142. end
  143.  
  144. function NegativeAngle(NUMBER)
  145. if NUMBER <= 0 then
  146. NUMBER = 0
  147. end
  148. return NUMBER
  149. end
  150.  
  151. function Swait(NUMBER)
  152. if NUMBER == 0 or NUMBER == nil then
  153. ArtificialHB.Event:wait()
  154. else
  155. for i = 1, NUMBER do
  156. ArtificialHB.Event:wait()
  157. end
  158. end
  159. end
  160.  
  161. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  162. local NEWMESH = IT(MESH)
  163. if MESH == "SpecialMesh" then
  164. NEWMESH.MeshType = MESHTYPE
  165. if MESHID ~= "nil" and MESHID ~= "" then
  166. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  167. end
  168. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  169. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  170. end
  171. end
  172. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  173. NEWMESH.Scale = SCALE
  174. NEWMESH.Parent = PARENT
  175. return NEWMESH
  176. end
  177.  
  178. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  179. local NEWPART = IT("Part")
  180. NEWPART.formFactor = FORMFACTOR
  181. NEWPART.Reflectance = REFLECTANCE
  182. NEWPART.Transparency = TRANSPARENCY
  183. NEWPART.CanCollide = false
  184. NEWPART.Locked = true
  185. NEWPART.Anchored = true
  186. if ANCHOR == false then
  187. NEWPART.Anchored = false
  188. end
  189. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  190. NEWPART.Name = NAME
  191. NEWPART.Size = SIZE
  192. NEWPART.Position = Torso.Position
  193. NEWPART.Material = MATERIAL
  194. NEWPART:BreakJoints()
  195. NEWPART.Parent = PARENT
  196. return NEWPART
  197. end
  198.  
  199. local function weldBetween(a, b)
  200. local weldd = Instance.new("ManualWeld")
  201. weldd.Part0 = a
  202. weldd.Part1 = b
  203. weldd.C0 = CFrame.new()
  204. weldd.C1 = b.CFrame:inverse() * a.CFrame
  205. weldd.Parent = a
  206. return weldd
  207. end
  208.  
  209.  
  210. function QuaternionFromCFrame(cf)
  211. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  212. local trace = m00 + m11 + m22
  213. if trace > 0 then
  214. local s = math.sqrt(1 + trace)
  215. local recip = 0.5 / s
  216. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  217. else
  218. local i = 0
  219. if m11 > m00 then
  220. i = 1
  221. end
  222. if m22 > (i == 0 and m00 or m11) then
  223. i = 2
  224. end
  225. if i == 0 then
  226. local s = math.sqrt(m00 - m11 - m22 + 1)
  227. local recip = 0.5 / s
  228. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  229. elseif i == 1 then
  230. local s = math.sqrt(m11 - m22 - m00 + 1)
  231. local recip = 0.5 / s
  232. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  233. elseif i == 2 then
  234. local s = math.sqrt(m22 - m00 - m11 + 1)
  235. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  236. end
  237. end
  238. end
  239.  
  240. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  241. local xs, ys, zs = x + x, y + y, z + z
  242. local wx, wy, wz = w * xs, w * ys, w * zs
  243. local xx = x * xs
  244. local xy = x * ys
  245. local xz = x * zs
  246. local yy = y * ys
  247. local yz = y * zs
  248. local zz = z * zs
  249. 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))
  250. end
  251.  
  252. function QuaternionSlerp(a, b, t)
  253. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  254. local startInterp, finishInterp;
  255. if cosTheta >= 0.0001 then
  256. if (1 - cosTheta) > 0.0001 then
  257. local theta = ACOS(cosTheta)
  258. local invSinTheta = 1 / SIN(theta)
  259. startInterp = SIN((1 - t) * theta) * invSinTheta
  260. finishInterp = SIN(t * theta) * invSinTheta
  261. else
  262. startInterp = 1 - t
  263. finishInterp = t
  264. end
  265. else
  266. if (1 + cosTheta) > 0.0001 then
  267. local theta = ACOS(-cosTheta)
  268. local invSinTheta = 1 / SIN(theta)
  269. startInterp = SIN((t - 1) * theta) * invSinTheta
  270. finishInterp = SIN(t * theta) * invSinTheta
  271. else
  272. startInterp = t - 1
  273. finishInterp = t
  274. end
  275. end
  276. 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
  277. end
  278.  
  279. function Clerp(a, b, t)
  280. local qa = {QuaternionFromCFrame(a)}
  281. local qb = {QuaternionFromCFrame(b)}
  282. local ax, ay, az = a.x, a.y, a.z
  283. local bx, by, bz = b.x, b.y, b.z
  284. local _t = 1 - t
  285. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  286. end
  287.  
  288. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  289. local frame = IT("Frame")
  290. frame.BackgroundTransparency = TRANSPARENCY
  291. frame.BorderSizePixel = BORDERSIZEPIXEL
  292. frame.Position = POSITION
  293. frame.Size = SIZE
  294. frame.BackgroundColor3 = COLOR
  295. frame.BorderColor3 = BORDERCOLOR
  296. frame.Name = NAME
  297. frame.Parent = PARENT
  298. return frame
  299. end
  300.  
  301. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  302. local label = IT("TextLabel")
  303. label.BackgroundTransparency = 1
  304. label.Size = UD2(1, 0, 1, 0)
  305. label.Position = UD2(0, 0, 0, 0)
  306. label.TextColor3 = TEXTCOLOR
  307. label.TextStrokeTransparency = STROKETRANSPARENCY
  308. label.TextTransparency = TRANSPARENCY
  309. label.FontSize = TEXTFONTSIZE
  310. label.Font = TEXTFONT
  311. label.BorderSizePixel = BORDERSIZEPIXEL
  312. label.TextScaled = false
  313. label.Text = TEXT
  314. label.Name = NAME
  315. label.Parent = PARENT
  316. return label
  317. end
  318.  
  319. function NoOutlines(PART)
  320. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  321. end
  322.  
  323. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  324. local NEWWELD = IT(TYPE)
  325. NEWWELD.Part0 = PART0
  326. NEWWELD.Part1 = PART1
  327. NEWWELD.C0 = C0
  328. NEWWELD.C1 = C1
  329. NEWWELD.Parent = PARENT
  330. return NEWWELD
  331. end
  332.  
  333. local S = IT("Sound")
  334. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  335. local NEWSOUND = nil
  336. coroutine.resume(coroutine.create(function()
  337. NEWSOUND = S:Clone()
  338. NEWSOUND.Parent = PARENT
  339. NEWSOUND.Volume = VOLUME
  340. NEWSOUND.Pitch = PITCH
  341. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  342. NEWSOUND:play()
  343. if DOESLOOP == true then
  344. NEWSOUND.Looped = true
  345. else
  346. repeat wait(1) until NEWSOUND.Playing == false
  347. NEWSOUND:remove()
  348. end
  349. end))
  350. return NEWSOUND
  351. end
  352.  
  353. function CFrameFromTopBack(at, top, back)
  354. local right = top:Cross(back)
  355. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  356. end
  357.  
  358. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  359. function WACKYEFFECT(Table)
  360. local TYPE = (Table.EffectType or "Sphere")
  361. local SIZE = (Table.Size or VT(1,1,1))
  362. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  363. local TRANSPARENCY = (Table.Transparency or 0)
  364. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  365. local CFRAME = (Table.CFrame or Torso.CFrame)
  366. local MOVEDIRECTION = (Table.MoveToPos or nil)
  367. local ROTATION1 = (Table.RotationX or 0)
  368. local ROTATION2 = (Table.RotationY or 0)
  369. local ROTATION3 = (Table.RotationZ or 0)
  370. local MATERIAL = (Table.Material or "Neon")
  371. local COLOR = (Table.Color or C3(1,1,1))
  372. local TIME = (Table.Time or 45)
  373. local SOUNDID = (Table.SoundID or nil)
  374. local SOUNDPITCH = (Table.SoundPitch or nil)
  375. local SOUNDVOLUME = (Table.SoundVolume or nil)
  376. coroutine.resume(coroutine.create(function()
  377. local PLAYSSOUND = false
  378. local SOUND = nil
  379. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  380. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  381. PLAYSSOUND = true
  382. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  383. end
  384. EFFECT.Color = COLOR
  385. local MSH = nil
  386. if TYPE == "Sphere" then
  387. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  388. elseif TYPE == "Block" then
  389. MSH = IT("BlockMesh",EFFECT)
  390. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  391. elseif TYPE == "Wave" then
  392. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  393. elseif TYPE == "Ring" then
  394. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  395. elseif TYPE == "Slash" then
  396. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  397. elseif TYPE == "Round Slash" then
  398. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  399. elseif TYPE == "Swirl" then
  400. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  401. elseif TYPE == "Skull" then
  402. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  403. elseif TYPE == "Crystal" then
  404. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  405. end
  406. if MSH ~= nil then
  407. local MOVESPEED = nil
  408. if MOVEDIRECTION ~= nil then
  409. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  410. end
  411. local GROWTH = SIZE - ENDSIZE
  412. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  413. if TYPE == "Block" then
  414. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  415. else
  416. EFFECT.CFrame = CFRAME
  417. end
  418. for LOOP = 1, TIME+1 do
  419. Swait()
  420. MSH.Scale = MSH.Scale - GROWTH/TIME
  421. if TYPE == "Wave" then
  422. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  423. end
  424. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  425. if TYPE == "Block" then
  426. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  427. else
  428. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  429. end
  430. if MOVEDIRECTION ~= nil then
  431. local ORI = EFFECT.Orientation
  432. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  433. EFFECT.Orientation = ORI
  434. end
  435. end
  436. if PLAYSSOUND == false then
  437. EFFECT:remove()
  438. else
  439. repeat Swait() until SOUND.Playing == false
  440. EFFECT:remove()
  441. end
  442. else
  443. if PLAYSSOUND == false then
  444. EFFECT:remove()
  445. else
  446. repeat Swait() until SOUND.Playing == false
  447. EFFECT:remove()
  448. end
  449. end
  450. end))
  451. end
  452. --Lightning({Material = "Neon", FadeIn = false, Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 15, Thicken = false})
  453. function Lightning(Table)
  454. local Color = Table.Color or C3(1,1,1)
  455. local StartPos = Table.Start or Torso.Position
  456. local EndPos = Table.End or Mouse.Hit.p
  457. local SegmentLength = Table.SegmentL or 2
  458. local Thickness = Table.Thickness or 0.1
  459. local Dissapear = Table.DoesFade or false
  460. local Parent = Table.Ignore or Character
  461. local MaxDist = Table.MaxDist or 400
  462. local Branches = Table.Branches or false
  463. local Thicken = Table.Thicken or false
  464. local FadeTime = Table.FadeTime or 15
  465. local FadeIn = Table.FadeIn or false
  466. local Material = Table.Material or "Neon"
  467. local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
  468. local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/((SegmentLength/SegmentLength)/1.5))
  469. local LIGHTNINGMODEL = IT("Model",Effects)
  470. LIGHTNINGMODEL.Name = "Lightning"
  471. local LastBolt = nil
  472. for E = 1, DISTANCE do
  473. local ExtraSize = 0
  474. if Thicken == true then
  475. ExtraSize = (DISTANCE-E)/15
  476. end
  477. local TRANSPARENCY = 0
  478. if FadeIn == true then
  479. TRANSPARENCY = 1-(E/(DISTANCE/1.5))
  480. if TRANSPARENCY < 0 then
  481. TRANSPARENCY = 0
  482. end
  483. end
  484. local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
  485. PART.Color = Color
  486. MakeForm(PART,"Cyl")
  487. if LastBolt == nil then
  488. PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  489. else
  490. PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,DISTANCE-E).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  491. end
  492. LastBolt = PART
  493. if Branches == true and E < (DISTANCE-5) then
  494. local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
  495. if CHOICE == 1 then
  496. local LASTBRANCH = nil
  497. for i = 1, MRANDOM(2,5) do
  498. local ExtraSize2 = 0
  499. if Thicken == true then
  500. ExtraSize = ((DISTANCE-E)/25)/i
  501. end
  502. local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
  503. PART.Color = Color
  504. MakeForm(PART,"Cyl")
  505. if LASTBRANCH == nil then
  506. PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  507. else
  508. PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  509. end
  510. LASTBRANCH = PART
  511. end
  512. end
  513. end
  514. end
  515. if Dissapear == true then
  516. coroutine.resume(coroutine.create(function()
  517. for i = 1, FadeTime do
  518. Swait()
  519. for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
  520. if c.ClassName == "Part" then
  521. c.Transparency = c.Transparency + (i/FadeTime)/10
  522. end
  523. end
  524. end
  525. LIGHTNINGMODEL:remove()
  526. end))
  527. elseif Dissapear == false then
  528. Debris:AddItem(LIGHTNINGMODEL,0.1)
  529. end
  530. return {Hit = HIT,Pos = HITPOS,End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
  531. end
  532. function MakeForm(PART,TYPE)
  533. if TYPE == "Cyl" then
  534. local MSH = IT("CylinderMesh",PART)
  535. elseif TYPE == "Ball" then
  536. local MSH = IT("SpecialMesh",PART)
  537. MSH.MeshType = "Sphere"
  538. elseif TYPE == "Wedge" then
  539. local MSH = IT("SpecialMesh",PART)
  540. MSH.MeshType = "Wedge"
  541. end
  542. end
  543.  
  544. Debris = game:GetService("Debris")
  545.  
  546. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  547. local DIRECTION = CF(StartPos,EndPos).lookVector
  548. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  549. end
  550.  
  551. function CharacterFade(COLOR,TIMER)
  552. coroutine.resume(coroutine.create(function()
  553. local FADE = IT("Model",Effects)
  554. for _, c in pairs(Character:GetChildren()) do
  555. if c.ClassName == "Part" and c ~= RootPart then
  556. local FADER = c:Clone()
  557. FADER.Color = COLOR
  558. FADER.CFrame = c.CFrame
  559. FADER.Parent = FADE
  560. FADER.Anchored = true
  561. FADER.Transparency = 0.25
  562. FADER:BreakJoints()
  563. FADER.Material = "Glass"
  564. FADER:ClearAllChildren()
  565. if FADER.Name == "Head" then
  566. FADER.Size = VT(1,1,1)
  567. end
  568. end
  569. end
  570. local TRANS = 0.75/TIMER
  571. for i = 1, TIMER do
  572. Swait()
  573. for _, c in pairs(FADE:GetChildren()) do
  574. if c.ClassName == "Part" then
  575. c.Transparency = c.Transparency + TRANS
  576. end
  577. end
  578. end
  579. FADE:remove()
  580. end))
  581. end
  582.  
  583. local PE=Instance.new("ParticleEmitter")
  584. PE.LightEmission=0.3
  585. PE.Size=NumberSequence.new(0)
  586. PE.Transparency=NumberSequence.new(0,1)
  587. PE.Rotation=NumberRange.new(0,360)
  588. PE.LockedToPart = false
  589. PE.Speed = NumberRange.new(0,0,0)
  590. PE.ZOffset = 0.3
  591. PE.Rate = 999
  592. PE.VelocitySpread = 25
  593. PE.Name = "Particles"
  594.  
  595. function CreateParticles(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
  596. local particle = nil
  597. coroutine.resume(coroutine.create(function(PART)
  598. particle = PE:Clone()
  599. Swait()
  600. particle.Rate = 999
  601. particle.Parent = art
  602. particle.Acceleration = accel
  603. if type == "Fire" then
  604. local EyeSizes={
  605. NumberSequenceKeypoint.new(0,size,size/2),
  606. NumberSequenceKeypoint.new(1,size/4,size/8)
  607. }
  608. particle.Size = NumberSequence.new(EyeSizes)
  609. elseif type == "Smoke" then
  610. local EyeSizes={
  611. NumberSequenceKeypoint.new(0,size/5,0),
  612. NumberSequenceKeypoint.new(1,size*2,0.5)
  613. }
  614. particle.Size = NumberSequence.new(EyeSizes)
  615. elseif type == "Solid" then
  616. local EyeSizes={
  617. NumberSequenceKeypoint.new(0,size,0),
  618. NumberSequenceKeypoint.new(1,size,0)
  619. }
  620. particle.Size = NumberSequence.new(EyeSizes)
  621. end
  622. particle.Lifetime=NumberRange.new(lifetime)
  623. particle.Drag = drag
  624. if locked == true then
  625. particle.LockedToPart = true
  626. end
  627. particle.Speed = NumberRange.new(speed*0.8,speed)
  628. particle.Texture = "http://www.roblox.com/asset/?id=1179557490"
  629. particle.Enabled = isenabledbydefault
  630. particle.Color = ColorSequence.new(Color3.new(255/255, 176/255, 0))
  631. end))
  632. return particle
  633. end
  634. function AoEStun(POS,RANGE,LAST)
  635. for i,v in ipairs(workspace:GetChildren()) do
  636. if v:FindFirstChild("StunnedBy"..Player.Name) == nil then
  637. local body = v:GetChildren()
  638. for part = 1, #body do
  639. if(v:FindFirstChild("StunnedBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  640. if(body[part].Position - POS).Magnitude < RANGE then
  641. if v.ClassName == "Model" then
  642. if v:FindFirstChild("Humanoid") then
  643. if v.Humanoid.Health ~= 0 then
  644. Freeze(v.Humanoid,LAST)
  645. local defence = Instance.new("BoolValue",v)
  646. defence.Name = ("StunnedBy"..Player.Name)
  647. game:GetService("Debris"):AddItem(defence, 0.1)
  648. end
  649. end
  650. end
  651. end
  652. end
  653. end
  654. end
  655. end
  656. end
  657. function Freeze(HUMANOID,LAST)
  658. if HUMANOID.Parent:FindFirstChild("StunnedBy"..Player.Name) == nil then
  659. local q = HUMANOID.Parent:GetChildren()
  660. for i = 1, #q do
  661. local bob = q[i]
  662. if bob.ClassName == "Part" or bob.ClassName == "MeshPart" then
  663. if bob.Transparency < 1 then
  664. bob.Anchored = true
  665. local icelayer = bob:Clone()
  666. icelayer.Parent = bob
  667. icelayer.Material = "Ice"
  668. icelayer.CanCollide = false
  669. icelayer.BrickColor = BRICKC"Steel blue"
  670. icelayer.Transparency = 0.5
  671. icelayer.CFrame = bob.CFrame
  672. icelayer.Name = "Ice"
  673. icelayer.Size = icelayer.Size + VT(0.1,0.1,0.1)
  674. if icelayer:FindFirstChildOfClass("Decal") then
  675. icelayer:FindFirstChildOfClass("Decal"):remove()
  676. end
  677. end
  678. end
  679. end
  680. local defence = Instance.new("BoolValue",HUMANOID.Parent)
  681. defence.Name = ("StunnedBy"..Player.Name)
  682. game:GetService("Debris"):AddItem(defence, LAST)
  683. if HUMANOID.Parent:FindFirstChild("Head") then
  684. StatLabel("Normal", HUMANOID.Parent.Head.CFrame * CF(0, 0 + (HUMANOID.Parent.Head.Size.z - 1), 0), "Frozen!", C3(0.3, 0.3, 0.3))
  685. end
  686. if LAST ~= "Forever" then
  687. coroutine.resume(coroutine.create(function()
  688. Swait(LAST*50)
  689. local q = HUMANOID.Parent:GetChildren()
  690. for i = 1, #q do
  691. local bob = q[i]
  692. if bob.ClassName == "Part" or bob.ClassName == "MeshPart" then
  693. if bob.Transparency < 1 then
  694. bob.Anchored = false
  695. bob.Ice:remove()
  696. end
  697. end
  698. end
  699. end))
  700. else
  701. table.insert(FROZENBODIES,HUMANOID.Parent)
  702. end
  703. end
  704. end
  705.  
  706. function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  707. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  708. local mesh = IT("SpecialMesh",wave)
  709. mesh.MeshType = "FileMesh"
  710. mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  711. mesh.Scale = SIZE
  712. mesh.Offset = VT(0,0,-SIZE.X/8)
  713. wave.CFrame = CFRAME
  714. coroutine.resume(coroutine.create(function(PART)
  715. for i = 1, WAIT do
  716. Swait()
  717. mesh.Scale = mesh.Scale + GROW
  718. mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  719. if DOESROT == true then
  720. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  721. end
  722. wave.Transparency = wave.Transparency + (0.5/WAIT)
  723. if wave.Transparency > 0.99 then
  724. wave:remove()
  725. end
  726. end
  727. end))
  728. end
  729. function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
  730. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  731. local mesh = nil
  732. if KIND == "Base" then
  733. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
  734. elseif KIND == "Thin" then
  735. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  736. elseif KIND == "Round" then
  737. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  738. end
  739. wave.CFrame = CFRAME
  740. coroutine.resume(coroutine.create(function(PART)
  741. for i = 1, WAIT do
  742. Swait()
  743. mesh.Scale = mesh.Scale + GROW/10
  744. wave.Transparency = wave.Transparency + (0.5/WAIT)
  745. if wave.Transparency > 0.99 then
  746. wave:remove()
  747. end
  748. end
  749. end))
  750. end
  751. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
  752. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  753. local mesh = IT("SpecialMesh",wave)
  754. mesh.MeshType = "Sphere"
  755. mesh.Scale = SIZE
  756. mesh.Offset = VT(0,0,0)
  757. wave.CFrame = CFRAME
  758. coroutine.resume(coroutine.create(function(PART)
  759. for i = 1, WAIT do
  760. Swait()
  761. mesh.Scale = mesh.Scale + GROW
  762. wave.Transparency = wave.Transparency + (1/WAIT)
  763. if wave.Transparency > 0.99 then
  764. wave:remove()
  765. end
  766. end
  767. end))
  768. end
  769. local Decal = IT("Decal")
  770. function SpawnBulletHole(POSITION)
  771. local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Bullet hole", VT(0.2,0,0.2))
  772. local decal = Decal:Clone()
  773. decal.Parent = O1
  774. decal.Face = "Top"
  775. decal.Texture = "http://www.roblox.com/asset/?id=130624105"
  776. local decal2 = Decal:Clone()
  777. decal2.Parent = O1
  778. decal2.Face = "Bottom"
  779. decal2.Texture = "http://www.roblox.com/asset/?id=130624105"
  780. O1.CFrame = POSITION*ANGLES(RAD(0),RAD(MRANDOM(-180,180)),RAD(0))
  781. Debris:AddItem(O1,5)
  782. end
  783.  
  784. function SpawnTrail(FROM,TO)
  785. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Light blue", "Arrow", VT(0,0,0))
  786. MakeForm(TRAIL,"Cyl")
  787. local DIST = (FROM - TO).Magnitude
  788. TRAIL.Size = VT(0.5,DIST,0.5)
  789. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  790. coroutine.resume(coroutine.create(function()
  791. for i = 1, 5 do
  792. Swait()
  793. TRAIL.Transparency = TRAIL.Transparency + 0.1
  794. end
  795. TRAIL:remove()
  796. end))
  797. end
  798. function SpawnIce(POSITION)
  799. local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Bullet hole", VT(0.2,0,0.2))
  800. local decal = Decal:Clone()
  801. decal.Parent = O1
  802. decal.Face = "Top"
  803. decal.Texture = "http://www.roblox.com/asset/?id=130624105"
  804. local decal2 = Decal:Clone()
  805. decal2.Parent = O1
  806. decal2.Face = "Bottom"
  807. decal2.Texture = "http://www.roblox.com/asset/?id=130624105"
  808. O1.CFrame = POSITION*ANGLES(RAD(0),RAD(MRANDOM(-180,180)),RAD(0))
  809. Debris:AddItem(O1,5)
  810. end
  811. function IceDetection(FROM,TO)
  812. local DIRECTION = CF(FROM,TO).lookVector
  813. local AIMHIT,AIMPOS,NORMAL = Raycast(FROM, DIRECTION, 2000, Character)
  814. SpawnTrail(FROM,AIMPOS)
  815. coroutine.resume(coroutine.create(function()
  816. if AIMHIT ~= nil then
  817. if AIMHIT.Parent ~= Character then
  818. if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") or AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  819. if AIMHIT.Name ~= "Head" and AIMHIT.Parent.ClassName ~= "Accessory" then
  820. ApplyDamage(AIMHIT.Parent:FindFirstChildOfClass("Humanoid"),MRANDOM(15,25),AIMHIT)
  821. elseif AIMHIT.Name == "Head" or AIMHIT.Parent.ClassName == "Accessory" then
  822. if AIMHIT.Parent.ClassName == "Accessory" then
  823. if AIMHIT:FindFirstChild("HatAttachment") or AIMHIT:FindFirstChild("FaceFrontAttachment") or AIMHIT:FindFirstChild("HairAttachment") then
  824. AIMHIT.Parent.Parent:BreakJoints()
  825. if AIMHIT.Parent.Parent:FindFirstChild("Head") then
  826. AIMHIT.Parent.Parent.Head:remove()
  827. for i = 1, 3 do
  828. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = CF(AIMHIT.Parent.Parent.Head.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Ice", Color = SKILLTEXTCOLOR, SoundID = 180083298, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 3})
  829. end
  830. end
  831. else
  832. CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)],AIMHIT,6,MRANDOM(8,12)/10,false)
  833. ApplyDamage(AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid"),15,AIMHIT)
  834. end
  835. elseif AIMHIT.Name == "Head" then
  836. for i = 1, 3 do
  837. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = CF(AIMHIT.Parent.Parent.Head.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Ice", Color = SKILLTEXTCOLOR, SoundID = 180083298, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 3})
  838. end
  839. AIMHIT.Parent:BreakJoints()
  840. AIMHIT:remove()
  841. end
  842. end
  843. else
  844. SpawnBulletHole(CF(AIMPOS,AIMPOS+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0)))
  845. end
  846. end
  847. end
  848. end))
  849. return AIMHIT,AIMPOS,NORMAL
  850. end
  851.  
  852. function Shatter(Part)
  853. if Part.Transparency == 0 then
  854. local SOUNDPART = CreatePart(3, Effects, "Ice", 0, 1, Part.BrickColor, "OOF", VT(0,0,0))
  855. Debris:AddItem(SOUNDPART,5)
  856. CreateSound("626807593", SOUNDPART, 3, MRANDOM(8,12)/10, false)
  857. local SIZE = Part.Size.X + Part.Size.Y + Part.Size.Z
  858. local SIZESET = SIZE/4
  859. local XOffset = Part.Size.X*1.5/SIZESET
  860. local YOffset = Part.Size.Y*1.5/SIZESET
  861. local ZOffset = Part.Size.Z*1.5/SIZESET
  862. for x = 1, math.ceil(XOffset) do
  863. for y = 1, math.ceil(YOffset) do
  864. for z = 1, math.ceil(ZOffset) do
  865. local SHARD = CreatePart(3, Effects, "Glass", 0, 0.15, Part.BrickColor, "Shard", VT(SIZE,SIZE,SIZE)/10, false)
  866. SHARD.CanCollide = true
  867. SHARD.CFrame = Part.CFrame*CF((Part.Size.X/2-Part.Size.X/4),(Part.Size.Y/2-Part.Size.Y/4),(Part.Size.Z/2-Part.Size.Z/4))
  868. SHARD.Velocity = VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))*3
  869. Debris:AddItem(SHARD,MRANDOM(10,25)/10)
  870. for _, c in pairs(Part:GetChildren()) do
  871. if c.ClassName == "ParticleEmitter" or c.ClassName == "PointLight" or c.ClassName == "Fire" then
  872. c:Clone().Parent = SHARD
  873. end
  874. end
  875. end
  876. end
  877. end
  878. end
  879. Part:remove()
  880. end
  881. function ApplyShatter(Humanoid,Damage,CritRate,CritMultiplier,DoesOneShot)
  882. local defence = Instance.new("BoolValue",Humanoid.Parent)
  883. defence.Name = ("HitBy"..Player.Name)
  884. game:GetService("Debris"):AddItem(defence, 0.001)
  885. Damage = Damage * DAMAGEMULTIPLIER
  886. if Humanoid.Health ~= 0 then
  887. local CritChance = MRANDOM(1,100)
  888. if CritChance < CritRate + 1 then
  889. Damage = Damage*CritMultiplier
  890. end
  891. if Damage > Humanoid.Health then
  892. Damage = math.ceil(Humanoid.Health)
  893. if Damage == 0 then
  894. Damage = 0.1
  895. end
  896. end
  897. if DoesOneShot == true then
  898. for _, c in pairs(Humanoid.Parent:GetChildren()) do
  899. if c:IsA("BasePart") then
  900. Shatter(c)
  901. end
  902. end
  903. Humanoid.Health = Humanoid.Health - Damage
  904. if Humanoid.Parent:FindFirstChild("Head") then
  905. CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], Humanoid.Parent.Head, 5, 1)
  906. if CritChance < CritRate + 1 then
  907. StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
  908. else
  909. StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, C3(0, 0, 0))
  910. end
  911. end
  912. elseif DoesOneShot == true then
  913. --print("["..Humanoid.Parent.Name.."]: One shot!? Really!?!?")
  914. Humanoid.Parent:BreakJoints()
  915. if Humanoid.Parent:FindFirstChild("Head") then
  916. StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "INF", C3(1, 0, 0))
  917. end
  918. for _, c in pairs(Humanoid.Parent:GetChildren()) do
  919. if c.ClassName == "Part" or c.ClassName == "MeshPart" then
  920. Shatter(c)
  921. end
  922. end
  923. end
  924. if Humanoid.Health == 0 then
  925. for _, c in pairs(Humanoid.Parent:GetChildren()) do
  926. if c.ClassName == "Part" or c.ClassName == "MeshPart" then
  927. Shatter(c)
  928. end
  929. end
  930. end
  931. end
  932. end
  933. function ApplyDamage(Humanoid,Damage,CritRate,CritMultiplier)
  934. local defence = Instance.new("BoolValue",Humanoid.Parent)
  935. defence.Name = ("HitBy"..Player.Name)
  936. game:GetService("Debris"):AddItem(defence, 0.001)
  937. if Humanoid.Health ~= 0 then
  938. local CritChance = MRANDOM(1,100)
  939. if CritChance < CritRate + 1 then
  940. Damage = Damage*CritMultiplier
  941. end
  942. if Damage > Humanoid.Health then
  943. Damage = math.ceil(Humanoid.Health)
  944. if Damage == 0 then
  945. Damage = 0.1
  946. end
  947. end
  948. Humanoid.Health = Humanoid.Health - Damage
  949. if Humanoid.Parent:FindFirstChild("Head") then
  950. if CritChance < CritRate + 1 then
  951. StatLabel("Normal", Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
  952. else
  953. StatLabel("Normal", Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, C3(0, 0, 0))
  954. end
  955. end
  956. end
  957. end
  958.  
  959. function AoEDamage(position,radius,min,max,maxstrength,critrate,critmultiplier,CanBeDodgedByJumping)
  960. local dmg = math.random(min,max)
  961. for i,v in ipairs(workspace:GetChildren()) do
  962. if v:FindFirstChild("HitBy"..Player.Name) == nil then
  963. local body = v:GetChildren()
  964. for part = 1, #body do
  965. if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  966. if(body[part].Position - position).Magnitude < radius then
  967. if v.ClassName == "Model" then
  968. if v:FindFirstChildOfClass("Humanoid") then
  969. if v:FindFirstChildOfClass("Humanoid").Health ~= 0 then
  970. if CanBeDodgedByJumping == true then
  971. if body[part].Position.Y < position.Y+5 then
  972. ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
  973. end
  974. else
  975. ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
  976. end
  977. local bv = Instance.new("BodyVelocity")
  978. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  979. bv.velocity = RootPart.CFrame.lookVector*maxstrength
  980. bv.Parent = body[part]
  981. Debris:AddItem(bv,0.2)
  982. end
  983. end
  984. end
  985. end
  986. end
  987. end
  988. end
  989. if v:FindFirstChild("HitBy"..Player.Name) then
  990. v:FindFirstChild("HitBy"..Player.Name):remove()
  991. end
  992. end
  993. end
  994.  
  995.  
  996. function AoEShatter(position,radius,min,max,maxstrength,critrate,critmultiplier,BESERK)
  997. local dmg = math.random(min,max)
  998. for i,v in ipairs(workspace:GetChildren()) do
  999. if v:FindFirstChild("HitBy"..Player.Name) == nil then
  1000. local body = v:GetChildren()
  1001. for part = 1, #body do
  1002. if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  1003. if(body[part].Position - position).Magnitude < radius then
  1004. if v.ClassName == "Model" then
  1005. if v:FindFirstChildOfClass("Humanoid") then
  1006. ApplyShatter(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier,BESERK)
  1007. local bv = Instance.new("BodyVelocity")
  1008. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1009. bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
  1010. bv.Parent = body[part]
  1011. Debris:AddItem(bv,0.2)
  1012. end
  1013. end
  1014. end
  1015. end
  1016. end
  1017. end
  1018. if v:FindFirstChild("HitBy"..Player.Name) then
  1019. v:FindFirstChild("HitBy"..Player.Name):remove()
  1020. end
  1021. end
  1022. end
  1023.  
  1024. function ApplyDamage(Humanoid,Damage,CritRate,CritMultiplier)
  1025. local defence = Instance.new("BoolValue",Humanoid.Parent)
  1026. defence.Name = ("HitBy"..Player.Name)
  1027. game:GetService("Debris"):AddItem(defence, 0.001)
  1028. if Humanoid.Health ~= 0 then
  1029. local CritChance = MRANDOM(1,100)
  1030. if CritChance < CritRate + 0.05 then
  1031. Damage = Damage*CritMultiplier
  1032. end
  1033. if Damage > Humanoid.Health then
  1034. Damage = math.ceil(Humanoid.Health)
  1035. if Damage == 0 then
  1036. Damage = 0.1
  1037. end
  1038. end
  1039. Humanoid.Health = Humanoid.Health - Damage
  1040. if Humanoid.Parent:FindFirstChild("Head") then
  1041. if CritChance < CritRate + 1 then
  1042. StatLabel("Normal", Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
  1043. else
  1044. StatLabel("Normal", Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, C3(0, 0, 0))
  1045. end
  1046. end
  1047. end
  1048. end
  1049. function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
  1050. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  1051. STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
  1052. local BODYGYRO = IT("BodyGyro", STATPART)
  1053. local BODYPOSITION = IT("BodyPosition", STATPART)
  1054. BODYPOSITION.P = 2000
  1055. BODYPOSITION.D = 100
  1056. BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
  1057. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
  1058. game:GetService("Debris"):AddItem(STATPART ,5)
  1059. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  1060. BILLBOARDGUI.Adornee = STATPART
  1061. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  1062. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  1063. BILLBOARDGUI.AlwaysOnTop = false
  1064. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  1065. TEXTLABEL.BackgroundTransparency = 1
  1066. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  1067. TEXTLABEL.Text = TEXT
  1068. TEXTLABEL.Font = "SciFi"
  1069. TEXTLABEL.FontSize="Size42"
  1070. TEXTLABEL.TextColor3 = COLOR
  1071. TEXTLABEL.TextStrokeTransparency = 1
  1072. TEXTLABEL.TextScaled = true
  1073. TEXTLABEL.TextWrapped = true
  1074. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  1075. if LABELTYPE == "Normal" then
  1076. for i = 1, 30 do
  1077. Swait()
  1078. STATPART.Position = STATPART.Position + VT(0, (15-i)/10 ,0)
  1079. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
  1080. end
  1081. elseif LABELTYPE == "Debuff" then
  1082. for i = 1, 30 do
  1083. Swait()
  1084. STATPART.Position = STATPART.Position - VT(0, i/10 ,0)
  1085. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
  1086. end
  1087. elseif LABELTYPE == "Shock" then
  1088. local ORIGIN = STATPART.Position
  1089. for i = 1, 30 do
  1090. Swait()
  1091. STATPART.Position = ORIGIN + VT(MRANDOM(-2,2),MRANDOM(-2,2),MRANDOM(-2,2))
  1092. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
  1093. end
  1094. end
  1095. THEPART.Parent = nil
  1096. end),STATPART, BODYPOSITION, TEXTLABEL)
  1097. end
  1098. --//=================================\\
  1099. --|| WEAPON CREATION
  1100. --\\=================================//
  1101. local DUST = CreateParticles(RightArm,VT(0,0,0),5,2,"Smoke",false,false,5,0)
  1102. DUST.ZOffset = 1
  1103.  
  1104. for _, c in pairs(Weapon:GetChildren()) do
  1105. if c.ClassName == "Part" then
  1106. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1107. end
  1108. end
  1109.  
  1110. local SKILLTEXTCOLOR = C3(1,1,1)
  1111. local SKILLFONT = "SciFi"
  1112. local SKILLTEXTSIZE = 5
  1113.  
  1114. Weapon.Parent = Character
  1115.  
  1116. Humanoid.Died:connect(function()
  1117. ATTACK = true
  1118. RightArm.Transparency = 1
  1119. LeftArm.Transparency = 1
  1120. RightLeg.Transparency = 1
  1121. LeftLeg.Transparency = 1
  1122. Torso.Transparency = 1
  1123. Head.Transparency = 1
  1124. ScrewThis()
  1125. end)
  1126. Void = nil
  1127. VoidParts = {}
  1128. Equipped = false
  1129.  
  1130. Player = Player
  1131. Character = Character
  1132.  
  1133. Humanoid = Character:FindFirstChildOfClass("Humanoid")
  1134. Torso = Character:FindFirstChild("Torso")
  1135. if not Player or not Humanoid or Humanoid.Health == 0 or not Torso then
  1136. return
  1137. end
  1138. Equipped = true
  1139. Void = Instance.new("Model")
  1140. Void.Name = "Void"
  1141. Angle = 0
  1142. for i = 1, 1 do
  1143. local VoidPart = Instance.new("Part")
  1144. VoidPart.Name = "VoidPart"
  1145. VoidPart.Transparency = 1
  1146. VoidPart.BrickColor = BrickColor.new("Really black")
  1147. VoidPart.Material = Enum.Material.Plastic
  1148. VoidPart.Shape = Enum.PartType.Block
  1149. VoidPart.FormFactor = Enum.FormFactor.Custom
  1150. VoidPart.TopSurface = Enum.SurfaceType.Smooth
  1151. VoidPart.BottomSurface = Enum.SurfaceType.Smooth
  1152. VoidPart.Anchored = true
  1153. VoidPart.CanCollide = false
  1154. VoidPart.Locked = true
  1155. VoidPart.Size = Vector3.new(18, 0.2, 18)
  1156. local BlockMesh = Instance.new("BlockMesh")
  1157. BlockMesh.Scale = Vector3.new(1, (1 + (0.005 * i)), 1)
  1158. BlockMesh.Parent = VoidPart
  1159. VoidPart.Parent = Void
  1160. local Star = Instance.new("Decal", VoidPart)
  1161. Star.Texture = "http://www.roblox.com/asset/?id="
  1162. --CricleForTarget
  1163. --121028264 MagicCircle1
  1164. --160506713 MagicCircle2
  1165. --327794305 MagicCircle3 (Death)
  1166. --160508788 MagicCircle4 (Scary)
  1167. --124339738 CoolCircle5
  1168. --268043891 Abyss-Demon-Magic-Circle
  1169. Star.Face = "Top"
  1170. local Light = Instance.new("PointLight", VoidPart)
  1171. Light.Color = Color3.new(.5,0,0)
  1172. Light.Brightness = 100
  1173. Light.Range = 25
  1174. table.insert(VoidParts, VoidPart)
  1175. end
  1176. Spawn(function()
  1177. while Equipped and Humanoid.Parent and Humanoid.Health > 0 and Torso.Parent do
  1178. if Angle == 360 then
  1179. Angle = 0
  1180. end
  1181. Angle = Angle + 0.05
  1182. local Hit, EndPosition = Raycast(Torso.Position, Vector3.new(0, -1, 0), (Torso.Size.Y * 6.5), {Character})
  1183. if Hit then
  1184. if not Void.Parent then
  1185. Void.Parent = Character
  1186. end
  1187. for i, v in pairs(VoidParts) do
  1188. v.CFrame = CFrame.new(Torso.Position.X, EndPosition.Y, Torso.Position.Z) * CFrame.Angles(0, (Angle + i), 0)
  1189. end
  1190. else
  1191. Void.Parent = nil
  1192. end
  1193. wait()
  1194. end
  1195. end)
  1196. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  1197. local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  1198. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.82, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  1199. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.78, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  1200. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.74, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  1201. local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.70, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
  1202.  
  1203. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 1")
  1204. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 2")
  1205. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 3")
  1206. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 4")
  1207. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[E]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 5")
  1208. local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[X]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 6")
  1209. local ORBHOLDER = IT("Model",Weapon)
  1210. ORBHOLDER.Name = "Zen orbs"
  1211.  
  1212. local Orbs = {}
  1213. local AvailableOrbs = {}
  1214. local ORBCOUNT = 1
  1215. for i = 1, ORBCOUNT do
  1216. local POSITION = RootPart.CFrame*ANGLES(RAD(0),RAD(0),RAD(i*(360/1)))*CF(0,2.5,1.5).p
  1217. local Part = CreatePart(3, ORBHOLDER, "Neon", 0, 0, "Light blue", "Zen orb "..i, VT(1,1,1),false)
  1218. MakeForm(Part,"Ball")
  1219. local grav = Instance.new("BodyPosition",Part)
  1220. grav.P = 20000
  1221. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1222. grav.position = POSITION
  1223. grav.Name = "GravityForce"
  1224. grav.D = 1400
  1225. local VALUE = IT("NumberValue",Part)
  1226. VALUE.Name = "ItemValue"
  1227. VALUE.Value = i
  1228. table.insert(Orbs,{Part,grav})
  1229. table.insert(AvailableOrbs,Part)
  1230. end
  1231. Weapon.Parent = Character
  1232. --//=================================\\
  1233. --|| ATTACK FUNCTIONS AND STUFF
  1234. --\\=================================//
  1235.  
  1236. function Dissapear()
  1237. for i = 1, 10 do
  1238. Swait()
  1239. for _, c in pairs(Character:GetChildren()) do
  1240. if c.ClassName == "Part" then
  1241. c.Transparency = c.Transparency + 0.1
  1242. elseif c.ClassName == "Accessory" or c.ClassName == "Hat" then
  1243. c.Handle.Transparency = c.Handle.Transparency + 0.1
  1244. end
  1245. end
  1246. end
  1247. end
  1248.  
  1249. function Appear()
  1250. for i = 1, 10 do
  1251. Swait()
  1252. for _, c in pairs(Character:GetChildren()) do
  1253. if c.ClassName == "Part" then
  1254. c.Transparency = c.Transparency - 0.1
  1255. elseif c.ClassName == "Accessory" or c.ClassName == "Hat" then
  1256. c.Handle.Transparency = c.Handle.Transparency - 0.1
  1257. end
  1258. end
  1259. end
  1260. end
  1261.  
  1262. function OrbFade(Orb,FadeInOrOut)
  1263. if FadeInOrOut == "In" then
  1264. for i = 1, 10 do
  1265. Swait()
  1266. Orb.Transparency = Orb.Transparency + 0.1
  1267. end
  1268. elseif FadeInOrOut == "Out" then
  1269. for i = 1, 10 do
  1270. Swait()
  1271. Orb.Transparency = Orb.Transparency - 0.1
  1272. end
  1273. end
  1274. end
  1275. function Warp()
  1276. local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 100, Character)
  1277. if HITFLOOR then
  1278. CharacterFade(C3(0,0,1),50)
  1279. HITPOS = HITPOS + VT(0,3.5,0)
  1280. local POS = RootPart.Position
  1281. RootPart.CFrame = CF(HITPOS,CF(POS,HITPOS)*CF(0,0,-100000).p)
  1282. CreateSound(289556450,Torso,2,MRANDOM(8,13)/10,false)
  1283. end
  1284. end
  1285.  
  1286. function FireArc(Part,ToLocation,AmountOfTime,Height,DoesCourontine)
  1287. if DoesCourontine == false then
  1288. local Direction = CF(Part.Position,ToLocation)
  1289. local Distance = (Part.Position - ToLocation).magnitude
  1290. for i = 1, AmountOfTime do
  1291. Swait()
  1292. Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  1293. Direction = Part.CFrame
  1294. end
  1295. Part:remove()
  1296. elseif DoesCourontine == true then
  1297. coroutine.resume(coroutine.create(function()
  1298. local Direction = CF(Part.Position,ToLocation)
  1299. local Distance = (Part.Position - ToLocation).magnitude
  1300. for i = 1, AmountOfTime do
  1301. Swait()
  1302. Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  1303. Direction = Part.CFrame
  1304. end
  1305. Part:remove()
  1306. end))
  1307. end
  1308. end
  1309. function SOUL()
  1310. local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 7 * Player_Size, Character)
  1311. if HITFLOOR ~= nil then
  1312. local HITBODIES = {}
  1313. ATTACK = true
  1314. Rooted = true
  1315. local COLLECTEDORBS = AvailableOrbs
  1316. local ABSOLUTE = CreatePart(3, Effects, "Neon", 0, 1, "Relly blue", "Star", VT(0,0,0))
  1317. MakeForm(ABSOLUTE,"Ball")
  1318. CreateSound("429459101", ABSOLUTE, 10, 1)
  1319. for e = 1, #COLLECTEDORBS do
  1320. if COLLECTEDORBS[e]~=nil then
  1321. local Thing=COLLECTEDORBS[e]
  1322. if Thing~=nil then
  1323. local Part=Thing
  1324. Part.GravityForce.Position = Torso.Position
  1325. end
  1326. end
  1327. end
  1328. Swait(100)
  1329. for e = 1, #COLLECTEDORBS do
  1330. if COLLECTEDORBS[e]~=nil then
  1331. local Thing=COLLECTEDORBS[e]
  1332. if Thing~=nil then
  1333. local Part=Thing
  1334. for i=0, 4, 0.1 / Animation_Speed do
  1335. Swait()
  1336. ABSOLUTE.Size = ABSOLUTE.Size + VT(0.05,0.05,0.05)
  1337. ABSOLUTE.CFrame = RootPart.CFrame*CF(0,5+(ABSOLUTE.Size.Y/2),0)
  1338. ABSOLUTE.Transparency = ABSOLUTE.Transparency - 0.01
  1339. local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, "Really blue", "Star", VT(1,1,1))
  1340. MakeForm(CHARGE,"Ball")
  1341. CHARGE.Color = C3(1,1,1)
  1342. CHARGE.CFrame = CF(RootPart.Position) * CF(MRANDOM(-15,15),-6,MRANDOM(-15,15))
  1343. FireArc(CHARGE,ABSOLUTE.Position,45,45,true)
  1344. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1345. end
  1346. CreateSound("907330103", Head, 10, 1.2)
  1347. for i = 1, 75 do
  1348. Swait()
  1349. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1350. end
  1351. for i = 1, 13 do
  1352. for e = 1, 8 do
  1353. Swait()
  1354. MagicSphere(VT(1,1,1),15,CF(ABSOLUTE.Position)*CF(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)),C3(1,1,1),VT(0,0,0))
  1355. end
  1356. for i = 1, 5 do
  1357. ABSOLUTE.Size = ABSOLUTE.Size*0.9
  1358. MagicSphere(ABSOLUTE.Size,25,CF(ABSOLUTE.Position),BRICKC"Relly Blue".Color,VT(i,i,i)/1.1)
  1359. MagicSphere(ABSOLUTE.Size,45,CF(ABSOLUTE.Position),C3(0.05,0.05,0.15),VT(i,i,i))
  1360. AoEStun(ABSOLUTE.Position,40,30)
  1361. end
  1362. coroutine.resume(coroutine.create(function()
  1363. Swait(250)
  1364. for _, c in pairs(ORBHOLDER:GetChildren()) do
  1365. if c.ClassName == "Part" then
  1366. c.CFrame = Torso.CFrame
  1367. c.GravityForce.Position = Torso.Position
  1368. c.Transparency = 0
  1369. table.insert(AvailableOrbs,c)
  1370. table.insert(Orbs,{c,c.GravityForce})
  1371. Swait(75)
  1372. end
  1373. end
  1374. end))
  1375. ABSOLUTE.Transparency = 1
  1376. Debris:AddItem(ABSOLUTE,10)
  1377. end
  1378. ATTACK = false
  1379. Rooted = true
  1380. end
  1381. end
  1382. end
  1383. end
  1384. end
  1385.  
  1386. function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
  1387. if FLOOR ~= nil then
  1388. coroutine.resume(coroutine.create(function()
  1389. local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
  1390. PART.CFrame = CF(POSITION)
  1391. for i = 1, 45 do
  1392. local RingPiece = CreatePart(3, Effects, "Ice", 0, 0, "Light blue", "DebreePart", BLOCKSIZE)
  1393. RingPiece.Material = FLOOR.Material
  1394. RingPiece.Color = FLOOR.Color
  1395. RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  1396. Debris:AddItem(RingPiece,SWAIT)
  1397. end
  1398. PART:remove()
  1399. end))
  1400. end
  1401. end
  1402.  
  1403. function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
  1404. if FLOOR ~= nil then
  1405. for i = 1, AMOUNT do
  1406. local DEBREE = CreatePart(3, Effects, "Ice", FLOOR.Reflectance, FLOOR.Transparency, "Light blue", "Debree", BLOCKSIZE, false)
  1407. DEBREE.Material = FLOOR.Material
  1408. DEBREE.Color = FLOOR.Color
  1409. DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  1410. DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
  1411. coroutine.resume(coroutine.create(function()
  1412. Swait(15)
  1413. DEBREE.Parent = workspace
  1414. DEBREE.CanCollide = true
  1415. Debris:AddItem(DEBREE,SWAIT)
  1416. end))
  1417. end
  1418. end
  1419. end
  1420. function DeadWinter()
  1421. ATTACK = true
  1422. Rooted = false
  1423. for i=0, 1, 0.1 / Animation_Speed do
  1424. Swait()
  1425. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1426. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1427. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1428. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1429. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1430. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1431. end
  1432. coroutine.resume(coroutine.create(function()
  1433. local POS = Torso.Position
  1434. local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Light blue", "Strike", VT(10,10,10))
  1435. MakeForm(RAY,"Ball")
  1436. local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Really blue", "Strike", VT(0,0,0))
  1437. MakeForm(SPHERE,"Ball")
  1438. local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Lily white", "Strike", VT(0,0,0))
  1439. MakeForm(SHIELD,"Ball")
  1440. SHIELD.CFrame = CF(POS)
  1441. RAY.CFrame = CF(POS)
  1442. SPHERE.CFrame = CF(POS)
  1443. CreateSound(440145570, SPHERE, 10, 0.8, false)
  1444. CreateSound(415700134, SPHERE, 10, 0.8, false)
  1445. for i = 1, 200 do
  1446. Swait()
  1447. RAY.Size = RAY.Size + VT(0.05,0,0.05)
  1448. SPHERE.Size = SPHERE.Size + VT(10,10,10)
  1449. SHIELD.Size = SPHERE.Size + VT(12,12,12)
  1450. AoEShatter(SPHERE.Position,SPHERE.Size.X/2,100,100,100,100,100,VALUE1)
  1451. end
  1452. for i = 1, 45 do
  1453. Swait()
  1454. RAY.Transparency = 0.3
  1455. SPHERE.Transparency = 0.3
  1456. SHIELD.Transparency = 0.3
  1457. end
  1458. RAY:remove()
  1459. SHIELD:remove()
  1460. SPHERE:remove()
  1461. end))
  1462. for i=0, 1, 0.1 / Animation_Speed do
  1463. Swait()
  1464. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  1465. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1466. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(-45), RAD(85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1467. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(45), RAD(-85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1468. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1469. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1470. end
  1471. ATTACK = false
  1472. Rooted = true
  1473. end
  1474.  
  1475.  
  1476. function SoulBeam()
  1477. ATTACK = true
  1478. Rooted = true
  1479. local GYRO = IT("BodyGyro",RootPart)
  1480. GYRO.D = 100
  1481. GYRO.P = 2000
  1482. GYRO.MaxTorque = VT(0,4000000,0)
  1483. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1484. local ORB = AvailableOrbs[MRANDOM(1,#AvailableOrbs)]
  1485. for i=1, 35 do
  1486. Swait()
  1487. WACKYEFFECT({Time = 5, EffectType = "Sphere", Size = VT(0,25,0), Size2 = VT(0,25,0), Transparency = 1, Transparency2 = 0.25, CFrame = ORB.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
  1488. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1489. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  1490. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1491. end
  1492. local BEAM = CreatePart(3, Effects, "Neon", 0, 1, "Light blue", "Lazer", VT(0,0,0))
  1493. local LOOP = CreateSound("289315275", Part, 5, 1.2, false)
  1494. local MSH = IT("CylinderMesh",BEAM)
  1495. local TOCH = BEAM.Touched:Connect(function(hit)
  1496. if hit.Anchored == false and hit.Parent ~= Head and hit.Parent ~= Character and hit.Parent ~= Effects then
  1497. if hit.Parent:FindFirstChildOfClass("Humanoid") then
  1498. ApplyDamage(hit.Parent:FindFirstChildOfClass("Humanoid"),5,2,4)
  1499. end
  1500. end
  1501. end)
  1502. local I = 0
  1503. repeat
  1504. Swait()
  1505. I = I + 1
  1506. if I <= 10 then
  1507. BEAM.Transparency = BEAM.Transparency - 0.1
  1508. end
  1509. local STARTPOS = ORB.CFrame.p
  1510. local ENDHIT,ENDPOS = CastProperRay(STARTPOS,Mouse.Hit.p,650,Character)
  1511. local DISTANCE = (STARTPOS - ENDPOS).Magnitude
  1512. BEAM.CFrame = CF(STARTPOS,ENDPOS)*CF(0,0,-DISTANCE/2)*ANGLES(RAD(90),RAD(0),RAD(0))
  1513. BEAM.Size = VT(1,DISTANCE,1)
  1514. WACKYEFFECT({Time = 5, EffectType = "Sphere", Size = VT(3,3,3), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 0.25, CFrame = ORB.CFrame, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
  1515. WACKYEFFECT({Time = 5, EffectType = "Sphere", Size = VT(0,15,0), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 0.25, CFrame = CF(ENDPOS), MoveToPos = nil, RotationX = 1, RotationY = 1, RotationZ = 1, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
  1516. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1517. if ENDHIT ~= nil then
  1518. if ENDHIT.Anchored == false and ENDHIT.Parent ~= Effects then
  1519. if ENDHIT.Parent:FindFirstChildOfClass("Humanoid") then
  1520. ApplyDamage(ENDHIT.Parent:FindFirstChildOfClass("Humanoid"),5,2,4)
  1521. end
  1522. end
  1523. end
  1524. until KEYHOLD == false
  1525. BEAM:remove()
  1526. GYRO:remove()
  1527. ATTACK = false
  1528. Rooted = true
  1529. end
  1530.  
  1531. function SoulBreak()
  1532. if #AvailableOrbs > 0 then
  1533. Swait()
  1534. local ORB = AvailableOrbs[MRANDOM(1,#AvailableOrbs)]
  1535. local NUMBER = ORB.ItemValue.Value
  1536. table.remove(AvailableOrbs,NUMBER)
  1537. table.remove(Orbs,NUMBER)
  1538. ATTACK = true
  1539. Rooted = true
  1540. local POS = Mouse.Hit.p
  1541. ORB.GravityForce.position = POS
  1542. CreateSound("314970772", ORB, 3, 2)
  1543. AoEShatter(ORB.Position,40,15,25,5,2,2,VALUE1)
  1544. Swait(200)
  1545. ORB.CFrame = Torso.CFrame
  1546. ORB.GravityForce.Position = Torso.Position
  1547. ORB.Transparency = 0
  1548. table.insert(AvailableOrbs,ORB)
  1549. table.insert(Orbs,{ORB,ORB.GravityForce})
  1550. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(1*2,6,1*2), Transparency = 0, Transparency2 = 1, CFrame = CF(Torso.Position)*ANGLES(RAD(0), RAD(1), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 1, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1551. ATTACK = false
  1552. Rooted = true
  1553. end
  1554. end
  1555.  
  1556. function IceBullet()
  1557. ATTACK = true
  1558. Rooted = true
  1559. local GYRO = IT("BodyGyro",RootPart)
  1560. GYRO.D = 2
  1561. GYRO.P = 2000
  1562. GYRO.MaxTorque = VT(0,4000000,0)
  1563. local NEEDGYRO = true
  1564. coroutine.resume(coroutine.create(function()
  1565. repeat
  1566. Swait()
  1567. GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  1568. until NEEDGYRO == false
  1569. GYRO:Remove()
  1570. end))
  1571. for i=0, 0.3, 0.1 / Animation_Speed do
  1572. Swait()
  1573. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1574. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1575. end
  1576. for i=0, 1, 0.1 / Animation_Speed do
  1577. Swait()
  1578. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1579. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1580. end
  1581. local HIT,POS = CastProperRay(RightArm.CFrame*CF(0,-1,0).p,Mouse.Hit.p,300,Character)
  1582. WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(5,1,5), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = 90655239, SoundPitch = 1, SoundVolume = 2})
  1583. IceDetection(RightArm.Position,Mouse.Hit.p)
  1584. local BULLET = Lightning({Material = "Neon", FadeIn = true, Color = C3(0,0,1), Start = RightArm.CFrame*CF(0, 1, 0.045).p, End = Mouse.Hit.p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
  1585. local BULLET = Lightning({Material = "Neon", FadeIn = true, Color = C3(0,0,1), Start = RightArm.CFrame*CF(0, 1, 0.045).p, End = Mouse.Hit.p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
  1586. local BULLET = Lightning({Material = "Neon", FadeIn = true, Color = C3(0,0,1), Start = RightArm.CFrame*CF(0, 1, 0.045).p, End = Mouse.Hit.p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
  1587. local BULLET = Lightning({Material = "Neon", FadeIn = true, Color = C3(0,0,1), Start = RightArm.CFrame*CF(0, 1, 0.045).p, End = Mouse.Hit.p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
  1588. local BULLET = Lightning({Material = "Neon", FadeIn = true, Color = C3(0,0,1), Start = RightArm.CFrame*CF(0, 1, 0.045).p, End = Mouse.Hit.p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
  1589. local POS = Mouse.Hit.p
  1590. local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Light blue", "Strike", VT(0,0,0))
  1591. MakeForm(RAY,"Cyl")
  1592. local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Light blue", "Strike", VT(0,0,0))
  1593. MakeForm(SPHERE,"Ball")
  1594. local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Light blue", "Strike", VT(0,0,0))
  1595. MakeForm(SHIELD,"Ball")
  1596. SHIELD.CFrame = CF(POS)
  1597. RAY.CFrame = CF(POS)
  1598. SPHERE.CFrame = CF(POS)
  1599. RAY.Size = RAY.Size + VT(0.05,0,0.05)
  1600. SPHERE.Size = SPHERE.Size + VT(1,1,1)
  1601. SHIELD.Size = SPHERE.Size + VT(1,1,1)
  1602. AoEStun(SPHERE.Position,10,99999999999999999999999999999999999999999999999999999999999999999999999999999999)
  1603. RAY.Transparency = RAY.Transparency + 1/45
  1604. SPHERE.Transparency = RAY.Transparency
  1605. SHIELD.Transparency = SPHERE.Transparency + 1/45
  1606. for i=0, 1, 0.1 / Animation_Speed do
  1607. Swait()
  1608. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1609. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1610. end
  1611. RAY:remove()
  1612. SHIELD:remove()
  1613. SPHERE:remove()
  1614. ATTACK = false
  1615. Rooted = true
  1616. end
  1617.  
  1618. function ScrewThis()
  1619. local IceMaterializeSounds = {
  1620. "333476017",
  1621. "333475981",
  1622. "333475957",
  1623. "333475929"
  1624. }
  1625. ATTACK = true
  1626. Rooted = true
  1627. CreateSound("649634100", Head, 10, 0.8)
  1628. for i=0, 0.55, 0.1 / Animation_Speed do
  1629. Swait()
  1630. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(-45), RAD(-25)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1631. end
  1632. local GEM = CreatePart(3, Effects, "Ice", 0, 0.25, COLOR, "Ice", VT(0.3,0.6,0.3))
  1633. CreateMesh("SpecialMesh", GEM, "FileMesh", "9756362", "", VT(0.6,01.2,0.6), VT(0,0,0))
  1634. GEM.CFrame = CF(RightArm.CFrame*CF(0,-1.3,0).p+VT(0,1,0))
  1635. MagicSphere(GEM.Size,35,GEM.CFrame,COLOR,VT(0.1,0.1,0.1))
  1636. CreateSound(IceMaterializeSounds[MRANDOM(1,#IceMaterializeSounds)], GEM, 3, 1)
  1637. for i=0, 5, 0.1 / Animation_Speed do
  1638. Swait()
  1639. GEM.CFrame = GEM.CFrame * ANGLES(RAD(0),RAD(5),RAD(0))
  1640. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(-45), RAD(-25)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1641. end
  1642.  
  1643. MagicSphere(GEM.Size,35,GEM.CFrame,COLOR,VT(0.1,0.1,0.1))
  1644. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(5,5,5), Size2 = VT(0,40,0), Transparency = 0, Transparency2 = 1, CFrame = CF(GEM.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  1645. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(5,5,5), Size2 = VT(0,40,0), Transparency = 0, Transparency2 = 1, CFrame = CF(GEM.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  1646. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(5,5,5), Size2 = VT(0,40,0), Transparency = 0, Transparency2 = 1, CFrame = CF(GEM.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  1647. for i,v in ipairs(workspace:GetChildren()) do
  1648. if v:FindFirstChildOfClass("Humanoid") then
  1649. AoEShatter(Torso.Position,20,20,20,20,20,20,VALUE1)
  1650. end
  1651. end
  1652.  
  1653. GEM:remove()
  1654. ATTACK = false
  1655. Rooted = true
  1656. end
  1657.  
  1658. --//=================================\\
  1659. --|| ASSIGN THINGS TO KEYS
  1660. --\\=================================//
  1661.  
  1662. function MouseDown(Mouse)
  1663. if ATTACK == false then
  1664. end
  1665. end
  1666.  
  1667. function MouseUp(Mouse)
  1668. HOLD = false
  1669. end
  1670.  
  1671. function KeyDown(Key)
  1672. KEYHOLD = true
  1673. if Key == "z" and ATTACK == false then
  1674. Warp()
  1675. end
  1676.  
  1677. if Key == "b" and ATTACK == false then
  1678. SOUL()
  1679. end
  1680.  
  1681. if Key == "x" and ATTACK == false then
  1682. DeadWinter()
  1683. end
  1684.  
  1685. if Key == "v" and ATTACK == false then
  1686. SoulBeam()
  1687. end
  1688.  
  1689. if Key == "e" and ATTACK == false then
  1690. SoulBreak()
  1691. end
  1692.  
  1693. if Key == "c" and ATTACK == false then
  1694. IceBullet()
  1695. end
  1696.  
  1697. if Key == "]" and ATTACK == false then
  1698. ScrewThis()
  1699. end
  1700. end
  1701.  
  1702. function KeyUp(Key)
  1703. KEYHOLD = false
  1704. end
  1705.  
  1706. Mouse.Button1Down:connect(function(NEWKEY)
  1707. MouseDown(NEWKEY)
  1708. end)
  1709. Mouse.Button1Up:connect(function(NEWKEY)
  1710. MouseUp(NEWKEY)
  1711. end)
  1712. Mouse.KeyDown:connect(function(NEWKEY)
  1713. KeyDown(NEWKEY)
  1714. end)
  1715. Mouse.KeyUp:connect(function(NEWKEY)
  1716. KeyUp(NEWKEY)
  1717. end)
  1718.  
  1719. --//=================================\\
  1720. --\\=================================//
  1721.  
  1722. function AntiTimeStop()
  1723. for _, c in pairs(Character:GetChildren()) do
  1724. if c:IsA("BasePart") then
  1725. c.Anchored = false
  1726. end
  1727. end
  1728. for _, c in pairs(Weapon:GetChildren()) do
  1729. if c:IsA("BasePart") then
  1730. c.Anchored = false
  1731. end
  1732. end
  1733. end
  1734.  
  1735. --//=================================\\
  1736. --|| WRAP THE WHOLE SCRIPT UP
  1737. --\\=================================//
  1738.  
  1739. Humanoid.Changed:connect(function(Jump)
  1740. if Jump == "Jump" and (Disable_Jump == true) then
  1741. Humanoid.Jump = false
  1742. end
  1743. end)
  1744.  
  1745. local sick = IT("Sound")
  1746.  
  1747. while true do
  1748. Swait()
  1749. script.Parent = WEAPONGUI
  1750. ANIMATE.Parent = nil
  1751. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1752. v:Stop();
  1753. end
  1754. SINE = SINE + CHANGE
  1755. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1756. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1757. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1758. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1759. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1760. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1761. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1762. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2- 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(90 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1763. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(90 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1764. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1765. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1766. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1767. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1768. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1769. end
  1770. if HITFLOOR == nil then
  1771. ANIM = "Midair"
  1772. if ATTACK == false then
  1773. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1774. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
  1775. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.7, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1776. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.8, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1777. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.2, -0.6) * ANGLES(RAD(15), RAD(70), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1778. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.2, -0.6) * ANGLES(RAD(15), RAD(-70), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1779. end
  1780. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1781. ANIM = "Idle"
  1782. if ATTACK == false then
  1783. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1784. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
  1785. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.7, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1786. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.8, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1787. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1788. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1789. end
  1790. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1791. ANIM = "Walk"
  1792. if ATTACK == false then
  1793. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(10 * COS(SINE / WALKSPEEDVALUE))), 0.5 / Animation_Speed)
  1794. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-10 * COS(SINE / WALKSPEEDVALUE))), 0.5 / Animation_Speed)
  1795. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.7, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1796. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.8, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1797. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  1798. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  1799. end
  1800. end
  1801. Humanoid.MaxHealth = "inf"
  1802. Humanoid.Health = "inf"
  1803. Humanoid.PlatformStand = false
  1804. Humanoid.Name = "DeadWinterGuy"
  1805. sick.SoundId = "rbxassetid://1472374501"
  1806. sick.Looped = true
  1807. sick.Pitch = 1
  1808. sick.Volume = 2
  1809. sick.Playing = true
  1810. sick.Parent = Effects
  1811. for _, c in pairs(Character:GetDescendants()) do
  1812. if c == Head then
  1813. if c:FindFirstChild("face") then
  1814. c.face:remove()
  1815. end
  1816. end
  1817. end
  1818. if ATTACK == false and Player.Name == "Jav181MR" then
  1819. local oof = Slice("Thin",1,15,CF(Torso.Position) * CF(MRANDOM(-1,1),MRANDOM(-6,6),MRANDOM(-1,1)) * ANGLES(RAD(-10,10),RAD(MRANDOM(-180,180)),RAD(-10,10)),SKILLTEXTCOLOR,VT(-0.2,0,-0.2))
  1820. end
  1821. if ATTACK == false and Player.Name == "duck" then
  1822. local ORB = AvailableOrbs[MRANDOM(1,#AvailableOrbs)]
  1823. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = CF(ORB.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  1824. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = CF(ORB.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  1825. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = CF(ORB.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  1826. end
  1827. if ATTACK == false then
  1828. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(4,0.5,4), Size2 = VT(5,0,5), Transparency = 0.7, Transparency2 = 1, CFrame = CF(Torso.CFrame*CF(0,-2.9,0).p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1829. end
  1830. AntiTimeStop()
  1831. if Rooted == false then
  1832. Disable_Jump = true
  1833. Humanoid.WalkSpeed = 0
  1834. elseif Rooted == true then
  1835. Disable_Jump = false
  1836. Humanoid.WalkSpeed = Speed
  1837. for _, c in pairs(ORBHOLDER:GetChildren()) do
  1838. c.Name = "IN USE"
  1839. end
  1840. if #Orbs>0 then
  1841. for e=1,#Orbs do
  1842. if Orbs[e]~=nil then
  1843. local Thing=Orbs[e]
  1844. if Thing~=nil then
  1845. local Part=Thing[1]
  1846. local Force=Thing[2]
  1847. Part.ItemValue.Value = e
  1848. Part.Anchored = false
  1849. Part.Parent = ORBHOLDER
  1850. Part.Name = e
  1851. Force.Position = Torso.CFrame*CF(0,1,0)*ANGLES(RAD(0),RAD(0),RAD(e*(360/#Orbs)))*CF(0,3.5,1.5).p
  1852. end
  1853. end
  1854. end
  1855. end
  1856. end
  1857. end
  1858.  
  1859. --//=================================\\
  1860. --\\=================================//
  1861.  
  1862. --//====================================================\\--
  1863. --|| END OF SCRIPT
  1864. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement