Advertisement
lafur

Untitled

Nov 7th, 2018
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 61.78 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  4. local RealPlayer = Player
  5. do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end --//====================================================\\--
  6. --|| CREATED BY SHACKLUSTER
  7. --\\====================================================//--
  8.  
  9.  
  10.  
  11. wait(0.2)
  12.  
  13.  
  14.  
  15. Player = game:GetService("Players").LocalPlayer
  16. PlayerGui = Player.PlayerGui
  17. Cam = workspace.CurrentCamera
  18. Backpack = Player.Backpack
  19. Character = Player.Character
  20. Humanoid = Character.Humanoid
  21. Mouse = Player:GetMouse()
  22. RootPart = Character["HumanoidRootPart"]
  23. Torso = Character["Torso"]
  24. Head = Character["Head"]
  25. RightArm = Character["Right Arm"]
  26. LeftArm = Character["Left Arm"]
  27. RightLeg = Character["Right Leg"]
  28. LeftLeg = Character["Left Leg"]
  29. RootJoint = RootPart["RootJoint"]
  30. Neck = Torso["Neck"]
  31. RightShoulder = Torso["Right Shoulder"]
  32. LeftShoulder = Torso["Left Shoulder"]
  33. RightHip = Torso["Right Hip"]
  34. LeftHip = Torso["Left Hip"]
  35. local sick = Instance.new("Sound",Character)
  36. sick.SoundId = "rbxassetid://546458506"
  37. sick.Looped = true
  38. sick.Pitch = 1
  39. sick.Volume = 1
  40. sick:Play()
  41. Humanoid.DisplayDistanceType = "None"
  42.  
  43. IT = Instance.new
  44. CF = CFrame.new
  45. VT = Vector3.new
  46. RAD = math.rad
  47. C3 = Color3.new
  48. UD2 = UDim2.new
  49. BRICKC = BrickColor.new
  50. ANGLES = CFrame.Angles
  51. EULER = CFrame.fromEulerAnglesXYZ
  52. COS = math.cos
  53. ACOS = math.acos
  54. SIN = math.sin
  55. ASIN = math.asin
  56. ABS = math.abs
  57. MRANDOM = math.random
  58. FLOOR = math.floor
  59.  
  60. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  61. local NEWMESH = IT(MESH)
  62. if MESH == "SpecialMesh" then
  63. NEWMESH.MeshType = MESHTYPE
  64. if MESHID ~= "nil" and MESHID ~= "" then
  65. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  66. end
  67. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  68. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  69. end
  70. end
  71. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  72. NEWMESH.Scale = SCALE
  73. NEWMESH.Parent = PARENT
  74. return NEWMESH
  75. end
  76.  
  77. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  78. local NEWPART = IT("Part")
  79. NEWPART.formFactor = FORMFACTOR
  80. NEWPART.Reflectance = REFLECTANCE
  81. NEWPART.Transparency = TRANSPARENCY
  82. NEWPART.CanCollide = false
  83. NEWPART.Locked = true
  84. NEWPART.Anchored = true
  85. if ANCHOR == false then
  86. NEWPART.Anchored = false
  87. end
  88. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  89. NEWPART.Name = NAME
  90. NEWPART.Size = SIZE
  91. NEWPART.Position = Torso.Position
  92. NEWPART.Material = MATERIAL
  93. NEWPART:BreakJoints()
  94. NEWPART.Parent = PARENT
  95. return NEWPART
  96. end
  97.  
  98. --//=================================\\
  99. --|| CUSTOMIZATION
  100. --\\=================================//
  101.  
  102. Class_Name = "Template"
  103. Weapon_Name = "Add-ons"
  104.  
  105. Custom_Colors = {
  106. Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
  107. Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
  108.  
  109. Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
  110. Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
  111. Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
  112. Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
  113. Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
  114.  
  115. Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
  116. Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
  117. Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
  118. Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
  119. Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
  120. }
  121.  
  122.  
  123. Player_Size = 1 --Size of the player.
  124. Animation_Speed = 3
  125. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  126.  
  127. local Speed = 16
  128. local Effects2 = {}
  129.  
  130. --//=================================\\
  131. --|| END OF CUSTOMIZATION
  132. --\\=================================//
  133.  
  134. local function weldBetween(a, b)
  135. local weldd = Instance.new("ManualWeld")
  136. weldd.Part0 = a
  137. weldd.Part1 = b
  138. weldd.C0 = CFrame.new()
  139. weldd.C1 = b.CFrame:inverse() * a.CFrame
  140. weldd.Parent = a
  141. return weldd
  142. end
  143.  
  144. function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
  145. local acs = Instance.new("Part")
  146. acs.CanCollide = false
  147. acs.Anchored = false
  148. acs.Size = Vector3.new(0,0,0)
  149. acs.CFrame = attachmentpart.CFrame
  150. acs.Parent = Character
  151. acs.BrickColor = color
  152. local meshs = Instance.new("SpecialMesh")
  153. meshs.MeshId = mesh
  154. meshs.TextureId = texture
  155. meshs.Parent = acs
  156. meshs.Scale = scale
  157. meshs.Offset = offset
  158. weldBetween(attachmentpart,acs)
  159. end
  160.  
  161. function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
  162. if TYPE == "Gem" then
  163. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  164. acs.Anchored = false
  165. acs.CanCollide = false
  166. acs.CFrame = PART.CFrame
  167. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
  168. weldBetween(PART,acs)
  169. elseif TYPE == "Skull" then
  170. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  171. acs.Anchored = false
  172. acs.CanCollide = false
  173. acs.CFrame = PART.CFrame
  174. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
  175. weldBetween(PART,acs)
  176. elseif TYPE == "Eye" then
  177. local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  178. acs.Anchored = false
  179. acs.CanCollide = false
  180. acs.CFrame = PART.CFrame
  181. local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
  182. weldBetween(PART,acs)
  183. end
  184. end
  185.  
  186. --//=================================\\
  187. --|| USEFUL VALUES
  188. --\\=================================//
  189.  
  190. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  191. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  192. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  193. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  194. local CHANGEDEFENSE = 0
  195. local CHANGEDAMAGE = 0
  196. local CHANGEMOVEMENT = 0
  197. local ANIM = "Idle"
  198. local ATTACK = false
  199. local EQUIPPED = false
  200. local HOLD = false
  201. local COMBO = 1
  202. local Rooted = false
  203. local SINE = 0
  204. local KEYHOLD = false
  205. local CHANGE = 2 / Animation_Speed
  206. local WALKINGANIM = false
  207. local WALK = 0
  208. local VALUE1 = false
  209. local VALUE2 = false
  210. local ROBLOXIDLEANIMATION = IT("Animation")
  211. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  212. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  213. --ROBLOXIDLEANIMATION.Parent = Humanoid
  214. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  215. WEAPONGUI.Name = "Weapon GUI"
  216. local Weapon = IT("Model")
  217. Weapon.Name = Weapon_Name
  218. local Effects = IT("Folder", Weapon)
  219. Effects.Name = "Effects"
  220. local ANIMATOR = Humanoid.Animator
  221. local ANIMATE = Character.Animate
  222. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  223. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  224. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  225. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  226. local UNANCHOR = true
  227. local ROAR = "347739136"
  228. local BOOSTSOUND = "862693565"
  229. local STABSOUND = "862701802"
  230.  
  231. local SKILLTEXTCOLOR = BRICKC("Shamrock").Color
  232.  
  233. --//=================================\\
  234. --\\=================================//
  235.  
  236.  
  237. --//=================================\\
  238. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  239. --\\=================================//
  240.  
  241. ArtificialHB = Instance.new("BindableEvent", script)
  242. ArtificialHB.Name = "ArtificialHB"
  243.  
  244. script:WaitForChild("ArtificialHB")
  245.  
  246. frame = Frame_Speed
  247. tf = 0
  248. allowframeloss = false
  249. tossremainder = false
  250. lastframe = tick()
  251. script.ArtificialHB:Fire()
  252.  
  253. game:GetService("RunService").Heartbeat:connect(function(s, p)
  254. tf = tf + s
  255. if tf >= frame then
  256. if allowframeloss then
  257. script.ArtificialHB:Fire()
  258. lastframe = tick()
  259. else
  260. for i = 1, math.floor(tf / frame) do
  261. script.ArtificialHB:Fire()
  262. end
  263. lastframe = tick()
  264. end
  265. if tossremainder then
  266. tf = 0
  267. else
  268. tf = tf - frame * math.floor(tf / frame)
  269. end
  270. end
  271. end)
  272.  
  273. --//=================================\\
  274. --\\=================================//
  275.  
  276.  
  277.  
  278.  
  279.  
  280. --//=================================\\
  281. --|| SOME FUNCTIONS
  282. --\\=================================//
  283.  
  284. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  285. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  286. end
  287.  
  288. function PositiveAngle(NUMBER)
  289. if NUMBER >= 0 then
  290. NUMBER = 0
  291. end
  292. return NUMBER
  293. end
  294.  
  295. function NegativeAngle(NUMBER)
  296. if NUMBER <= 0 then
  297. NUMBER = 0
  298. end
  299. return NUMBER
  300. end
  301.  
  302. function Swait(NUMBER)
  303. if NUMBER == 0 or NUMBER == nil then
  304. ArtificialHB.Event:wait()
  305. else
  306. for i = 1, NUMBER do
  307. ArtificialHB.Event:wait()
  308. end
  309. end
  310. end
  311.  
  312. function QuaternionFromCFrame(cf)
  313. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  314. local trace = m00 + m11 + m22
  315. if trace > 0 then
  316. local s = math.sqrt(1 + trace)
  317. local recip = 0.5 / s
  318. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  319. else
  320. local i = 0
  321. if m11 > m00 then
  322. i = 1
  323. end
  324. if m22 > (i == 0 and m00 or m11) then
  325. i = 2
  326. end
  327. if i == 0 then
  328. local s = math.sqrt(m00 - m11 - m22 + 1)
  329. local recip = 0.5 / s
  330. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  331. elseif i == 1 then
  332. local s = math.sqrt(m11 - m22 - m00 + 1)
  333. local recip = 0.5 / s
  334. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  335. elseif i == 2 then
  336. local s = math.sqrt(m22 - m00 - m11 + 1)
  337. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  338. end
  339. end
  340. end
  341.  
  342. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  343. local xs, ys, zs = x + x, y + y, z + z
  344. local wx, wy, wz = w * xs, w * ys, w * zs
  345. local xx = x * xs
  346. local xy = x * ys
  347. local xz = x * zs
  348. local yy = y * ys
  349. local yz = y * zs
  350. local zz = z * zs
  351. 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))
  352. end
  353.  
  354. function QuaternionSlerp(a, b, t)
  355. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  356. local startInterp, finishInterp;
  357. if cosTheta >= 0.0001 then
  358. if (1 - cosTheta) > 0.0001 then
  359. local theta = ACOS(cosTheta)
  360. local invSinTheta = 1 / SIN(theta)
  361. startInterp = SIN((1 - t) * theta) * invSinTheta
  362. finishInterp = SIN(t * theta) * invSinTheta
  363. else
  364. startInterp = 1 - t
  365. finishInterp = t
  366. end
  367. else
  368. if (1 + cosTheta) > 0.0001 then
  369. local theta = ACOS(-cosTheta)
  370. local invSinTheta = 1 / SIN(theta)
  371. startInterp = SIN((t - 1) * theta) * invSinTheta
  372. finishInterp = SIN(t * theta) * invSinTheta
  373. else
  374. startInterp = t - 1
  375. finishInterp = t
  376. end
  377. end
  378. 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
  379. end
  380.  
  381. function Clerp(a, b, t)
  382. local qa = {QuaternionFromCFrame(a)}
  383. local qb = {QuaternionFromCFrame(b)}
  384. local ax, ay, az = a.x, a.y, a.z
  385. local bx, by, bz = b.x, b.y, b.z
  386. local _t = 1 - t
  387. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  388. end
  389.  
  390. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  391. local frame = IT("Frame")
  392. frame.BackgroundTransparency = TRANSPARENCY
  393. frame.BorderSizePixel = BORDERSIZEPIXEL
  394. frame.Position = POSITION
  395. frame.Size = SIZE
  396. frame.BackgroundColor3 = COLOR
  397. frame.BorderColor3 = BORDERCOLOR
  398. frame.Name = NAME
  399. frame.Parent = PARENT
  400. return frame
  401. end
  402.  
  403. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  404. local label = IT("TextLabel")
  405. label.BackgroundTransparency = 1
  406. label.Size = UD2(1, 0, 1, 0)
  407. label.Position = UD2(0, 0, 0, 0)
  408. label.TextColor3 = TEXTCOLOR
  409. label.TextStrokeTransparency = STROKETRANSPARENCY
  410. label.TextTransparency = TRANSPARENCY
  411. label.FontSize = TEXTFONTSIZE
  412. label.Font = TEXTFONT
  413. label.BorderSizePixel = BORDERSIZEPIXEL
  414. label.TextScaled = false
  415. label.Text = TEXT
  416. label.Name = NAME
  417. label.Parent = PARENT
  418. return label
  419. end
  420.  
  421. function NoOutlines(PART)
  422. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  423. end
  424.  
  425.  
  426. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  427. local NEWWELD = IT(TYPE)
  428. NEWWELD.Part0 = PART0
  429. NEWWELD.Part1 = PART1
  430. NEWWELD.C0 = C0
  431. NEWWELD.C1 = C1
  432. NEWWELD.Parent = PARENT
  433. return NEWWELD
  434. end
  435.  
  436. local sound = IT("Sound")
  437.  
  438. function CreateSound(ID, PARENT, VOLUME, PITCH)
  439. local NEWSOUND = nil
  440. coroutine.resume(coroutine.create(function()
  441. NEWSOUND = sound:Clone()
  442. NEWSOUND.Parent = PARENT
  443. NEWSOUND.Volume = VOLUME
  444. NEWSOUND.Pitch = PITCH
  445. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  446. Swait()
  447. NEWSOUND:play()
  448. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  449. end))
  450. return NEWSOUND
  451. end
  452.  
  453. function CFrameFromTopBack(at, top, back)
  454. local right = top:Cross(back)
  455. 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)
  456. end
  457.  
  458. function CreateWave(inair,size,doesrotate,rotatedirection,waitt,cframe,color)
  459. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
  460. local mesh = IT("SpecialMesh",wave)
  461. mesh.MeshType = "FileMesh"
  462. mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  463. mesh.Scale = VT(size,size,size)
  464. mesh.Offset = VT(0,0,-size/8)
  465. wave.CFrame = cframe
  466. coroutine.resume(coroutine.create(function(PART)
  467. for i = 1, waitt do
  468. Swait()
  469. mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
  470. mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  471. if doesrotate == true then
  472. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
  473. end
  474. wave.Transparency = wave.Transparency + (0.5/waitt)
  475. if wave.Transparency > 0.99 then
  476. wave:remove()
  477. end
  478. end
  479. end))
  480. end
  481.  
  482. function CreateSwirl(inair,size,doesrotate,rotatedirection,waitt,cframe,color)
  483. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
  484. local mesh = IT("SpecialMesh",wave)
  485. mesh.MeshType = "FileMesh"
  486. mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
  487. mesh.Scale = VT(size,size,size)
  488. wave.CFrame = cframe
  489. coroutine.resume(coroutine.create(function(PART)
  490. for i = 1, waitt do
  491. Swait()
  492. mesh.Scale = mesh.Scale + VT(size/5,size/7,size/5)
  493. if doesrotate == true then
  494. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
  495. end
  496. wave.Transparency = wave.Transparency + (0.5/waitt)
  497. if wave.Transparency > 0.99 then
  498. wave:remove()
  499. end
  500. end
  501. end))
  502. end
  503.  
  504. function MakeForm(PART,TYPE)
  505. if TYPE == "Cyl" then
  506. local MSH = IT("CylinderMesh",PART)
  507. elseif TYPE == "Ball" then
  508. local MSH = IT("SpecialMesh",PART)
  509. MSH.MeshType = "Sphere"
  510. elseif TYPE == "Wedge" then
  511. local MSH = IT("SpecialMesh",PART)
  512. MSH.MeshType = "Wedge"
  513. end
  514. end
  515.  
  516. function CreateTornado(inair,size,doesrotate,rotatedirection,waitt,cframe,color)
  517. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
  518. local mesh = IT("SpecialMesh",wave)
  519. mesh.MeshType = "FileMesh"
  520. mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
  521. mesh.Scale = VT(size,size,size)
  522. wave.CFrame = cframe
  523. coroutine.resume(coroutine.create(function(PART)
  524. for i = 1, waitt do
  525. Swait()
  526. mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
  527. if doesrotate == true then
  528. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
  529. end
  530. wave.Transparency = wave.Transparency + (0.5/waitt)
  531. if wave.Transparency > 0.99 then
  532. wave:remove()
  533. end
  534. end
  535. end))
  536. end
  537.  
  538. function CreateRing(inair,size,doesrotate,rotatedirection,waitt,cframe,spin1,spin2,color)
  539. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
  540. local mesh = IT("SpecialMesh",wave)
  541. mesh.MeshType = "FileMesh"
  542. mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
  543. mesh.Scale = VT(size,size,size)
  544. mesh.Offset = VT(0,0,0)
  545. wave.CFrame = cframe
  546. coroutine.resume(coroutine.create(function(PART)
  547. for i = 1, waitt do
  548. Swait()
  549. mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
  550. if doesrotate == true then
  551. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(spin2, rotatedirection, spin1)
  552. end
  553. wave.Transparency = wave.Transparency + (0.5/waitt)
  554. if wave.Transparency > 0.99 then
  555. wave:remove()
  556. end
  557. end
  558. end))
  559. end
  560.  
  561. function MagicSphere(size,waitt,cframe,color)
  562. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(1,1,1), true)
  563. local mesh = IT("SpecialMesh",wave)
  564. mesh.MeshType = "Sphere"
  565. mesh.Scale = VT(size,size,size)
  566. mesh.Offset = VT(0,0,0)
  567. wave.CFrame = cframe
  568. coroutine.resume(coroutine.create(function(PART)
  569. for i = 1, waitt do
  570. Swait()
  571. mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
  572. wave.Transparency = wave.Transparency + (1/waitt)
  573. if wave.Transparency > 0.99 then
  574. wave:remove()
  575. end
  576. end
  577. end))
  578. end
  579.  
  580. function MagicSphere2(size,waitt,cframe,color)
  581. local wave = CreatePart(3, Effects, "Neon", 0, 1, BRICKC(color), "Effect", VT(1,1,1), true)
  582. local mesh = IT("SpecialMesh",wave)
  583. mesh.MeshType = "Sphere"
  584. mesh.Scale = VT(size,size,size)
  585. mesh.Offset = VT(0,0,0)
  586. wave.CFrame = cframe
  587. coroutine.resume(coroutine.create(function(PART)
  588. for i = 1, waitt do
  589. Swait()
  590. mesh.Scale = mesh.Scale - VT(size/waitt,size/waitt,size/waitt)
  591. wave.Transparency = wave.Transparency - (1/waitt)
  592. end
  593. wave:remove()
  594. end))
  595. end
  596.  
  597. function MagicBlock(size,waitt,cframe,color)
  598. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(size,size,size), true)
  599. local mesh = IT("BlockMesh",wave)
  600. wave.CFrame = cframe
  601. coroutine.resume(coroutine.create(function(PART)
  602. for i = 1, waitt do
  603. Swait()
  604. mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
  605. wave.CFrame = cframe * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
  606. wave.Transparency = wave.Transparency + (1/waitt)
  607. if wave.Transparency > 0.99 then
  608. wave:remove()
  609. end
  610. end
  611. end))
  612. end
  613.  
  614. function MagicBlock2(size,waitt,cframe,color)
  615. local wave = CreatePart(3, Effects, "Neon", 0, 1, BRICKC(color), "Effect", VT(size,size,size), true)
  616. local mesh = IT("BlockMesh",wave)
  617. wave.CFrame = cframe
  618. coroutine.resume(coroutine.create(function(PART)
  619. for i = 1, waitt do
  620. Swait()
  621. mesh.Scale = mesh.Scale - VT(1/waitt,1/waitt,1/waitt)
  622. wave.CFrame = cframe * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
  623. wave.Transparency = wave.Transparency - (1/waitt)
  624. end
  625. wave:Destroy()
  626. end))
  627. end
  628.  
  629. function CheckTableForString(Table, String)
  630. for i, v in pairs(Table) do
  631. if string.find(string.lower(String), string.lower(v)) then
  632. return true
  633. end
  634. end
  635. return false
  636. end
  637.  
  638. function CheckIntangible(Hit)
  639. local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
  640. if Hit and Hit.Parent then
  641. if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
  642. return true
  643. end
  644. end
  645. return false
  646. end
  647.  
  648. Debris = game:GetService("Debris")
  649.  
  650. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  651. local Direction = CFrame.new(StartPos, Vec).lookVector
  652. local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  653. local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  654. if RayHit and CheckIntangible(RayHit) then
  655. if DelayIfHit then
  656. wait()
  657. end
  658. RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  659. end
  660. return RayHit, RayPos, RayNormal
  661. end
  662.  
  663. function turnto(position)
  664. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  665. end
  666.  
  667. --//=================================\\
  668. --|| SPEECH
  669. --\\=================================//
  670.  
  671. function chatfunc(text,waitt)
  672. local chat = coroutine.wrap(function()
  673. if Character:FindFirstChild("TalkingBillBoard")~= nil then
  674. Character:FindFirstChild("TalkingBillBoard"):destroy()
  675. end
  676. local naeeym2 = Instance.new("BillboardGui",Character)
  677. naeeym2.Size = UDim2.new(0,100,0,40)
  678. naeeym2.StudsOffset = Vector3.new(0,5,0)
  679. naeeym2.Adornee = Character.Head
  680. naeeym2.Name = "TalkingBillBoard"
  681. naeeym2.AlwaysOnTop = true
  682. local tecks2 = Instance.new("TextLabel",naeeym2)
  683. tecks2.BackgroundTransparency = 1
  684. tecks2.BorderSizePixel = 0
  685. tecks2.Text = ""
  686. tecks2.Font = "SciFi"
  687. tecks2.TextSize = 30
  688. tecks2.TextStrokeTransparency = 1
  689. tecks2.TextColor3 = SKILLTEXTCOLOR
  690. tecks2.TextStrokeColor3 = Color3.new(0,0,0)
  691. tecks2.Size = UDim2.new(1,0,0.5,0)
  692. for i = 1,string.len(text),1 do
  693. tecks2.Text = string.sub(text,1,i)
  694. Swait()
  695. end
  696. wait(waitt)
  697. coroutine.resume(coroutine.create(function()
  698. for i = 1, 10 do
  699. tecks2.TextTransparency = tecks2.TextTransparency + 0.1
  700. Swait()
  701. end
  702. naeeym2:Destroy()
  703. end))
  704. end)
  705. chat()
  706. end
  707.  
  708. --//=================================\\
  709. --|| WEAPON CREATION
  710. --\\=================================//
  711.  
  712. local SH = IT("Part",Weapon)
  713. SH.Size = VT(0.2,5.5,5.5)
  714. SH.Shape = "Cylinder"
  715. SH.Transparency = 1
  716. SH.CanCollide = false
  717. SH.Material = "Neon"
  718. SH.BrickColor = BRICKC"Shamrock"
  719. SH.CFrame = RightArm.CFrame * CF(0.5,0,0)
  720. weldBetween(RightArm,SH)
  721. local SHIELDFUNC = SH.Touched:Connect(function(hit)
  722. if VALUE1 == true then
  723. if hit.Anchored == false and hit.Parent.FindFirstChild("Humanoid") == nil and hit.Parent.ClassName ~= "Accessory" then
  724. hit:Destroy()
  725. end
  726. end
  727. end)
  728. local HandlePart = CreatePart(3, Weapon, "Neon", 0, 1, "Shamrock", "Handle", VT(0*Player_Size,0*Player_Size,0*Player_Size),false)
  729. local Weld = CreateWeldOrSnapOrMotor("Weld", HandlePart, RightArm, HandlePart, CF(0.5 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
  730. CreateMesh("SpecialMesh", HandlePart, "FileMesh", "156292343", "", VT(8,8,2), VT(0,0,0))
  731. local HandlePart2 = CreatePart(3, Weapon, "Neon", 0, 1, "Shamrock", "Handle", VT(0*Player_Size,0*Player_Size,0*Player_Size),false)
  732. local Weld2 = CreateWeldOrSnapOrMotor("Weld", HandlePart2, RightArm, HandlePart2, CF(0.5 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
  733. CreateMesh("SpecialMesh", HandlePart2, "FileMesh", "156292343", "", VT(6,6,2), VT(0,0,0))
  734. local ArmPart = CreatePart(3, Weapon, "Neon", 0, 0, "Shamrock", "Handle", VT(1.01*Player_Size,2.01*Player_Size,1.01*Player_Size),false)
  735. local Weld3 = CreateWeldOrSnapOrMotor("Weld", ArmPart, RightArm, ArmPart, CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  736.  
  737. local A = IT("Attachment",Torso)
  738. A.Position = VT(0, -1, 0)
  739. local B = IT("Attachment",Torso)
  740. B.Position = VT(0, 1.5, 0)
  741. local Trail = IT("Trail",Torso)
  742. Trail.Attachment0 = A
  743. Trail.Attachment1 = B
  744. Trail.Lifetime = 0.3
  745. Trail.Transparency = NumberSequence.new(0, 1)
  746. Trail.Enabled = false
  747. Trail.Color = ColorSequence.new(BRICKC("Shamrock").Color)
  748.  
  749. for _, c in pairs(Weapon:GetChildren()) do
  750. if c.ClassName == "Part" then
  751. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  752. end
  753. end
  754.  
  755. Weapon.Parent = Character
  756.  
  757. Humanoid.Died:connect(function()
  758. ATTACK = true
  759. end)
  760.  
  761. print(Class_Name.." loaded.")
  762.  
  763. local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.23, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  764. local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.50, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  765. local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.23, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  766. local SKILL4FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.50, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  767.  
  768. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Block", SKILLTEXTCOLOR, 7, "Code", 0, 2, 1, "Text 1")
  769. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Shield bash", SKILLTEXTCOLOR, 7, "Code", 0, 2, 1, "Text 2")
  770. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C+HOLD] Shield force", SKILLTEXTCOLOR, 7, "Code", 0, 2, 1, "Text 3")
  771. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Meteor crash", SKILLTEXTCOLOR, 7, "Code", 0, 2, 1, "Text 4")
  772.  
  773. --//=================================\\
  774. --|| DAMAGE FUNCTIONS
  775. --\\=================================//
  776.  
  777. function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
  778. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  779. STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
  780. local BODYGYRO = IT("BodyGyro", STATPART)
  781. local BODYPOSITION = IT("BodyPosition", STATPART)
  782. BODYPOSITION.P = 2000
  783. BODYPOSITION.D = 100
  784. BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
  785. if LABELTYPE == "Normal" then
  786. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
  787. elseif LABELTYPE == "Debuff" then
  788. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
  789. elseif LABELTYPE == "Interruption" then
  790. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
  791. end
  792. game:GetService("Debris"):AddItem(STATPART ,5)
  793. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  794. BILLBOARDGUI.Adornee = STATPART
  795. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  796. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  797. BILLBOARDGUI.AlwaysOnTop = false
  798. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  799. TEXTLABEL.BackgroundTransparency = 1
  800. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  801. TEXTLABEL.Text = TEXT
  802. TEXTLABEL.Font = "SciFi"
  803. TEXTLABEL.FontSize="Size42"
  804. TEXTLABEL.TextColor3 = COLOR
  805. TEXTLABEL.TextStrokeTransparency = 1
  806. TEXTLABEL.TextScaled = true
  807. TEXTLABEL.TextWrapped = true
  808. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  809. wait(0.2)
  810. for i=1, 5 do
  811. wait()
  812. THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
  813. end
  814. wait(1.2)
  815. for i=1, 5 do
  816. wait()
  817. THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
  818. THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
  819. THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
  820. end
  821. THEPART.Parent = nil
  822. end),STATPART, BODYPOSITION, TEXTLABEL)
  823. end
  824.  
  825.  
  826. --//=================================\\
  827. --|| DAMAGING
  828. --\\=================================//
  829.  
  830. function dealdamage(hit,min,max,maxstrength,beserk,critrate,critmultiplier)
  831. if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
  832. local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
  833. local dmg = math.random(min,max)
  834. if humanoid.Health > 0 then
  835. if beserk == true then
  836. humanoid.Health = 0
  837. else
  838. CreateSound("260430060", hit, 1.2, MRANDOM(7, 12) / 10)
  839. hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
  840. if math.random(1,100) < critrate+1 then
  841. humanoid.Health = humanoid.Health - dmg*critmultiplier
  842. StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
  843. else
  844. humanoid.Health = humanoid.Health - dmg
  845. StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(0, 0, 0))
  846. end
  847. local defence = Instance.new("BoolValue",hit.Parent)
  848. defence.Name = ("HitBy"..Player.Name)
  849. game:GetService("Debris"):AddItem(defence, 0.1)
  850. end
  851. end
  852. end
  853. end
  854.  
  855. function AoEDamage(position,radius,min,max,maxstrength,beserk,critrate,critmultiplier,CanBeDodgedByJumping)
  856. local dmg = math.random(min,max)
  857. for i,v in ipairs(workspace:GetChildren()) do
  858. if v:FindFirstChild("HitBy"..Player.Name) == nil then
  859. local body = v:GetChildren()
  860. for part = 1, #body do
  861. if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  862. if(body[part].Position - position).Magnitude < radius then
  863. if v.ClassName == "Model" then
  864. if v:FindFirstChild("Humanoid") then
  865. if v.Humanoid.Health ~= 0 then
  866. if CanBeDodgedByJumping == true then
  867. if body[part].Position.Y < position.Y+5 then
  868. if math.random(1,100) < critrate+1 then
  869. v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
  870. StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
  871. else
  872. v.Humanoid.Health = v.Humanoid.Health - dmg
  873. StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
  874. end
  875. local defence = Instance.new("BoolValue",v)
  876. defence.Name = ("HitBy"..Player.Name)
  877. game:GetService("Debris"):AddItem(defence, 0.1)
  878. end
  879. else
  880. if beserk == true then
  881. v.Humanoid.Health = 0
  882. end
  883. if math.random(1,100) < critrate+1 then
  884. v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
  885. StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
  886. else
  887. v.Humanoid.Health = v.Humanoid.Health - dmg
  888. StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
  889. end
  890. local defence = Instance.new("BoolValue",v)
  891. defence.Name = ("HitBy"..Player.Name)
  892. game:GetService("Debris"):AddItem(defence, 0.1)
  893. end
  894. end
  895. end
  896. end
  897. --Fling(body[part],RootPart.CFrame.lookVector,maxstrength)
  898. end
  899. end
  900. end
  901. if v.ClassName == "Part" then
  902. if v.Anchored == false and (v.Position - position).Magnitude < radius then
  903. --Fling(v,RootPart.CFrame.lookVector,maxstrength)
  904. end
  905. end
  906. end
  907. end
  908. end
  909.  
  910. function AoEStun(POS,RANGE,LAST)
  911. for i,v in ipairs(workspace:GetChildren()) do
  912. if v:FindFirstChild("StunnedBy"..Player.Name) == nil then
  913. local body = v:GetChildren()
  914. for part = 1, #body do
  915. if(v:FindFirstChild("StunnedBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  916. if(body[part].Position - POS).Magnitude < RANGE then
  917. if v.ClassName == "Model" then
  918. if v:FindFirstChild("Humanoid") then
  919. if v.Humanoid.Health ~= 0 then
  920. Stun(v.Humanoid,LAST)
  921. local defence = Instance.new("BoolValue",v)
  922. defence.Name = ("StunnedBy"..Player.Name)
  923. game:GetService("Debris"):AddItem(defence, 0.001)
  924. end
  925. end
  926. end
  927. end
  928. end
  929. end
  930. end
  931. end
  932. end
  933.  
  934. function Stun(HUMANOID,LAST)
  935. HUMANOID.PlatformStand = true
  936. local defence = Instance.new("BoolValue",HUMANOID.Parent)
  937. defence.Name = ("StunnedBy"..Player.Name)
  938. game:GetService("Debris"):AddItem(defence, LAST)
  939. if HUMANOID.Parent:FindFirstChild("Head") then
  940. StatLabel("Normal", HUMANOID.Parent.Head.CFrame * CF(0, 0 + (HUMANOID.Parent.Head.Size.z - 1), 0), "Stunned!", C3(0.3, 0.3, 0.3))
  941. end
  942. coroutine.resume(coroutine.create(function()
  943. Swait(LAST*100)
  944. HUMANOID.PlatformStand = false
  945. end))
  946. end
  947.  
  948. function killnearest(position,range,maxstrength)
  949. for i,v in ipairs(workspace:GetChildren()) do
  950. local body = v:GetChildren()
  951. for part = 1, #body do
  952. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  953. if(body[part].Position - position).Magnitude < range then
  954. if v.ClassName == "Model" then
  955. v:BreakJoints()
  956. end
  957. --table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
  958. body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
  959. end
  960. end
  961. end
  962. if v.ClassName == "Part" then
  963. if v.Anchored == false and (v.Position - position).Magnitude < range then
  964. --table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
  965. v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
  966. end
  967. end
  968. end
  969. end
  970.  
  971. function Fling(part,direction,speed)
  972. part.Velocity = direction*speed
  973. end
  974.  
  975. --//=================================\\
  976. --|| ATTACK FUNCTIONS AND STUFF
  977. --\\=================================//
  978.  
  979. function Block()
  980. ATTACK = true
  981. Rooted = false
  982. VALUE1 = true
  983. local FF = IT("ForceField",Character)
  984. FF.Visible = false
  985. repeat
  986. Swait()
  987. AoEStun(SH.Position,5,1)
  988. turnto(Mouse.Hit.p)
  989. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.15 / Animation_Speed*3)
  990. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.15 / Animation_Speed*3)
  991. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed*3)
  992. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  993. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  994. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  995. until KEYHOLD == false
  996. FF:remove()
  997. VALUE1 = false
  998. ATTACK = false
  999. Rooted = false
  1000. end
  1001.  
  1002. function ShieldBash()
  1003. ATTACK = true
  1004. Rooted = false
  1005. VALUE1 = true
  1006. local FF = IT("ForceField",Character)
  1007. FF.Visible = false
  1008. for i=0, 1.5, 0.1 / Animation_Speed do
  1009. Swait()
  1010. turnto(Mouse.Hit.p)
  1011. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.15 / Animation_Speed*3)
  1012. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.15 / Animation_Speed*3)
  1013. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed*3)
  1014. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1015. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1016. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1017. end
  1018. Trail.Enabled = true
  1019. CreateSound(BOOSTSOUND, SH, 2, 1)
  1020. turnto(Mouse.Hit.p)
  1021. for i = 1, 25 do
  1022. Swait()
  1023. turnto(Mouse.Hit.p)
  1024. MagicSphere2(10,15,SH.CFrame,"Shamrock")
  1025. MagicBlock2(8.5,15,SH.CFrame,"Shamrock")
  1026. RootPart.CFrame = RootPart.CFrame * CF(0,0,-5)
  1027. AoEDamage(SH.Position,5,45,55,45,false,5,2,false)
  1028. end
  1029. Swait()
  1030. Trail.Enabled = false
  1031. FF:remove()
  1032. VALUE1 = false
  1033. ATTACK = false
  1034. Rooted = false
  1035. end
  1036.  
  1037. function ShieldForce()
  1038. ATTACK = true
  1039. Rooted = false
  1040. VALUE1 = true
  1041. local FF = IT("ForceField",Character)
  1042. FF.Visible = false
  1043. for i=0, 1.5, 0.1 / Animation_Speed do
  1044. Swait()
  1045. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.15 / Animation_Speed*3)
  1046. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.15 / Animation_Speed*3)
  1047. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed*3)
  1048. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1049. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1050. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1051. end
  1052. MagicSphere2(25,15,SH.CFrame,"Shamrock")
  1053. MagicBlock2(20,15,SH.CFrame,"Shamrock")
  1054. Swait(15)
  1055. repeat
  1056. Swait()
  1057. turnto(Mouse.Hit.p)
  1058. CreateRing(0,12,false,0,10,SH.CFrame*ANGLES(RAD(0),RAD(90),RAD(0)),0,0,"Shamrock")
  1059. local BULLET = CreatePart(3, Effects, "Neon", 0, 0, "Shamrock", "Handle", VT(0.2*Player_Size,0.2*Player_Size,4*Player_Size),false)
  1060. BULLET.CFrame = CF(SH.CFrame*CF(3,MRANDOM(-2,2),MRANDOM(-2,2)).p,Mouse.Hit.p)
  1061. local bv = Instance.new("BodyVelocity")
  1062. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1063. bv.velocity = CF(SH.Position,Mouse.Hit.p).lookVector*300
  1064. bv.Parent = BULLET
  1065. bv.Name = "PROJECTILEVELOCITY"
  1066. MakeForm(BULLET,"Ball")
  1067. CreateSound("13775494", BULLET, 2, 2)
  1068. --MagicSphere(2,15,BULLET.CFrame,"Shamrock")
  1069. local BOO = BULLET.Touched:Connect(function(hit)
  1070. dealdamage(hit,5,8,5,false,2,3)
  1071. end)
  1072. table.insert(Effects2,{BULLET,"Disappear",0.04,1,0,0,2})
  1073. until KEYHOLD == false
  1074. FF:remove()
  1075. VALUE1 = false
  1076. ATTACK = false
  1077. Rooted = false
  1078. end
  1079.  
  1080. function MeteorSmash()
  1081. ATTACK = true
  1082. Rooted = false
  1083. VALUE1 = true
  1084. for i=0, 1.5, 0.1 / Animation_Speed do
  1085. Swait()
  1086. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.15 / Animation_Speed*3)
  1087. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.15 / Animation_Speed*3)
  1088. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed*3)
  1089. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1090. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1091. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1092. end
  1093. RootPart.Anchored = true
  1094. UNANCHOR = false
  1095. CreateSound(BOOSTSOUND, SH, 2, 1)
  1096. Rooted = true
  1097. for i=0,4, 0.1 / Animation_Speed do
  1098. Swait()
  1099. MagicSphere2(15,15,SH.CFrame,"Shamrock")
  1100. MagicBlock2(12.5,15,SH.CFrame,"Shamrock")
  1101. RootPart.CFrame = RootPart.CFrame * CF(0,8,-0)
  1102. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(45)), 0.15 / Animation_Speed*3)
  1103. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.15 / Animation_Speed*3)
  1104. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(140), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed*3)
  1105. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1106. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-20)), 0.15 / Animation_Speed)
  1107. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(20)), 0.15 / Animation_Speed)
  1108. end
  1109. for i=0, 1.5, 0.1 / Animation_Speed do
  1110. Swait()
  1111. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.15 / Animation_Speed*3)
  1112. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.15 / Animation_Speed*3)
  1113. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(80), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed*3)
  1114. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1115. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1116. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1117. end
  1118. for i=0,2, 0.1 / Animation_Speed do
  1119. Swait()
  1120. MagicSphere2(15,15,SH.CFrame,"Shamrock")
  1121. MagicBlock2(12.5,15,SH.CFrame,"Shamrock")
  1122. RootPart.CFrame = RootPart.CFrame * CF(0,-16,-0)
  1123. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(45)), 0.15 / Animation_Speed*3)
  1124. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.15 / Animation_Speed*3)
  1125. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, -0.75 * Player_Size) * ANGLES(RAD(50), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed*3)
  1126. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1127. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(20)), 0.15 / Animation_Speed)
  1128. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-20)), 0.15 / Animation_Speed)
  1129. end
  1130. RootPart.CFrame = RootPart.CFrame * CF(0,-8,-0)
  1131. CreateSound("2691586", SH, 10, 1)
  1132. AoEDamage(CF(SH.Position)*CF(0,-1,0).p,45,75,85,95,false,5,2,true)
  1133. for i = 1, 3 do
  1134. MagicBlock(i,45,CF(SH.Position)*CF(0,-1,0),"Shamrock")
  1135. MagicBlock(i,45,CF(SH.Position)*CF(0,-1,0),"Shamrock")
  1136. MagicBlock(i,45,CF(SH.Position)*CF(0,-1,0),"Shamrock")
  1137. CreateWave(0,i*2,true,0.1,45,CF(SH.Position)*CF(0,-1,0),"Shamrock")
  1138. CreateWave(0,i*2,true,-0.1,45,CF(SH.Position)*CF(0,-1,0),"Shamrock")
  1139. end
  1140. for i=0, 1.5, 0.1 / Animation_Speed do
  1141. Swait()
  1142. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(45)), 0.15 / Animation_Speed*3)
  1143. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.15 / Animation_Speed*3)
  1144. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(50), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed*3)
  1145. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1146. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.4 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(20)), 0.15 / Animation_Speed)
  1147. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-20)), 0.15 / Animation_Speed)
  1148. end
  1149. UNANCHOR = true
  1150. VALUE1 = false
  1151. ATTACK = false
  1152. Rooted = false
  1153. end
  1154.  
  1155. --//=================================\\
  1156. --|| ASSIGN THINGS TO KEYS
  1157. --\\=================================//
  1158.  
  1159. function MouseDown(Mouse)
  1160. if ATTACK == false then
  1161. end
  1162. end
  1163.  
  1164. function MouseUp(Mouse)
  1165. HOLD = false
  1166. end
  1167.  
  1168. function KeyDown(Key)
  1169. KEYHOLD = true
  1170. if Key == "z" and ATTACK == false then
  1171. Block()
  1172. end
  1173.  
  1174. if Key == "b" and ATTACK == false then
  1175. ShieldBash()
  1176. end
  1177.  
  1178. if Key == "c" and ATTACK == false then
  1179. ShieldForce()
  1180. end
  1181.  
  1182. if Key == "v" and ATTACK == false then
  1183. MeteorSmash()
  1184. end
  1185. end
  1186.  
  1187. function KeyUp(Key)
  1188. KEYHOLD = false
  1189. end
  1190.  
  1191. Mouse.Button1Down:connect(function(NEWKEY)
  1192. MouseDown(NEWKEY)
  1193. end)
  1194. Mouse.Button1Up:connect(function(NEWKEY)
  1195. MouseUp(NEWKEY)
  1196. end)
  1197. Mouse.KeyDown:connect(function(NEWKEY)
  1198. KeyDown(NEWKEY)
  1199. end)
  1200. Mouse.KeyUp:connect(function(NEWKEY)
  1201. KeyUp(NEWKEY)
  1202. end)
  1203.  
  1204. --//=================================\\
  1205. --\\=================================//
  1206.  
  1207.  
  1208. function unanchor()
  1209. if UNANCHOR == true then
  1210. g = Character:GetChildren()
  1211. for i = 1, #g do
  1212. if g[i].ClassName == "Part" then
  1213. g[i].Anchored = false
  1214. end
  1215. end
  1216. end
  1217. end
  1218.  
  1219. --//=================================\\
  1220. --|| WRAP THE WHOLE SCRIPT UP
  1221. --\\=================================//
  1222.  
  1223. Humanoid.Changed:connect(function(Jump)
  1224. if Jump == "Jump" and (Disable_Jump == true) then
  1225. Humanoid.Jump = false
  1226. end
  1227. end)
  1228.  
  1229. ANIMATE.Parent = nil
  1230. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  1231. IDLEANIMATION:Play()
  1232.  
  1233. --createaccessory(Head,"http://www.roblox.com/asset/?id=434078905","",VT(3,2,2),VT(0, 0.3, -0.25),BrickColor.new"Pearl")
  1234. createbodypart("Eye","Shamrock",Head,VT(0.2, 0.1, -0.52),VT(2,2,2))
  1235. createbodypart("Eye","Shamrock",Head,VT(-0.2, 0.1, -0.52),VT(2,2,2))
  1236.  
  1237. while true do
  1238. Swait()
  1239. SINE = SINE + CHANGE
  1240. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1241. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1242. local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  1243. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
  1244. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1245. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1246. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.1 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1247. Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1248. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1249. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1250. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1251. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1252. Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1253. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1254. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1255. end
  1256. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1257. ANIM = "Jump"
  1258. if ATTACK == false then
  1259. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1260. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1261. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1262. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1263. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1264. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1265. end
  1266. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1267. ANIM = "Fall"
  1268. if ATTACK == false then
  1269. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1270. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1271. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1272. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1273. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1274. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1275. end
  1276. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1277. ANIM = "Idle"
  1278. if ATTACK == false then
  1279. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1280. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1281. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1282. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1283. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1284. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1285. end
  1286. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1287. ANIM = "Walk"
  1288. WALK = WALK + 1 / Animation_Speed
  1289. if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
  1290. WALK = 0
  1291. if WALKINGANIM == true then
  1292. WALKINGANIM = false
  1293. elseif WALKINGANIM == false then
  1294. WALKINGANIM = true
  1295. end
  1296. end
  1297. --RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1298. --LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1299. if ATTACK == false then
  1300. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1301. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1302. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1303. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1304. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1305. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1306. end
  1307. end
  1308. if #Effects2>0 then
  1309. for e=1,#Effects2 do
  1310. if Effects2[e]~=nil then
  1311. local Thing=Effects2[e]
  1312. if Thing~=nil then
  1313. local Part=Thing[1]
  1314. local Mode=Thing[2]
  1315. local Delay=Thing[3]
  1316. local IncX=Thing[4]
  1317. local IncY=Thing[5]
  1318. local IncZ=Thing[6]
  1319. local Part2=Thing[8]
  1320. if Thing[1].Transparency<=1 then
  1321. if Thing[2]=="Block1" then
  1322. Thing[1].CFrame=Thing[1].CFrame
  1323. Mesh=Thing[1].Mesh
  1324. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  1325. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1326. elseif Thing[2]=="Cylinder" then
  1327. Mesh=Thing[1].Mesh
  1328. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  1329. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1330. elseif Thing[2]=="Blood" then
  1331. Mesh=Thing[7]
  1332. Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
  1333. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  1334. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1335. elseif Thing[2]=="Elec" then
  1336. Mesh=Thing[1].Mesh
  1337. Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
  1338. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1339. elseif Thing[2]=="Disappear" then
  1340. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1341. end
  1342. else
  1343. Part.Parent=nil
  1344. table.remove(Effects2,e)
  1345. end
  1346. end
  1347. end
  1348. end
  1349. end
  1350. unanchor()
  1351. Humanoid.MaxHealth = "inf"
  1352. Humanoid.Health = "inf"
  1353. if Rooted == false then
  1354. Disable_Jump = false
  1355. Humanoid.WalkSpeed = Speed
  1356. elseif Rooted == true then
  1357. Disable_Jump = true
  1358. Humanoid.WalkSpeed = 0
  1359. end
  1360. q = Character:GetChildren()
  1361. for u = 1, #q do
  1362. if q[u].ClassName == "Accessory" or q[u].ClassName == "Hat" then
  1363. --q[u]:remove()
  1364. end
  1365. end
  1366. if Head:FindFirstChild("face") then
  1367. Head.face:remove()
  1368. end
  1369. if Head:FindFirstChild("Mesh") then
  1370. local mesh = Head.Mesh
  1371. if mesh.ClassName == "SpecialMesh" and mesh.Name ~= "Skull" then
  1372. mesh:remove()
  1373. local newmesh = Instance.new("SpecialMesh")
  1374. newmesh.Scale = Vector3.new(1,1,1)
  1375. newmesh.MeshId = "http://www.roblox.com/asset/?id=181343290"
  1376. newmesh.TextureId = "http://www.roblox.com/asset/?id=181343313"
  1377. newmesh.Parent = Head
  1378. newmesh.Name = "Skull"
  1379. end
  1380. end
  1381. Weld.C0 = Clerp(Weld.C0, CF(0.5 * Player_Size, 0 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(SINE*5)), 0.15 / Animation_Speed)
  1382. Weld2.C0 = Clerp(Weld2.C0, CF(0.5 * Player_Size, 0 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-SINE*5)), 0.15 / Animation_Speed)
  1383. if VALUE1 == false then
  1384. SH.CanCollide = false
  1385. SH.Transparency = 1
  1386. HandlePart.Transparency = 1
  1387. HandlePart2.Transparency = 1
  1388. elseif VALUE1 == true then
  1389. SH.CanCollide = true
  1390. SH.Transparency = MRANDOM(3,6)/10
  1391. HandlePart.Transparency = MRANDOM(3,6)/10
  1392. HandlePart2.Transparency = MRANDOM(3,6)/10
  1393. end
  1394. ArmPart.Transparency = MRANDOM(2,4)/10
  1395. local MATHS = {"0","1"}
  1396. Humanoid.Name = MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]
  1397. end
  1398.  
  1399. --//=================================\\
  1400. --\\=================================//
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406. --//====================================================\\--
  1407. --|| END OF SCRIPT
  1408. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement