SHARE
TWEET

Warriors

Basykung7845 May 7th, 2019 82 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  3. do
  4.     print("FE Compatibility code by Basykung7845")
  5.     script.Parent = Player.Character
  6.  
  7.     --RemoteEvent for communicating
  8.     local Event = Instance.new("RemoteEvent")
  9.     Event.Name = "UserInput_Event"
  10.  
  11.     --Fake event to make stuff like Mouse.KeyDown work
  12.     local function fakeEvent()
  13.         local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  14.         t.connect = t.Connect
  15.         return t
  16.     end
  17.  
  18.     --Creating fake input objects with fake variables
  19.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  20.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  21.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  22.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  23.     end}
  24.     --Merged 2 functions into one by checking amount of arguments
  25.     CAS.UnbindAction = CAS.BindAction
  26.  
  27.     --This function will trigger the events that have been :Connect()'ed
  28.     local function te(self,ev,...)
  29.         local t = m[ev]
  30.         if t and t._fakeEvent and t.Function then
  31.             t.Function(...)
  32.         end
  33.     end
  34.     m.TrigEvent = te
  35.     UIS.TrigEvent = te
  36.  
  37.     Event.OnServerEvent:Connect(function(plr,io)
  38.         if plr~=Player then return end
  39.         if io.isMouse then
  40.             m.Target = io.Target
  41.             m.Hit = io.Hit
  42.         else
  43.             local b = io.UserInputState == Enum.UserInputState.Begin
  44.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  45.                 return m:TrigEvent(b and "Button1Down" or "Button1Up")
  46.             end
  47.             for _,t in pairs(CAS.Actions) do
  48.                 for _,k in pairs(t.Keys) do
  49.                     if k==io.KeyCode then
  50.                         t.Function(t.Name,io.UserInputState,io)
  51.                     end
  52.                 end
  53.             end
  54.             m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  55.             UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  56.         end
  57.     end)
  58.     Event.Parent = NLS([==[
  59.     local Player = game:GetService("Players").LocalPlayer
  60.     local Event = script:WaitForChild("UserInput_Event")
  61.  
  62.     local UIS = game:GetService("UserInputService")
  63.     local input = function(io,a)
  64.         if a then return end
  65.         --Since InputObject is a client-side instance, we create and pass table instead
  66.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  67.     end
  68.     UIS.InputBegan:Connect(input)
  69.     UIS.InputEnded:Connect(input)
  70.  
  71.     local Mouse = Player:GetMouse()
  72.     local h,t
  73.     --Give the server mouse data 30 times every second, but only if the values changed
  74.     --If player is not moving their mouse, client won't fire events
  75.     while wait(1/30) do
  76.         if h~=Mouse.Hit or t~=Mouse.Target then
  77.             h,t=Mouse.Hit,Mouse.Target
  78.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  79.         end
  80.     end]==],Player.Character)
  81.     Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  82. end
  83.  
  84. wait(0.2)
  85.  
  86. Player = owner
  87. PlayerGui = Player.PlayerGui
  88. Cam = workspace.CurrentCamera
  89. Backpack = Player.Backpack
  90. Character = Player.Character
  91. Humanoid = Character.Humanoid
  92. RootPart = Character["HumanoidRootPart"]
  93. Torso = Character["Torso"]
  94. Head = Character["Head"]
  95. RightArm = Character["Right Arm"]
  96. LeftArm = Character["Left Arm"]
  97. RightLeg = Character["Right Leg"]
  98. LeftLeg = Character["Left Leg"]
  99. RootJoint = RootPart["RootJoint"]
  100. Neck = Torso["Neck"]
  101. RightShoulder = Torso["Right Shoulder"]
  102. LeftShoulder = Torso["Left Shoulder"]
  103. RightHip = Torso["Right Hip"]
  104. LeftHip = Torso["Left Hip"]
  105. local sick = Instance.new("Sound",Character)
  106. sick.SoundId = "rbxassetid://1459435650"
  107. sick.Looped = true
  108. sick.Pitch = 1
  109. sick.Volume = 1
  110. sick:Play()
  111.  
  112. IT = Instance.new
  113. CF = CFrame.new
  114. VT = Vector3.new
  115. RAD = math.rad
  116. C3 = Color3.new
  117. UD2 = UDim2.new
  118. BRICKC = BrickColor.new
  119. ANGLES = CFrame.Angles
  120. EULER = CFrame.fromEulerAnglesXYZ
  121. COS = math.cos
  122. ACOS = math.acos
  123. SIN = math.sin
  124. ASIN = math.asin
  125. ABS = math.abs
  126. MRANDOM = math.random
  127. FLOOR = math.floor
  128.  
  129. --//=================================\\
  130. --||          USEFUL VALUES
  131. --\\=================================//
  132.  
  133. Animation_Speed = 3
  134. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  135. local Speed = 25
  136. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  137. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  138. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  139. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  140. local DAMAGEMULTIPLIER = 1
  141. local ANIM = "Idle"
  142. local ATTACK = false
  143. local EQUIPPED = false
  144. local HOLD = false
  145. local COMBO = 1
  146. local Rooted = false
  147. local SINE = 0
  148. local KEYHOLD = false
  149. local CHANGE = 2 / Animation_Speed
  150. local WALKINGANIM = false
  151. local VALUE1 = false
  152. local VALUE2 = false
  153. local ROBLOXIDLEANIMATION = IT("Animation")
  154. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  155. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  156. --ROBLOXIDLEANIMATION.Parent = Humanoid
  157. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  158. WEAPONGUI.Name = "Weapon GUI"
  159. local Effects = IT("Folder", Character)
  160. Effects.Name = "Effects"
  161. local ANIMATOR = Humanoid.Animator
  162. local ANIMATE = Character.Animate
  163. local UNANCHOR = true
  164. local PLAYMAINANIM = true
  165. local BOLTSOUNDS = {168586621,168586586,178452241}
  166.  
  167. --//=================================\\
  168. --\\=================================//
  169.  
  170.  
  171. --//=================================\\
  172. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  173. --\\=================================//
  174.  
  175. ArtificialHB = Instance.new("BindableEvent", script)
  176. ArtificialHB.Name = "ArtificialHB"
  177.  
  178. script:WaitForChild("ArtificialHB")
  179.  
  180. frame = Frame_Speed
  181. tf = 0
  182. allowframeloss = false
  183. tossremainder = false
  184. lastframe = tick()
  185. script.ArtificialHB:Fire()
  186.  
  187. game:GetService("RunService").Heartbeat:connect(function(s, p)
  188.     tf = tf + s
  189.     if tf >= frame then
  190.         if allowframeloss then
  191.             script.ArtificialHB:Fire()
  192.             lastframe = tick()
  193.         else
  194.             for i = 1, math.floor(tf / frame) do
  195.                 script.ArtificialHB:Fire()
  196.             end
  197.         lastframe = tick()
  198.         end
  199.         if tossremainder then
  200.             tf = 0
  201.         else
  202.             tf = tf - frame * math.floor(tf / frame)
  203.         end
  204.     end
  205. end)
  206.  
  207. --//=================================\\
  208. --\\=================================//
  209.  
  210. --//=================================\\
  211. --||          SOME FUNCTIONS
  212. --\\=================================//
  213.  
  214. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  215.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  216. end
  217.  
  218. function PositiveAngle(NUMBER)
  219.     if NUMBER >= 0 then
  220.         NUMBER = 0
  221.     end
  222.     return NUMBER
  223. end
  224.  
  225. function NegativeAngle(NUMBER)
  226.     if NUMBER <= 0 then
  227.         NUMBER = 0
  228.     end
  229.     return NUMBER
  230. end
  231.  
  232. function Swait(NUMBER)
  233.     if NUMBER == 0 or NUMBER == nil then
  234.         ArtificialHB.Event:wait()
  235.     else
  236.         for i = 1, NUMBER do
  237.             ArtificialHB.Event:wait()
  238.         end
  239.     end
  240. end
  241.  
  242. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  243.     local NEWMESH = IT(MESH)
  244.     if MESH == "SpecialMesh" then
  245.         NEWMESH.MeshType = MESHTYPE
  246.         if MESHID ~= "nil" and MESHID ~= "" then
  247.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  248.         end
  249.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  250.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  251.         end
  252.     end
  253.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  254.     NEWMESH.Scale = SCALE
  255.     NEWMESH.Parent = PARENT
  256.     return NEWMESH
  257. end
  258.  
  259. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  260.     local NEWPART = IT("Part")
  261.     NEWPART.formFactor = FORMFACTOR
  262.     NEWPART.Reflectance = REFLECTANCE
  263.     NEWPART.Transparency = TRANSPARENCY
  264.     NEWPART.CanCollide = false
  265.     NEWPART.Locked = true
  266.     NEWPART.Anchored = true
  267.     if ANCHOR == false then
  268.         NEWPART.Anchored = false
  269.     end
  270.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  271.     NEWPART.Name = NAME
  272.     NEWPART.Size = SIZE
  273.     NEWPART.Position = Torso.Position
  274.     NEWPART.Material = MATERIAL
  275.     NEWPART:BreakJoints()
  276.     NEWPART.Parent = PARENT
  277.     return NEWPART
  278. end
  279.  
  280.     local function weldBetween(a, b)
  281.         local weldd = Instance.new("ManualWeld")
  282.         weldd.Part0 = a
  283.         weldd.Part1 = b
  284.         weldd.C0 = CFrame.new()
  285.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  286.         weldd.Parent = a
  287.         return weldd
  288.     end
  289.  
  290.  
  291. function QuaternionFromCFrame(cf)
  292.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  293.     local trace = m00 + m11 + m22
  294.     if trace > 0 then
  295.         local s = math.sqrt(1 + trace)
  296.         local recip = 0.5 / s
  297.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  298.     else
  299.         local i = 0
  300.         if m11 > m00 then
  301.             i = 1
  302.         end
  303.         if m22 > (i == 0 and m00 or m11) then
  304.             i = 2
  305.         end
  306.         if i == 0 then
  307.             local s = math.sqrt(m00 - m11 - m22 + 1)
  308.             local recip = 0.5 / s
  309.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  310.         elseif i == 1 then
  311.             local s = math.sqrt(m11 - m22 - m00 + 1)
  312.             local recip = 0.5 / s
  313.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  314.         elseif i == 2 then
  315.             local s = math.sqrt(m22 - m00 - m11 + 1)
  316.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  317.         end
  318.     end
  319. end
  320.  
  321. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  322.     local xs, ys, zs = x + x, y + y, z + z
  323.     local wx, wy, wz = w * xs, w * ys, w * zs
  324.     local xx = x * xs
  325.     local xy = x * ys
  326.     local xz = x * zs
  327.     local yy = y * ys
  328.     local yz = y * zs
  329.     local zz = z * zs
  330.     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))
  331. end
  332.  
  333. function QuaternionSlerp(a, b, t)
  334.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  335.     local startInterp, finishInterp;
  336.     if cosTheta >= 0.0001 then
  337.         if (1 - cosTheta) > 0.0001 then
  338.             local theta = ACOS(cosTheta)
  339.             local invSinTheta = 1 / SIN(theta)
  340.             startInterp = SIN((1 - t) * theta) * invSinTheta
  341.             finishInterp = SIN(t * theta) * invSinTheta
  342.         else
  343.             startInterp = 1 - t
  344.             finishInterp = t
  345.         end
  346.     else
  347.         if (1 + cosTheta) > 0.0001 then
  348.             local theta = ACOS(-cosTheta)
  349.             local invSinTheta = 1 / SIN(theta)
  350.             startInterp = SIN((t - 1) * theta) * invSinTheta
  351.             finishInterp = SIN(t * theta) * invSinTheta
  352.         else
  353.             startInterp = t - 1
  354.             finishInterp = t
  355.         end
  356.     end
  357.     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
  358. end
  359.  
  360. function Clerp(a, b, t)
  361.     local qa = {QuaternionFromCFrame(a)}
  362.     local qb = {QuaternionFromCFrame(b)}
  363.     local ax, ay, az = a.x, a.y, a.z
  364.     local bx, by, bz = b.x, b.y, b.z
  365.     local _t = 1 - t
  366.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  367. end
  368.  
  369. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  370.     local frame = IT("Frame")
  371.     frame.BackgroundTransparency = TRANSPARENCY
  372.     frame.BorderSizePixel = BORDERSIZEPIXEL
  373.     frame.Position = POSITION
  374.     frame.Size = SIZE
  375.     frame.BackgroundColor3 = COLOR
  376.     frame.BorderColor3 = BORDERCOLOR
  377.     frame.Name = NAME
  378.     frame.Parent = PARENT
  379.     return frame
  380. end
  381.  
  382. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  383.     local label = IT("TextLabel")
  384.     label.BackgroundTransparency = 1
  385.     label.Size = UD2(1, 0, 1, 0)
  386.     label.Position = UD2(0, 0, 0, 0)
  387.     label.TextColor3 = TEXTCOLOR
  388.     label.TextStrokeTransparency = STROKETRANSPARENCY
  389.     label.TextTransparency = TRANSPARENCY
  390.     label.FontSize = TEXTFONTSIZE
  391.     label.Font = TEXTFONT
  392.     label.BorderSizePixel = BORDERSIZEPIXEL
  393.     label.TextScaled = false
  394.     label.Text = TEXT
  395.     label.Name = NAME
  396.     label.Parent = PARENT
  397.     return label
  398. end
  399.  
  400. function NoOutlines(PART)
  401.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  402. end
  403.  
  404. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  405.     local NEWWELD = IT(TYPE)
  406.     NEWWELD.Part0 = PART0
  407.     NEWWELD.Part1 = PART1
  408.     NEWWELD.C0 = C0
  409.     NEWWELD.C1 = C1
  410.     NEWWELD.Parent = PARENT
  411.     return NEWWELD
  412. end
  413.  
  414. local S = IT("Sound")
  415. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  416.     local NEWSOUND = nil
  417.     coroutine.resume(coroutine.create(function()
  418.         NEWSOUND = S:Clone()
  419.         NEWSOUND.Parent = PARENT
  420.         NEWSOUND.Volume = VOLUME
  421.         NEWSOUND.Pitch = PITCH
  422.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  423.         NEWSOUND:play()
  424.         if DOESLOOP == true then
  425.             NEWSOUND.Looped = true
  426.         else
  427.             repeat wait(1) until NEWSOUND.Playing == false
  428.             NEWSOUND:remove()
  429.         end
  430.     end))
  431.     return NEWSOUND
  432. end
  433.  
  434. local EyeSizes={
  435.     NumberSequenceKeypoint.new(0,2,0),
  436.     NumberSequenceKeypoint.new(1,0,0)
  437. }
  438. local EyeTrans={
  439.     NumberSequenceKeypoint.new(0,0.5,0),
  440.     NumberSequenceKeypoint.new(1,1,0)
  441. }
  442. local PE=Instance.new("ParticleEmitter",nil)
  443. PE.LightEmission=.8
  444. PE.Color = ColorSequence.new(BRICKC("Alder").Color,BRICKC("Lavender").Color)
  445. PE.Size=NumberSequence.new(EyeSizes)
  446. PE.Transparency=NumberSequence.new(EyeTrans)
  447. PE.Lifetime=NumberRange.new(0.35,1)
  448. PE.Rotation=NumberRange.new(0,360)
  449. PE.Rate=100
  450. PE.VelocitySpread = 10000
  451. PE.Acceleration = Vector3.new(0,85,0)
  452. PE.Drag = 5
  453. PE.Speed = NumberRange.new(0.1,5)
  454. PE.Texture="http://www.roblox.com/asset/?id=1460745664"
  455. PE.ZOffset = 0.5
  456. PE.Name = "PE"
  457. PE.Enabled = false
  458.  
  459. function Fire(art)
  460.     local PARTICLES = PE:Clone()
  461.     PARTICLES.Parent = art
  462.     PARTICLES.Enabled = true
  463.     return PARTICLES
  464. end
  465.  
  466. function CFrameFromTopBack(at, top, back)
  467.     local right = top:Cross(back)
  468.     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)
  469. end
  470.  
  471. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  472. function WACKYEFFECT(Table)
  473.     local TYPE = (Table.EffectType or "Sphere")
  474.     local SIZE = (Table.Size or VT(1,1,1))
  475.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  476.     local TRANSPARENCY = (Table.Transparency or 0)
  477.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  478.     local CFRAME = (Table.CFrame or Torso.CFrame)
  479.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  480.     local ROTATION1 = (Table.RotationX or 0)
  481.     local ROTATION2 = (Table.RotationY or 0)
  482.     local ROTATION3 = (Table.RotationZ or 0)
  483.     local MATERIAL = (Table.Material or "Neon")
  484.     local COLOR = (Table.Color or C3(1,1,1))
  485.     local TIME = (Table.Time or 45)
  486.     local SOUNDID = (Table.SoundID or nil)
  487.     local SOUNDPITCH = (Table.SoundPitch or nil)
  488.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  489.     coroutine.resume(coroutine.create(function()
  490.         local PLAYSSOUND = false
  491.         local SOUND = nil
  492.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  493.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  494.             PLAYSSOUND = true
  495.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  496.         end
  497.         EFFECT.Color = COLOR
  498.         local MSH = nil
  499.         if TYPE == "Sphere" then
  500.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  501.         elseif TYPE == "Block" or TYPE == "Box" then
  502.             MSH = IT("BlockMesh",EFFECT)
  503.             MSH.Scale = SIZE
  504.         elseif TYPE == "Wave" then
  505.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  506.         elseif TYPE == "Ring" then
  507.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  508.         elseif TYPE == "Slash" then
  509.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  510.         elseif TYPE == "Round Slash" then
  511.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  512.         elseif TYPE == "Swirl" then
  513.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  514.         elseif TYPE == "Skull" then
  515.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  516.         elseif TYPE == "Crystal" then
  517.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  518.         end
  519.         if MSH ~= nil then
  520.             local MOVESPEED = nil
  521.             if MOVEDIRECTION ~= nil then
  522.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  523.             end
  524.             local GROWTH = SIZE - ENDSIZE
  525.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  526.             if TYPE == "Block" then
  527.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  528.             else
  529.                 EFFECT.CFrame = CFRAME
  530.             end
  531.             for LOOP = 1, TIME+1 do
  532.                 Swait()
  533.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  534.                 if TYPE == "Wave" then
  535.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  536.                 end
  537.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  538.                 if TYPE == "Block" then
  539.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  540.                 else
  541.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  542.                 end
  543.                 if MOVEDIRECTION ~= nil then
  544.                     local ORI = EFFECT.Orientation
  545.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  546.                     EFFECT.Orientation = ORI
  547.                 end
  548.             end
  549.             if PLAYSSOUND == false then
  550.                 EFFECT:remove()
  551.             else
  552.                 repeat wait(1) until SOUND.Playing == false
  553.                 EFFECT:remove()
  554.             end
  555.         else
  556.             if PLAYSSOUND == false then
  557.                 EFFECT:remove()
  558.             else
  559.                 repeat Swait() until SOUND.Playing == false
  560.                 EFFECT:remove()
  561.             end
  562.         end
  563.     end))
  564. end
  565.  
  566. function MakeForm(PART,TYPE)
  567.     if TYPE == "Cyl" then
  568.         local MSH = IT("CylinderMesh",PART)
  569.     elseif TYPE == "Ball" then
  570.         local MSH = IT("SpecialMesh",PART)
  571.         MSH.MeshType = "Sphere"
  572.     elseif TYPE == "Wedge" then
  573.         local MSH = IT("SpecialMesh",PART)
  574.         MSH.MeshType = "Wedge"
  575.     end
  576. end
  577.  
  578. Debris = game:GetService("Debris")
  579.  
  580. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  581.     local DIRECTION = CF(StartPos,EndPos).lookVector
  582.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  583. end
  584.  
  585. local HATWELD = nil
  586. function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
  587.     PLAYMAINANIM = false
  588.     if WhichPose == "Cast1" then
  589.         for i=0, Time, 0.1 / Animation_Speed do
  590.             Swait()
  591.             if Magic == true then
  592.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  593.             end
  594.             if Gyro ~= nil and Gyro ~= false then
  595.                 Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  596.             end
  597.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
  598.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
  599.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  600.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  601.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  602.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  603.         end
  604.     elseif WhichPose == "Cast2" then
  605.         for i=0, Time, 0.1 / Animation_Speed do
  606.             Swait()
  607.             if Magic == true then
  608.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  609.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  610.             end
  611.             if Gyro ~= nil and Gyro ~= false then
  612.                 Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  613.             end
  614.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  615.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  616.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  617.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  618.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  619.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  620.         end
  621.     elseif WhichPose == "RightArmUp" then
  622.         for i=0, Time, 0.1 / Animation_Speed do
  623.             Swait()
  624.             if Magic == true then
  625.                 WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  626.             end
  627.             if Gyro ~= nil and Gyro ~= false then
  628.                 Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  629.             end
  630.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
  631.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
  632.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  633.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  634.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  635.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  636.         end
  637.     elseif WhichPose == "Taunt" then
  638.         for i=0, Time, 0.1 / Animation_Speed do
  639.             Swait()
  640.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  641.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  642.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  643.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  644.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  645.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  646.         end
  647.         HATWELD.Part0 = RightArm
  648.         HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
  649.         CreateSound(221057812,Torso,10,1,false)
  650.         for i=0, Time*2, 0.1 / Animation_Speed do
  651.             Swait()
  652.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  653.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  654.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  655.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  656.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  657.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  658.         end
  659.         for i=0, Time, 0.1 / Animation_Speed do
  660.             Swait()
  661.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  662.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
  663.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  664.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  665.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  666.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  667.             HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
  668.         end
  669.         HATWELD.Part0 = Head
  670.         HATWELD.C0 = CF(0,0.35,0)
  671.     elseif WhichPose == "Prepare key" then
  672.         for i=0, Time, 0.1 / Animation_Speed do
  673.             Swait()
  674.             if Gyro ~= nil and Gyro ~= false then
  675.                 Gyro.cframe = CF(RootPart.Position,Tors.Position)
  676.             end
  677.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
  678.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
  679.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  680.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  681.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  682.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  683.         end
  684.     elseif WhichPose == "Turn key" then
  685.         for i=0, Time, 0.1 / Animation_Speed do
  686.             Swait()
  687.             if Gyro ~= nil and Gyro ~= false then
  688.                 Gyro.cframe = CF(RootPart.Position,Tors.Position)
  689.             end
  690.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
  691.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
  692.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  693.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  694.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  695.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  696.         end
  697.     end
  698.     PLAYMAINANIM = true
  699. end
  700.  
  701. --Lightning({Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false})
  702. function Lightning(Table)
  703.     local Color = Table.Color or C3(1,1,1)
  704.     local StartPos = Table.Start or Torso.Position
  705.     local EndPos = Table.End or Mouse.Hit.p
  706.     local SegmentLength = Table.SegmentL or 2
  707.     local Thickness = Table.Thickness or 0.1
  708.     local Dissapear = Table.DoesFade or false
  709.     local Parent = Table.Ignore or Character
  710.     local MaxDist = Table.MaxDist or 400
  711.     local Branches = Table.Branches or false
  712.     local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
  713.     local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
  714.     local LIGHTNINGMODEL = IT("Model",Effects)
  715.     LIGHTNINGMODEL.Name = "Lightning"
  716.     local LastBolt = nil
  717.     for E = 1, DISTANCE do
  718.         local ExtraSize = (DISTANCE-E)/15
  719.         local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
  720.         PART.Color = Color
  721.         MakeForm(PART,"Cyl")
  722.         if LastBolt == nil then
  723.             PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  724.         else
  725.             PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SegmentLength/3+(DISTANCE-E)).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  726.         end
  727.         LastBolt = PART
  728.         if Branches == true then
  729.             local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
  730.             if CHOICE == 1 then
  731.                 local LASTBRANCH = nil
  732.                 for i = 1, MRANDOM(2,5) do
  733.                     local ExtraSize2 = ((DISTANCE-E)/25)/i
  734.                     local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
  735.                     PART.Color = Color
  736.                     MakeForm(PART,"Cyl")
  737.                     if LASTBRANCH == nil then
  738.                         PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  739.                     else
  740.                         PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  741.                     end
  742.                     LASTBRANCH = PART
  743.                 end
  744.             end
  745.         end
  746.     end
  747.     if Dissapear == true then
  748.         coroutine.resume(coroutine.create(function()
  749.             for i = 1, 10 do
  750.                 Swait()
  751.                 for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
  752.                     if c.ClassName == "Part" then
  753.                         c.Transparency = i/10
  754.                     end
  755.                 end
  756.             end
  757.             LIGHTNINGMODEL:remove()
  758.         end))
  759.     elseif Dissapear == false then
  760.         Debris:AddItem(LIGHTNINGMODEL,0.1)
  761.     end
  762.     return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
  763. end
  764.  
  765. --//=================================\\
  766. --||         WEAPON CREATION
  767. --\\=================================//
  768.  
  769. for i = 1, 15 do
  770.     local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/15.2, "Dark stone grey", "FaceGradient", VT(1.01,0.58,1.01),false)
  771.     FACE.Color = C3(0,0,0)
  772.     Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  773.     CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/35,0), CF(0, 0, 0))
  774. end
  775. local HAT1 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(2,0.2,2),false)
  776. MakeForm(HAT1,"Cyl")
  777. HATWELD = CreateWeldOrSnapOrMotor("Weld", Head, Head, HAT1, CF(0,0.35,0), CF(0, 0, 0))
  778. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(2.01,0.15,2.01),false)
  779. BELT.Color = C3(15/255,15/255,15/255)
  780. MakeForm(BELT,"Cyl")
  781. CreateWeldOrSnapOrMotor("Weld", HAT1, HAT1, BELT, CF(0,0,0), CF(0, 0, 0))
  782. local HAT2 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.3,2.2,1.3),false)
  783. MakeForm(HAT2,"Cyl")
  784. CreateWeldOrSnapOrMotor("Weld", HAT1, HAT1, HAT2, CF(0,1.1,0), CF(0, 0, 0))
  785. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.31,0.2,1.31),false)
  786. BELT.Color = C3(15/255,15/255,15/255)
  787. MakeForm(BELT,"Cyl")
  788. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,0,0), CF(0, 0, 0))
  789. local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lavender", "Gem", VT(0.25,0.25,0.1),false)
  790. MakeForm(GEM,"Ball")
  791. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(0,0,-BELT.Size.X/2), CF(0, 0, 0))
  792. local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lavender", "Gem", VT(0.25,0.25,0.1),false)
  793. MakeForm(GEM,"Ball")
  794. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(0,0,BELT.Size.X/2), CF(0, 0, 0))
  795. local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lavender", "Gem", VT(0.1,0.25,0.25),false)
  796. MakeForm(GEM,"Ball")
  797. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(-BELT.Size.X/2,0,0), CF(0, 0, 0))
  798. local GEM = CreatePart(3, Character, "Neon", 0, 0, "Lavender", "Gem", VT(0.1,0.25,0.25),false)
  799. MakeForm(GEM,"Ball")
  800. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(BELT.Size.X/2,0,0), CF(0, 0, 0))
  801. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.31,0.1,1.31),false)
  802. BELT.Color = C3(15/255,15/255,15/255)
  803. MakeForm(BELT,"Cyl")
  804. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,0.7,0), CF(0, 0, 0))
  805. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.31,0.1,1.31),false)
  806. BELT.Color = C3(15/255,15/255,15/255)
  807. MakeForm(BELT,"Cyl")
  808. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,-0.7,0), CF(0, 0, 0))
  809. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.31,0.1,1.31),false)
  810. BELT.Color = C3(15/255,15/255,15/255)
  811. MakeForm(BELT,"Cyl")
  812. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,0.35,0), CF(0, 0, 0))
  813. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.31,0.1,1.31),false)
  814. BELT.Color = C3(15/255,15/255,15/255)
  815. MakeForm(BELT,"Cyl")
  816. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,-0.35,0), CF(0, 0, 0))
  817. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.3,0.5,1.3),false)
  818. MakeForm(BELT,"Ball")
  819. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,HAT2.Size.Y/2,0), CF(0, 0, 0))
  820. Humanoid.DisplayDistanceType = "None"
  821. local naeeym2 = IT("BillboardGui",Character)
  822. naeeym2.AlwaysOnTop = true
  823. naeeym2.Size = UDim2.new(5,35,2,15)
  824. naeeym2.StudsOffset = Vector3.new(0,3,0)
  825. naeeym2.MaxDistance = 75
  826. naeeym2.Adornee = Character.Head
  827. naeeym2.Name = "Name"
  828. naeeym2.PlayerToHideFrom = Player
  829. local tecks2 = IT("TextLabel",naeeym2)
  830. tecks2.BackgroundTransparency = 1
  831. tecks2.TextScaled = true
  832. tecks2.BorderSizePixel = 0
  833. tecks2.Text = "The Warriors"
  834. tecks2.Font = "Bodoni"
  835. tecks2.TextSize = 30
  836. tecks2.TextStrokeTransparency = 0.5
  837. tecks2.TextColor3 = C3(0,0,0)
  838. tecks2.TextStrokeColor3 = BRICKC"Lavender".Color
  839. tecks2.Size = UDim2.new(1,0,0.5,0)
  840. tecks2.Parent = naeeym2
  841. local EYE = CreatePart(3, Character, "Neon", 0, 0, "Lilac", "FaceGradient", VT(0.15,0.15,0.15),false)
  842. MakeForm(EYE,"Ball")
  843. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0.15,0.22,-0.55), CF(0, 0, 0))
  844. local EYE = CreatePart(3, Character, "Neon", 0, 0, "Lilac", "FaceGradient", VT(0.05,0.14,0.05),false)
  845. EYE.Color = C3(0,0,0)
  846. MakeForm(EYE,"Ball")
  847. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0.15,0.22,-0.6), CF(0, 0, 0))
  848. local top = Instance.new("Shirt")
  849. top.ShirtTemplate = "rbxassetid://676428254"
  850. top.Parent = Character
  851. top.Name = "Cloth"
  852. local bottom = Instance.new("Pants")
  853. bottom.PantsTemplate = "rbxassetid://676428351"
  854. bottom.Parent = Character
  855. bottom.Name = "Cloth"
  856. for _, c in pairs(Character:GetChildren()) do
  857.     if c.ClassName == "Part" and c.Name ~= "FaceGradient" and c.Name ~= "Hat" and c.Name ~= "Gem" then
  858.         c.Material = "Neon"
  859.         if c:FindFirstChildOfClass("ParticleEmitter") then
  860.             c:FindFirstChildOfClass("ParticleEmitter"):remove()
  861.         end
  862.         c.Color = C3(1,1,1)
  863.         if c == Head then
  864.             if c:FindFirstChild("face") then
  865.                 c.face:remove()
  866.             end
  867.         end
  868.     elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.ClassName == "Hat" or c.Name == "Body Colors" then
  869.         c:remove()
  870.     elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
  871.         c:remove()
  872.     end
  873. end
  874. local BODY = {}
  875. for _, c in pairs(Character:GetDescendants()) do
  876.     if c:IsA("BasePart") and c.Name ~= "Handle" then
  877.         if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  878.             c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  879.         end
  880.         table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
  881.     elseif c:IsA("JointInstance") then
  882.         table.insert(BODY,{c,c.Parent,nil,nil,nil})
  883.     end
  884. end
  885. for e = 1, #BODY do
  886.     if BODY[e] ~= nil then
  887.         local STUFF = BODY[e]
  888.         local PART = STUFF[1]
  889.         local PARENT = STUFF[2]
  890.         local MATERIAL = STUFF[3]
  891.         local COLOR = STUFF[4]
  892.         local TRANSPARENCY = STUFF[5]
  893.         if PART.ClassName == "Part" and PART ~= RootPart then
  894.             PART.Material = MATERIAL
  895.             PART.Color = COLOR
  896.             PART.Transparency = TRANSPARENCY
  897.         end
  898.         PART.AncestryChanged:Connect(function()
  899.             PART.Parent = PARENT
  900.         end)
  901.     end
  902. end
  903. function refit()
  904.     Character.Parent = workspace
  905.     for e = 1, #BODY do
  906.         if BODY[e] ~= nil then
  907.             local STUFF = BODY[e]
  908.             local PART = STUFF[1]
  909.             local PARENT = STUFF[2]
  910.             local MATERIAL = STUFF[3]
  911.             local COLOR = STUFF[4]
  912.             local TRANSPARENCY = STUFF[5]
  913.             if PART.ClassName == "Part" and PART ~= RootPart then
  914.                 PART.Material = MATERIAL
  915.                 PART.Color = COLOR
  916.                 PART.Transparency = TRANSPARENCY
  917.             end
  918.             if PART.Parent ~= PARENT then
  919.                 Humanoid:remove()
  920.                 PART.Parent = PARENT
  921.                 Humanoid = IT("Humanoid",Character)
  922.             end
  923.         end
  924.     end
  925. end
  926. local SKILLTEXTCOLOR = BRICKC"Lavender".Color
  927. local SKILLFONT = "Bodoni"
  928. local SKILLTEXTSIZE = 7
  929.  
  930. Humanoid.Died:connect(function()
  931.     refit()
  932. end)
  933.  
  934. local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.75, 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")
  935. local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.75, 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")
  936. local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  937. local SKILL4FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  938. local SKILL5FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.365, 0, 0.70, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  939.  
  940. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Warriors Zap", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 1")
  941. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Warriors Thunder", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 2")
  942. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Inferno Ring", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
  943. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Warriors Wall", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 4")
  944. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Prison Key", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 5")
  945.  
  946. --//=================================\\
  947. --||            DAMAGING
  948. --\\=================================//
  949.  
  950. function ApplyAoE(POSITION,RANGE,FLING,BURN)
  951.     local CHILDREN = workspace:GetDescendants()
  952.     for index, CHILD in pairs(CHILDREN) do
  953.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  954.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  955.             if HUM then
  956.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  957.                 if TORSO then
  958.                     if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
  959.                         CHILD:BreakJoints()
  960.                         if FLING ~= 0 then
  961.                             for _, c in pairs(CHILD:GetChildren()) do
  962.                                 if c:IsA("BasePart") and c.Transparency == 0 then
  963.                                     if BURN == true then
  964.                                         Fire(c)
  965.                                     end
  966.                                     local bv = Instance.new("BodyVelocity")
  967.                                     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  968.                                     bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  969.                                     bv.Parent = c
  970.                                     Debris:AddItem(bv,0.05)
  971.                                 end
  972.                             end
  973.                         end
  974.                     end
  975.                 end
  976.             end
  977.         end
  978.     end
  979. end
  980.  
  981. --//=================================\\
  982. --||    ATTACK FUNCTIONS AND STUFF
  983. --\\=================================//
  984.  
  985. function Warriors_Zap()
  986.     ATTACK = true
  987.     Rooted = false
  988.     local GYRO = IT("BodyGyro",RootPart)
  989.     GYRO.D = 750
  990.     GYRO.P = 20000
  991.     GYRO.MaxTorque = VT(0,40000000,0)
  992.     CreateSound(348663022,RightArm,1.5,2,false)
  993.     Pose("Cast1",0.8,1,true,GYRO)
  994.     local LightningTable = Lightning({Color = SKILLTEXTCOLOR, Start = RightArm.CFrame*CF(0,-1,0).p, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.2, DoesFade = true, Ignore = Character, MaxDist = 100, Branches = false})
  995.     local Hitpos = LightningTable.End
  996.     ApplyAoE(Hitpos,10,35)
  997.     WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(1,1,1)*15, Transparency = 0, Transparency2 = 1, CFrame = CF(Hitpos)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = BOLTSOUNDS[MRANDOM(1,#BOLTSOUNDS)], SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
  998.     for i = 1, 4 do
  999.         WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,45,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hitpos)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1000.     end
  1001.     Pose("Cast1",0.8,1,true)
  1002.     GYRO:remove()
  1003.     ATTACK = false
  1004.     Rooted = false
  1005. end
  1006.  
  1007. function Warriors_Thunder()
  1008.     ATTACK = true
  1009.     Rooted = false
  1010.     local GYRO = IT("BodyGyro",RootPart)
  1011.     GYRO.D = 750
  1012.     GYRO.P = 20000
  1013.     GYRO.MaxTorque = VT(0,40000000,0)
  1014.     CreateSound(469345336,Torso,3,2,false)
  1015.     Pose("Cast2",1.5,2,true,GYRO)
  1016.     coroutine.resume(coroutine.create(function()
  1017.         local FRAME = RootPart.CFrame
  1018.         for i = 1, 25 do
  1019.             local POS = FRAME*CF(MRANDOM(-17,17),0,-i*15)
  1020.             local LightningTable = Lightning({Color = SKILLTEXTCOLOR, Start = POS*CF(0,85,0).p, End = POS*CF(0,-15,0).p, SegmentL = 3, Thickness = 0.4, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = true})
  1021.             local Hitpos = LightningTable.End
  1022.             ApplyAoE(Hitpos,20,15)
  1023.             WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(1,1,1)*15, Transparency = 0, Transparency2 = 1, CFrame = CF(Hitpos)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = BOLTSOUNDS[MRANDOM(1,#BOLTSOUNDS)], SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
  1024.             for i = 1, 4 do
  1025.                 WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,75,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hitpos)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1026.             end
  1027.             wait(0.05)
  1028.         end
  1029.     end))
  1030.     Pose("Cast2",1.5,0.7,true)
  1031.     GYRO:remove()
  1032.     ATTACK = false
  1033.     Rooted = false
  1034. end
  1035.  
  1036. function Inferno_Ring()
  1037.     ATTACK = true
  1038.     Rooted = false
  1039.     local GYRO = IT("BodyGyro",RootPart)
  1040.     GYRO.D = 750
  1041.     GYRO.P = 20000
  1042.     GYRO.MaxTorque = VT(0,40000000,0)
  1043.     local FIRE = IT("Model",Effects)
  1044.     FIRE.Name = "Fire"
  1045.     local MAIN = CreatePart(3, FIRE, "Neon", 0, 1, "Lavender", "Center", VT(0,0,0))
  1046.     FIRE.PrimaryPart = MAIN
  1047.     local FIRES = {}
  1048.     for i = 1, 45 do
  1049.         local PRT = CreatePart(3, FIRE, "Neon", 0, 1, "Lavender", "RingPart", VT(3,3,3))
  1050.         PRT.CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD((360/45)*i),RAD(0))*CF(0,0,20)
  1051.         local F = Fire(PRT)
  1052.         table.insert(FIRES,F)
  1053.     end
  1054.     repeat
  1055.         FIRE:SetPrimaryPartCFrame(CF(Mouse.Hit.p))
  1056.         Pose("Cast1",1.5,0.01,false,GYRO)
  1057.     until HOLD == true
  1058.     coroutine.resume(coroutine.create(function()
  1059.         for i = 1, 4 do
  1060.             ApplyAoE(MAIN.Position,21,-15,true)
  1061.             CreateSound(463598785,MAIN,3,1,false)
  1062.             for E = 1, #FIRES do
  1063.                 if FIRES[E] ~= nil then
  1064.                     FIRES[E].Acceleration = VT(0,300,0)
  1065.                     FIRES[E].Lifetime=NumberRange.new(0.35,1.5)
  1066.                 end
  1067.             end
  1068.             wait(0.3)
  1069.         end
  1070.         for E = 1, #FIRES do
  1071.             if FIRES[E] ~= nil then
  1072.                 FIRES[E].Enabled = false
  1073.             end
  1074.         end
  1075.         Debris:AddItem(FIRE,5)
  1076.     end))
  1077.     CreateSound(215395388,RightArm,3,2,false)
  1078.     Pose("RightArmUp",1.5,0.5,true)
  1079.     GYRO:remove()
  1080.     ATTACK = false
  1081.     Rooted = false
  1082. end
  1083.  
  1084. function Warriors_Wall()
  1085.     local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 8, Character)
  1086.     if HITFLOOR ~= nil then
  1087.         if HITFLOOR.Anchored == true then
  1088.             local WALL = HITFLOOR:Clone()
  1089.             WALL.Size = VT(45,45,5)
  1090.             WALL.Parent = Effects
  1091.             WALL.Name = "Wall"
  1092.             WALL.CFrame = RootPart.CFrame*CF(0,-65/2.1,-5)*ANGLES(RAD(-15),RAD(0),RAD(0))
  1093.             CreateSound(130972023,WALL,5,0.8,false)
  1094.             ATTACK = true
  1095.             Rooted = true
  1096.             local HIT = WALL.Touched:Connect(function(hit)
  1097.                 if hit.Parent ~= Character then
  1098.                     hit:BreakJoints()
  1099.                 end
  1100.             end)
  1101.             coroutine.resume(coroutine.create(function()
  1102.                 WACKYEFFECT({Time = 35, EffectType = "Box", Size = WALL.Size, Size2 = WALL.Size*2, Transparency = 0, Transparency2 = 1, CFrame = WALL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1103.                 for i = 1, 90 do
  1104.                     Swait()
  1105.                     WALL.CFrame = WALL.CFrame*CF(0,0.5,0)
  1106.                 end
  1107.                 HIT:disconnect()
  1108.                 wait(5)
  1109.                 for i = 1, 46 do
  1110.                     Swait()
  1111.                     WALL.CFrame = WALL.CFrame*CF(0,-1,0)
  1112.                 end
  1113.                 WALL:remove()
  1114.             end))
  1115.             Pose("RightArmUp",1.5,1.2,true)
  1116.             ATTACK = false
  1117.             Rooted = false
  1118.         end
  1119.     end
  1120. end
  1121.  
  1122. function Prison_Key()
  1123.     if Mouse.Target ~= nil then
  1124.         if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  1125.             local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  1126.             local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  1127.             local GYRO = IT("BodyGyro",RootPart)
  1128.             GYRO.D = 750
  1129.             GYRO.P = 20000
  1130.             GYRO.MaxTorque = VT(0,40000000,0)
  1131.             local grav = Instance.new("BodyPosition",TORSO)
  1132.             grav.D = 15
  1133.             grav.P = 20000
  1134.             grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1135.             grav.position = TORSO.Position
  1136.             local GYRO2 = IT("BodyGyro",TORSO)
  1137.             GYRO2.D = 750
  1138.             GYRO2.P = 20000
  1139.             GYRO2.MaxTorque = VT(0,40000000,0)
  1140.             GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  1141.             grav.Name = "Jail"
  1142.             local LOCKPARTS = {}
  1143.             ATTACK = true
  1144.             Rooted = false
  1145.             local LOCK = IT("Model",Effects)
  1146.             LOCK.Name = "Lock"
  1147.             local LOCK2 = IT("Model",LOCK)
  1148.             LOCK2.Name = "Metal"
  1149.             --CREATE LOCK--
  1150.                 local BASE = CreatePart(3, LOCK, "Glass", 0, 0, "Gold", "Keylock", VT(3, 2.5, 1))
  1151.                 LOCK.PrimaryPart = BASE
  1152.                 BASE.CFrame = CF(TORSO.Position,RootPart.Position)*CF(0,0,-4)
  1153.                 local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "Gold", "Keylock", VT(3, 1, 3))
  1154.                 PRT.CFrame = BASE.CFrame*CF(0,-1.25,0)*ANGLES(RAD(90),RAD(0),RAD(0))
  1155.                 MakeForm(PRT,"Cyl")
  1156.                 local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(1, 1, 1))
  1157.                 PRT.Color = C3(0,0,0)
  1158.                 PRT.CFrame = BASE.CFrame*CF(0,0.3,-0.01)*ANGLES(RAD(90),RAD(0),RAD(0))
  1159.                 MakeForm(PRT,"Cyl")
  1160.                 local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(0.5, 1, 1))
  1161.                 PRT.Color = C3(0,0,0)
  1162.                 PRT.CFrame = BASE.CFrame*CF(0,-0.2,-0.01)
  1163.                 for i = 1, 45 do
  1164.                     local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
  1165.                     PRT.CFrame = BASE.CFrame*CF(0,2,0)*ANGLES(RAD(0),RAD(0),RAD(-90+(360/90*i)))*CF(0,1,0)
  1166.                 end
  1167.                 local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
  1168.                 PRT.CFrame = BASE.CFrame*CF(0,1.5,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0)
  1169.                 LOCK2.PrimaryPart = PRT
  1170.             ---------------
  1171.             local CHILDREN = LOCK:GetDescendants()
  1172.             for index, CHILD in pairs(CHILDREN) do
  1173.                 if CHILD:IsA("BasePart") then
  1174.                     CHILD.Transparency = 1
  1175.                 end
  1176.             end
  1177.             for i = 1, 75 do
  1178.                 LOCK:SetPrimaryPartCFrame(CF(TORSO.Position,RootPart.Position)*CF(0,0,-4))
  1179.                 Swait()
  1180.                 GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  1181.                 GYRO.cframe = CF(RootPart.Position,TORSO.Position)
  1182.                 local CHILDREN = LOCK:GetDescendants()
  1183.                 for index, CHILD in pairs(CHILDREN) do
  1184.                     if CHILD:IsA("BasePart") then
  1185.                         CHILD.Transparency = CHILD.Transparency - 1/75
  1186.                     end
  1187.                 end
  1188.             end
  1189.             HUM.DisplayDistanceType = "None"
  1190.             local KEY = IT("Model",Effects)
  1191.             KEY.Name = "Key"
  1192.             --CREATE KEY--
  1193.                 local KBASE = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "KeyBase", VT(0.1, 1, 0.1),false)
  1194.                 KEY.PrimaryPart = KBASE
  1195.                 KBASE.CFrame = RightArm.CFrame*CF(0,-2.1,0)*ANGLES(RAD(0),RAD(90),RAD(0))
  1196.                 local WLD = weldBetween(RightArm,KBASE)
  1197.                 for i = 1, 45 do
  1198.                     local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "Key", VT(0.1, 0.1, 0.1),false)
  1199.                     PRT.CFrame = KBASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD((360/45*i)))*CF(0,0.25,0)
  1200.                     weldBetween(KBASE,PRT)
  1201.                 end
  1202.                 local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "Key", VT(0.3, 0.1, 0.1),false)
  1203.                 PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.45,0)
  1204.                 weldBetween(KBASE,PRT)
  1205.                 local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Lavender", "Key", VT(0.3, 0.1, 0.1),false)
  1206.                 PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.25,0)
  1207.                 weldBetween(KBASE,PRT)
  1208.             --------------
  1209.             Rooted = true
  1210.             Pose("Prepare key",1.5,1.2,false,GYRO,TORSO)
  1211.             coroutine.resume(coroutine.create(function()
  1212.                 for i = 1, 10 do
  1213.                     Swait()
  1214.                     GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  1215.                     GYRO.cframe = CF(RootPart.Position,TORSO.Position)
  1216.                 end
  1217.                 CreateSound(1149318312,BASE,5,1,false)
  1218.                 CreateSound(160772554,BASE,3,1,false)
  1219.                 LOCK2:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0))
  1220.                 for i = 1, 4 do
  1221.                     WACKYEFFECT({Time = 35, EffectType = "Crystal", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(1,1.45,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1222.                 end
  1223.                 WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,1,1)*25, Transparency = 0, Transparency2 = 1, CFrame = TORSO.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
  1224.                 wait(1)
  1225.                 TORSO.Parent.Parent = LOCK
  1226.                 for i = 1, 75 do
  1227.                     Swait()
  1228.                     local CHILDREN = KEY:GetDescendants()
  1229.                     for index, CHILD in pairs(CHILDREN) do
  1230.                         if CHILD:IsA("BasePart") then
  1231.                             CHILD.Transparency = i/25
  1232.                         end
  1233.                     end
  1234.                     local CHILDREN = LOCK:GetDescendants()
  1235.                     for index, CHILD in pairs(CHILDREN) do
  1236.                         if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
  1237.                             CHILD.Transparency = CHILD.Transparency + 1/75
  1238.                         elseif CHILD.ClassName == "Decal" then
  1239.                             CHILD.Transparency = CHILD.Transparency + 1/75
  1240.                         end
  1241.                     end
  1242.                 end
  1243.                 TORSO.Parent:ClearAllChildren()
  1244.                 KEY:remove()
  1245.                 LOCK:remove()
  1246.             end))
  1247.             Pose("Turn key",0.8,1.2,false,GYRO,TORSO)
  1248.             GYRO:remove()
  1249.             ATTACK = false
  1250.             Rooted = false
  1251.         end
  1252.     end
  1253. end
  1254.  
  1255. function Hat()
  1256.     ATTACK = true
  1257.     Rooted = false
  1258.     Pose("Taunt",0.4,1.2,false)
  1259.     ATTACK = false
  1260.     Rooted = false
  1261. end
  1262.  
  1263. --//=================================\\
  1264. --||      ASSIGN THINGS TO KEYS
  1265. --\\=================================//
  1266.  
  1267. function MouseDown(Mouse)
  1268.     HOLD = true
  1269.     if ATTACK == false then
  1270.     end
  1271. end
  1272.  
  1273. function MouseUp(Mouse)
  1274. HOLD = false
  1275. end
  1276.  
  1277. function KeyDown(Key)
  1278.     KEYHOLD = true
  1279.     if Key == "z" and ATTACK == false then
  1280.         Warriors_Zap()
  1281.     end
  1282.  
  1283.     if Key == "b" and ATTACK == false then
  1284.         Warriors_Thunder()
  1285.     end
  1286.  
  1287.     if Key == "c" and ATTACK == false then
  1288.         Inferno_Ring()
  1289.     end
  1290.  
  1291.     if Key == "v" and ATTACK == false then
  1292.         Warriors_Wall()
  1293.     end
  1294.  
  1295.     if Key == "x" and ATTACK == false then
  1296.         Prison_Key()
  1297.     end
  1298.  
  1299.     if Key == "t" and ATTACK == false then
  1300.         Hat()
  1301.     end
  1302. end
  1303.  
  1304. function KeyUp(Key)
  1305.     KEYHOLD = false
  1306. end
  1307.  
  1308.     Mouse.Button1Down:connect(function(NEWKEY)
  1309.         MouseDown(NEWKEY)
  1310.     end)
  1311.     Mouse.Button1Up:connect(function(NEWKEY)
  1312.         MouseUp(NEWKEY)
  1313.     end)
  1314.     Mouse.KeyDown:connect(function(NEWKEY)
  1315.         KeyDown(NEWKEY)
  1316.     end)
  1317.     Mouse.KeyUp:connect(function(NEWKEY)
  1318.         KeyUp(NEWKEY)
  1319.     end)
  1320.  
  1321. --//=================================\\
  1322. --\\=================================//
  1323.  
  1324.  
  1325. function unanchor()
  1326.     if UNANCHOR == true then
  1327.         g = Character:GetChildren()
  1328.         for i = 1, #g do
  1329.             if g[i].ClassName == "Part" then
  1330.                 g[i].Anchored = false
  1331.             end
  1332.         end
  1333.     end
  1334. end
  1335.  
  1336.  
  1337. --//=================================\\
  1338. --||    WRAP THE WHOLE SCRIPT UP
  1339. --\\=================================//
  1340.  
  1341. Humanoid.Changed:connect(function(Jump)
  1342.     if Jump == "Jump" and (Disable_Jump == true) then
  1343.         Humanoid.Jump = false
  1344.     end
  1345. end)
  1346.  
  1347. while true do
  1348.     Swait()
  1349.     script.Parent = WEAPONGUI
  1350.     Humanoid.Parent = Character
  1351.     if Humanoid then
  1352.         local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  1353.         IDLEANIMATION:Play()
  1354.     end
  1355.     if ANIMATE.Parent == Character then
  1356.         ANIMATE:Destroy()
  1357.     end
  1358.     SINE = SINE + CHANGE
  1359.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1360.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1361.     Humanoid.HipHeight = 1
  1362.     Humanoid.Name = "Warriors"
  1363.     Humanoid.PlatformStand = false
  1364.     if PLAYMAINANIM == true then
  1365.         if TORSOVELOCITY < 1 then
  1366.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1367.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1368.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1369.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1370.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
  1371.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1372.         elseif TORSOVELOCITY > 1 then
  1373.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1374.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1375.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-35), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1376.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-35), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1377.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-20)), 0.15 / Animation_Speed)
  1378.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(10)), 0.15 / Animation_Speed)
  1379.         end
  1380.     end
  1381.     unanchor()
  1382.     Humanoid.MaxHealth = "inf"
  1383.     Humanoid.Health = "inf"
  1384.     if Rooted == false then
  1385.         Disable_Jump = false
  1386.         Humanoid.WalkSpeed = Speed
  1387.     elseif Rooted == true then
  1388.         Disable_Jump = true
  1389.         Humanoid.WalkSpeed = 0
  1390.     end
  1391.     for _, c in pairs(Character:GetChildren()) do
  1392.         if c.ClassName == "Part" and c.Name ~= "Eye" then
  1393.             c.Material = "Neon"
  1394.             if c:FindFirstChildOfClass("ParticleEmitter") then
  1395.                 c:FindFirstChildOfClass("ParticleEmitter"):remove()
  1396.             end
  1397.             c.Color = C3(1,1,1)
  1398.             if c == Head then
  1399.                 if c:FindFirstChild("face") then
  1400.                     c.face:remove()
  1401.                 end
  1402.             end
  1403.         elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.ClassName == "Hat" or c.Name == "Body Colors" then
  1404.             c:remove()
  1405.         elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
  1406.             c:remove()
  1407.         end
  1408.     end
  1409.     sick.SoundId = "rbxassetid://1494340971"
  1410.     sick.Looped = true
  1411.     sick.Pitch = 1
  1412.     sick.Volume = 3
  1413.     sick:Resume()
  1414.     sick.Parent = Torso
  1415.     refit()
  1416.     if Head:FindFirstChildOfClass("Sound") then
  1417.         Head:FindFirstChildOfClass("Sound"):remove()
  1418.     end
  1419. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top