Advertisement
Guest User

Untitled

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