Advertisement
wamandnj

Untitled

Mar 29th, 2019
450
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  3. local RealPlayer = Player
  4. do print("FE Compatibility code by Mokiros");InternalData = {}InternalData.RealOwner = owner;InternalData.RealObjs = {};InternalData.SoundLoudness = {};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()}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;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 t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end,__call=function(self,...)local t=rawget(self,"_RealService")if t then return t(...)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 self[t]end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;x.RunService=v({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")setmetatable(x,{__index=function(self,t)return r:GetService(t)or typeof(r[t])=="function"and function(m,...)return r[t](r,...)end or r[t]end,__newindex=s.__newindex,__call=s.__call})game,owner=x,x.Players.LocalPlayer
  5. script.Parent = InternalData.RealOwner.Character
  6. local Event = Instance.new("RemoteEvent");Event.Name = "UserInput";InternalData.Event = Event
  7. local function createObject (connections, index)
  8. local proxy = newproxy (true);local meta = getmetatable (proxy);
  9. local runbind = function (self, i, ...) connections[i]:Fire (...); end;
  10. while (#connections > 0) do connections[table.remove(connections, 1)] = Instance.new ('BindableEvent');end;
  11. meta.__index = function (self, i)
  12. if (i == 'TriggerEvent') then return runbind end;
  13. return connections[i] and connections[i].Event or index[i];
  14. end;
  15. meta.__newindex = index;meta.__metatable = false;return proxy
  16. end;
  17. local Mouse = createObject({"KeyUp","KeyDown","Button1Down","Button1Up"},{["Target"] = nil;["Hit"] = CFrame.new()})
  18. local UserInputService = createObject({"InputBegan","InputEnded"},{})
  19. local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  20. self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  21. end};ContextActionService.UnBindAction = ContextActionService.BindAction
  22. Event.OnServerEvent:Connect(function(FiredBy,Input)
  23. if FiredBy ~= InternalData.RealOwner then return end
  24. if Input.MouseEvent then
  25. Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
  26. elseif Input.Sound then
  27. if InternalData.SoundLoudness[Input.Sound] then InternalData.SoundLoudness[Input.Sound] = Input.Loudness end
  28. else
  29. local Begin = Input.UserInputState == Enum.UserInputState.Begin
  30. if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end
  31. for _,Action in pairs(ContextActionService.Actions) do
  32. for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  33. end
  34. Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  35. end
  36. end)
  37. InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
  38. Event.Parent = NLS([[
  39. local Player = owner;
  40. local Sounds = {};
  41. local Event = script:WaitForChild("UserInput");
  42. local UserInputService = game:GetService("UserInputService");
  43. local Mouse = Player:GetMouse();
  44. local Input = function(Input,gameProcessedEvent)
  45. if gameProcessedEvent then return end
  46. Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  47. end
  48. Event.OnClientEvent:connect(function(Args)
  49. if Args[1] == "NewSound" then table.insert(Sounds,Args[2]) end
  50. end)
  51. UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  52. local Hit,Target
  53. while wait(1/30) do
  54. for x,Sound in pairs(Sounds) do
  55. if Sound.Parent then Event:FireServer({["Sound"]=Sound,["Loudness"]=Sound.PlaybackLoudness}) end
  56. end
  57. if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  58. Hit = Mouse.Hit;Target = Mouse.Target;
  59. Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  60. end
  61. end
  62. ]],InternalData.RealOwner.Character)
  63. end
  64. InternalData.NewOwner = setmetatable({},{
  65. __index = function (self,Index)
  66. local Type = type(InternalData.RealOwner[Index])
  67. if Type == "function" then
  68. if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  69. return function (self)return InternalData["Mouse"] end
  70. end
  71. return function (self,...)return InternalData.RealOwner[Index](InternalData.RealOwner,...) end
  72. elseif Index == "FakePlayer" then
  73. return true
  74. end
  75. return InternalData.RealOwner[Index]
  76. end;
  77. __tostring = function(self) return tostring(InternalData.RealOwner) end
  78. })
  79. --LoadLibrary("RbxUtility").Create
  80. InternalData.LoadLibrary = LoadLibrary;LoadLibrary = function(Library)
  81. if Library == "RbxUtility" then
  82. return setmetatable({},{
  83. __tostring = function() return "RbxUtility" end;
  84. __index = function(self, Index)
  85. if Index:lower() == "create" then
  86. return function(Type)
  87. return function(Data)
  88. Data = Data or {}
  89. local Inst = Instance.new(Type)
  90. for x,y in pairs(Data) do
  91. if InternalData.RealObjs[y] then y = InternalData.RealObjs[y] end
  92. if y == owner then y = InternalData.RealOwner end
  93. Inst[x] = y
  94. end
  95. return Inst
  96. end
  97. end
  98. end
  99. return InternalData.LoadLibrary(Library)[Index]
  100. end
  101. })
  102. end
  103. return InternalData.LoadLibrary(Library)
  104. end
  105. InternalData.RealInstance = Instance;Instance = setmetatable({},{
  106. __index = function (self,Index)
  107. if Index:lower() == 'new' then
  108. return function (Type, Parent)
  109. if Parent == owner then Parent = InternalData.RealOwner end
  110. if InternalData.RealObjs[Parent] then Parent = InternalData.RealObjs[Parent] end
  111. local Real = InternalData.RealInstance.new(Type,Parent)
  112. if not Type then return end
  113. if Type == "BillboardGui" then
  114. local ToReturn = setmetatable({},{
  115. __index = function (self,Index)
  116. if type(Real[Index]) == "function" then
  117. if Index:lower() == "clone" then
  118. return function (self)
  119. local Real = Real:Clone()
  120. local ToReturn = setmetatable({RealObject = Real},{
  121. __index = function (self,Index)
  122. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  123. return Real[Index]
  124. end;
  125. __newindex = function (self,Index,Value)
  126. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  127. if Value == owner then Value = InternalData.RealOwner end
  128. Real[Index] = Value
  129. end;
  130. __tostring = function(self) return tostring(Real) end;
  131. })
  132. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  133. end
  134. end
  135. return function (self,...) return Real[Index](Real,...)end
  136. end
  137. return Real[Index]
  138. end;
  139. __newindex = function (self,Index,Value)
  140. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  141. if Value == owner then Value = InternalData.RealOwner end
  142. Real[Index] = Value
  143. end;
  144. __tostring = function(self) return tostring(Real) end;
  145. })
  146. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  147. elseif Type:lower() == "sound" then
  148. Real.Parent = owner.Character;
  149. local ToReturn = setmetatable({RealObject = Real},{
  150. __index = function (self,Index)
  151. if Index:lower() == "playbackloudness" then
  152. return InternalData.SoundLoudness[Real] or 0
  153. elseif type(Real[Index]) == "function" then
  154. if Index:lower() == "clone" then
  155. return function (self)
  156. local Real = Real:Clone()
  157. local ToReturn = setmetatable({},{
  158. __index = function (self,Index)
  159. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  160. return Real[Index]
  161. end;
  162. __newindex = function (self,Index,Value)
  163. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  164. if Value == owner then Value = InternalData.RealOwner end
  165. Real[Index] = Value
  166. end;
  167. __tostring = function(self) return tostring(Real) end;
  168. })
  169. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  170. end
  171. end
  172. return function (self,...) return Real[Index](Real,...)end
  173. end
  174. return Real[Index]
  175. end;
  176. __newindex = function (self,Index,Value)
  177. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  178. if Value == owner then Value = InternalData.RealOwner end
  179. Real[Index] = Value
  180. end;
  181. __tostring = function(self) return tostring(Real) end;
  182. })
  183. InternalData.RealObjs[ToReturn] = Real;InternalData.SoundLoudness[Real] = 0;repeat wait() until InternalData.Event.Parent InternalData.Event:FireClient(InternalData.RealOwner,{"NewSound",Real}) return ToReturn;
  184. else
  185. local ToReturn = setmetatable({RealObject = Real},{
  186. __index = function (self,Index)
  187. if type(Real[Index]) == "function" then
  188. if Index:lower() == "clone" then
  189. return function (self)
  190. local Real = Real:Clone()
  191. local ToReturn = setmetatable({},{
  192. __index = function (self,Index)
  193. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  194. return Real[Index]
  195. end;
  196. __newindex = function (self,Index,Value)
  197. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  198. if Value == owner then Value = InternalData.RealOwner end
  199. Real[Index] = Value
  200. end;
  201. __tostring = function(self) return tostring(Real) end;
  202. })
  203. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  204. end
  205. end
  206. return function (self,...) return Real[Index](Real,...)end
  207. end
  208. return Real[Index]
  209. end;
  210. __newindex = function (self,Index,Value)
  211. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  212. if Value == owner then Value = InternalData.RealOwner end
  213. Real[Index] = Value
  214. end;
  215. __tostring = function(self) return tostring(Real) end;
  216. })
  217. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  218. end
  219. end
  220. end
  221. return InternalData.RealInstance[Index]
  222. end;
  223. __tostring = function(self) return tostring(InternalData.RealInstance) end;
  224. });
  225. InternalData.RealGame = game;game = setmetatable({},{
  226. __index = function (self,Index)
  227. if InternalData.RealGame[Index] then
  228. local Type = type(InternalData.RealGame[Index])
  229. if Type == "function" then
  230. if Index:lower() == "getservice" or Index:lower() == "service" then
  231. return function (self,Service)
  232. local FakeServices = {
  233. ["players"] = function()
  234. return setmetatable({},{
  235. __index = function (self2,Index2)
  236. local RealService = InternalData.RealGame:GetService(Service)
  237. local Type2 = type(RealService[Index2])
  238. if Type2 == "function" then
  239. return function (self,...) return RealService[Index2](RealService,...)end
  240. else
  241. if Index2:lower() == "localplayer" then return InternalData.NewOwner end
  242. return RealService[Index2]
  243. end
  244. end;
  245. __tostring = function(self) return tostring(InternalData.RealGame:GetService(Service)) end
  246. })
  247. end;
  248. ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
  249. ["userinputservice"] = function() return InternalData["UserInputService"] end;
  250. ["debris"] = function()
  251. return setmetatable({},{
  252. __index = function(self2,Index2)
  253. local RealService = InternalData.RealGame:GetService(Service)
  254. local Type2 = type(RealService[Index2])
  255. if Type2 == "function" then
  256. if Index2:lower() == "additem" then
  257. return function (self,Item,Time)
  258. if InternalData.RealObjs[Item] then Item = InternalData.RealObjs[Item] end
  259. return RealService:AddItem(Item,Time)
  260. end
  261. end
  262. return function (self,...) return RealService[Index2](RealService,...) end
  263. end
  264. return RealService[Index2]
  265. end;
  266. __tostring = function(self) return tostring(InternalData.RealGame:GetService("Debris")) end
  267. })
  268. end;
  269. ["runservice"] = function()
  270. return setmetatable({},{
  271. __index = function(self2,Index2)
  272. local RealService = InternalData.RealGame:GetService(Service)
  273. local Type2 = type(RealService[Index2])
  274. if Type2 == "function" then
  275. return function (self,...) return RealService[Index2](RealService,...) end
  276. else
  277. local RunServices = {
  278. ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return InternalData.RealGame:GetService("RunService").Stepped:Connect(Function) end end;
  279. ["renderstepped"] = function() return RealService["Stepped"] end
  280. }
  281. if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
  282. return RealService[Index2]
  283. end
  284. end;
  285. __tostring = function(self) return tostring(InternalData.RealGame:GetService("RunService")) end
  286. })
  287. end
  288. }
  289. if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
  290. return InternalData.RealGame:GetService(Service)
  291. end
  292. end
  293. return function (self,...) return InternalData.RealGame[Index](InternalData.RealGame,...) end
  294. else
  295. if game:GetService(Index) then return game:GetService(Index) end
  296. return InternalData.RealGame[Index]
  297. end
  298. end
  299. return nil
  300. end;
  301. __tostring = function(self) return tostring(InternalData.game) end
  302. });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete!")
  303.  
  304. --//=================================================================\\--
  305. --|| CREATED BY SHACKLUSTER | EDITED BY maximum442 AND SHYIME
  306. --\\=================================================================//--
  307.  
  308. wait(0.2)
  309.  
  310. Player = game:GetService("Players").LocalPlayer
  311. PlayerGui = Player.PlayerGui
  312. Cam = workspace.CurrentCamera
  313. Backpack = Player.Backpack
  314. Character = Player.Character
  315. Humanoid = Character.Humanoid
  316. Mouse = Player:GetMouse()
  317. RootPart = Character["HumanoidRootPart"]
  318. Torso = Character["Torso"]
  319. Head = Character["Head"]
  320. RightArm = Character["Right Arm"]
  321. LeftArm = Character["Left Arm"]
  322. RightLeg = Character["Right Leg"]
  323. LeftLeg = Character["Left Leg"]
  324. RootJoint = RootPart["RootJoint"]
  325. Neck = Torso["Neck"]
  326. RightShoulder = Torso["Right Shoulder"]
  327. LeftShoulder = Torso["Left Shoulder"]
  328. RightHip = Torso["Right Hip"]
  329. LeftHip = Torso["Left Hip"]
  330. SIZE = 1
  331.  
  332. IT = Instance.new
  333. CF = CFrame.new
  334. VT = Vector3.new
  335. RAD = math.rad
  336. C3 = Color3.new
  337. UD2 = UDim2.new
  338. BRICKC = BrickColor.new
  339. ANGLES = CFrame.Angles
  340. EULER = CFrame.fromEulerAnglesXYZ
  341. COS = math.cos
  342. ACOS = math.acos
  343. SIN = math.sin
  344. ASIN = math.asin
  345. ABS = math.abs
  346. MRANDOM = math.random
  347. FLOOR = math.floor
  348.  
  349. --//=================================\\
  350. --|| USEFUL VALUES
  351. --\\=================================//
  352.  
  353. Animation_Speed = 3
  354. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  355. local Speed = 20
  356. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  357. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  358. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  359. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  360. local DAMAGEMULTIPLIER = 1
  361. local ANIM = "Idle"
  362. local ATTACK = false
  363. local EQUIPPED = false
  364. local HOLD = false
  365. local COMBO = 1
  366. local Rooted = false
  367. local SINE = 0
  368. local KEYHOLD = false
  369. local CHANGE = 2 / Animation_Speed
  370. local WALKINGANIM = false
  371. local VALUE1 = false
  372. local VALUE2 = false
  373. local ROBLOXIDLEANIMATION = IT("Animation")
  374. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  375. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  376. --ROBLOXIDLEANIMATION.Parent = Humanoid
  377. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  378. WEAPONGUI.Name = "Weapon GUI"
  379. local Effects = IT("Folder", Character)
  380. Effects.Name = "Effects"
  381. local ANIMATOR = Humanoid.Animator
  382. local ANIMATE = Character.Animate
  383. local UNANCHOR = true
  384. local GHOSTS = {}
  385. ANIMATE:remove()
  386. Character.Archivable = true
  387. script.Parent = WEAPONGUI
  388. local GHOSTBASE = Character:Clone()
  389. GHOSTBASE.Parent = nil
  390. GHOSTBASE.Name = "Shingo"
  391. for _, c in pairs(GHOSTBASE:GetChildren()) do
  392. if c.ClassName == "Part" and c.Transparency < 1 then
  393. c.Color = C3(0,0,0)
  394. if c.ClassName == "Accessory" or c.ClassName == "Hat" or c.ClassName == "CharacterMesh" or c.ClassName == "Shirt" or c.ClassName == "Pants" then
  395. c:remove()
  396. end
  397. end
  398. end
  399. local sick = Instance.new("Sound",Torso)
  400. sick.SoundId = "rbxassetid://262950484"
  401. sick.Looped = true
  402. sick.Pitch = 1
  403. sick.Volume = 3
  404. sick:Play()
  405. local Effects = IT("Folder", Character)
  406. Effects.Name = "Effects"
  407. Character.Archivable = false
  408.  
  409. --//=================================\\
  410. --\\=================================//
  411.  
  412. local Player = game:service'Players'.LocalPlayer
  413. repeat wait() until Player.Character
  414. local Character = Player.Character
  415. local Char, Plr = Character, Player
  416. local Mouse = Player:GetMouse()
  417.  
  418.  
  419.  
  420. local Char = Plr.Character
  421. local Hum = Char:FindFirstChildOfClass'Humanoid'
  422. local RArm = Char["Right Arm"]
  423. local LArm = Char["Left Arm"]
  424. local RLeg = Char["Right Leg"]
  425. local LLeg = Char["Left Leg"]
  426. local Root = Char:FindFirstChild'HumanoidRootPart'
  427. local Torso = Char.Torso
  428. local Head = Char.Head
  429.  
  430. Player = game.Players.LocalPlayer
  431. Character = Player.Character
  432. local txt = Instance.new("BillboardGui", Character)
  433. txt.Adornee = Character.Head
  434. txt.Name = "_status"
  435. txt.Size = UDim2.new(2, 0, 1.2, 0)
  436. txt.StudsOffset = Vector3.new(-9, 8, 0)
  437. local text = Instance.new("TextLabel", txt)
  438. text.Size = UDim2.new(10, 0, 7, 0)
  439. text.FontSize = "Size24"
  440. text.TextScaled = true
  441. text.TextTransparency = 0
  442. text.BackgroundTransparency = 1
  443. text.TextTransparency = 0
  444. text.TextStrokeTransparency = 0
  445. text.Font = "SciFi"
  446. text.TextStrokeColor3 = Color3.new(170,0,0)
  447. text.Text = ""
  448.  
  449.  
  450.  
  451. local face = Head:FindFirstChild'face'
  452. if(not face)then
  453. NewInstance("Decal",Head,{Name='face',Face=Enum.NormalId.Front,Texture="rbxassetid://1281412824"})
  454. else
  455. face.Texture = "rbxassetid://1281412824"
  456. end
  457.  
  458. --//=================================\\
  459. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  460. --\\=================================//
  461.  
  462. ArtificialHB = Instance.new("BindableEvent", script)
  463. ArtificialHB.Name = "ArtificialHB"
  464.  
  465. script:WaitForChild("ArtificialHB")
  466.  
  467. frame = Frame_Speed
  468. tf = 0
  469. allowframeloss = false
  470. tossremainder = false
  471. lastframe = tick()
  472. script.ArtificialHB:Fire()
  473.  
  474. game:GetService("RunService").Heartbeat:connect(function(s, p)
  475. tf = tf + s
  476. if tf >= frame then
  477. if allowframeloss then
  478. script.ArtificialHB:Fire()
  479. lastframe = tick()
  480. else
  481. for i = 1, math.floor(tf / frame) do
  482. script.ArtificialHB:Fire()
  483. end
  484. lastframe = tick()
  485. end
  486. if tossremainder then
  487. tf = 0
  488. else
  489. tf = tf - frame * math.floor(tf / frame)
  490. end
  491. end
  492. end)
  493.  
  494. --//=================================\\
  495. --\\=================================//
  496. Player_Name = game.Players.LocalPlayer.Name
  497. Player = game.Players.LocalPlayer
  498. Character = Player.Character
  499. local txt = Instance.new("BillboardGui", Character)
  500. txt.Adornee = Character.Head
  501. txt.Name = "_status"
  502. txt.Size = UDim2.new(2, 0, 1.2, 0)
  503. txt.StudsOffset = Vector3.new(-9, 8, 0)
  504. local text = Instance.new("TextLabel", txt)
  505. text.Size = UDim2.new(10, 0, 7, 0)
  506. text.FontSize = "Size24"
  507. text.TextScaled = true
  508. text.TextTransparency = 0
  509. text.BackgroundTransparency = 1
  510. text.TextTransparency = 0
  511. text.TextStrokeTransparency = 0
  512. text.Font = "Antique"
  513. text.TextStrokeColor3 = BrickColor.new("Magenta").Color
  514. text.Text = Player_Name.. " The King Of InSaNiTY"
  515.  
  516. warn("Edit made by maximum442 and SHYIME")
  517. warn("We're still updating it")
  518. warn("So if there is some problem contact me(maximum)")
  519. warn("Frosty's discord is Frosty#2229")
  520. warn("SHYIME's Discord is shimi#9518")
  521. --//=================================\\
  522. --|| SOME FUNCTIONS
  523. --\\=================================//
  524.  
  525. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  526. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  527. end
  528.  
  529. function PositiveAngle(NUMBER)
  530. if NUMBER >= 0 then
  531. NUMBER = 0
  532. end
  533. return NUMBER
  534. end
  535.  
  536. function NegativeAngle(NUMBER)
  537. if NUMBER <= 0 then
  538. NUMBER = 0
  539. end
  540. return NUMBER
  541. end
  542.  
  543. function Swait(NUMBER)
  544. if NUMBER == 0 or NUMBER == nil then
  545. ArtificialHB.Event:wait()
  546. else
  547. for i = 1, NUMBER do
  548. ArtificialHB.Event:wait()
  549. end
  550. end
  551. end
  552.  
  553. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  554. local NEWMESH = IT(MESH)
  555. if MESH == "SpecialMesh" then
  556. NEWMESH.MeshType = MESHTYPE
  557. if MESHID ~= "nil" and MESHID ~= "" then
  558. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  559. end
  560. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  561. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  562. end
  563. end
  564. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  565. NEWMESH.Scale = SCALE
  566. NEWMESH.Parent = PARENT
  567. return NEWMESH
  568. end
  569.  
  570. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  571. local NEWPART = IT("Part")
  572. NEWPART.formFactor = FORMFACTOR
  573. NEWPART.Reflectance = REFLECTANCE
  574. NEWPART.Transparency = TRANSPARENCY
  575. NEWPART.CanCollide = false
  576. NEWPART.Locked = true
  577. NEWPART.Anchored = true
  578. if ANCHOR == false then
  579. NEWPART.Anchored = false
  580. end
  581. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  582. NEWPART.Name = NAME
  583. NEWPART.Size = SIZE
  584. NEWPART.Position = Torso.Position
  585. NEWPART.Material = MATERIAL
  586. NEWPART:BreakJoints()
  587. NEWPART.Parent = PARENT
  588. return NEWPART
  589. end
  590.  
  591. local function weldBetween(a, b)
  592. local weldd = Instance.new("ManualWeld")
  593. weldd.Part0 = a
  594. weldd.Part1 = b
  595. weldd.C0 = CFrame.new()
  596. weldd.C1 = b.CFrame:inverse() * a.CFrame
  597. weldd.Parent = a
  598. return weldd
  599. end
  600.  
  601.  
  602. function QuaternionFromCFrame(cf)
  603. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  604. local trace = m00 + m11 + m22
  605. if trace > 0 then
  606. local s = math.sqrt(1 + trace)
  607. local recip = 0.5 / s
  608. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  609. else
  610. local i = 0
  611. if m11 > m00 then
  612. i = 1
  613. end
  614. if m22 > (i == 0 and m00 or m11) then
  615. i = 2
  616. end
  617. if i == 0 then
  618. local s = math.sqrt(m00 - m11 - m22 + 1)
  619. local recip = 0.5 / s
  620. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  621. elseif i == 1 then
  622. local s = math.sqrt(m11 - m22 - m00 + 1)
  623. local recip = 0.5 / s
  624. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  625. elseif i == 2 then
  626. local s = math.sqrt(m22 - m00 - m11 + 1)
  627. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  628. end
  629. end
  630. end
  631.  
  632. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  633. local xs, ys, zs = x + x, y + y, z + z
  634. local wx, wy, wz = w * xs, w * ys, w * zs
  635. local xx = x * xs
  636. local xy = x * ys
  637. local xz = x * zs
  638. local yy = y * ys
  639. local yz = y * zs
  640. local zz = z * zs
  641. 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))
  642. end
  643.  
  644. function QuaternionSlerp(a, b, t)
  645. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  646. local startInterp, finishInterp;
  647. if cosTheta >= 0.0001 then
  648. if (1 - cosTheta) > 0.0001 then
  649. local theta = ACOS(cosTheta)
  650. local invSinTheta = 1 / SIN(theta)
  651. startInterp = SIN((1 - t) * theta) * invSinTheta
  652. finishInterp = SIN(t * theta) * invSinTheta
  653. else
  654. startInterp = 1 - t
  655. finishInterp = t
  656. end
  657. else
  658. if (1 + cosTheta) > 0.0001 then
  659. local theta = ACOS(-cosTheta)
  660. local invSinTheta = 1 / SIN(theta)
  661. startInterp = SIN((t - 1) * theta) * invSinTheta
  662. finishInterp = SIN(t * theta) * invSinTheta
  663. else
  664. startInterp = t - 1
  665. finishInterp = t
  666. end
  667. end
  668. 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
  669. end
  670.  
  671. function Clerp(a, b, t)
  672. local qa = {QuaternionFromCFrame(a)}
  673. local qb = {QuaternionFromCFrame(b)}
  674. local ax, ay, az = a.x, a.y, a.z
  675. local bx, by, bz = b.x, b.y, b.z
  676. local _t = 1 - t
  677. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  678. end
  679.  
  680. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  681. local frame = IT("Frame")
  682. frame.BackgroundTransparency = TRANSPARENCY
  683. frame.BorderSizePixel = BORDERSIZEPIXEL
  684. frame.Position = POSITION
  685. frame.Size = SIZE
  686. frame.BackgroundColor3 = COLOR
  687. frame.BorderColor3 = BORDERCOLOR
  688. frame.Name = NAME
  689. frame.Parent = PARENT
  690. return frame
  691. end
  692.  
  693. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  694. local label = IT("TextLabel")
  695. label.BackgroundTransparency = 1
  696. label.Size = UD2(1, 0, 1, 0)
  697. label.Position = UD2(0, 0, 0, 0)
  698. label.TextColor3 = TEXTCOLOR
  699. label.TextStrokeTransparency = STROKETRANSPARENCY
  700. label.TextTransparency = TRANSPARENCY
  701. label.FontSize = TEXTFONTSIZE
  702. label.Font = TEXTFONT
  703. label.BorderSizePixel = BORDERSIZEPIXEL
  704. label.TextScaled = false
  705. label.Text = TEXT
  706. label.Name = NAME
  707. label.Parent = PARENT
  708. return label
  709. end
  710.  
  711. function NoOutlines(PART)
  712. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  713. end
  714.  
  715. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  716. local NEWWELD = IT(TYPE)
  717. NEWWELD.Part0 = PART0
  718. NEWWELD.Part1 = PART1
  719. NEWWELD.C0 = C0
  720. NEWWELD.C1 = C1
  721. NEWWELD.Parent = PARENT
  722. return NEWWELD
  723. end
  724.  
  725. local S = IT("Sound")
  726. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  727. local NEWSOUND = nil
  728. coroutine.resume(coroutine.create(function()
  729. NEWSOUND = S:Clone()
  730. NEWSOUND.Parent = PARENT
  731. NEWSOUND.Volume = VOLUME
  732. NEWSOUND.Pitch = PITCH
  733. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  734. NEWSOUND:play()
  735. if DOESLOOP == true then
  736. NEWSOUND.Looped = true
  737. else
  738. repeat wait(1) until NEWSOUND.Playing == false
  739. NEWSOUND:remove()
  740. end
  741. end))
  742. return NEWSOUND
  743. end
  744.  
  745. function CFrameFromTopBack(at, top, back)
  746. local right = top:Cross(back)
  747. 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)
  748. end
  749.  
  750. --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(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  751. function WACKYEFFECT(Table)
  752. local TYPE = (Table.EffectType or "Sphere")
  753. local SIZE = (Table.Size or VT(1,1,1))
  754. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  755. local TRANSPARENCY = (Table.Transparency or 0)
  756. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  757. local CFRAME = (Table.CFrame or Torso.CFrame)
  758. local MOVEDIRECTION = (Table.MoveToPos or nil)
  759. local ROTATION1 = (Table.RotationX or 0)
  760. local ROTATION2 = (Table.RotationY or 0)
  761. local ROTATION3 = (Table.RotationZ or 0)
  762. local MATERIAL = (Table.Material or "Neon")
  763. local COLOR = (Table.Color or C3(0,0,0))
  764. local TIME = (Table.Time or 45)
  765. local SOUNDID = (Table.SoundID or nil)
  766. local SOUNDPITCH = (Table.SoundPitch or nil)
  767. local SOUNDVOLUME = (Table.SoundVolume or nil)
  768. coroutine.resume(coroutine.create(function()
  769. local PLAYSSOUND = false
  770. local SOUND = nil
  771. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  772. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  773. PLAYSSOUND = true
  774. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  775. end
  776. EFFECT.Color = COLOR
  777. local MSH = nil
  778. if TYPE == "Sphere" then
  779. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  780. elseif TYPE == "Block" then
  781. MSH = IT("BlockMesh",EFFECT)
  782. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  783. elseif TYPE == "Wave" then
  784. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  785. elseif TYPE == "Ring" then
  786. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  787. elseif TYPE == "Slash" then
  788. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  789. elseif TYPE == "Round Slash" then
  790. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  791. elseif TYPE == "Swirl" then
  792. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  793. elseif TYPE == "Skull" then
  794. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  795. elseif TYPE == "Crystal" then
  796. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  797. end
  798. if MSH ~= nil then
  799. local MOVESPEED = nil
  800. if MOVEDIRECTION ~= nil then
  801. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  802. end
  803. local GROWTH = SIZE - ENDSIZE
  804. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  805. if TYPE == "Block" then
  806. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  807. else
  808. EFFECT.CFrame = CFRAME
  809. end
  810. for LOOP = 1, TIME+1 do
  811. Swait()
  812. MSH.Scale = MSH.Scale - GROWTH/TIME
  813. if TYPE == "Wave" then
  814. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  815. end
  816. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  817. if TYPE == "Block" then
  818. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  819. else
  820. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  821. end
  822. if MOVEDIRECTION ~= nil then
  823. local ORI = EFFECT.Orientation
  824. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  825. EFFECT.Orientation = ORI
  826. end
  827. end
  828. if PLAYSSOUND == false then
  829. EFFECT:remove()
  830. else
  831. SOUND.Stopped:Connect(function()
  832. EFFECT:remove()
  833. end)
  834. end
  835. else
  836. if PLAYSSOUND == false then
  837. EFFECT:remove()
  838. else
  839. repeat Swait() until SOUND.Playing == false
  840. EFFECT:remove()
  841. end
  842. end
  843. end))
  844. end
  845.  
  846. function MakeForm(PART,TYPE)
  847. if TYPE == "Cyl" then
  848. local MSH = IT("CylinderMesh",PART)
  849. elseif TYPE == "Ball" then
  850. local MSH = IT("SpecialMesh",PART)
  851. MSH.MeshType = "Sphere"
  852. elseif TYPE == "Wedge" then
  853. local MSH = IT("SpecialMesh",PART)
  854. MSH.MeshType = "Wedge"
  855. end
  856. end
  857.  
  858. Debris = game:GetService("Debris")
  859.  
  860. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  861. local DIRECTION = CF(StartPos,EndPos).lookVector
  862. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  863. end
  864.  
  865. function Kill(Char)
  866. local NewCharacter = IT("Model",Effects)
  867. NewCharacter.Name = "rekt player"
  868. for _, c in pairs(Char:GetDescendants()) do
  869. if c:IsA("BasePart") and c.Transparency == 0 then
  870. if c.Parent == Char then
  871. getbloody(c,5)
  872. end
  873. c:BreakJoints()
  874. c.Material = "Glass"
  875. c.Color = C3(0,0,0)
  876. c.CanCollide = false
  877. c.Transparency = 0.005
  878. if c:FindFirstChildOfClass("SpecialMesh") then
  879. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  880. end
  881. if c.Name == "Head" then
  882. c:ClearAllChildren()
  883. c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  884. end
  885. if c.ClassName == "MeshPart" then
  886. c.TextureID = ""
  887. end
  888. if c:FindFirstChildOfClass("BodyPosition") then
  889. c:FindFirstChildOfClass("BodyPosition"):remove()
  890. end
  891. if c:FindFirstChildOfClass("ParticleEmitter") then
  892. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  893. end
  894. c.Parent = NewCharacter
  895. c.Name = "DeadPart"
  896. c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  897. c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  898. end
  899. end
  900. Char:remove()
  901. Debris:AddItem(NewCharacter,5)
  902. end
  903.  
  904. function ApplyAoE(POSITION,RANGE,BRUTAL)
  905. local CHILDREN = workspace:GetDescendants()
  906. for index, CHILD in pairs(CHILDREN) do
  907. if CHILD.ClassName == "Model" and CHILD ~= Character then
  908. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  909. if HUM then
  910. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  911. if TORSO then
  912. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  913. if BRUTAL == true then
  914. Kill(CHILD)
  915. else
  916. CHILD:BreakJoints()
  917. end
  918. end
  919. end
  920. end
  921. end
  922. end
  923. end
  924.  
  925. function Morning_Star()
  926. ATTACK = true
  927. Rooted = true
  928. for i=0, 1, 0.1 / Animation_Speed do
  929. Swait()
  930. 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)
  931. 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)
  932. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  933. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  934. 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)
  935. 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)
  936. end
  937. coroutine.resume(coroutine.create(function()
  938. local POS = Mouse.Hit.p
  939. local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Royal purple", "Strike", VT(0,2000,0))
  940. MakeForm(RAY,"Cyl")
  941. local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Royal purple", "Strike", VT(0,0,0))
  942. MakeForm(SPHERE,"Ball")
  943. local SHIELD = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,0,0))
  944. MakeForm(SHIELD,"Ball")
  945. SHIELD.CFrame = CF(POS)
  946. RAY.CFrame = CF(POS)
  947. SPHERE.CFrame = CF(POS)
  948. CreateSound(440145570, SPHERE, 10, 0.8, false)
  949. CreateSound(415700134, SPHERE, 10, 0.8, false)
  950. for i = 1, 200 do
  951. Swait()
  952. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(SPHERE.Size.X*1.2,5+(i),SPHERE.Size.X*1.2), Transparency = 0, Transparency2 = 1, CFrame = SPHERE.CFrame*ANGLES(RAD(0), RAD(i), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  953. RAY.Size = RAY.Size + VT(0.05,0,0.05)
  954. SPHERE.Size = SPHERE.Size + VT(2,2,2)
  955. SHIELD.Size = SPHERE.Size + VT(3,3,3)
  956. ApplyAoE(SPHERE.Position,SPHERE.Size.X/2,true)
  957. end
  958. for i = 1, 45 do
  959. Swait()
  960. RAY.Transparency = RAY.Transparency + 1/45
  961. SPHERE.Transparency = RAY.Transparency
  962. SHIELD.Transparency = SPHERE.Transparency + 1/45
  963. end
  964. RAY:remove()
  965. SHIELD:remove()
  966. SPHERE:remove()
  967. end))
  968. for i=0, 1, 0.1 / Animation_Speed do
  969. Swait()
  970. 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)
  971. 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)
  972. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(-45), RAD(85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  973. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(45), RAD(-85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  974. 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)
  975. 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)
  976. end
  977. ATTACK = false
  978. Rooted = false
  979. end
  980.  
  981. function Prison_Key()
  982. if Mouse.Target ~= nil then
  983. if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  984. local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  985. local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  986. local GYRO = IT("BodyGyro",RootPart)
  987. GYRO.D = 750
  988. GYRO.P = 20000
  989. GYRO.MaxTorque = VT(0,40000000,0)
  990. local grav = Instance.new("BodyPosition",TORSO)
  991. grav.D = 15
  992. grav.P = 20000
  993. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  994. grav.position = TORSO.Position
  995. local GYRO2 = IT("BodyGyro",TORSO)
  996. GYRO2.D = 750
  997. GYRO2.P = 20000
  998. GYRO2.MaxTorque = VT(0,40000000,0)
  999. GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  1000. grav.Name = "Jail"
  1001. local LOCKPARTS = {}
  1002. ATTACK = true
  1003. Rooted = false
  1004. local LOCK = IT("Model",Effects)
  1005. LOCK.Name = "Lock"
  1006. local LOCK2 = IT("Model",LOCK)
  1007. LOCK2.Name = "Metal"
  1008. --CREATE LOCK--
  1009. local BASE = CreatePart(3, LOCK, "Glass", 0, 0, "Gray", "Keylock", VT(3, 2.5, 1))
  1010. LOCK.PrimaryPart = BASE
  1011. BASE.CFrame = CF(TORSO.Position,RootPart.Position)*CF(0,0,-4)
  1012. local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "Gray", "Keylock", VT(3, 1, 3))
  1013. PRT.CFrame = BASE.CFrame*CF(0,-1.25,0)*ANGLES(RAD(90),RAD(0),RAD(0))
  1014. MakeForm(PRT,"Cyl")
  1015. local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(1, 1, 1))
  1016. PRT.Color = C3(0,0,0)
  1017. PRT.CFrame = BASE.CFrame*CF(0,0.3,-0.01)*ANGLES(RAD(90),RAD(0),RAD(0))
  1018. MakeForm(PRT,"Cyl")
  1019. local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(0.5, 1, 1))
  1020. PRT.Color = C3(0,0,0)
  1021. PRT.CFrame = BASE.CFrame*CF(0,-0.2,-0.01)
  1022. for i = 1, 45 do
  1023. local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
  1024. PRT.CFrame = BASE.CFrame*CF(0,2,0)*ANGLES(RAD(0),RAD(0),RAD(-90+(360/90*i)))*CF(0,1,0)
  1025. end
  1026. local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
  1027. PRT.CFrame = BASE.CFrame*CF(0,1.5,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0)
  1028. LOCK2.PrimaryPart = PRT
  1029. ---------------
  1030. local CHILDREN = LOCK:GetDescendants()
  1031. for index, CHILD in pairs(CHILDREN) do
  1032. if CHILD:IsA("BasePart") then
  1033. CHILD.Transparency = 1
  1034. end
  1035. end
  1036. for i = 1, 75 do
  1037. LOCK:SetPrimaryPartCFrame(CF(TORSO.Position,RootPart.Position)*CF(0,0,-4))
  1038. Swait()
  1039. GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  1040. GYRO.cframe = CF(RootPart.Position,TORSO.Position)
  1041. local CHILDREN = LOCK:GetDescendants()
  1042. for index, CHILD in pairs(CHILDREN) do
  1043. if CHILD:IsA("BasePart") then
  1044. CHILD.Transparency = CHILD.Transparency - 1/75
  1045. end
  1046. end
  1047. end
  1048. HUM.DisplayDistanceType = "None"
  1049. local KEY = IT("Model",Effects)
  1050. KEY.Name = "Key"
  1051. --CREATE KEY--
  1052. local KBASE = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "KeyBase", VT(0.1, 1, 0.1),false)
  1053. KEY.PrimaryPart = KBASE
  1054. KBASE.CFrame = RightArm.CFrame*CF(0,-2.1,0)*ANGLES(RAD(0),RAD(90),RAD(0))
  1055. local WLD = weldBetween(RightArm,KBASE)
  1056. for i = 1, 45 do
  1057. local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "Key", VT(0.1, 0.1, 0.1),false)
  1058. PRT.CFrame = KBASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD((360/45*i)))*CF(0,0.25,0)
  1059. weldBetween(KBASE,PRT)
  1060. end
  1061. local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "Key", VT(0.3, 0.1, 0.1),false)
  1062. PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.45,0)
  1063. weldBetween(KBASE,PRT)
  1064. local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "Key", VT(0.3, 0.1, 0.1),false)
  1065. PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.25,0)
  1066. weldBetween(KBASE,PRT)
  1067. --------------
  1068. Rooted = true
  1069. Pose("Prepare key",1.5,1.2,false,GYRO,TORSO)
  1070. coroutine.resume(coroutine.create(function()
  1071. for i = 1, 10 do
  1072. Swait()
  1073. GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  1074. GYRO.cframe = CF(RootPart.Position,TORSO.Position)
  1075. end
  1076. CreateSound(1149318312,BASE,5,1,false)
  1077. CreateSound(160772554,BASE,3,1,false)
  1078. LOCK2:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0))
  1079. for i = 1, 4 do
  1080. WACKYEFFECT({Time = 35, EffectType = "Crystal", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(1,1.45,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1081. end
  1082. WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,1,1)*25, Transparency = 0, Transparency2 = 1, CFrame = TORSO.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
  1083. wait(1)
  1084. TORSO.Parent.Parent = LOCK
  1085. for i = 1, 75 do
  1086. Swait()
  1087. local CHILDREN = KEY:GetDescendants()
  1088. for index, CHILD in pairs(CHILDREN) do
  1089. if CHILD:IsA("BasePart") then
  1090. CHILD.Transparency = i/25
  1091. end
  1092. end
  1093. local CHILDREN = LOCK:GetDescendants()
  1094. for index, CHILD in pairs(CHILDREN) do
  1095. if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
  1096. CHILD.Transparency = CHILD.Transparency + 1/75
  1097. elseif CHILD.ClassName == "Decal" then
  1098. CHILD.Transparency = CHILD.Transparency + 1/75
  1099. end
  1100. end
  1101. end
  1102. TORSO.Parent:ClearAllChildren()
  1103. KEY:remove()
  1104. LOCK:remove()
  1105. end))
  1106. Pose("Turn key",0.8,1.2,false,GYRO,TORSO)
  1107. GYRO:remove()
  1108. ATTACK = false
  1109. Rooted = false
  1110. end
  1111. end
  1112. end
  1113.  
  1114. local HATWELD = nil
  1115. function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
  1116. PLAYMAINANIMINANIM = false
  1117. if WhichPose == "Cast1" then
  1118. for i=0, Time, 0.1 / Animation_Speed do
  1119. Swait()
  1120. if Magic == true then
  1121. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1122. end
  1123. if Gyro ~= nil and Gyro ~= false then
  1124. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1125. end
  1126. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
  1127. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
  1128. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1129. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1130. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1131. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1132. end
  1133. elseif WhichPose == "Cast2" then
  1134. for i=0, Time, 0.1 / Animation_Speed do
  1135. Swait()
  1136. if Magic == true then
  1137. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1138. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1139. end
  1140. if Gyro ~= nil and Gyro ~= false then
  1141. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1142. end
  1143. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1144. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1145. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1146. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1147. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1148. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1149. end
  1150. elseif WhichPose == "RightArmUp" then
  1151. for i=0, Time, 0.1 / Animation_Speed do
  1152. Swait()
  1153. if Magic == true then
  1154. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1155. end
  1156. if Gyro ~= nil and Gyro ~= false then
  1157. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1158. end
  1159. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
  1160. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1161. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1162. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1163. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1164. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1165. end
  1166. elseif WhichPose == "Taunt" then
  1167. for i=0, Time, 0.1 / Animation_Speed do
  1168. Swait()
  1169. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1170. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1171. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1172. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1173. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1174. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1175. end
  1176. HATWELD.Part0 = RightArm
  1177. HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
  1178. CreateSound(221057812,Torso,10,1,false)
  1179. for i=0, Time*2, 0.1 / Animation_Speed do
  1180. Swait()
  1181. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1182. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1183. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1184. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1185. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1186. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1187. end
  1188. for i=0, Time, 0.1 / Animation_Speed do
  1189. Swait()
  1190. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1191. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
  1192. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1193. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1194. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1195. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1196. HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
  1197. end
  1198. HATWELD.Part0 = Head
  1199. HATWELD.C0 = CF(0,0.35,0)
  1200. elseif WhichPose == "Prepare key" then
  1201. for i=0, Time, 0.1 / Animation_Speed do
  1202. Swait()
  1203. if Gyro ~= nil and Gyro ~= false then
  1204. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1205. end
  1206. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
  1207. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
  1208. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1209. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1210. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1211. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1212. end
  1213. elseif WhichPose == "Turn key" then
  1214. for i=0, Time, 0.1 / Animation_Speed do
  1215. Swait()
  1216. if Gyro ~= nil and Gyro ~= false then
  1217. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1218. end
  1219. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
  1220. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
  1221. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1222. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1223. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1224. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1225. end
  1226. end
  1227. PLAYMAINANIM = true
  1228. end
  1229.  
  1230. function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH,DOES360)
  1231. if FLOOR ~= nil then
  1232. for i = 1, AMOUNT do
  1233. local DEBREE = CreatePart(3, Effects, "Neon", 0, 0, "Peal", "Debree", BLOCKSIZE, false)
  1234. DEBREE.Material = FLOOR.Material
  1235. DEBREE.Color = FLOOR.Color
  1236. DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  1237. if DOES360 == true then
  1238. DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
  1239. else
  1240. DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),STRENGTH,MRANDOM(-STRENGTH,STRENGTH))
  1241. end
  1242. coroutine.resume(coroutine.create(function()
  1243. Swait(15)
  1244. DEBREE.Parent = workspace
  1245. DEBREE.CanCollide = true
  1246. Debris:AddItem(DEBREE,SWAIT)
  1247. end))
  1248. end
  1249. end
  1250. end
  1251.  
  1252. function SpawnTrail(FROM,TO)
  1253. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Pearl", "Arrow", VT(0,0,0))
  1254. MakeForm(TRAIL,"Cyl")
  1255. local DIST = (FROM - TO).Magnitude
  1256. TRAIL.Size = VT(0.1,DIST,0.1)
  1257. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  1258. coroutine.resume(coroutine.create(function()
  1259. for i = 1, 5 do
  1260. Swait()
  1261. TRAIL.Transparency = TRAIL.Transparency + 0.1
  1262. end
  1263. TRAIL:remove()
  1264. end))
  1265. end
  1266.  
  1267. local Decal = IT("Decal")
  1268. function SpawnBulletHole(POSITION)
  1269. local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Magenta", "Bullet hole", VT(0.2,0,0.2))
  1270. local decal = Decal:Clone()
  1271. decal.Parent = O1
  1272. decal.Face = "Top"
  1273. decal.Texture = "http://www.roblox.com/asset/?id=130624105"
  1274. local decal2 = Decal:Clone()
  1275. decal2.Parent = O1
  1276. decal2.Face = "Bottom"
  1277. decal2.Texture = "http://www.roblox.com/asset/?id=130624105"
  1278. O1.CFrame = POSITION*ANGLES(RAD(0),RAD(MRANDOM(-180,180)),RAD(0))
  1279. Debris:AddItem(O1,5)
  1280. end
  1281.  
  1282. local asd = Instance.new("ParticleEmitter")
  1283. asd.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(.5, 0, 0))
  1284. asd.LightEmission = .1
  1285. asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
  1286. aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2),NumberSequenceKeypoint.new(1, 2)})
  1287. bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
  1288. asd.Transparency = bbb
  1289. asd.Size = aaa
  1290. asd.ZOffset = .9
  1291. asd.Acceleration = Vector3.new(0, -15, 0)
  1292. asd.LockedToPart = false
  1293. asd.EmissionDirection = "Back"
  1294. asd.Lifetime = NumberRange.new(1, 2)
  1295. asd.Rotation = NumberRange.new(-100, 100)
  1296. asd.RotSpeed = NumberRange.new(-100, 100)
  1297. asd.Speed = NumberRange.new(10)
  1298. asd.Enabled = false
  1299. asd.VelocitySpread = 999
  1300.  
  1301. function getbloody(victim,amount)
  1302. local PART = IT("Part",Effects)
  1303. PART.Transparency = 1
  1304. PART.Size = victim.Size
  1305. PART.Anchored = true
  1306. PART.CanCollide = false
  1307. PART.CFrame = CF(victim.Position)
  1308. local HITPLAYERSOUNDS = {"356551938","264486467"}
  1309. Debris:AddItem(PART,5)
  1310. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  1311. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  1312. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  1313. local prtcl = asd:Clone()
  1314. prtcl.Parent = PART
  1315. prtcl:Emit(amount*10)
  1316. end
  1317.  
  1318. function BulletDetection(FROM,TO)
  1319. local AIMHIT,AIMPOS,NORMAL = CastProperRay(FROM,TO,2000,Character)
  1320. coroutine.resume(coroutine.create(function()
  1321. if AIMHIT ~= nil then
  1322. if AIMHIT.Parent ~= Character then
  1323. if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") or AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  1324. if AIMHIT.Name ~= "Head" and AIMHIT.Parent.ClassName ~= "Accessory" then
  1325. ApplyDamage(AIMHIT.Parent:FindFirstChildOfClass("Humanoid"),MRANDOM(15,25),AIMHIT)
  1326. elseif AIMHIT.Name == "Head" or AIMHIT.Parent.ClassName == "Accessory" then
  1327. if AIMHIT.Parent.ClassName == "Accessory" then
  1328. if AIMHIT:FindFirstChild("HatAttachment") or AIMHIT:FindFirstChild("FaceFrontAttachment") or AIMHIT:FindFirstChild("HairAttachment") then
  1329. AIMHIT.Parent.Parent:BreakJoints()
  1330. if AIMHIT.Parent.Parent:FindFirstChild("Head") then
  1331. getbloody(AIMHIT.Parent.Parent.Head,15)
  1332. AIMHIT.Parent.Parent.Head:remove()
  1333. StatLabel(AIMHIT.CFrame * CF(0, 0 + (AIMHIT.Size.z - 1), 0), "Headshot!", C3(0,0,0))
  1334. end
  1335. else
  1336. ApplyDamage(AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid"),MRANDOM(25,65),AIMHIT)
  1337. end
  1338. elseif AIMHIT.Name == "Head" then
  1339. getbloody(AIMHIT,15)
  1340. AIMHIT.Parent:BreakJoints()
  1341. AIMHIT:remove()
  1342. StatLabel(AIMHIT.CFrame * CF(0, 0 + (AIMHIT.Size.z - 1), 0), "Headshot!", C3(0,0,0))
  1343. end
  1344. end
  1345. else
  1346. CreateFlyingDebree(AIMHIT,CF(AIMPOS),7,VT(0.1,0.1,0.1),5,35,true)
  1347. SpawnBulletHole(CF(AIMPOS,AIMPOS+NORMAL)*ANGLES(RAD(90),RAD(0),RAD(0)))
  1348. end
  1349. end
  1350. end
  1351. end))
  1352. return AIMHIT,AIMPOS,NORMAL
  1353. end
  1354.  
  1355.  
  1356. function Shatter(Part)
  1357. if Part.Transparency == 0 then
  1358. local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, Part.BrickColor, "OOF", VT(0,0,0))
  1359. Debris:AddItem(SOUNDPART,5)
  1360. CreateSound("84005018", SOUNDPART, 3, MRANDOM(8,12)/10, false)
  1361. local SIZE = Part.Size.X + Part.Size.Y + Part.Size.Z
  1362. local SIZESET = SIZE/4
  1363. local XOffset = Part.Size.X*1.5/SIZESET
  1364. local YOffset = Part.Size.Y*1.5/SIZESET
  1365. local ZOffset = Part.Size.Z*1.5/SIZESET
  1366. for x = 1, math.ceil(XOffset) do
  1367. for y = 1, math.ceil(YOffset) do
  1368. for z = 1, math.ceil(ZOffset) do
  1369. local SHARD = CreatePart(3, Effects, "Neon", 0, 0, Part.BrickColor, "Shard", VT(SIZE,SIZE,SIZE)/10, false)
  1370. SHARD.CanCollide = true
  1371. SHARD.CFrame = Part.CFrame*CF((Part.Size.X/2-x/4),(Part.Size.Y/2-y/4),(Part.Size.Z/2-z/4))
  1372. SHARD.Velocity = VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))*3
  1373. Debris:AddItem(SHARD,MRANDOM(10,25)/3)
  1374. end
  1375. end
  1376. end
  1377. end
  1378. Part:remove()
  1379. end
  1380.  
  1381. function MakeForm(PART,TYPE)
  1382. if TYPE == "Cyl" then
  1383. local MSH = IT("CylinderMesh",PART)
  1384. elseif TYPE == "Ball" then
  1385. local MSH = IT("SpecialMesh",PART)
  1386. MSH.MeshType = "Sphere"
  1387. elseif TYPE == "Wedge" then
  1388. local MSH = IT("SpecialMesh",PART)
  1389. MSH.MeshType = "Wedge"
  1390. end
  1391. end
  1392.  
  1393. Debris = game:GetService("Debris")
  1394.  
  1395. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1396. local DIRECTION = CF(StartPos,EndPos).lookVector
  1397. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1398. end
  1399.  
  1400. function turnto(position)
  1401. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1402. end
  1403.  
  1404.  
  1405. function MakeForm(PART,TYPE)
  1406. if TYPE == "Cyl" then
  1407. local MSH = IT("CylinderMesh",PART)
  1408. elseif TYPE == "Ball" then
  1409. local MSH = IT("SpecialMesh",PART)
  1410. MSH.MeshType = "Sphere"
  1411. elseif TYPE == "Wedge" then
  1412. local MSH = IT("SpecialMesh",PART)
  1413. MSH.MeshType = "Wedge"
  1414. end
  1415. end
  1416.  
  1417. Debris = game:GetService("Debris")
  1418.  
  1419. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1420. local DIRECTION = CF(StartPos,EndPos).lookVector
  1421. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1422. end
  1423.  
  1424. function turnto(position)
  1425. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1426. end
  1427.  
  1428.  
  1429. function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
  1430. if FLOOR ~= nil then
  1431. coroutine.resume(coroutine.create(function()
  1432. local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
  1433. PART.CFrame = CF(POSITION)
  1434. for i = 1, 45 do
  1435. local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
  1436. RingPiece.Material = FLOOR.Material
  1437. RingPiece.Color = FLOOR.Color
  1438. 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)))
  1439. Debris:AddItem(RingPiece,SWAIT)
  1440. end
  1441. PART:remove()
  1442. end))
  1443. end
  1444. end
  1445.  
  1446. function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
  1447. if FLOOR ~= nil then
  1448. for i = 1, AMOUNT do
  1449. local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
  1450. DEBREE.Material = FLOOR.Material
  1451. DEBREE.Color = FLOOR.Color
  1452. DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  1453. DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
  1454. coroutine.resume(coroutine.create(function()
  1455. Swait(15)
  1456. DEBREE.Parent = workspace
  1457. DEBREE.CanCollide = true
  1458. Debris:AddItem(DEBREE,SWAIT)
  1459. end))
  1460. end
  1461. end
  1462. end
  1463.  
  1464.  
  1465.  
  1466. --//=================================\\
  1467. --|| WEAPON CREATION
  1468. --\\=================================//
  1469.  
  1470. for i = 1, 35 do
  1471. local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/35.2, "Dark stone grey", "FaceGradient", VT(0,0,0),false)
  1472. FACE.Color = C3(0,0,0)
  1473. Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  1474. CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
  1475. end
  1476. local EYE = CreatePart(3, Character, "Neon", 0, 0, "Royal purple", "Eyeball", VT(0,0,0),false)
  1477. MakeForm(EYE,"Ball")
  1478. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
  1479. local EYE2 = CreatePart(3, Character, "Neon", 0, 0, "Royal purple", "Eyeball", VT(0.25,0.25,0.25),false)
  1480. MakeForm(EYE2,"Ball")
  1481. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE2, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
  1482. local Gun = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Royal purple", "Gun", VT(0, 0, 0),false)
  1483. local HandleMesh = CreateMesh("SpecialMesh", Gun, "FileMesh", "430070098", "154987811", VT(0.05,0.05,0.05), VT(0,0, 0))
  1484. local Weld = CreateWeldOrSnapOrMotor("Weld", Gun, RightArm, Gun, CF(0, -1.8, -0.2) * ANGLES(RAD(0), RAD(90), RAD(-90)), CF(0, 0, 0))
  1485.  
  1486. local BODY = {}
  1487.  
  1488. for _, c in pairs(Character:GetDescendants()) do
  1489. if c:IsA("BasePart") and c.Name ~= "Handle" then
  1490. if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  1491. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1492. end
  1493. table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
  1494. elseif c:IsA("JointInstance") then
  1495. table.insert(BODY,{c,c.Parent,nil,nil,nil})
  1496. end
  1497. end
  1498.  
  1499. for e = 1, #BODY do
  1500. if BODY[e] ~= nil then
  1501. local STUFF = BODY[e]
  1502. local PART = STUFF[1]
  1503. local PARENT = STUFF[2]
  1504. local MATERIAL = STUFF[3]
  1505. local COLOR = STUFF[4]
  1506. local TRANSPARENCY = STUFF[5]
  1507. if PART.ClassName == "Part" and PART ~= RootPart then
  1508. PART.Material = MATERIAL
  1509. PART.Color = COLOR
  1510. PART.Transparency = TRANSPARENCY
  1511. end
  1512. PART.AncestryChanged:Connect(function()
  1513. PART.Parent = PARENT
  1514. end)
  1515. end
  1516. end
  1517.  
  1518. function refit()
  1519. Character.Parent = workspace
  1520. for e = 1, #BODY do
  1521. if BODY[e] ~= nil then
  1522. local STUFF = BODY[e]
  1523. local PART = STUFF[1]
  1524. local PARENT = STUFF[2]
  1525. local MATERIAL = STUFF[3]
  1526. local COLOR = STUFF[4]
  1527. local TRANSPARENCY = STUFF[5]
  1528. if PART.ClassName == "Part" and PART ~= RootPart then
  1529. PART.Material = MATERIAL
  1530. PART.Color = COLOR
  1531. PART.Transparency = TRANSPARENCY
  1532. end
  1533. if PART.Parent ~= PARENT then
  1534. Humanoid:remove()
  1535. PART.Parent = PARENT
  1536. Humanoid = IT("Humanoid",Character)
  1537. end
  1538. end
  1539. end
  1540. end
  1541.  
  1542. local SKILLTEXTCOLOR = BrickColor.new("Magenta").Color
  1543. local SKILLFONT = "SciFi"
  1544. local SKILLTEXTSIZE = 7
  1545.  
  1546. Humanoid.Died:connect(function()
  1547. refit()
  1548. end)
  1549.  
  1550. function Blink()
  1551. coroutine.resume(coroutine.create(function()
  1552. if EYE ~= nil then
  1553. for i = 1, 5 do
  1554. Swait()
  1555. EYE.Mesh.Scale = EYE.Mesh.Scale - VT(0,0.2,0)
  1556. EYE2.Mesh.Scale = EYE.Mesh.Scale
  1557. end
  1558. for i = 1, 7 do
  1559. Swait()
  1560. EYE.Mesh.Scale = EYE.Mesh.Scale + VT(0,0.2,0)
  1561. EYE2.Mesh.Scale = EYE.Mesh.Scale
  1562. end
  1563. EYE.Mesh.Scale = VT(1,1,1)
  1564. EYE2.Mesh.Scale = EYE.Mesh.Scale
  1565. end
  1566. end))
  1567. end
  1568.  
  1569. local AMMO1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.80, 0), UD2(0.07, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Ammo 1 Frame")
  1570. local AMMO2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.80, 0), UD2(0.07, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Ammo 2 Frame")
  1571. local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  1572. local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  1573.  
  1574. local SKILL3TEXT = CreateLabel(SKILL1FRAME, "press [Z] to troll people", C3(0,0,0), 7, SKILLFONT, 0, 2, 1, "Text 3")
  1575. local SKILL4TEXT = CreateLabel(SKILL2FRAME, "press [X] to pay jason respect", C3(0,0,0), 7, "SciFi", 0, 2, 1, "Text 4")
  1576.  
  1577. local AMMOIMAGE2 = IT("ImageLabel",AMMO2FRAME)
  1578. AMMOIMAGE2.Size = UD2(1,0,1,0)
  1579. AMMOIMAGE2.BackgroundTransparency = 1
  1580. AMMOIMAGE2.BorderSizePixel = 0
  1581. AMMOIMAGE2.Image = "http://www.roblox.com/asset/?id=923773583"
  1582.  
  1583. for i = 1, 35 do
  1584. local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/35.2, "Magenta", "FaceGradient", VT(1.01,0.5,1.01),false)
  1585. FACE.Color = BrickColor.new("Magenta").Color
  1586. Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  1587. CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
  1588. end
  1589.  
  1590. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Magenta", "Eye", VT(0.6,0.1,1)/2,false)
  1591. MakeForm(Eye,"Ball")
  1592. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
  1593. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Magenta", "Eye", VT(0.6,0.1,1)/2,false)
  1594. MakeForm(Eye,"Ball")
  1595. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
  1596. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Magenta", "Eye", VT(0.1,1,1)/2,false)
  1597. MakeForm(Eye,"Ball")
  1598. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
  1599. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Magenta", "Eye", VT(0.1,1,1)/2,false)
  1600. MakeForm(Eye,"Ball")
  1601. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
  1602.  
  1603. local BasePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(1.01,0.3,1.01),false)
  1604. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BasePart, CF(0, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1605. for i = 1, 3 do
  1606. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.2,1.02,0.2),false)
  1607. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0, 0, 0.6-0.3*i) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
  1608. MakeForm(Part,"Cyl")
  1609. end
  1610. for i = 1, 3 do
  1611. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.2,1.02,0.2),false)
  1612. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.6-0.3*i, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(90)), CF(0, 0, 0))
  1613. MakeForm(Part,"Cyl")
  1614. end
  1615. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.51,0.6,0.25),false)
  1616. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(-0.125, -0.4, -0.25) * ANGLES(RAD(0), RAD(90), RAD(180)), CF(0, 0, 0))
  1617. MakeForm(Part,"Wedge")
  1618. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.51,0.6,0.25),false)
  1619. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.125, -0.4, -0.25) * ANGLES(RAD(0), RAD(-90), RAD(180)), CF(0, 0, 0))
  1620. MakeForm(Part,"Wedge")
  1621. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.52,0.5,0.25/2.3),false)
  1622. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(-0.125/2.3, -0.25, -0.25) * ANGLES(RAD(0), RAD(90), RAD(180)), CF(0, 0, 0))
  1623. MakeForm(Part,"Wedge")
  1624. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Magenta", "BraceletPart", VT(0.52,0.5,0.25/2.3),false)
  1625. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.125/2.3, -0.25, -0.25) * ANGLES(RAD(0), RAD(-90), RAD(180)), CF(0, 0, 0))
  1626. MakeForm(Part,"Wedge")
  1627.  
  1628.  
  1629.  
  1630. local HAT1 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Magenta", "Hat", VT(2,0.2,2),false)
  1631. MakeForm(HAT1,"Cyl")
  1632. HATWELD = CreateWeldOrSnapOrMotor("Weld", Head, Head, HAT1, CF(0,0.35,0), CF(0, 0, 0))
  1633. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Magenta", "Hat", VT(2.01,0.15,2.01),false)
  1634. BELT.Color = BrickColor.new("Magenta").Color
  1635. MakeForm(BELT,"Cyl")
  1636. CreateWeldOrSnapOrMotor("Weld", HAT1, HAT1, BELT, CF(0,0,0), CF(0, 0, 0))
  1637. local HAT2 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Magenta", "Hat", VT(1.3,2.2,1.3),false)
  1638. MakeForm(HAT2,"Cyl")
  1639. CreateWeldOrSnapOrMotor("Weld", HAT1, HAT1, HAT2, CF(0,1.1,0), CF(0, 0, 0))
  1640. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Magenta", "Hat", VT(1.31,0.2,1.31),false)
  1641. BELT.Color = BrickColor.new("Magenta").Color
  1642. MakeForm(BELT,"Cyl")
  1643. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,0,0), CF(0, 0, 0))
  1644. local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Gem", VT(0.25,0.25,0.1),false)
  1645. MakeForm(GEM,"Ball")
  1646. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(0,0,-BELT.Size.X/2), CF(0, 0, 0))
  1647. local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Gem", VT(0.25,0.25,0.1),false)
  1648. MakeForm(GEM,"Ball")
  1649. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(0,0,BELT.Size.X/2), CF(0, 0, 0))
  1650. local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Gem", VT(0.1,0.25,0.25),false)
  1651. MakeForm(GEM,"Ball")
  1652. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(-BELT.Size.X/2,0,0), CF(0, 0, 0))
  1653. local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Gem", VT(0.1,0.25,0.25),false)
  1654. MakeForm(GEM,"Ball")
  1655. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(BELT.Size.X/2,0,0), CF(0, 0, 0))
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661. --//=================================\\
  1662. --|| DAMAGE FUNCTIONS
  1663. --\\=================================//
  1664.  
  1665. function StatLabel(CFRAME, TEXT, COLOR)
  1666. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  1667. STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  1668. local BODYGYRO = IT("BodyGyro", STATPART)
  1669. game:GetService("Debris"):AddItem(STATPART ,5)
  1670. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  1671. BILLBOARDGUI.Adornee = STATPART
  1672. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  1673. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  1674. BILLBOARDGUI.AlwaysOnTop = false
  1675. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  1676. TEXTLABEL.BackgroundTransparency = 1
  1677. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  1678. TEXTLABEL.Text = TEXT
  1679. TEXTLABEL.Font = SKILLFONT
  1680. TEXTLABEL.FontSize="Size42"
  1681. TEXTLABEL.TextColor3 = COLOR
  1682. TEXTLABEL.TextStrokeTransparency = 0
  1683. TEXTLABEL.TextScaled = true
  1684. TEXTLABEL.TextWrapped = true
  1685. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  1686. for i = 1, 10 do
  1687. Swait()
  1688. STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  1689. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/10)
  1690. TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  1691. end
  1692. THEPART.Parent = nil
  1693. end),STATPART, TEXTLABEL)
  1694. end
  1695.  
  1696. --//=================================\\
  1697. --|| DAMAGING
  1698. --\\=================================//
  1699.  
  1700. function ApplyDamage(Humanoid,Damage,TorsoPart)
  1701. local defence = Instance.new("BoolValue",Humanoid.Parent)
  1702. defence.Name = ("HitBy"..Player.Name)
  1703. game:GetService("Debris"):AddItem(defence, 0.001)
  1704. Damage = Damage * DAMAGEMULTIPLIER
  1705. if Humanoid.Health ~= 0 then
  1706. local CritChance = MRANDOM(1,100)
  1707. if Damage > Humanoid.Health then
  1708. Damage = math.ceil(Humanoid.Health)
  1709. if Damage == 0 then
  1710. Damage = 0.1
  1711. end
  1712. end
  1713. Humanoid.Health = Humanoid.Health - Damage
  1714. StatLabel(TorsoPart.CFrame * CF(0, 0 + (TorsoPart.Size.z - 1), 0), Damage, C3(0, 0, 0))
  1715. end
  1716. end
  1717.  
  1718. function Ghostify(POSITION,RANGE)
  1719. local CHILDREN = workspace:GetDescendants()
  1720. for index, CHILD in pairs(CHILDREN) do
  1721. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  1722. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1723. if HUM then
  1724. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1725. if TORSO then
  1726. if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
  1727. local GHOST = GHOSTBASE:Clone()
  1728. GHOST.Parent = Effects
  1729. GHOST.Torso.CFrame = TORSO.CFrame
  1730. table.insert(GHOSTS,GHOST)
  1731. CHILD:remove()
  1732. end
  1733. end
  1734. end
  1735. end
  1736. end
  1737. end
  1738.  
  1739. --//=================================\\
  1740. --|| ATTACK FUNCTIONS AND STUFF
  1741. --\\=================================//
  1742.  
  1743. function Shell()
  1744. ATTACK = false
  1745. Rooted = false
  1746. local GYRO = IT("BodyGyro",RootPart)
  1747. GYRO.D = 750
  1748. GYRO.P = 20000
  1749. GYRO.MaxTorque = VT(0,40000000,0)
  1750. for i=0, 1, 0.1 / Animation_Speed do
  1751. Swait()
  1752. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1753. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(35)), 0.75 / Animation_Speed)
  1754. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(15), RAD(-35)), 0.75 / Animation_Speed)
  1755. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0) * ANGLES(RAD(115), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
  1756. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
  1757. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(35)), 0.75 / Animation_Speed)
  1758. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(-25)), 0.75 / Animation_Speed)
  1759. end
  1760. GYRO:remove()
  1761. CreateSound(130113322, Gun, 5, 1, false)
  1762. local AIMHIT,AIMPOS,NORMAL = BulletDetection(Gun.Position,Mouse.Hit.p)
  1763. SpawnTrail(Gun.CFrame*CF(1.5,0.5,0).p,AIMPOS)
  1764. WACKYEFFECT({Time = 3, EffectType = "Sphere", Size = VT(1,0.3,0.3), Size2 = VT(1,0,0), Transparency = 0, Transparency2 = 1, CFrame = Gun.CFrame*CF(1.5,0.5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1765. for i=0, 0.3, 0.1 / Animation_Speed do
  1766. Swait()
  1767. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(35)), 0.75 / Animation_Speed)
  1768. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(15), RAD(-35)), 0.75 / Animation_Speed)
  1769. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0.3) * ANGLES(RAD(110), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
  1770. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
  1771. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(35)), 0.75 / Animation_Speed)
  1772. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(-25)), 0.75 / Animation_Speed)
  1773. end
  1774. ATTACK = false
  1775. Rooted = false
  1776. end
  1777.  
  1778. function Taunt()
  1779. ATTACK = true
  1780. Rooted = false
  1781. TAUNT = true
  1782. for i=0, 0.1, 0.1 / Animation_Speed do
  1783. Swait()
  1784. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1785. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  1786. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  1787. end
  1788. for i=0, 3, 0.1 / Animation_Speed do
  1789. Swait()
  1790. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1791. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1792. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(15)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1793. end
  1794. CreateSound(363808674, Torso, 10, 1.3)
  1795. for i=0, 1, 0.1 / Animation_Speed do
  1796. Swait()
  1797. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(120)), 3 / Animation_Speed)
  1798. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(150), RAD(0), RAD(-25)) * RIGHTSHOULDERC0, 3/ Animation_Speed)
  1799. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(230), RAD(0), RAD(35)) * LEFTSHOULDERC0, 3 / Animation_Speed)
  1800. end
  1801. WACKYEFFECT({EffectType = "Block", Size = VT(6,6,6), Size2 = VT(15,15,15), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1802. CreateSound(649634100, Torso, 10, 0.8)
  1803. for i=0, 0.01, 0.1 / Animation_Speed do
  1804. Swait()
  1805. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 3 / Animation_Speed)
  1806. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
  1807. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 3 / Animation_Speed)
  1808. end
  1809. ATTACK = false
  1810. Rooted = false
  1811. TAUNT = false
  1812. end
  1813.  
  1814. function SinfulShell()
  1815. ATTACK = true
  1816. Rooted = false
  1817. local GYRO = IT("BodyGyro",RootPart)
  1818. GYRO.D = 750
  1819. GYRO.P = 20000
  1820. GYRO.MaxTorque = VT(0,40000000,0)
  1821. for i=0, 1, 0.1 / Animation_Speed do
  1822. Swait()
  1823. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1824. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(35)), 0.75 / Animation_Speed)
  1825. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(15), RAD(-35)), 0.75 / Animation_Speed)
  1826. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0) * ANGLES(RAD(115), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
  1827. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
  1828. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(35)), 0.75 / Animation_Speed)
  1829. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(-25)), 0.75 / Animation_Speed)
  1830. end
  1831. GYRO:remove()
  1832. CreateSound(132456187, Gun, 5, 1, false)
  1833. WACKYEFFECT({Time = 3, EffectType = "Sphere", Size = VT(1,0.3,0.3), Size2 = VT(1,0,0), Transparency = 0, Transparency2 = 1, CFrame = Gun.CFrame*CF(1.5,0.5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1834. coroutine.resume(coroutine.create(function()
  1835. local Bullet = CreatePart(3, Effects, "SmoothPlastic", 0, 0, "Royal purple", "Sinful bullet", VT(0,0,0))
  1836. CreateMesh("SpecialMesh", Bullet, "FileMesh", "94295100", "", VT(6, 6, 7), VT(0,0, 0))
  1837. Bullet.CFrame = Gun.CFrame*CF(1.5,0.5,0)
  1838. local AIMPOINT = Mouse.Hit.p
  1839. local STARTPOS = Gun.CFrame*CF(1.5,0.5,0).p
  1840. local VECTOR = CF(STARTPOS,AIMPOINT)
  1841. local IMPACTED = false
  1842. CreateSound(1393698948, Bullet, 10, 1, true)
  1843. for E = 1, 50 do
  1844. if IMPACTED == true then
  1845. break
  1846. end
  1847. local TARGETPOINT = VECTOR*CF(0,0,-E*5)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,1,0).p
  1848. Bullet.CFrame = CF(Bullet.Position,TARGETPOINT)
  1849. for i = 1, 5 do
  1850. Swait()
  1851. WACKYEFFECT({Time = 15, EffectType = "Swirl", Size = VT(1,1,1), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = Bullet.CFrame * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i+E, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1852. Bullet.CFrame = Bullet.CFrame*CF(0,0,-1)
  1853. local AIMHIT,AIMPOS,NORMAL = Raycast(Bullet.Position,Bullet.CFrame.lookVector,1.3,Character)
  1854. if AIMHIT ~= nil then
  1855. IMPACTED = true
  1856. break
  1857. end
  1858. end
  1859. end
  1860. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(10,10,10), Size2 = VT(9,9,9), Transparency = 0, Transparency2 = 1, CFrame = Bullet.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 182765513, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 7})
  1861. for i = 1, 7 do
  1862. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(1,15,1), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = Bullet.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1863. end
  1864. Ghostify(Bullet.Position,10)
  1865. Bullet:remove()
  1866. end))
  1867. for i=0, 0.3, 0.1 / Animation_Speed do
  1868. Swait()
  1869. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(35)), 0.75 / Animation_Speed)
  1870. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 0.5 * SIN(SINE / 12)), RAD(15), RAD(-35)), 0.75 / Animation_Speed)
  1871. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.7 - 0.1 * COS(SINE / 12), 0.3) * ANGLES(RAD(110), RAD(0), RAD(35)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
  1872. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.45, -0.1) * ANGLES(RAD(25), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
  1873. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(35)), 0.75 / Animation_Speed)
  1874. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.3 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(-25)), 0.75 / Animation_Speed)
  1875. end
  1876. ATTACK = false
  1877. Rooted = false
  1878. end
  1879.  
  1880.  
  1881.  
  1882.  
  1883. function Astral_Hop()
  1884. ATTACK = true
  1885. Rooted = false
  1886. local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
  1887. O1.CFrame = RootPart.CFrame*CF(0,0,-3)*ANGLES(RAD(90),RAD(0),RAD(0))
  1888. local decal = Decal:Clone()
  1889. decal.Parent = O1
  1890. decal.Face = "Top"
  1891. decal.Texture = "http://www.roblox.com/asset/?id=202696571"
  1892. local decal2 = Decal:Clone()
  1893. decal2.Parent = O1
  1894. decal2.Face = "Bottom"
  1895. decal2.Texture = "http://www.roblox.com/asset/?id=202696571"
  1896. local O2 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
  1897. local POS = VT(RootPart.Position.X,Mouse.Hit.p.Y+6,RootPart.Position.Z)
  1898. O2.CFrame = CF(Mouse.Hit.p+VT(0,6,0),POS)*ANGLES(RAD(90),RAD(0),RAD(0))
  1899. local ROOT = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
  1900. ROOT.CFrame = CF(O2.Position,RootPart.Position)
  1901. local decal = Decal:Clone()
  1902. decal.Parent = O2
  1903. decal.Face = "Top"
  1904. decal.Texture = "http://www.roblox.com/asset/?id=202696571"
  1905. local decal2 = Decal:Clone()
  1906. decal2.Parent = O2
  1907. decal2.Face = "Bottom"
  1908. decal2.Texture = "http://www.roblox.com/asset/?id=202696571"
  1909. CreateSound("153613030", O1, 10, 0.7)
  1910. CreateSound("153613030", O2, 10, 0.7)
  1911. for i = 1, 75 do
  1912. Swait()
  1913. O1.Size = O1.Size + VT(0.1,0,0.1)
  1914. O1.CFrame = RootPart.CFrame*CF(0,0,-3)*ANGLES(RAD(90),RAD(i),RAD(0))
  1915. O2.Size = O2.Size + VT(0.1,0,0.1)
  1916. O2.CFrame = O2.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
  1917. 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(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1918. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1919. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(90), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1920. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(90), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1921. 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)
  1922. 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)
  1923.  
  1924. end
  1925.  
  1926.  
  1927. Rooted = true
  1928. UNANCHOR = false
  1929. RootPart.Anchored = true
  1930. VALUE1 = true
  1931. for i = 1, 15 do
  1932. Swait()
  1933. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.13)
  1934. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(16 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1935. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1936. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1937. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1938. 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)
  1939. 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)
  1940. end
  1941. RootPart.CFrame = ROOT.CFrame
  1942. ROOT:remove()
  1943. for i = 1, 15 do
  1944. Swait()
  1945. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.5)
  1946. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(16 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1947. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1948. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1949. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1950. 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)
  1951. 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)
  1952. end
  1953. VALUE1 = false
  1954. coroutine.resume(coroutine.create(function()
  1955. for i = 1, 75 do
  1956. Swait()
  1957. O1.Size = O1.Size - VT(0.1,0,0.1)
  1958. O1.CFrame = O1.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
  1959. O2.Size = O2.Size - VT(0.1,0,0.1)
  1960. O2.CFrame = O2.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
  1961. end
  1962. O1:remove()
  1963. O2:remove()
  1964. end))
  1965. UNANCHOR = true
  1966. RootPart.Anchored = false
  1967. ATTACK = false
  1968. Rooted = false
  1969. end
  1970.  
  1971.  
  1972. function Technobeam()
  1973. ATTACK = true
  1974. Rooted = false
  1975. local GYRO = IT("BodyGyro",RootPart)
  1976. GYRO.D = 100
  1977. GYRO.P = 2000
  1978. GYRO.MaxTorque = VT(0,4000000,0)
  1979. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1980. CreateSound("93724183", RightArm, 5, 1, false)
  1981. for i=1, 35 do
  1982. Swait()
  1983. WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
  1984. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1985. 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)
  1986. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  1987. 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)
  1988. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1989. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1990. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1991. end
  1992. local BEAM = CreatePart(3, Effects, "Neon", 0, 1, "Magenta", "Lazer", VT(0,0,0))
  1993. local LOOP = CreateSound("415700134", RightArm, 5, 1, false)
  1994. local TOCH = BEAM.Touched:Connect(function(hit)
  1995. if hit.Anchored == false and hit.Parent ~= Head and hit.Parent ~= Character and hit.Parent ~= Effects then
  1996. Shatter(hit)
  1997. end
  1998. end)
  1999. local I = 0
  2000. repeat
  2001. Swait()
  2002. I = I + 1
  2003. if I <= 10 then
  2004. BEAM.Transparency = BEAM.Transparency - 0.1
  2005. end
  2006. local STARTPOS = RightArm.CFrame*CF(0,-4,0).p
  2007. local ENDHIT,ENDPOS = CastProperRay(STARTPOS,Mouse.Hit.p,650,Character)
  2008. local DISTANCE = (STARTPOS - ENDPOS).Magnitude
  2009. BEAM.CFrame = CF(STARTPOS,ENDPOS)*CF(0,0,-DISTANCE/2)*ANGLES(RAD(0),RAD(0),RAD(I*5))
  2010. BEAM.Size = VT(2,2,DISTANCE)
  2011. WACKYEFFECT({Time = 5, EffectType = "Box", Size = VT(1,1,1), Size2 = VT(1,1,1), Transparency = 0, Transparency2 = 1, CFrame = CF(ENDPOS), MoveToPos = CF(ENDPOS)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,15,0).p, RotationX = MRANDOM(-5,5), RotationY = MRANDOM(-5,5), RotationZ = MRANDOM(-5,5), Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2012. WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-4,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
  2013. WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = CF(ENDPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
  2014. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2015. 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)
  2016. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  2017. 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)
  2018. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2019. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2020. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2021. if ENDHIT ~= nil then
  2022. if ENDHIT.Anchored == false and ENDHIT.Parent ~= Effects then
  2023. Shatter(ENDHIT)
  2024. end
  2025. end
  2026. until LOOP.Playing == false
  2027. GYRO:remove()
  2028. BEAM:remove()
  2029. ATTACK = false
  2030. Rooted = false
  2031. end
  2032.  
  2033. function SpawnSmite(POS)
  2034. local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
  2035. local EMITPOS = HITPOS
  2036. if HITFLOOR ~= nil then
  2037. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  2038. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  2039. EMITPOS = HITPOS
  2040. elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  2041. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  2042. EMITPOS = HITPOS
  2043. end
  2044. end
  2045. if HITFLOOR ~= nil then
  2046. ApplyAoE(EMITPOS,10)
  2047. WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  2048. WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2049. WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2050. for i = 1, 5 do
  2051. local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
  2052. WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  2053. end
  2054. end
  2055. end
  2056.  
  2057. function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
  2058. coroutine.resume(coroutine.create(function()
  2059. local METEOR = IT("Model",Effects)
  2060. METEOR.Name = "Meteorite"
  2061. local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Magenta", "MeteorCenter", VT(5,5,5)*SIZE)
  2062. METEOR.PrimaryPart = CENTER
  2063. local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Magenta", "MeteorCenter", VT(5,5,5)*SIZE)
  2064. PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2065. for i = 1, 15 do
  2066. local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Magenta", "Fire", VT(5.1,1,5.1)*SIZE)
  2067. FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2068. end
  2069. if ISDEBREE ~= true then
  2070. METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  2071. else
  2072. METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  2073. end
  2074. local IMPACT = false
  2075. CreateSound(463593339, CENTER, 10, 0.6)
  2076. if SIZE >= 3.5 then
  2077. for i = 1, MRANDOM(3,7) do
  2078. SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p)
  2079. end
  2080. end
  2081. for i = 1, 200 do
  2082. Swait()
  2083. local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
  2084. if HITFLOOR == nil then
  2085. local ORI = CENTER.Orientation
  2086. METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  2087. else
  2088. if HITFLOOR.Anchored == true then
  2089. CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
  2090. CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(6,6,6)*SIZE,5,175)
  2091. end
  2092. IMPACT = true
  2093. break
  2094. end
  2095. end
  2096. if IMPACT == true then
  2097. WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  2098. WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
  2099. WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  2100. ApplyAoE(CENTER.Position,30*SIZE)
  2101. end
  2102. METEOR:remove()
  2103. end))
  2104. end
  2105.  
  2106. function Smite()
  2107. ATTACK = true
  2108. Rooted = false
  2109. CreateSound(1368573150, RightArm, 3, 1.5)
  2110. for i=0, 0.6, 0.1 / Animation_Speed do
  2111. Swait()
  2112. WACKYEFFECT({TIME = 15, EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2113. 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)
  2114. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
  2115. end
  2116. local POWER = 0
  2117. repeat
  2118. Swait()
  2119. WACKYEFFECT({EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2120. 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)
  2121. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
  2122. POWER = POWER + 0.5
  2123. if POWER >= 85 then
  2124. POWER = 85
  2125. end
  2126. until KEYHOLD == false
  2127. if POWER < 0.6 then
  2128. SpawnSmite(Mouse.Hit.p)
  2129. else
  2130. if POWER < 15 then
  2131. POWER = 15
  2132. end
  2133. SpawnMeteor(Mouse.Hit.p,POWER/15)
  2134. end
  2135. ATTACK = false
  2136. Rooted = false
  2137. end
  2138.  
  2139.  
  2140.  
  2141. function Corrupted_Explosion()
  2142. ATTACK = true
  2143. Rooted = true
  2144. for i=0, 1, 0.1 / Animation_Speed do
  2145. Swait()
  2146. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.6 / Animation_Speed)
  2147. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.6 / Animation_Speed)
  2148. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  2149. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
  2150. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2151. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2152. end
  2153. for i=0, 0.4, 0.1 / Animation_Speed do
  2154. Swait()
  2155. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
  2156. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
  2157. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2158. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2159. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.01) * ANGLES(RAD(75), RAD(25), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  2160. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2161. end
  2162. local BEAM = CreatePart(3, Effects, "Neon", 0, 0, "Magenta", "Beam", VT(0,0,0))
  2163. local BEAM2 = CreatePart(3, Effects, "Neon", 0, 0, "Magenta", "Beam", VT(0,0,0))
  2164. MakeForm(BEAM,"Ball")
  2165. MakeForm(BEAM2,"Ball")
  2166. BEAM.CFrame = CF(RootPart.Position)
  2167. BEAM2.CFrame = CF(RootPart.Position)
  2168. CreateSound(EXPLOSIONSOUND,RootPart,10,1,false)
  2169. for i=1, 100 do
  2170. Swait()
  2171. BEAM.Size = BEAM.Size + VT(0.7,8,0.7)
  2172. BEAM2.Size = BEAM2.Size + VT(2,2,2)
  2173. ApplyAoE(BEAM2.Position,BEAM2.Size.Z/2,5,5,15,true)
  2174. BEAM.CFrame = CF(RootPart.Position)
  2175. BEAM2.CFrame = CF(RootPart.Position)
  2176. WACKYEFFECT({TIME = 5+i, EffectType = "Swirl", Size = BEAM2.Size*1.15, Size2 = VT(0,BEAM.Size.Y,0), Transparency = 0.8, Transparency2 = 1, CFrame = BEAM.CFrame * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2177. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
  2178. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
  2179. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2180. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2181. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.01) * ANGLES(RAD(75), RAD(25), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  2182. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2183. end
  2184. WACKYEFFECT({TIME = 75, EffectType = "Sphere", Size = BEAM.Size, Size2 = VT(0,BEAM.Size.Y,0), Transparency = 0, Transparency2 = 0, CFrame = BEAM.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2185. WACKYEFFECT({TIME = 75, EffectType = "Sphere", Size = BEAM2.Size, Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.6, CFrame = BEAM2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Magenta").Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2186. BEAM2:remove()
  2187. BEAM:remove()
  2188. ATTACK = false
  2189. Rooted = false
  2190. end
  2191.  
  2192.  
  2193.  
  2194. --//=================================\\
  2195. --|| ASSIGN THINGS TO KEYS
  2196. --\\=================================//
  2197.  
  2198. function MouseDown(Mouse)
  2199. if ATTACK == false then
  2200. end
  2201. end
  2202.  
  2203. function MouseUp(Mouse)
  2204. HOLD = false
  2205. end
  2206.  
  2207. function KeyDown(Key)
  2208. KEYHOLD = true
  2209. if Key == "z" and ATTACK == false then
  2210. Shell()
  2211. end
  2212.  
  2213. if Key == "q" and ATTACK == false then
  2214. Astral_Hop()
  2215. end
  2216.  
  2217. if Key == "e" and ATTACK == false then
  2218. Corrupted_Explosion()
  2219. end
  2220.  
  2221.  
  2222.  
  2223. if Key == "b" and ATTACK == false then
  2224. Technobeam()
  2225. end
  2226.  
  2227. if Key == "t" and ATTACK == false then
  2228. Taunt()
  2229. end
  2230.  
  2231.  
  2232.  
  2233. if Key == "c" and ATTACK == false then
  2234. Smite()
  2235. end
  2236.  
  2237.  
  2238. if Key == "x" and ATTACK == false then
  2239. SinfulShell()
  2240. end
  2241.  
  2242. if Key == "f" and ATTACK == false then
  2243. Prison_Key()
  2244. end
  2245.  
  2246. if Key == "g" and ATTACK == false then
  2247. Morning_Star()
  2248. end
  2249. end
  2250.  
  2251. function KeyUp(Key)
  2252. KEYHOLD = false
  2253. end
  2254.  
  2255. Mouse.Button1Down:connect(function(NEWKEY)
  2256. MouseDown(NEWKEY)
  2257. end)
  2258. Mouse.Button1Up:connect(function(NEWKEY)
  2259. MouseUp(NEWKEY)
  2260. end)
  2261. Mouse.KeyDown:connect(function(NEWKEY)
  2262. KeyDown(NEWKEY)
  2263. end)
  2264. Mouse.KeyUp:connect(function(NEWKEY)
  2265. KeyUp(NEWKEY)
  2266. end)
  2267.  
  2268. --//=================================\\
  2269. --\\=================================//
  2270.  
  2271.  
  2272. function unanchor()
  2273. if UNANCHOR == true then
  2274. g = Character:GetChildren()
  2275. for i = 1, #g do
  2276. if g[i].ClassName == "Part" then
  2277. g[i].Anchored = false
  2278. end
  2279. end
  2280. end
  2281. end
  2282.  
  2283.  
  2284. --//=================================\\
  2285. --|| WRAP THE WHOLE SCRIPT UP
  2286. --\\=================================//
  2287.  
  2288. Humanoid.Changed:connect(function(Jump)
  2289. if Jump == "Jump" and (Disable_Jump == true) then
  2290. Humanoid.Jump = false
  2291. end
  2292. end)
  2293.  
  2294. local BLINKLOOP = 0
  2295.  
  2296. while true do
  2297. Swait()
  2298. script.Parent = WEAPONGUI
  2299. ANIMATE.Parent = nil
  2300. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  2301. v:Stop();
  2302. end
  2303. Humanoid.JumpPower = 75
  2304. SINE = SINE + CHANGE
  2305. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2306. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2307. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  2308. local WALKSPEEDVALUE = 4 / (Humanoid.WalkSpeed / 16)
  2309. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  2310. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2311. 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)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2312. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.825 - 0.175 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.1- 0.5 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2313. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.825 + 0.175 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.1+ 0.5 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2314. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  2315. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2316. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2317. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2318. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2319. end
  2320. if HITFLOOR == nil then
  2321. ANIM = "Midair"
  2322. local JUMPHIT = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5, Character)
  2323. if JUMPHIT ~= nil and TORSOVERTICALVELOCITY < 0 then
  2324. if JUMPHIT.Name == "Head" and JUMPHIT:FindFirstChild("Stomped") == nil then
  2325. local HIT = IT("Folder",JUMPHIT)
  2326. HIT.Name = "Stomped"
  2327. CreateSound(165013277, JUMPHIT, 10, 1, false)
  2328. RootPart.Velocity = VT(0,80,0)
  2329. GoombaStomp(JUMPHIT.Parent)
  2330. elseif JUMPHIT.Parent.ClassName == "Accessory" then
  2331. local HEAD = JUMPHIT.Parent.Parent:FindFirstChild("Head")
  2332. if HEAD then
  2333. if HEAD:FindFirstChild("Stomped") == nil then
  2334. local HIT = IT("Folder",HEAD)
  2335. HIT.Name = "Stomped"
  2336. CreateSound(165013277, HEAD, 10, 1, false)
  2337. RootPart.Velocity = VT(0,80,0)
  2338. GoombaStomp(HEAD.Parent)
  2339. end
  2340. end
  2341. end
  2342. end
  2343. local JUMPHIT = Raycast(RootPart.CFrame*CF(1,0,0).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5, Character)
  2344. if JUMPHIT ~= nil and TORSOVERTICALVELOCITY < 0 then
  2345. if JUMPHIT.Name == "Head" and JUMPHIT:FindFirstChild("Stomped") == nil then
  2346. local HIT = IT("Folder",JUMPHIT)
  2347. HIT.Name = "Stomped"
  2348. CreateSound(165013277, JUMPHIT, 10, 1, false)
  2349. RootPart.Velocity = VT(0,80,0)
  2350. GoombaStomp(JUMPHIT.Parent)
  2351. elseif JUMPHIT.Parent.ClassName == "Accessory" then
  2352. local HEAD = JUMPHIT.Parent.Parent:FindFirstChild("Head")
  2353. if HEAD then
  2354. if HEAD:FindFirstChild("Stomped") == nil then
  2355. local HIT = IT("Folder",HEAD)
  2356. HIT.Name = "Stomped"
  2357. CreateSound(165013277, HEAD, 10, 1, false)
  2358. RootPart.Velocity = VT(0,80,0)
  2359. GoombaStomp(HEAD.Parent)
  2360. end
  2361. end
  2362. end
  2363. end
  2364. local JUMPHIT = Raycast(RootPart.CFrame*CF(-1,0,0).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5, Character)
  2365. if JUMPHIT ~= nil and TORSOVERTICALVELOCITY < 0 then
  2366. if JUMPHIT.Name == "Head" and JUMPHIT:FindFirstChild("Stomped") == nil then
  2367. local HIT = IT("Folder",JUMPHIT)
  2368. HIT.Name = "Stomped"
  2369. CreateSound(165013277, JUMPHIT, 10, 1, false)
  2370. RootPart.Velocity = VT(0,80,0)
  2371. GoombaStomp(JUMPHIT.Parent)
  2372. elseif JUMPHIT.Parent.ClassName == "Accessory" then
  2373. local HEAD = JUMPHIT.Parent.Parent:FindFirstChild("Head")
  2374. if HEAD then
  2375. if HEAD:FindFirstChild("Stomped") == nil then
  2376. local HIT = IT("Folder",HEAD)
  2377. HIT.Name = "Stomped"
  2378. CreateSound(165013277, HEAD, 10, 1, false)
  2379. RootPart.Velocity = VT(0,80,0)
  2380. GoombaStomp(HEAD.Parent)
  2381. end
  2382. end
  2383. end
  2384. end
  2385. if ATTACK == false then
  2386. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0+sick.PlaybackLoudness/800) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  2387. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1+sick.PlaybackLoudness/800) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 2 / Animation_Speed)
  2388. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, -0.2) * ANGLES(RAD(150), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2389. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2390. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4-sick.PlaybackLoudness/800, -0.7) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  2391. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1-sick.PlaybackLoudness/800, -0.3) * ANGLES(RAD(-25), RAD(-80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
  2392. end
  2393. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  2394. ANIM = "Idle"
  2395. JUMPED = false
  2396. if ATTACK == false then
  2397. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0+sick.PlaybackLoudness/800) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2398. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1+sick.PlaybackLoudness/800) - 1)) * ANGLES(RAD(0), RAD(7.5-30*SIN(sick.PlaybackLoudness/300)), RAD(0 - 25 * SIN(SINE / 15))), 1 / Animation_Speed)
  2399. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5+sick.PlaybackLoudness/1200, 0) * ANGLES(RAD(0), RAD(-15), RAD(-2+sick.PlaybackLoudness/45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2400. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.3) * ANGLES(RAD(0), RAD(55), RAD(-12)) * ANGLES(RAD(-45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2401. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1-sick.PlaybackLoudness/800, -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2402. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1-sick.PlaybackLoudness/800, -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2403. end
  2404. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2405. ANIM = "Walk"
  2406. JUMPED = false
  2407. if ATTACK == false then
  2408. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1+sick.PlaybackLoudness/800) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
  2409. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1+sick.PlaybackLoudness/800) - 1)) * ANGLES(RAD(5 - 2 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(7.5-30*SIN(sick.PlaybackLoudness/300)), RAD(0)), 1 / Animation_Speed)
  2410. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5+sick.PlaybackLoudness/1200, 0) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 0.35 / Animation_Speed)
  2411. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.3) * ANGLES(RAD(0), RAD(55), RAD(-12)) * ANGLES(RAD(-45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2412. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1-sick.PlaybackLoudness/800, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-3)), 2 / Animation_Speed)
  2413. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1-sick.PlaybackLoudness/800, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(3)), 2 / Animation_Speed)
  2414. end
  2415. end
  2416.  
  2417. unanchor()
  2418. Humanoid.MaxHealth = "inf"
  2419. Humanoid.Health = "inf"
  2420. if Rooted == false then
  2421. Disable_Jump = false
  2422. Humanoid.WalkSpeed = Speed
  2423. elseif Rooted == true then
  2424. Disable_Jump = true
  2425. Humanoid.WalkSpeed = 0
  2426. end
  2427. sick.SoundId = "rbxassetid://591604546"
  2428. sick.Looped = true
  2429. sick.Pitch = 1
  2430. sick.Volume = 10
  2431. sick.Playing = true
  2432. sick.Parent = Torso
  2433. if Head:FindFirstChild("face") then
  2434. Head.face.Texture = "rbxassetid://142478285"
  2435. end
  2436. BLINKLOOP = BLINKLOOP + 1
  2437. if BLINKLOOP >=650 then
  2438. BLINKLOOP = 0
  2439. Blink()
  2440. end
  2441. if #GHOSTS>0 then
  2442. for e=1,#GHOSTS do
  2443. if GHOSTS[e]~=nil then
  2444. local Thing=GHOSTS[e]
  2445. if Thing~=nil then
  2446. if Thing:FindFirstChild("Head") then
  2447. if Thing:FindFirstChild("Head"):FindFirstChild("face") then
  2448. Thing:FindFirstChild("Head").face.Texture = "rbxassetid://127959433"
  2449. end
  2450. if Thing:FindFirstChild("Head"):FindFirstChildOfClass("Sound") then
  2451. Thing:FindFirstChild("Head"):FindFirstChildOfClass("Sound"):remove()
  2452. end
  2453. end
  2454. local TORSO = Thing:FindFirstChild("Torso")
  2455. if TORSO then
  2456. TORSO.Anchored = false
  2457. local ROOT = Thing.HumanoidRootPart
  2458. local RootJoint1 = ROOT:FindFirstChild("RootJoint")
  2459. local Neck1 = TORSO:FindFirstChild("Neck")
  2460. local RightShoulder1 = TORSO:FindFirstChild("Right Shoulder")
  2461. local LeftShoulder1 = TORSO:FindFirstChild("Left Shoulder")
  2462. local RightHip1 = TORSO:FindFirstChild("Right Hip")
  2463. local LeftHip1 = TORSO:FindFirstChild("Left Hip")
  2464. if ROOT and RootJoint1 then
  2465. local VELOCITY = (ROOT.Velocity * VT(1, 0, 1)).magnitude
  2466. if VELOCITY < 1 then
  2467. RootJoint1.C0 = ROOTC0 * CF(0, 0, 0 + 0.15 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(2.5 * SIN(SINE / 12)))
  2468. Neck1.C0 = NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD( - 2.5 * SIN(SINE / 12)))
  2469. RightShoulder1.C0 = CF(1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 1.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0
  2470. LeftShoulder1.C0 = CF(-1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 1.5 * SIN(SINE / 12))) * LEFTSHOULDERC0
  2471. RightHip1.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))
  2472. LeftHip1.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))
  2473. elseif VELOCITY > 1 then
  2474. RootJoint1.C0 = ROOTC0 * CF(0, 0, 0 + 0.15 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(2.5 * SIN(SINE / 12)))
  2475. Neck1.C0 = NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD( - 2.5 * SIN(SINE / 12)))
  2476. RightShoulder1.C0 = CF(1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 1.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0
  2477. LeftShoulder1.C0 = CF(-1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 1.5 * SIN(SINE / 12))) * LEFTSHOULDERC0
  2478. RightHip1.C0 = CF(1, -1, -0.01) * ANGLES(RAD(-25-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 12)), RAD(0), RAD(0))
  2479. LeftHip1.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))
  2480. end
  2481. end
  2482. local Human = Thing.Humanoid
  2483. if Human then
  2484. Human.HipHeight = 0.3
  2485. for _, c in pairs(Thing:GetChildren()) do
  2486. if c.ClassName == "Part" and c.Transparency < 1 then
  2487. c.Color = C3(0,0,0)
  2488. c.Transparency = 0.65 + 0.15 * COS(SINE / 25)
  2489. elseif c.ClassName == "Accessory" or c.ClassName == "Hat" or c.ClassName == "CharacterMesh" or c.ClassName == "Shirt" or c.ClassName == "Pants" then
  2490. c:remove()
  2491. end
  2492. end
  2493. if Human then
  2494. local IDLEANIMATION = Human:LoadAnimation(ROBLOXIDLEANIMATION)
  2495. IDLEANIMATION:Play()
  2496. end
  2497. local list = game.Workspace:children()
  2498. local torso = nil
  2499. local dist = 50
  2500. local temp = nil
  2501. local human = nil
  2502. local temp2 = nil
  2503. local OwnerInDanger = false
  2504. for x = 1, #list do
  2505. temp2 = list[x]
  2506. if (temp2.className == "Model") and (temp2 ~= Character) and (temp2 ~= Thing) then
  2507. temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
  2508. human = temp2:findFirstChildOfClass("Humanoid")
  2509. if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
  2510. if (temp.Position - Torso.Position).magnitude < 15 then
  2511. OwnerInDanger = true
  2512. newdist = (temp.Position - TORSO.Position).magnitude
  2513. dist = (Torso.Position - temp.Position).magnitude
  2514. Human:MoveTo(temp.Position)
  2515. torso = temp
  2516. if newdist < 7 then
  2517. torso.CFrame = CF(torso.Position,TORSO.Position)*CF(0,0,5)
  2518. CreateSound(814168787, temp, 1, 2, false)
  2519. ApplyDamage(human,MRANDOM(15,35),temp)
  2520. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(1,1,1), Size2 = VT(3,1,3), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position,torso.Position)*CF(0,0,-2) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2521. WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(1,1,1), Size2 = VT(3,1,3), Transparency = 0, Transparency2 = 1, CFrame = torso.CFrame*CF(0,-4*torso.Size.Y/2,0), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2522. end
  2523. end
  2524. end
  2525. end
  2526. end
  2527. if OwnerInDanger == false then
  2528. for x = 1, #list do
  2529. temp2 = list[x]
  2530. if (temp2.className == "Model") and (temp2 ~= Character) and (temp2 ~= Thing) then
  2531. temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
  2532. human = temp2:findFirstChildOfClass("Humanoid")
  2533. if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
  2534. if (temp.Position - Torso.Position).magnitude < dist then
  2535. newdist = (temp.Position - TORSO.Position).magnitude
  2536. Human:MoveTo(temp.Position)
  2537. torso = temp
  2538. if newdist < 15 then
  2539. if MRANDOM(1,35) == 1 then
  2540. CreateSound(438665935, temp, 1, 3, false)
  2541. ApplyDamage(human,MRANDOM(2,20),temp)
  2542. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(1,1,1), Size2 = VT(3,1,3), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position,torso.Position)*CF(0,0,-2) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2543. end
  2544. end
  2545. end
  2546. end
  2547. end
  2548. end
  2549. end
  2550. if torso == nil then
  2551. Human.WalkSpeed = Speed -0.2
  2552. if (Torso.Position - TORSO.Position).magnitude < 12 and (Torso.Position - TORSO.Position).magnitude >= 11 then
  2553. Human:MoveTo(TORSO.Position)
  2554. elseif (Torso.Position - TORSO.Position).magnitude > 15 then
  2555. Human:MoveTo(Torso.Position)
  2556. elseif (Torso.Position - TORSO.Position).magnitude < 11 then
  2557. Human:MoveTo(CF(Torso.Position,TORSO.Position)*CF(0,0,-5).p)
  2558. end
  2559. else
  2560. if OwnerInDanger == false then
  2561. Human.WalkSpeed = Speed*1.2
  2562. else
  2563. Human.WalkSpeed = Speed*5
  2564. end
  2565. end
  2566. if Human.Health == 0 then
  2567. Thing:remove()
  2568. table.remove(GHOSTS,e)
  2569. else
  2570. Human.Health = Human.Health + 0.5
  2571. end
  2572. else
  2573. Thing:remove()
  2574. table.remove(GHOSTS,e)
  2575. end
  2576. else
  2577. Thing:remove()
  2578. table.remove(GHOSTS,e)
  2579. end
  2580. end
  2581. end
  2582. end
  2583. end
  2584. refit()
  2585. end
  2586.  
  2587. --//=================================\\
  2588. --\\=================================//
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594. --//====================================================\\--
  2595. --|| END OF THE SCRIPT
  2596. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement