kaualima12

noeee e w

Sep 9th, 2019
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 101.59 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility: by WaverlyCole");InternalData = {}
  2. do
  3. script.Parent = owner.Character
  4. local Event = Instance.new("RemoteEvent");Event.Name = "UserInput"
  5. local function NewFakeEvent()
  6. local Bind = Instance.new("BindableEvent")
  7. local Fake;Fake = {Connections = {},
  8. fakeEvent=true;
  9. Connect=function(self,Func)
  10. Bind.Event:connect(Func)
  11. self.Connections[Bind] = true
  12. return setmetatable({Connected = true},{
  13. __index = function (self,Index)
  14. if Index:lower() == "disconnect" then
  15. return function() Fake.Connections[Bind] = false;self.Connected = false end
  16. end
  17. return Fake[Index]
  18. end;
  19. __tostring = function() return "Connection" end;
  20. })
  21. end}
  22. Fake.connect = Fake.Connect;return Fake;
  23. end
  24. local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
  25. local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
  26. local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  27. self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  28. end};ContextActionService.UnBindAction = ContextActionService.BindAction
  29. local function TriggerEvent(self,Event,...)
  30. local Trigger = Mouse[Event]
  31. if Trigger and Trigger.fakeEvent and Trigger.Connections then
  32. for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end
  33. end
  34. end
  35. Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent
  36. Event.OnServerEvent:Connect(function(FiredBy,Input)
  37. if FiredBy.Name ~= owner.Name then return end
  38. if Input.MouseEvent then
  39. Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
  40. else
  41. local Begin = Input.UserInputState == Enum.UserInputState.Begin
  42. if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end
  43. for _,Action in pairs(ContextActionService.Actions) do
  44. for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  45. end
  46. Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
  47. UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  48. end
  49. end)
  50. InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
  51. Event.Parent = NLS([[
  52. local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse()
  53. local Input = function(Input,gameProcessedEvent)
  54. if gameProcessedEvent then return end
  55. Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  56. end
  57. UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  58. local Hit,Target
  59. while wait(1/30) do
  60. if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  61. Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  62. end
  63. end
  64. ]],owner.Character)
  65. end
  66. RealGame = game;game = setmetatable({},{
  67. __index = function (self,Index)
  68. local Sandbox = function (Thing)
  69. if Thing:IsA("Player") then
  70. local RealPlayer = Thing
  71. return setmetatable({},{
  72. __index = function (self,Index)
  73. local Type = type(RealPlayer[Index])
  74. if Type == "function" then
  75. if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  76. return function (self)return InternalData["Mouse"] end
  77. end
  78. return function (self,...)return RealPlayer[Index](RealPlayer,...) end
  79. end
  80. return RealPlayer[Index]
  81. end;
  82. __tostring = function(self) return RealPlayer.Name end
  83. })
  84. end
  85. end
  86. if RealGame[Index] then
  87. local Type = type(RealGame[Index])
  88. if Type == "function" then
  89. if Index:lower() == "getservice" or Index:lower() == "service" then
  90. return function (self,Service)
  91. local FakeServices = {
  92. ["players"] = function()
  93. return setmetatable({},{
  94. __index = function (self2,Index2)
  95. local RealService = RealGame:GetService(Service)
  96. local Type2 = type(Index2)
  97. if Type2 == "function" then
  98. return function (self,...) return RealService[Index2](RealService,...)end
  99. else
  100. if Index2:lower() == "localplayer" then return Sandbox(owner) end
  101. return RealService[Index2]
  102. end
  103. end;
  104. __tostring = function(self) return RealGame:GetService(Service).Name end
  105. })
  106. end;
  107. ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
  108. ["userinputservice"] = function() return InternalData["UserInputService"] end;
  109. ["runservice"] = function()
  110. return setmetatable({},{
  111. __index = function(self2,Index2)
  112. local RealService = RealGame:GetService(Service)
  113. local Type2 = type(Index2)
  114. if Type2 == "function" then
  115. return function (self,...) return RealService[Index2](RealService,...) end
  116. else
  117. local RunServices = {
  118. ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end;
  119. ["renderstepped"] = function() return RealService["Stepped"] end
  120. }
  121. if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
  122. return RealService[Index2]
  123. end
  124. end
  125. })
  126. end
  127. }
  128. if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
  129. return RealGame:GetService(Service)
  130. end
  131. end
  132. return function (self,...) return RealGame[Index](RealGame,...) end
  133. else
  134. if game:GetService(Index) then return game:GetService(Index) end
  135. return RealGame[Index]
  136. end
  137. end
  138. return nil
  139. end
  140. });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete! Running...")--[[ Elite Script ]]--
  141. --[[ Declarations ]]--
  142. wait(.0000000000000000000001)
  143. local Player = owner
  144. local Character = Player.Character
  145. local Head = Character.Head
  146. local Torso = Character.Torso
  147. local Right_Arm = Character["Right Arm"]
  148. local Right_Leg = Character["Right Leg"]
  149. local Left_Arm = Character["Left Arm"]
  150. local Left_Leg = Character["Left Leg"]
  151. local Humanoid = Character.Humanoid
  152. local Animation = "Idle"
  153. local Mouse = Player:GetMouse()
  154. local LeftShoulder = Torso["Left Shoulder"]
  155. local Left_Hip = Torso["Left Hip"]
  156. local RightShoulder = Torso["Right Shoulder"]
  157. local Right_Hip = Torso["Right Hip"]
  158. local Root = Character.HumanoidRootPart
  159. local RootJoint = Root.RootJoint
  160. local Attacking = false
  161. local CanAttack = true
  162. local Anim = "Idle"
  163. local Combo = 1
  164. local Shots = 1
  165. local Blocking = false
  166. local MaxMana = 100
  167. local Mana = 100
  168. local MaxBlock = 100
  169. local Effects = {}
  170. local Color = "Bright yellow"
  171. local cf = CFrame.new
  172. local WalkFoRightShoulderard = false
  173.  
  174. local RootCFrame = CFrame.Angles(-1.57,0,3.14)
  175. Necko = cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  176. Necko2 = cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  177. Right_Hip_C1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  178. Left_Hip_C1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  179.  
  180. Movemment = 1
  181. Walk = 0
  182.  
  183. Left_Shoulder = Instance.new("Weld", Torso)
  184. Left_Shoulder.Part0 = Torso
  185. Left_Shoulder.Part1 = Left_Arm
  186. Left_Shoulder.Name = "Left Shoulder"
  187. Left_Shoulder.C0 = CFrame.new(-1.5,0,0)
  188.  
  189. Right_Shoulder = Instance.new("Weld", Torso)
  190. Right_Shoulder.Part0 = Torso
  191. Right_Shoulder.Part1 = Right_Arm
  192. Right_Shoulder.Name = "Right Shoulder"
  193. Right_Shoulder.C0 = CFrame.new(1.5,0,0)
  194.  
  195. local Services = {
  196.  
  197. SoundService = game:GetService("SoundService");
  198. Players = game:GetService("Players");
  199. Debris = game:GetService("Debris");
  200. Workspace = game:GetService("Workspace");
  201. Lighting = game:GetService("Lighting");
  202. HttpService = game:GetService("HttpService");
  203. InsertService = game:GetService("InsertService");
  204.  
  205. }
  206.  
  207. MaxCooldown1 = 150
  208. MaxCooldown2 = 30
  209. MaxCooldown3 = 50
  210. MaxCooldown4 = 150
  211. MaxCooldownE = 120
  212.  
  213. Cooldown1 = MaxCooldown1
  214. Cooldown2 = MaxCooldown2
  215. Cooldown3 = MaxCooldown3
  216. Cooldown4 = MaxCooldown4
  217. CooldownE = MaxCooldownE
  218.  
  219. LeftShoulder.Parent = nil
  220. RightShoulder.Parent = nil
  221.  
  222. Animator = Humanoid.Animator
  223. Animate = Character.Animate
  224. Animate.idle.Animation2:Remove()
  225.  
  226. wait(0.1)
  227. local HealthBarGUI = Instance.new("ScreenGui", Player.PlayerGui)
  228. HealthBarGUI.Name = "HealthBarGUI"
  229.  
  230. local HealthBarP1 = Instance.new("Frame", HealthBarGUI)
  231. HealthBarP1.Name = "HealthBarPart1"
  232. HealthBarP1.Size = UDim2.new(0,300,0,40)
  233. HealthBarP1.Position = UDim2.new(0,350,0,550)
  234. HealthBarP1.Style = "RobloxRound"
  235.  
  236. local HealthBarP2 = Instance.new("Frame", HealthBarP1)
  237. HealthBarP2.Name = "HealthBarPart2"
  238. HealthBarP2.Size = UDim2.new(0,285,0,20)
  239. HealthBarP2.Position = UDim2.new(0,0,0,0)
  240.  
  241. local HealthBarText = Instance.new("TextLabel", HealthBarP1)
  242. HealthBarText.Name = "HealthBarText"
  243. HealthBarText.Size = UDim2.new(0,285,0,20)
  244. HealthBarText.Position = UDim2.new(0,0,0,0)
  245. HealthBarText.BackgroundColor3 = Color3.new(0,1,0)
  246. HealthBarText.TextScaled = true
  247. HealthBarText.Text = "Health"
  248. HealthBarText.TextStrokeTransparency = 0
  249. HealthBarText.BackgroundTransparency = 1
  250. HealthBarText.TextStrokeColor3 = Color3.new(1,1,1)
  251. HealthBarText.TextColor3 = Color3.new(0,0,0)
  252. HealthBarText.Font = "SciFi"
  253.  
  254. local ManaBarGUI = Instance.new("ScreenGui", Player.PlayerGui)
  255. ManaBarGUI.Name = "ManaBarGUI"
  256.  
  257. local ManaBarP1 = Instance.new("Frame", ManaBarGUI)
  258. ManaBarP1.Name = "ManaBarPart1"
  259. ManaBarP1.Size = UDim2.new(0,300,0,40)
  260. ManaBarP1.Position = UDim2.new(0,350,0,500)
  261. ManaBarP1.Style = "RobloxRound"
  262.  
  263. local ManaBarP2 = Instance.new("Frame", ManaBarP1)
  264. ManaBarP2.Name = "ManaBarPart2"
  265. ManaBarP2.Size = UDim2.new(0,285,0,20)
  266. ManaBarP2.Position = UDim2.new(0,0,0,0)
  267. ManaBarP2.BackgroundColor3 = BrickColor.new("Dark stone grey").Color
  268.  
  269. local ManaBarText = Instance.new("TextLabel", ManaBarP1)
  270. ManaBarText.Name = "ManaBarText"
  271. ManaBarText.Size = UDim2.new(0,285,0,20)
  272. ManaBarText.Position = UDim2.new(0,0,0,0)
  273. ManaBarText.TextScaled = true
  274. ManaBarText.Text = "Skill"
  275. ManaBarText.BackgroundTransparency = 1
  276. ManaBarText.TextStrokeTransparency = 0
  277. ManaBarText.TextStrokeColor3 = Color3.new(1,1,1)
  278. ManaBarText.TextColor3 = Color3.new(0,0,0)
  279. ManaBarText.Font = "SciFi"
  280.  
  281. local CoolDownGUI = Instance.new("ScreenGui", Player.PlayerGui)
  282. CoolDownGUI.Name = "CoolDownGUI"
  283.  
  284. local CoolDowns = Instance.new("Frame", CoolDownGUI)
  285. CoolDowns.Name = "CoolDowns"
  286. CoolDowns.Size = UDim2.new(0,200,0,200)
  287. CoolDowns.Position = UDim2.new(0.81,0,0.68,0)
  288. CoolDowns.Style = "RobloxRound"
  289.  
  290. local CoolDown1Frame = Instance.new("Frame", CoolDowns)
  291. CoolDown1Frame.Name = "CoolDown1Frame"
  292. CoolDown1Frame.Size = UDim2.new(0,80,0,50)
  293. CoolDown1Frame.Position = UDim2.new(0,0,0,0)
  294. CoolDown1Frame.BackgroundTransparency = 0.5
  295. CoolDown1Frame.BackgroundColor3 = BrickColor.White().Color
  296.  
  297. local CoolDown1Bar = Instance.new("Frame", CoolDown1Frame)
  298. CoolDown1Bar.Name = "CoolDown1Bar"
  299. CoolDown1Bar.Size = UDim2.new(0,80,0,50)
  300. CoolDown1Bar.Position = UDim2.new(0,0,0,0)
  301. CoolDown1Bar.BackgroundColor3 = BrickColor.DarkGray().Color
  302.  
  303. local CoolDown1Text = Instance.new("TextLabel", CoolDown1Frame)
  304. CoolDown1Text.Name = "CoolDown1Text"
  305. CoolDown1Text.Size = UDim2.new(0,80,0,50)
  306. CoolDown1Text.Position = UDim2.new(0,0,0,0)
  307. CoolDown1Text.BackgroundTransparency = 1
  308. CoolDown1Text.TextScaled = true
  309. CoolDown1Text.Text = "Z - Shot combo"
  310. CoolDown1Text.TextStrokeTransparency = 0
  311. CoolDown1Text.TextStrokeColor3 = Color3.new(1,1,1)
  312. CoolDown1Text.TextColor3 = Color3.new(0,0,0)
  313. CoolDown1Text.Font = "SciFi"
  314.  
  315. local CoolDown2Frame = Instance.new("Frame", CoolDowns)
  316. CoolDown2Frame.Name = "CoolDown2Frame"
  317. CoolDown2Frame.Size = UDim2.new(0,80,0,50)
  318. CoolDown2Frame.Position = UDim2.new(0.55,0,0,0)
  319. CoolDown2Frame.BackgroundTransparency = 0.5
  320. CoolDown2Frame.BackgroundColor3 = BrickColor.White().Color
  321.  
  322. local CoolDown2Bar = Instance.new("Frame", CoolDown2Frame)
  323. CoolDown2Bar.Name = "CoolDown2Bar"
  324. CoolDown2Bar.Size = UDim2.new(0,80,0,50)
  325. CoolDown2Bar.Position = UDim2.new(0,0,0,0)
  326. CoolDown2Bar.BackgroundColor3 = BrickColor.DarkGray().Color
  327.  
  328. local CoolDown2Text = Instance.new("TextLabel", CoolDown2Frame)
  329. CoolDown2Text.Name = "CoolDown2Text"
  330. CoolDown2Text.Size = UDim2.new(0,80,0,50)
  331. CoolDown2Text.Position = UDim2.new(0,0,0,0)
  332. CoolDown2Text.BackgroundTransparency = 1
  333. CoolDown2Text.TextScaled = true
  334. CoolDown2Text.Text = "X - Back jump"
  335. CoolDown2Text.TextStrokeTransparency = 0
  336. CoolDown2Text.TextStrokeColor3 = Color3.new(1,1,1)
  337. CoolDown2Text.TextColor3 = Color3.new(0,0,0)
  338. CoolDown2Text.Font = "SciFi"
  339.  
  340. local CoolDown3Frame = Instance.new("Frame", CoolDowns)
  341. CoolDown3Frame.Name = "CoolDown3Frame"
  342. CoolDown3Frame.Size = UDim2.new(0,80,0,50)
  343. CoolDown3Frame.Position = UDim2.new(0,0,0.4,0)
  344. CoolDown3Frame.BackgroundTransparency = 0.5
  345. CoolDown3Frame.BackgroundColor3 = BrickColor.White().Color
  346.  
  347. local CoolDown3Bar = Instance.new("Frame", CoolDown3Frame)
  348. CoolDown3Bar.Name = "CoolDown3Bar"
  349. CoolDown3Bar.Size = UDim2.new(0,80,0,50)
  350. CoolDown3Bar.Position = UDim2.new(0,0,0,0)
  351. CoolDown3Bar.BackgroundColor3 = BrickColor.DarkGray().Color
  352.  
  353. local CoolDown3Text = Instance.new("TextLabel", CoolDown3Frame)
  354. CoolDown3Text.Name = "CoolDown3Text"
  355. CoolDown3Text.Size = UDim2.new(0,80,0,50)
  356. CoolDown3Text.Position = UDim2.new(0,0,0,0)
  357. CoolDown3Text.BackgroundTransparency = 1
  358. CoolDown3Text.TextScaled = true
  359. CoolDown3Text.Text = "C - Lighting shot"
  360. CoolDown3Text.TextStrokeTransparency = 0
  361. CoolDown3Text.TextStrokeColor3 = Color3.new(1,1,1)
  362. CoolDown3Text.TextColor3 = Color3.new(0,0,0)
  363. CoolDown3Text.Font = "SciFi"
  364.  
  365.  
  366. local CoolDown4Frame = Instance.new("Frame", CoolDowns)
  367. CoolDown4Frame.Name = "CoolDown4Frame"
  368. CoolDown4Frame.Size = UDim2.new(0,80,0,50)
  369. CoolDown4Frame.Position = UDim2.new(0.55,0,0.4,0)
  370. CoolDown4Frame.BackgroundTransparency = 0.5
  371. CoolDown4Frame.BackgroundColor3 = BrickColor.White().Color
  372.  
  373. local CoolDown4Bar = Instance.new("Frame", CoolDown4Frame)
  374. CoolDown4Bar.Name = "CoolDown4Bar"
  375. CoolDown4Bar.Size = UDim2.new(0,80,0,50)
  376. CoolDown4Bar.Position = UDim2.new(0,0,0,0)
  377. CoolDown4Bar.BackgroundColor3 = BrickColor.DarkGray().Color
  378.  
  379. local CoolDown4Text = Instance.new("TextLabel", CoolDown4Frame)
  380. CoolDown4Text.Name = "CoolDown4Text"
  381. CoolDown4Text.Size = UDim2.new(0,80,0,50)
  382. CoolDown4Text.Position = UDim2.new(0,0,0,0)
  383. CoolDown4Text.BackgroundTransparency = 1
  384. CoolDown4Text.TextScaled = true
  385. CoolDown4Text.Text = "V - Overshot"
  386. CoolDown4Text.TextStrokeTransparency = 0
  387. CoolDown4Text.TextStrokeColor3 = Color3.new(1,1,1)
  388. CoolDown4Text.TextColor3 = Color3.new(0,0,0)
  389. CoolDown4Text.Font = "SciFi"
  390.  
  391. local CoolDownEFrame = Instance.new("Frame", CoolDowns)
  392. CoolDownEFrame.Name = "CoolDownEFrame"
  393. CoolDownEFrame.Size = UDim2.new(0,180,0,50)
  394. CoolDownEFrame.Position = UDim2.new(0,0,0.74,0)
  395. CoolDownEFrame.BackgroundTransparency = 0.5
  396. CoolDownEFrame.BackgroundColor3 = BrickColor.White().Color
  397.  
  398. local CoolDownEBar = Instance.new("Frame", CoolDownEFrame)
  399. CoolDownEBar.Name = "CoolDownEBar"
  400. CoolDownEBar.Size = UDim2.new(0,180,0,50)
  401. CoolDownEBar.Position = UDim2.new(0,0,0,0)
  402. CoolDownEBar.BackgroundColor3 = BrickColor.DarkGray().Color
  403.  
  404. local CoolDownEText = Instance.new("TextLabel", CoolDownEFrame)
  405. CoolDownEText.Name = "CoolDownEText"
  406. CoolDownEText.Size = UDim2.new(0,180,0,50)
  407. CoolDownEText.Position = UDim2.new(0,0,0,0)
  408. CoolDownEText.BackgroundTransparency = 1
  409. CoolDownEText.TextScaled = true
  410. CoolDownEText.Text = "E - Shoot"
  411. CoolDownEText.TextStrokeTransparency = 0
  412. CoolDownEText.TextStrokeColor3 = Color3.new(1,1,1)
  413. CoolDownEText.TextColor3 = Color3.new(0,0,0)
  414. CoolDownEText.Font = "SciFi"
  415.  
  416.  
  417. WalkSpeed = Humanoid.WalkSpeed
  418. Health = Humanoid.Health
  419. MaxHealth = Humanoid.MaxHealth
  420.  
  421. --------[[ Mesh Ids ]]--------
  422.  
  423. SpikeMeshId = 1033714
  424. SpikeBallId = 9982590
  425. StarMeshId = 45428961
  426. CrystalMeshId = 9756362
  427.  
  428.  
  429. --------[[ Functions ]]--------
  430.  
  431. function NoOutlines(Part)
  432. Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
  433. end
  434.  
  435.  
  436. local CreatePart = function(Parent, Name, Color, Size, Material, Transparency, Shape)
  437.  
  438. local Part = Instance.new("Part", Parent)
  439. Part.Name = Name
  440. Part.BrickColor = BrickColor.new(Color)
  441. Part.Size = Size
  442. Part.Material = Material
  443. Part.Transparency = Transparency
  444. Part.Shape = Shape
  445. Part.CanCollide = false
  446. NoOutlines(Part)
  447.  
  448. return Part
  449.  
  450. end
  451.  
  452. local CreateBlockMesh = function(Parent, Scale)
  453.  
  454.  
  455. local Mesh = Instance.new("BlockMesh", Parent)
  456. Mesh.Scale = Scale
  457.  
  458. return Mesh
  459.  
  460. end
  461.  
  462. local CreateCylinderMesh = function(Parent, Scale)
  463.  
  464.  
  465. local Mesh = Instance.new("CylinderMesh", Parent)
  466. Mesh.Scale = Scale
  467.  
  468. return Mesh
  469.  
  470. end
  471.  
  472. local CreateWedgeMesh = function(Parent, Scale)
  473.  
  474.  
  475. local Mesh = Instance.new("SpecialMesh", Parent)
  476. Mesh.MeshType = "Wedge"
  477. Mesh.Scale = Scale
  478.  
  479. return Mesh
  480.  
  481. end
  482.  
  483. local CreateWeld = function(Parent, Cframe, Cframe2, P1 , P0, Name)
  484.  
  485. local Weld = Instance.new("Weld", Parent)
  486. Weld.Part0 = P0
  487. Weld.Part1 = P1
  488. Weld.Name = Name
  489. Weld.C0 = Cframe
  490. Weld.C1 = Cframe2
  491.  
  492. return Weld
  493.  
  494. end
  495.  
  496. local CreateCrystal = function(Parent, Name, Color, Size, Material, Transparency, Scale)
  497.  
  498.  
  499. local Part = Instance.new("Part", Parent)
  500. Part.Name = Name
  501. Part.BrickColor = BrickColor.new(Color)
  502. Part.Size = Size
  503. Part.Material = Material
  504. Part.Transparency = Transparency
  505. Part.CanCollide = false
  506. NoOutlines(Part)
  507.  
  508. local Mesh = Instance.new("SpecialMesh", Part)
  509. Mesh.MeshId = "http://www.roblox.com/asset?id=" .. CrystalMeshId
  510. Mesh.Scale = Scale
  511.  
  512. return Mesh and Part
  513.  
  514. end
  515.  
  516. local CreateSpike = function(Parent, Name, Color, Size, Material, Transparency, Scale)
  517.  
  518.  
  519. local Part = Instance.new("Part", Parent)
  520. Part.Name = Name
  521. Part.BrickColor = BrickColor.new(Color)
  522. Part.Size = Size
  523. Part.Material = Material
  524. Part.Transparency = Transparency
  525. Part.CanCollide = false
  526. NoOutlines(Part)
  527.  
  528. local Mesh = Instance.new("SpecialMesh", Part)
  529. Mesh.MeshId = "http://www.roblox.com/asset?id=" .. SpikeMeshId
  530. Mesh.Scale = Scale
  531.  
  532. return Mesh and Part
  533.  
  534. end
  535.  
  536. local CreateBlockMeshedPart = function(Parent, Name, Color, Size, Material, Transparency, Scale)
  537.  
  538.  
  539. local Part = Instance.new("Part", Parent)
  540. Part.Name = Name
  541. Part.BrickColor = BrickColor.new(Color)
  542. Part.Size = Size
  543. Part.Material = Material
  544. Part.Transparency = Transparency
  545. Part.CanCollide = false
  546. NoOutlines(Part)
  547.  
  548.  
  549. local Mesh = Instance.new("BlockMesh", Part)
  550. Mesh.Scale = Scale
  551.  
  552. return Mesh and Part
  553.  
  554. end
  555.  
  556.  
  557. local CreateVelocity = function(Parent,Velocity,Force)
  558. local BodyVelocity = Instance.new("BodyVelocity", Parent)
  559. BodyVelocity.Velocity = Velocity
  560. BodyVelocity.MaxForce = Force
  561.  
  562.  
  563.  
  564. return BodyVelocity
  565.  
  566. end
  567.  
  568. local MakeSFX = function(Parent, Id, Volume, Pitch)
  569.  
  570. local SFX = Instance.new("Sound", Parent)
  571. SFX.SoundId = "http://www.roblox.com/asset?id=" .. Id
  572. SFX.Name = "SFX"
  573. SFX:Play()
  574. SFX.Volume = Volume
  575. SFX.Pitch = Pitch
  576. SFX.PlayOnRemove = true
  577. SFX:Remove()
  578.  
  579. end
  580.  
  581.  
  582.  
  583.  
  584. CircleEffect = function(Position, Parent, DX, DY, DZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency)
  585.  
  586. local Part = Instance.new("Part", Parent)
  587. Part.Transparency = Transparency
  588. Part.Name = "CircleEffect"
  589. Part.Size = Vector3.new()
  590. Part.Anchored = true
  591. Part.CanCollide = false
  592. Part.Position = Position
  593. Part.BrickColor = BrickColor.new(Brickcolor)
  594. Part.Material = Material
  595. NoOutlines(Part)
  596.  
  597. local Mesh = Instance.new("SpecialMesh", Part)
  598. Mesh.MeshType = "Sphere"
  599. Mesh.Scale = Vector3.new(DX,DY,DZ)
  600.  
  601. Services.Debris:AddItem(Part, Time)
  602.  
  603.  
  604. table.insert(Effects, {Part, "Circle", Time, SX, SY, SZ})
  605.  
  606. return Part
  607.  
  608. end
  609.  
  610. CylinderEffect = function(Position, Parent, DX, DY, DZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency)
  611.  
  612. local Part = Instance.new("Part", Parent)
  613. Part.Transparency = Transparency
  614. Part.Name = "CylinderEffect"
  615. Part.Size = Vector3.new()
  616. Part.Anchored = true
  617. Part.CanCollide = false
  618. Part.Position = Position
  619. Part.BrickColor = BrickColor.new(Brickcolor)
  620. Part.Material = Material
  621. NoOutlines(Part)
  622.  
  623. local Mesh = Instance.new("SpecialMesh", Part)
  624. Mesh.MeshType = "Cylinder"
  625. Mesh.Scale = Vector3.new(DX,DY,DZ)
  626.  
  627. Services.Debris:AddItem(Part, Time)
  628.  
  629.  
  630. table.insert(Effects, {Part, "Cylinder", Time, SX, SY, SZ})
  631.  
  632.  
  633. end
  634.  
  635. function Lightning(p0,p1,tym,ofs,col,th,tra,last , SX, SY, SZ) -- yea i copy dis, it doenst matter anyways , everyone copy fenrier's thingies y not 1 time?
  636. local magz = (p0 - p1).magnitude local curpos = p0 local trz = {-ofs,ofs}
  637. for i=1,tym do
  638. local li = Instance.new("Part",workspace) li.TopSurface =0 li.BottomSurface = 0 li.Anchored = true li.Transparency = tra or 0.4 li.BrickColor = BrickColor.new(col)
  639. li.formFactor = "Custom" li.CanCollide = false li.Size = Vector3.new(th,th,magz/tym) local ofz = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)])
  640. local Part = li
  641. local Mesh = Instance.new("BlockMesh", Part)
  642. Mesh.Scale = Vector3.new(1, 1, 1)
  643.  
  644. table.insert(Effects, {Part, "Lightning", tym, SX, SY, SZ})
  645. local trolpos = CFrame.new(curpos,p1)*CFrame.new(0,0,magz/tym).p+ofz
  646. if tym == i then
  647. local magz2 = (curpos - p1).magnitude li.Size = Vector3.new(th,th,magz2)
  648. li.CFrame = CFrame.new(curpos,p1)*CFrame.new(0,0,-magz2/2)
  649. else
  650. li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/tym/2)
  651. end
  652. curpos = li.CFrame*CFrame.new(0,0,magz/tym/2).p game.Debris:AddItem(li,last)
  653. end
  654.  
  655.  
  656. end
  657.  
  658.  
  659. BlockEffect = function(Position, Parent, DSX, DSY, DSZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency)
  660.  
  661. local Part = Instance.new("Part", Parent)
  662. Part.Transparency = Transparency
  663. Part.Name = "BlockEffect"
  664. Part.Size = Vector3.new()
  665. Part.Anchored = true
  666. Part.Position = Position
  667. Part.CanCollide = false
  668. Part.BrickColor = BrickColor.new(Brickcolor)
  669. Part.Material = Material
  670. NoOutlines(Part)
  671.  
  672. local Mesh = Instance.new("BlockMesh", Part)
  673. Mesh.Scale = Vector3.new(DSX, DSY, DSZ)
  674.  
  675. Services.Debris:AddItem(Part, Time)
  676.  
  677. table.insert(Effects, {Part, "Block", Time, SX, SY, SZ})
  678.  
  679.  
  680. end
  681.  
  682. WaveEffect = function(Position, Parent, DSX, DSY, DSZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency)
  683.  
  684. local Part = Instance.new("Part", Parent)
  685. Part.Transparency = Transparency
  686. Part.Name = "WaveEffect"
  687. Part.Size = Vector3.new()
  688. Part.Anchored = true
  689. Part.Position = Position
  690. Part.CanCollide = false
  691. Part.BrickColor = BrickColor.new(Brickcolor)
  692. Part.Material = Material
  693. NoOutlines(Part)
  694.  
  695. local Mesh = Instance.new("SpecialMesh", Part)
  696. Mesh.MeshId = "http://www.roblox.com/asset?id=20329976"
  697. Mesh.Scale = Vector3.new(DSX, DSY, DSZ)
  698.  
  699. Services.Debris:AddItem(Part, Time)
  700.  
  701. table.insert(Effects, {Part, "Wave", Time, SX, SY, SZ})
  702.  
  703.  
  704. end
  705.  
  706. function Shot(Part)
  707. local HitPart = CircleEffect(Mouse.Hit.p, Services.Workspace, 1, 1, 1, 1, 1, 1, 10, "Bright yellow", "Neon", 0.5)
  708. CircleEffect(Mouse.Hit.p, Services.Workspace, 1, 1, 1, 0.5, 0.5, 0.5, 10, "CGA brown", "Neon", 0)
  709. CircleEffect(Part.Position, Services.Workspace, 1, 1, 1, 1, 1, 1, 10, "Bright yellow", "Neon", 0.5)
  710. CircleEffect(Part.Position, Services.Workspace, 1, 1, 1, 0.5, 0.5, 0.5, 10, "CGA brown", "Neon", 0)
  711. MakeSFX(Part, 203691885, 1, 1)
  712. ValidateDamage(HitPart, 3, 4, 5, "Ranged", "Penetration", 5)
  713. end
  714.  
  715. function LightShot(Part)
  716. local HitPart = CircleEffect(Mouse.Hit.p, Services.Workspace, 0, 0, 0, 0, 0, 0, 10, "Bright yellow", "Neon", 0)
  717.  
  718.  
  719. Lightning(Part.Position, HitPart.Position, 5, 1, "Bright yellow", 0.05, 0.4, 10,0.01,0.01,0.01)
  720.  
  721. MakeSFX(Part, 203691378, 1, 1)
  722. ValidateDamage(HitPart, 3, 6, 10, "Ranged", "Penetration", 5)
  723. end
  724.  
  725.  
  726. --[[ Ultra Calibers ]]--
  727. Caliber1 = Instance.new("Model", Character)
  728. Caliber1.Name = "Caliber1"
  729.  
  730. local Handle1 = CreatePart(Caliber1, "Handle", "Medium stone grey", Vector3.new(1.139, 0.352, 0.329), "Metal", 0, "Block")
  731. Handle1Mesh = CreateBlockMesh(Handle1, Vector3.new(1, 1, 0.856))
  732. local Part1 = CreatePart(Caliber1, "Part1", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  733. Part1Mesh = CreateBlockMesh(Part1, Vector3.new(0.385, 0.749, 0.856))
  734. local Part2 = CreatePart(Caliber1, "Part2", "Dark stone grey", Vector3.new(1.877, 0.397, 0.329), "Metal", 0, "Block")
  735. Part2Mesh = CreateBlockMesh(Part2, Vector3.new(1, 1, 1.112))
  736. local Part3 = CreatePart(Caliber1, "Part3", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  737. Part3Mesh = CreateBlockMesh(Part3, Vector3.new(0.543, 0.924, 0.856))
  738. local Part4 = CreatePart(Caliber1, "Part4", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  739. Part4Mesh = CreateBlockMesh(Part4, Vector3.new(0.862, 0.541, 0.299))
  740. local Part5 = CreatePart(Caliber1, "Part5", "Dark stone grey", Vector3.new(0.345, 0.329, 0.329), "Metal", 0, "Block")
  741. Part5Mesh = CreateBlockMesh(Part5, Vector3.new(1, 0.986, 0.727))
  742. local Part6 = CreatePart(Caliber1, "Part6", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  743. Part6Mesh = CreateBlockMesh(Part6, Vector3.new(0.541, 0.37, 0.856))
  744. local Part7 = CreatePart(Caliber1, "Part7", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  745. Part7Mesh = CreateBlockMesh(Part7, Vector3.new(0.276, 0.37, 0.856))
  746. local Part8 = CreatePart(Caliber1, "Part8", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  747. Part8Mesh = CreateBlockMesh(Part8, Vector3.new(0.276, 0.37, 0.856))
  748. local Part9 = CreatePart(Caliber1, "Part9", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  749. Part9Mesh = CreateBlockMesh(Part9, Vector3.new(0.276, 0.37, 0.856))
  750. local Part10 = CreatePart(Caliber1, "Part10", "Medium stone grey", Vector3.new(0.357, 0.329, 0.329), "Metal", 0, "Block")
  751. Part10Mesh = CreateBlockMesh(Part10, Vector3.new(1, 0.37, 0.856))
  752. local Part11 = CreatePart(Caliber1, "Part11", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  753. Part11Mesh = CreateBlockMesh(Part11, Vector3.new(0.995, 0.302, 0.699))
  754. local Part12 = CreatePart(Caliber1, "Part12", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  755. Part12Mesh = CreateBlockMesh(Part12, Vector3.new(0.347, 0.37, 0.684))
  756. local Part13 = CreatePart(Caliber1, "Part13", "Medium stone grey", Vector3.new(0.827, 0.352, 0.329), "Metal", 0, "Block")
  757. Part13Mesh = CreateBlockMesh(Part13, Vector3.new(1, 1, 0.573))
  758. local Part14 = CreatePart(Caliber1, "Part14", "Medium stone grey", Vector3.new(0.364, 0.351, 0.329), "Metal", 0, "Block")
  759. Part14Mesh = CreateBlockMesh(Part14, Vector3.new(1, 1, 0.573))
  760. local Part15 = CreatePart(Caliber1, "Part15", "Dark stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  761. Part15Mesh = CreateBlockMesh(Part15, Vector3.new(0.789, 0.272, 0.727))
  762. local Part16 = CreatePart(Caliber1, "Part16", "Medium stone grey", Vector3.new(1.229, 0.618, 0.329), "Metal", 0, "Block")
  763. Part16Mesh = CreateBlockMesh(Part16, Vector3.new(1, 1, 0.856))
  764. local Part17 = CreatePart(Caliber1, "Part17", "Medium stone grey", Vector3.new(0.86, 0.531, 0.329), "Metal", 0, "Block")
  765. Part17Mesh = CreateBlockMesh(Part17, Vector3.new(1, 1, 0.856))
  766. local Part18 = CreatePart(Caliber1, "Part18", "Medium stone grey", Vector3.new(0.414, 0.329, 0.329), "Metal", 0, "Block")
  767. Part18Mesh = CreateBlockMesh(Part18, Vector3.new(1, 0.265, 0.856))
  768. local Part19 = CreatePart(Caliber1, "Part19", "Medium stone grey", Vector3.new(0.528, 0.329, 0.329), "Metal", 0, "Block")
  769. Part19Mesh = CreateBlockMesh(Part19, Vector3.new(1, 0.263, 0.856))
  770. local Part20 = CreatePart(Caliber1, "Part20", "Dark stone grey", Vector3.new(1.173, 0.576, 0.329), "Metal", 0, "Block")
  771. Part20Mesh = CreateBlockMesh(Part20, Vector3.new(1, 1, 0.727))
  772. local Part21 = CreatePart(Caliber1, "Part21", "Really black", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  773. Part21Mesh = CreateBlockMesh(Part21, Vector3.new(0.086, 0.188, 1.121))
  774. local Part22 = CreatePart(Caliber1, "Part22", "Dark stone grey", Vector3.new(0.52, 0.329, 0.329), "Metal", 0, "Block")
  775. Part22Mesh = CreateBlockMesh(Part22, Vector3.new(1, 0.575, 1.112))
  776. local Part23 = CreatePart(Caliber1, "Part23", "Dark stone grey", Vector3.new(0.731, 0.329, 0.329), "Metal", 0, "Block")
  777. Part23Mesh = CreateBlockMesh(Part23, Vector3.new(1, 0.702, 1.112))
  778. local Part24 = CreatePart(Caliber1, "Part24", "Institutional white", Vector3.new(0.369, 0.329, 0.329), "Neon", 0, "Block")
  779. Part24Mesh = CreateBlockMesh(Part24, Vector3.new(1, 0.109, 1.129))
  780. local Part25 = CreatePart(Caliber1, "Part25", "Dark stone grey", Vector3.new(0.366, 0.626, 0.329), "Metal", 0, "Block")
  781. Part25Mesh = CreateWedgeMesh(Part25, Vector3.new(1, 1, 0.169))
  782. local Part26 = CreatePart(Caliber1, "Part26", "Really black", Vector3.new(0.419, 0.329, 0.329), "Metal", 0, "Block")
  783. Part26Mesh = CreateBlockMesh(Part26, Vector3.new(1, 0.188, 1.121))
  784. local Part27 = CreatePart(Caliber1, "Part27", "Dark stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  785. Part27Mesh = CreateBlockMesh(Part27, Vector3.new(0.841, 0.939, 0.442))
  786. local Part28 = CreatePart(Caliber1, "Part28", "Dark stone grey", Vector3.new(0.378, 0.378, 0.329), "Metal", 0, "Block")
  787. Part28Mesh = CreateCylinderMesh(Part28, Vector3.new(1, 1, 0.877))
  788. local Part29 = CreatePart(Caliber1, "Part29", "Really black", Vector3.new(0.378, 0.378, 0.329), "Metal", 0, "Block")
  789. Part29Mesh = CreateCylinderMesh(Part29, Vector3.new(1, 1.01, 0.799))
  790. local Part30 = CreatePart(Caliber1, "Part30", "Really black", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  791. Part30Mesh = CreateBlockMesh(Part30, Vector3.new(0.086, 0.188, 1.121))
  792. local Part31 = CreatePart(Caliber1, "Part31", "Really black", Vector3.new(0.419, 0.329, 0.329), "Metal", 0, "Block")
  793. Part31Mesh = CreateBlockMesh(Part31, Vector3.new(1, 0.188, 1.121))
  794. local Part32 = CreatePart(Caliber1, "Part32", "Dark stone grey", Vector3.new(0.498, 0.329, 0.329), "Metal", 0, "Block")
  795. Part32Mesh = CreateBlockMesh(Part32, Vector3.new(1, 0.563, 1.112))
  796. local Part33 = CreatePart(Caliber1, "Part33", "Institutional white", Vector3.new(0.369, 0.329, 0.329), "Neon", 0, "Block")
  797. Part33Mesh = CreateBlockMesh(Part33, Vector3.new(1, 0.109, 1.129))
  798. local Part34 = CreatePart(Caliber1, "Part34", "Really black", Vector3.new(0.419, 0.329, 0.329), "Metal", 0, "Block")
  799. Part34Mesh = CreateBlockMesh(Part34, Vector3.new(1, 0.188, 1.121))
  800. local Part35 = CreatePart(Caliber1, "Part35", "Really black", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  801. Part35Mesh = CreateBlockMesh(Part35, Vector3.new(0.086, 0.188, 1.121))
  802. local Part36 = CreatePart(Caliber1, "Part36", "Really black", Vector3.new(0.419, 0.329, 0.329), "Metal", 0, "Block")
  803. Part36Mesh = CreateBlockMesh(Part36, Vector3.new(1, 0.188, 1.121))
  804. local Part37 = CreatePart(Caliber1, "Part37", "Dark stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  805. Part37Mesh = CreateBlockMesh(Part37, Vector3.new(0.535, 0.787, 1.112))
  806. local Part38 = CreatePart(Caliber1, "Part38", "Dark stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  807. Part38Mesh = CreateBlockMesh(Part38, Vector3.new(0.086, 0.188, 1.121))
  808. local Part39 = CreatePart(Caliber1, "Part39", "Institutional white", Vector3.new(0.369, 0.329, 0.329), "Neon", 0, "Block")
  809. Part39Mesh = CreateBlockMesh(Part39, Vector3.new(1, 0.109, 1.129))
  810. local Part40 = CreatePart(Caliber1, "Part40", "Institutional white", Vector3.new(0.369, 0.329, 0.329), "Neon", 0, "Block")
  811. Part40Mesh = CreateBlockMesh(Part40, Vector3.new(1, 0.109, 1.129))
  812.  
  813. Barrel1 = Part29
  814.  
  815. Handle1Weld = CreateWeld(Handle1, CFrame.new(0,-1,0) * CFrame.Angles(0,1.57,0), CFrame.new(0,0,0), Handle1, Right_Arm, "HandleToRightArm")
  816. Part1Weld = CreateWeld(Part1, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.60303497, 1.47352028, -3.81469727e-006, 0.965926528, -0.25881663, 0, 0.25881663, 0.965926528, 0, 0, 0, 1), Part1, Handle1, "Part1ToHandle")
  817. Part2Weld = CreateWeld(Part2, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.41836548, -0.489547729, 0, 0.499999017, -0.866026163, 0, 0.866026163, 0.499999017, 0, 0, 0, 1), Part2, Handle1, "Part2ToHandle")
  818. Part3Weld = CreateWeld(Part3, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.49446106, -0.284858704, 0, 0.866026163, 0.499999017, 0, -0.499999017, 0.866026163, 0, 0, 0, 1), Part3, Handle1, "Part3ToHandle")
  819. Part4Weld = CreateWeld(Part4, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.00104904175, 0.495059967, 0.486030579, 0, 0, -1, 0.866026163, 0.499999017, 0, 0.499999017, -0.866026163, 0), Part4, Handle1, "Part4ToHandle")
  820. Part5Weld = CreateWeld(Part5, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.903556824, -0.853889465, -0.00703048706, -0.25881663, -0.965926528, -0, 0.965926528, -0.25881663, 0, 0, 0, 1), Part5, Handle1, "Part5ToHandle")
  821. Part6Weld = CreateWeld(Part6, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.261646271, 0.554660797, 3.81469727e-006, 0.99708432, 0.0763106197, 0, -0.0763106197, 0.99708432, 0, 0, 0, 1), Part6, Handle1, "Part6ToHandle")
  822. Part7Weld = CreateWeld(Part7, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.23777771, 0.51366806, 0, 0.994569063, -0.104082122, 0, 0.104082122, 0.994569063, 0, 0, 0, 1), Part7, Handle1, "Part7ToHandle")
  823. Part8Weld = CreateWeld(Part8, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.276947021, 0.451875687, 0, 0.942421615, -0.334427655, 0, 0.334427595, 0.942421615, 0, 0, 0, 1), Part8, Handle1, "Part8ToHandle")
  824. Part9Weld = CreateWeld(Part9, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.327682495, 0.358730316, 0, 0.801670432, -0.597766697, 0, 0.597766697, 0.801670432, 0, 0, 0, 1), Part9, Handle1, "Part9ToHandle")
  825. Part10Weld = CreateWeld(Part10, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.280105591, 0.15290451, 0, 0.381983012, -0.924169481, 0, 0.924169481, 0.381983012, 0, 0, 0, 1), Part10, Handle1, "Part10ToHandle")
  826. Part11Weld = CreateWeld(Part11, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.202186584, 0.23966217, -0.000347137451, 0.381983012, -0.924169481, 0, 0.924169481, 0.381983012, 0, 0, 0, 1), Part11, Handle1, "Part11ToHandle")
  827. Part12Weld = CreateWeld(Part12, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.110679626, 0.400859833, 3.81469727e-006, 0.923589706, -0.383382916, 0, 0.383382916, 0.923589706, 0, 0, 0, 1), Part12, Handle1, "Part12ToHandle")
  828. Part13Weld = CreateWeld(Part13, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.151382446, -0.507144928, 0.00210952759, 0.491765201, -0.870728254, 0, 0.870728254, 0.491765201, 0, 0, 0, 1), Part13, Handle1, "Part13ToHandle")
  829. Part14Weld = CreateWeld(Part14, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.20772171, 0.338977814, 0.00210952759, -0.00877001509, 0.999961674, 0, -0.999961674, -0.00877001509, 0, 0, 0, 1), Part14, Handle1, "Part14ToHandle")
  830. Part15Weld = CreateWeld(Part15, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.632392883, -0.913993835, -0.00703048706, -0.529292822, -0.848439395, -0, 0.848439395, -0.529292822, 0, 0, 0, 1), Part15, Handle1, "Part15ToHandle")
  831. Part16Weld = CreateWeld(Part16, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.6075592, -0.270458221, 0, 0.499999017, -0.866026163, 0, 0.866026163, 0.499999017, 0, 0, 0, 1), Part16, Handle1, "Part16ToHandle")
  832. Part17Weld = CreateWeld(Part17, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.566223145, -0.314067841, 0, 0.499999017, -0.866026163, 0, 0.866026163, 0.499999017, 0, 0, 0, 1), Part17, Handle1, "Part17ToHandle")
  833. Part18Weld = CreateWeld(Part18, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.323228836, -0.883232117, 0, -0.499998778, -0.866026282, -0, 0.866026282, -0.499998778, 0, 0, 0, 1), Part18, Handle1, "Part18ToHandle")
  834. Part19Weld = CreateWeld(Part19, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.314693451, 2.26445007, -3.81469727e-006, 0.866026163, 0.499999017, 0, -0.499999017, 0.866026163, 0, 0, 0, 1), Part19, Handle1, "Part19ToHandle")
  835. Part20Weld = CreateWeld(Part20, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.60757446, -0.236690521, -0.00703430176, 0.499999017, -0.866026163, 0, 0.866026163, 0.499999017, 0, 0, 0, 1), Part20, Handle1, "Part20ToHandle")
  836. Part21Weld = CreateWeld(Part21, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.08020401, 2.12657166, -3.81469727e-006, 0.866026163, 0.499999017, 0, -0.499999017, 0.866026163, 0, 0, 0, 1), Part21, Handle1, "Part21ToHandle")
  837. Part22Weld = CreateWeld(Part22, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.574867249, 0.163562775, 0, 1.00000024, 0, 0, 0, 1.00000024, 0, 0, 0, 1), Part22, Handle1, "Part22ToHandle")
  838. Part23Weld = CreateWeld(Part23, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.99020386, -0.177051544, 0, 0.499999017, -0.866026163, 0, 0.866026163, 0.499999017, 0, 0, 0, 1), Part23, Handle1, "Part23ToHandle")
  839. Part24Weld = CreateWeld(Part24, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.201562881, 1.91455841, 0, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part24, Handle1, "Part24ToHandle")
  840. Part25Weld = CreateWeld(Part25, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000183105469, 0.375644684, 2.38105011, 0, 0, -1, -0.866346598, -0.49944365, 0, -0.49944365, 0.866346598, 0), Part25, Handle1, "Part25ToHandle")
  841. Part26Weld = CreateWeld(Part26, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.2569561, 2.07778931, -3.81469727e-006, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part26, Handle1, "Part26ToHandle")
  842. Part27Weld = CreateWeld(Part27, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.99460602, 0.744857788, -0.00316238403, 0.927193999, -0.374582142, 0, 0.374582142, 0.927193999, 0, 0, 0, 1), Part27, Handle1, "Part27ToHandle")
  843. Part28Weld = CreateWeld(Part28, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.485691071, 2.30821228, -0.00871658325, -0.866026163, -0.499999017, -0, -0.499999017, 0.866026163, 0, 0, 0, -1), Part28, Handle1, "Part28ToHandle")
  844. Part29Weld = CreateWeld(Part29, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.486751556, 2.30821991, -0.00660705566, -0.866026163, -0.499999017, -0, -0.499999017, 0.866026163, 0, 0, 0, -1), Part29, Handle1, "Part29ToHandle")
  845. Part30Weld = CreateWeld(Part30, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.0759849548, 1.79244995, 0, 0.866026163, 0.499999017, 0, -0.499999017, 0.866026163, 0, 0, 0, 1), Part30, Handle1, "Part30ToHandle")
  846. Part31Weld = CreateWeld(Part31, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.296571732, 2.22372437, -3.81469727e-006, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part31, Handle1, "Part31ToHandle")
  847. Part32Weld = CreateWeld(Part32, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.112157822, -1.67666626, 0, -0.707104385, -0.707109571, -0, 0.707109571, -0.707104385, 0, 0, 0, 1), Part32, Handle1, "Part32ToHandle")
  848. Part33Weld = CreateWeld(Part33, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.246152878, 2.07009888, -3.81469727e-006, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part33, Handle1, "Part33ToHandle")
  849. Part34Weld = CreateWeld(Part34, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.174539566, 1.7539978, 0, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part34, Handle1, "Part34ToHandle")
  850. Part35Weld = CreateWeld(Part35, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.0797309875, 2.27779388, -3.81469727e-006, 0.866026163, 0.499999017, 0, -0.499999017, 0.866026163, 0, 0, 0, 1), Part35, Handle1, "Part35ToHandle")
  851. Part36Weld = CreateWeld(Part36, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.217325211, 1.92167664, 0, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part36, Handle1, "Part36ToHandle")
  852. Part37Weld = CreateWeld(Part37, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.0207366943, 0.521255493, 3.81469727e-006, 0.405499339, 0.914095461, 0, -0.914095461, 0.405499339, 0, 0, 0, 1), Part37, Handle1, "Part37ToHandle")
  853. Part38Weld = CreateWeld(Part38, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.0781059265, 1.96547699, 0, 0.866026163, 0.499999017, 0, -0.499999017, 0.866026163, 0, 0, 0, 1), Part38, Handle1, "Part38ToHandle")
  854. Part39Weld = CreateWeld(Part39, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.2856884, 2.21749115, -3.81469727e-006, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part39, Handle1, "Part39ToHandle")
  855. Part40Weld = CreateWeld(Part40, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.157697678, 1.74642944, 0, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part40, Handle1, "Part40ToHandle")
  856.  
  857. Caliber2 = Instance.new("Model", Character)
  858. Caliber2.Name = "Caliber2"
  859.  
  860. local Handle2 = CreatePart(Caliber2, "Handle", "Medium stone grey", Vector3.new(1.139, 0.352, 0.329), "Metal", 0, "Block")
  861. Handle2Mesh = CreateBlockMesh(Handle2, Vector3.new(1, 1, 0.856))
  862. local Part1 = CreatePart(Caliber2, "Part1", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  863. Part1Mesh = CreateBlockMesh(Part1, Vector3.new(0.385, 0.749, 0.856))
  864. local Part2 = CreatePart(Caliber2, "Part2", "Dark stone grey", Vector3.new(1.877, 0.397, 0.329), "Metal", 0, "Block")
  865. Part2Mesh = CreateBlockMesh(Part2, Vector3.new(1, 1, 1.112))
  866. local Part3 = CreatePart(Caliber2, "Part3", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  867. Part3Mesh = CreateBlockMesh(Part3, Vector3.new(0.543, 0.924, 0.856))
  868. local Part4 = CreatePart(Caliber2, "Part4", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  869. Part4Mesh = CreateBlockMesh(Part4, Vector3.new(0.862, 0.541, 0.299))
  870. local Part5 = CreatePart(Caliber2, "Part5", "Dark stone grey", Vector3.new(0.345, 0.329, 0.329), "Metal", 0, "Block")
  871. Part5Mesh = CreateBlockMesh(Part5, Vector3.new(1, 0.986, 0.727))
  872. local Part6 = CreatePart(Caliber2, "Part6", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  873. Part6Mesh = CreateBlockMesh(Part6, Vector3.new(0.541, 0.37, 0.856))
  874. local Part7 = CreatePart(Caliber2, "Part7", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  875. Part7Mesh = CreateBlockMesh(Part7, Vector3.new(0.276, 0.37, 0.856))
  876. local Part8 = CreatePart(Caliber2, "Part8", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  877. Part8Mesh = CreateBlockMesh(Part8, Vector3.new(0.276, 0.37, 0.856))
  878. local Part9 = CreatePart(Caliber2, "Part9", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  879. Part9Mesh = CreateBlockMesh(Part9, Vector3.new(0.276, 0.37, 0.856))
  880. local Part10 = CreatePart(Caliber2, "Part10", "Medium stone grey", Vector3.new(0.357, 0.329, 0.329), "Metal", 0, "Block")
  881. Part10Mesh = CreateBlockMesh(Part10, Vector3.new(1, 0.37, 0.856))
  882. local Part11 = CreatePart(Caliber2, "Part11", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  883. Part11Mesh = CreateBlockMesh(Part11, Vector3.new(0.995, 0.302, 0.699))
  884. local Part12 = CreatePart(Caliber2, "Part12", "Medium stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  885. Part12Mesh = CreateBlockMesh(Part12, Vector3.new(0.347, 0.37, 0.684))
  886. local Part13 = CreatePart(Caliber2, "Part13", "Medium stone grey", Vector3.new(0.827, 0.352, 0.329), "Metal", 0, "Block")
  887. Part13Mesh = CreateBlockMesh(Part13, Vector3.new(1, 1, 0.573))
  888. local Part14 = CreatePart(Caliber2, "Part14", "Medium stone grey", Vector3.new(0.364, 0.351, 0.329), "Metal", 0, "Block")
  889. Part14Mesh = CreateBlockMesh(Part14, Vector3.new(1, 1, 0.573))
  890. local Part15 = CreatePart(Caliber2, "Part15", "Dark stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  891. Part15Mesh = CreateBlockMesh(Part15, Vector3.new(0.789, 0.272, 0.727))
  892. local Part16 = CreatePart(Caliber2, "Part16", "Medium stone grey", Vector3.new(1.229, 0.618, 0.329), "Metal", 0, "Block")
  893. Part16Mesh = CreateBlockMesh(Part16, Vector3.new(1, 1, 0.856))
  894. local Part17 = CreatePart(Caliber2, "Part17", "Medium stone grey", Vector3.new(0.86, 0.531, 0.329), "Metal", 0, "Block")
  895. Part17Mesh = CreateBlockMesh(Part17, Vector3.new(1, 1, 0.856))
  896. local Part18 = CreatePart(Caliber2, "Part18", "Medium stone grey", Vector3.new(0.414, 0.329, 0.329), "Metal", 0, "Block")
  897. Part18Mesh = CreateBlockMesh(Part18, Vector3.new(1, 0.265, 0.856))
  898. local Part19 = CreatePart(Caliber2, "Part19", "Medium stone grey", Vector3.new(0.528, 0.329, 0.329), "Metal", 0, "Block")
  899. Part19Mesh = CreateBlockMesh(Part19, Vector3.new(1, 0.263, 0.856))
  900. local Part20 = CreatePart(Caliber2, "Part20", "Dark stone grey", Vector3.new(1.173, 0.576, 0.329), "Metal", 0, "Block")
  901. Part20Mesh = CreateBlockMesh(Part20, Vector3.new(1, 1, 0.727))
  902. local Part21 = CreatePart(Caliber2, "Part21", "Really black", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  903. Part21Mesh = CreateBlockMesh(Part21, Vector3.new(0.086, 0.188, 1.121))
  904. local Part22 = CreatePart(Caliber2, "Part22", "Dark stone grey", Vector3.new(0.52, 0.329, 0.329), "Metal", 0, "Block")
  905. Part22Mesh = CreateBlockMesh(Part22, Vector3.new(1, 0.575, 1.112))
  906. local Part23 = CreatePart(Caliber2, "Part23", "Dark stone grey", Vector3.new(0.731, 0.329, 0.329), "Metal", 0, "Block")
  907. Part23Mesh = CreateBlockMesh(Part23, Vector3.new(1, 0.702, 1.112))
  908. local Part24 = CreatePart(Caliber2, "Part24", "Institutional white", Vector3.new(0.369, 0.329, 0.329), "Neon", 0, "Block")
  909. Part24Mesh = CreateBlockMesh(Part24, Vector3.new(1, 0.109, 1.129))
  910. local Part25 = CreatePart(Caliber2, "Part25", "Dark stone grey", Vector3.new(0.366, 0.626, 0.329), "Metal", 0, "Block")
  911. Part25Mesh = CreateWedgeMesh(Part25, Vector3.new(1, 1, 0.169))
  912. local Part26 = CreatePart(Caliber2, "Part26", "Really black", Vector3.new(0.419, 0.329, 0.329), "Metal", 0, "Block")
  913. Part26Mesh = CreateBlockMesh(Part26, Vector3.new(1, 0.188, 1.121))
  914. local Part27 = CreatePart(Caliber2, "Part27", "Dark stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  915. Part27Mesh = CreateBlockMesh(Part27, Vector3.new(0.841, 0.939, 0.442))
  916. local Part28 = CreatePart(Caliber2, "Part28", "Dark stone grey", Vector3.new(0.378, 0.378, 0.329), "Metal", 0, "Block")
  917. Part28Mesh = CreateCylinderMesh(Part28, Vector3.new(1, 1, 0.877))
  918. local Part29 = CreatePart(Caliber2, "Part29", "Really black", Vector3.new(0.378, 0.378, 0.329), "Metal", 0, "Block")
  919. Part29Mesh = CreateCylinderMesh(Part29, Vector3.new(1, 1.01, 0.799))
  920. local Part30 = CreatePart(Caliber2, "Part30", "Really black", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  921. Part30Mesh = CreateBlockMesh(Part30, Vector3.new(0.086, 0.188, 1.121))
  922. local Part31 = CreatePart(Caliber2, "Part31", "Really black", Vector3.new(0.419, 0.329, 0.329), "Metal", 0, "Block")
  923. Part31Mesh = CreateBlockMesh(Part31, Vector3.new(1, 0.188, 1.121))
  924. local Part32 = CreatePart(Caliber2, "Part32", "Dark stone grey", Vector3.new(0.498, 0.329, 0.329), "Metal", 0, "Block")
  925. Part32Mesh = CreateBlockMesh(Part32, Vector3.new(1, 0.563, 1.112))
  926. local Part33 = CreatePart(Caliber2, "Part33", "Institutional white", Vector3.new(0.369, 0.329, 0.329), "Neon", 0, "Block")
  927. Part33Mesh = CreateBlockMesh(Part33, Vector3.new(1, 0.109, 1.129))
  928. local Part34 = CreatePart(Caliber2, "Part34", "Really black", Vector3.new(0.419, 0.329, 0.329), "Metal", 0, "Block")
  929. Part34Mesh = CreateBlockMesh(Part34, Vector3.new(1, 0.188, 1.121))
  930. local Part35 = CreatePart(Caliber2, "Part35", "Really black", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  931. Part35Mesh = CreateBlockMesh(Part35, Vector3.new(0.086, 0.188, 1.121))
  932. local Part36 = CreatePart(Caliber2, "Part36", "Really black", Vector3.new(0.419, 0.329, 0.329), "Metal", 0, "Block")
  933. Part36Mesh = CreateBlockMesh(Part36, Vector3.new(1, 0.188, 1.121))
  934. local Part37 = CreatePart(Caliber2, "Part37", "Dark stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  935. Part37Mesh = CreateBlockMesh(Part37, Vector3.new(0.535, 0.787, 1.112))
  936. local Part38 = CreatePart(Caliber2, "Part38", "Dark stone grey", Vector3.new(0.329, 0.329, 0.329), "Metal", 0, "Block")
  937. Part38Mesh = CreateBlockMesh(Part38, Vector3.new(0.086, 0.188, 1.121))
  938. local Part39 = CreatePart(Caliber2, "Part39", "Institutional white", Vector3.new(0.369, 0.329, 0.329), "Neon", 0, "Block")
  939. Part39Mesh = CreateBlockMesh(Part39, Vector3.new(1, 0.109, 1.129))
  940. local Part40 = CreatePart(Caliber2, "Part40", "Institutional white", Vector3.new(0.369, 0.329, 0.329), "Neon", 0, "Block")
  941. Part40Mesh = CreateBlockMesh(Part40, Vector3.new(1, 0.109, 1.129))
  942.  
  943. Handle2Weld = CreateWeld(Handle2, CFrame.new(0,-1,0) * CFrame.Angles(0,1.57,0), CFrame.new(0,0,0), Handle2, Left_Arm, "HandleToLeftArm")
  944. Part1Weld = CreateWeld(Part1, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.60303497, 1.47352028, -3.81469727e-006, 0.965926528, -0.25881663, 0, 0.25881663, 0.965926528, 0, 0, 0, 1), Part1, Handle2, "Part1ToHandle")
  945. Part2Weld = CreateWeld(Part2, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.41836548, -0.489547729, 0, 0.499999017, -0.866026163, 0, 0.866026163, 0.499999017, 0, 0, 0, 1), Part2, Handle2, "Part2ToHandle")
  946. Part3Weld = CreateWeld(Part3, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.49446106, -0.284858704, 0, 0.866026163, 0.499999017, 0, -0.499999017, 0.866026163, 0, 0, 0, 1), Part3, Handle2, "Part3ToHandle")
  947. Part4Weld = CreateWeld(Part4, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.00104904175, 0.495059967, 0.486030579, 0, 0, -1, 0.866026163, 0.499999017, 0, 0.499999017, -0.866026163, 0), Part4, Handle2, "Part4ToHandle")
  948. Part5Weld = CreateWeld(Part5, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.903556824, -0.853889465, -0.00703048706, -0.25881663, -0.965926528, -0, 0.965926528, -0.25881663, 0, 0, 0, 1), Part5, Handle2, "Part5ToHandle")
  949. Part6Weld = CreateWeld(Part6, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.261646271, 0.554660797, 3.81469727e-006, 0.99708432, 0.0763106197, 0, -0.0763106197, 0.99708432, 0, 0, 0, 1), Part6, Handle2, "Part6ToHandle")
  950. Part7Weld = CreateWeld(Part7, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.23777771, 0.51366806, 0, 0.994569063, -0.104082122, 0, 0.104082122, 0.994569063, 0, 0, 0, 1), Part7, Handle2, "Part7ToHandle")
  951. Part8Weld = CreateWeld(Part8, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.276947021, 0.451875687, 0, 0.942421615, -0.334427655, 0, 0.334427595, 0.942421615, 0, 0, 0, 1), Part8, Handle2, "Part8ToHandle")
  952. Part9Weld = CreateWeld(Part9, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.327682495, 0.358730316, 0, 0.801670432, -0.597766697, 0, 0.597766697, 0.801670432, 0, 0, 0, 1), Part9, Handle2, "Part9ToHandle")
  953. Part10Weld = CreateWeld(Part10, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.280105591, 0.15290451, 0, 0.381983012, -0.924169481, 0, 0.924169481, 0.381983012, 0, 0, 0, 1), Part10, Handle2, "Part10ToHandle")
  954. Part11Weld = CreateWeld(Part11, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.202186584, 0.23966217, -0.000347137451, 0.381983012, -0.924169481, 0, 0.924169481, 0.381983012, 0, 0, 0, 1), Part11, Handle2, "Part11ToHandle")
  955. Part12Weld = CreateWeld(Part12, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.110679626, 0.400859833, 3.81469727e-006, 0.923589706, -0.383382916, 0, 0.383382916, 0.923589706, 0, 0, 0, 1), Part12, Handle2, "Part12ToHandle")
  956. Part13Weld = CreateWeld(Part13, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.151382446, -0.507144928, 0.00210952759, 0.491765201, -0.870728254, 0, 0.870728254, 0.491765201, 0, 0, 0, 1), Part13, Handle2, "Part13ToHandle")
  957. Part14Weld = CreateWeld(Part14, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.20772171, 0.338977814, 0.00210952759, -0.00877001509, 0.999961674, 0, -0.999961674, -0.00877001509, 0, 0, 0, 1), Part14, Handle2, "Part14ToHandle")
  958. Part15Weld = CreateWeld(Part15, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.632392883, -0.913993835, -0.00703048706, -0.529292822, -0.848439395, -0, 0.848439395, -0.529292822, 0, 0, 0, 1), Part15, Handle2, "Part15ToHandle")
  959. Part16Weld = CreateWeld(Part16, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.6075592, -0.270458221, 0, 0.499999017, -0.866026163, 0, 0.866026163, 0.499999017, 0, 0, 0, 1), Part16, Handle2, "Part16ToHandle")
  960. Part17Weld = CreateWeld(Part17, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.566223145, -0.314067841, 0, 0.499999017, -0.866026163, 0, 0.866026163, 0.499999017, 0, 0, 0, 1), Part17, Handle2, "Part17ToHandle")
  961. Part18Weld = CreateWeld(Part18, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.323228836, -0.883232117, 0, -0.499998778, -0.866026282, -0, 0.866026282, -0.499998778, 0, 0, 0, 1), Part18, Handle2, "Part18ToHandle")
  962. Part19Weld = CreateWeld(Part19, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.314693451, 2.26445007, -3.81469727e-006, 0.866026163, 0.499999017, 0, -0.499999017, 0.866026163, 0, 0, 0, 1), Part19, Handle2, "Part19ToHandle")
  963. Part20Weld = CreateWeld(Part20, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.60757446, -0.236690521, -0.00703430176, 0.499999017, -0.866026163, 0, 0.866026163, 0.499999017, 0, 0, 0, 1), Part20, Handle2, "Part20ToHandle")
  964. Part21Weld = CreateWeld(Part21, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.08020401, 2.12657166, -3.81469727e-006, 0.866026163, 0.499999017, 0, -0.499999017, 0.866026163, 0, 0, 0, 1), Part21, Handle2, "Part21ToHandle")
  965. Part22Weld = CreateWeld(Part22, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.574867249, 0.163562775, 0, 1.00000024, 0, 0, 0, 1.00000024, 0, 0, 0, 1), Part22, Handle2, "Part22ToHandle")
  966. Part23Weld = CreateWeld(Part23, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.99020386, -0.177051544, 0, 0.499999017, -0.866026163, 0, 0.866026163, 0.499999017, 0, 0, 0, 1), Part23, Handle2, "Part23ToHandle")
  967. Part24Weld = CreateWeld(Part24, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.201562881, 1.91455841, 0, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part24, Handle2, "Part24ToHandle")
  968. Part25Weld = CreateWeld(Part25, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000183105469, 0.375644684, 2.38105011, 0, 0, -1, -0.866346598, -0.49944365, 0, -0.49944365, 0.866346598, 0), Part25, Handle2, "Part25ToHandle")
  969. Part26Weld = CreateWeld(Part26, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.2569561, 2.07778931, -3.81469727e-006, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part26, Handle2, "Part26ToHandle")
  970. Part27Weld = CreateWeld(Part27, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.99460602, 0.744857788, -0.00316238403, 0.927193999, -0.374582142, 0, 0.374582142, 0.927193999, 0, 0, 0, 1), Part27, Handle2, "Part27ToHandle")
  971. Part28Weld = CreateWeld(Part28, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.485691071, 2.30821228, -0.00871658325, -0.866026163, -0.499999017, -0, -0.499999017, 0.866026163, 0, 0, 0, -1), Part28, Handle2, "Part28ToHandle")
  972. Part29Weld = CreateWeld(Part29, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.486751556, 2.30821991, -0.00660705566, -0.866026163, -0.499999017, -0, -0.499999017, 0.866026163, 0, 0, 0, -1), Part29, Handle2, "Part29ToHandle")
  973. Part30Weld = CreateWeld(Part30, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.0759849548, 1.79244995, 0, 0.866026163, 0.499999017, 0, -0.499999017, 0.866026163, 0, 0, 0, 1), Part30, Handle2, "Part30ToHandle")
  974. Part31Weld = CreateWeld(Part31, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.296571732, 2.22372437, -3.81469727e-006, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part31, Handle2, "Part31ToHandle")
  975. Part32Weld = CreateWeld(Part32, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.112157822, -1.67666626, 0, -0.707104385, -0.707109571, -0, 0.707109571, -0.707104385, 0, 0, 0, 1), Part32, Handle2, "Part32ToHandle")
  976. Part33Weld = CreateWeld(Part33, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.246152878, 2.07009888, -3.81469727e-006, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part33, Handle2, "Part33ToHandle")
  977. Part34Weld = CreateWeld(Part34, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.174539566, 1.7539978, 0, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part34, Handle2, "Part34ToHandle")
  978. Part35Weld = CreateWeld(Part35, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.0797309875, 2.27779388, -3.81469727e-006, 0.866026163, 0.499999017, 0, -0.499999017, 0.866026163, 0, 0, 0, 1), Part35, Handle2, "Part35ToHandle")
  979. Part36Weld = CreateWeld(Part36, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.217325211, 1.92167664, 0, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part36, Handle2, "Part36ToHandle")
  980. Part37Weld = CreateWeld(Part37, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.0207366943, 0.521255493, 3.81469727e-006, 0.405499339, 0.914095461, 0, -0.914095461, 0.405499339, 0, 0, 0, 1), Part37, Handle2, "Part37ToHandle")
  981. Part38Weld = CreateWeld(Part38, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.0781059265, 1.96547699, 0, 0.866026163, 0.499999017, 0, -0.499999017, 0.866026163, 0, 0, 0, 1), Part38, Handle2, "Part38ToHandle")
  982. Part39Weld = CreateWeld(Part39, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.2856884, 2.21749115, -3.81469727e-006, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part39, Handle2, "Part39ToHandle")
  983. Part40Weld = CreateWeld(Part40, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.157697678, 1.74642944, 0, 0.707104385, 0.707109571, 0, -0.707109571, 0.707104385, 0, 0, 0, 1), Part40, Handle2, "Part40ToHandle")
  984.  
  985. Barrel2 = Part29
  986. --[[ Damage function ]]--
  987.  
  988. function DamageFunction(Hit, Part, Type, HitSFX, Knockback, Min, Max)
  989.  
  990. local HitHumanoid = Hit.Parent.Humanoid
  991.  
  992.  
  993. local Damage = math.random(Min, Max)
  994.  
  995.  
  996. coroutine.resume(coroutine.create(function()
  997. HitHumanoid:TakeDamage(Damage)
  998. end))
  999.  
  1000. if Type == "Normal" then
  1001.  
  1002. local Push = CreateVelocity(Hit.Parent.Torso, Torso.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
  1003. Services.Debris:AddItem(Push, 0)
  1004. Display(Hit.Parent, Damage)
  1005.  
  1006. elseif Type == "Ranged" then
  1007. local Push = CreateVelocity(Hit.Parent.Torso, Part.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
  1008. Services.Debris:AddItem(Push, 0)
  1009. Display(Hit.Parent, Damage)
  1010.  
  1011. elseif Type == "Knockdown" then
  1012.  
  1013.  
  1014. local Push = CreateVelocity(Hit.Parent.Torso, Part.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
  1015. Display(Hit.Parent, Damage)
  1016. Services.Debris:AddItem(Push, 0.3)
  1017.  
  1018. coroutine.resume(coroutine.create(function()
  1019.  
  1020. HitHumanoid.PlatformStand = true
  1021. wait(1)
  1022. HitHumanoid.PlatformStand = false
  1023.  
  1024.  
  1025. end))
  1026. end
  1027.  
  1028. if HitSFX == "Penetration" then
  1029.  
  1030. MakeSFX(Hit, 199149269, 1 , 1)
  1031.  
  1032. elseif HitSFX == "Punch" then
  1033.  
  1034. MakeSFX(Hit, 278062209, 1 , 1)
  1035.  
  1036.  
  1037.  
  1038.  
  1039. end
  1040. end
  1041.  
  1042. function Display(HitCharacter, DisplayTxt)
  1043. if HitCharacter:FindFirstChild("Head") then
  1044. local DamageShowingPart = CreatePart(Services.Workspace, "ShowDamage", "Crimson", Vector3.new(0.8,0.8,0.8), "Neon", 1, "Block")
  1045. DamageShowingPart.Position = HitCharacter.Head.Position + Vector3.new(math.random(-5,5),2,math.random(-5,5))
  1046.  
  1047.  
  1048. local DisplayGui = Instance.new("BillboardGui", DamageShowingPart)
  1049. DisplayGui.Name = "Damage"
  1050. DisplayGui.AlwaysOnTop = true
  1051. DisplayGui.Size = UDim2.new(5, 0, 5, 0)
  1052.  
  1053. local DisplayNumber = Instance.new("TextLabel", DisplayGui)
  1054. DisplayNumber.Size = UDim2.new(1,0,1,0)
  1055. DisplayNumber.TextStrokeColor3 = BrickColor.White().Color
  1056. DisplayNumber.TextColor3 = BrickColor.Black().Color
  1057. DisplayNumber.TextStrokeTransparency = 0
  1058. DisplayNumber.BackgroundTransparency = 1
  1059. DisplayNumber.Font = "SciFi"
  1060. DisplayNumber.TextScaled = true
  1061. DisplayNumber.Text = DisplayTxt
  1062.  
  1063. if string.sub((DisplayTxt),1,1) ~= "+" then
  1064.  
  1065. if DisplayTxt > 19 then
  1066.  
  1067. DisplayNumber.TextColor3 = BrickColor.Red().Color
  1068.  
  1069.  
  1070.  
  1071. elseif DisplayTxt > 9 then
  1072.  
  1073. DisplayNumber.TextColor3 = BrickColor.Yellow().Color
  1074.  
  1075. end
  1076. end
  1077.  
  1078. if string.sub((DisplayTxt),1,1) == "+" then
  1079. DisplayNumber.TextColor3 = BrickColor.Green().Color
  1080. end
  1081.  
  1082. local BodyVelocity = Instance.new("BodyVelocity", DamageShowingPart)
  1083. BodyVelocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  1084. BodyVelocity.Velocity = Vector3.new(0,2,0)
  1085.  
  1086. Services.Debris:AddItem(DamageShowingPart, 3)
  1087.  
  1088. end
  1089. end
  1090. function ValidateDamage(Part, Distance ,Min , Max, Type, HitSFX, Knockback)
  1091. for _,WorkspaceChildren in pairs(workspace:children()) do
  1092.  
  1093. local HitHumanoid = WorkspaceChildren:findFirstChild("Humanoid")
  1094.  
  1095. if HitHumanoid ~= nil then
  1096. local Hit = WorkspaceChildren:findFirstChild("Torso")
  1097.  
  1098. if Hit ~= nil then
  1099.  
  1100. local Target = Hit.Position - Part.Position
  1101.  
  1102. local Magnitude = Target.magnitude
  1103.  
  1104. if Magnitude <= Distance and WorkspaceChildren.Name ~= Player.Name then
  1105.  
  1106. local HitBlock = Hit.Parent:FindFirstChild("Block")
  1107.  
  1108. if HitBlock ~= nil and HitBlock:FindFirstChild("BlockDurability") and HitBlock.Value == true then
  1109.  
  1110. local HitBlock2 = Hit.Parent.Block.BlockDurability
  1111.  
  1112. if HitBlock2.Value > 15 then
  1113.  
  1114. local HitN = math.random(1,5)
  1115.  
  1116. HitBlock2.Value = HitBlock2.Value - 15
  1117.  
  1118. if HitN == 1 then
  1119. MakeSFX(Hit ,199148971, 0.5, 1)
  1120. end
  1121.  
  1122. if HitN == 2 then
  1123. MakeSFX(Hit ,199149025, 0.5, 1)
  1124. end
  1125.  
  1126. if HitN == 3 then
  1127. MakeSFX(Hit ,199149072, 0.5, 1)
  1128. end
  1129.  
  1130. if HitN == 4 then
  1131. MakeSFX(Hit ,199149109, 0.5, 1)
  1132. end
  1133.  
  1134. if HitN == 5 then
  1135. MakeSFX(Hit ,199149119, 0.5, 1)
  1136. end
  1137. return
  1138. end
  1139. end
  1140.  
  1141. DamageFunction(Hit, Part, Type, HitSFX, Knockback, Min, Max)
  1142.  
  1143. end
  1144. end
  1145. end
  1146. end
  1147. end
  1148.  
  1149. function ValidateHeal(Part, Distance)
  1150. for _,WorkspaceChildren in pairs(workspace:children()) do
  1151.  
  1152. local HitHumanoid = WorkspaceChildren:findFirstChild("Humanoid")
  1153.  
  1154. if HitHumanoid ~= nil then
  1155. local Hit = WorkspaceChildren:findFirstChild("Torso")
  1156.  
  1157. if Hit ~= nil then
  1158.  
  1159. local Target = Hit.Position - Part.Position
  1160.  
  1161. local Magnitude = Target.magnitude
  1162.  
  1163. if Magnitude <= Distance then
  1164. local Heal = math.random(5,10)
  1165.  
  1166. Hit.Parent.Humanoid.Health = Hit.Parent.Humanoid.Health + Heal
  1167. Display(Hit.Parent, "+" .. Heal)
  1168.  
  1169. end
  1170. end
  1171. end
  1172. end
  1173. end
  1174.  
  1175. --[[ CLerp Declarations ]]--
  1176.  
  1177. function clerp(a,b,t)
  1178. local qa = {QuaternionFromCFrame(a)}
  1179. local qb = {QuaternionFromCFrame(b)}
  1180. local ax, ay, az = a.x, a.y, a.z
  1181. local bx, by, bz = b.x, b.y, b.z
  1182. local _t = 1-t
  1183. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  1184. end
  1185.  
  1186. function QuaternionFromCFrame(cf)
  1187. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1188. local trace = m00 + m11 + m22
  1189. if trace > 0 then
  1190. local s = math.sqrt(1 + trace)
  1191. local recip = 0.5/s
  1192. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  1193. else
  1194. local i = 0
  1195. if m11 > m00 then
  1196. i = 1
  1197. end
  1198. if m22 > (i == 0 and m00 or m11) then
  1199. i = 2
  1200. end
  1201. if i == 0 then
  1202. local s = math.sqrt(m00-m11-m22+1)
  1203. local recip = 0.5/s
  1204. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  1205. elseif i == 1 then
  1206. local s = math.sqrt(m11-m22-m00+1)
  1207. local recip = 0.5/s
  1208. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  1209. elseif i == 2 then
  1210. local s = math.sqrt(m22-m00-m11+1)
  1211. local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  1212. end
  1213. end
  1214. end
  1215.  
  1216. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1217. local xs, ys, zs = x + x, y + y, z + z
  1218. local wx, wy, wz = w*xs, w*ys, w*zs
  1219. local xx = x*xs
  1220. local xy = x*ys
  1221. local xz = x*zs
  1222. local yy = y*ys
  1223. local yz = y*zs
  1224. local zz = z*zs
  1225. 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))
  1226. end
  1227.  
  1228. function QuaternionSlerp(a, b, t)
  1229. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  1230. local startInterp, finishInterp;
  1231. if cosTheta >= 0.0001 then
  1232. if (1 - cosTheta) > 0.0001 then
  1233. local theta = math.acos(cosTheta)
  1234. local invSinTheta = 1/math.sin(theta)
  1235. startInterp = math.sin((1-t)*theta)*invSinTheta
  1236. finishInterp = math.sin(t*theta)*invSinTheta
  1237. else
  1238. startInterp = 1-t
  1239. finishInterp = t
  1240. end
  1241. else
  1242. if (1+cosTheta) > 0.0001 then
  1243. local theta = math.acos(-cosTheta)
  1244. local invSinTheta = 1/math.sin(theta)
  1245. startInterp = math.sin((t-1)*theta)*invSinTheta
  1246. finishInterp = math.sin(t*theta)*invSinTheta
  1247. else
  1248. startInterp = t-1
  1249. finishInterp = t
  1250. end
  1251. end
  1252. 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
  1253. end
  1254.  
  1255. function RayCast(Pos, Dir, Max, Ignore)
  1256. return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
  1257. end
  1258.  
  1259. function Bars()
  1260.  
  1261. --[[ Mana Bar ]]--
  1262.  
  1263. if Mana ~= MaxMana then
  1264.  
  1265. Mana = Mana + 0.1
  1266.  
  1267. end
  1268.  
  1269. if Mana >= MaxMana then
  1270.  
  1271. Mana = MaxMana
  1272.  
  1273. end
  1274.  
  1275. --[[ Cooldowns Bars ]]--
  1276.  
  1277. if Cooldown1 ~= MaxCooldown1 then
  1278.  
  1279. Cooldown1 = Cooldown1 + 1
  1280.  
  1281. end
  1282.  
  1283. if Cooldown1 >= MaxCooldown1 then
  1284.  
  1285. Cooldown1 = MaxCooldown1
  1286.  
  1287. end
  1288.  
  1289.  
  1290.  
  1291. if Cooldown2 ~= MaxCooldown2 then
  1292.  
  1293. Cooldown2 = Cooldown2 + 0.1
  1294. end
  1295.  
  1296.  
  1297. if Cooldown2 >= MaxCooldown2 then
  1298.  
  1299. Cooldown2 = MaxCooldown2
  1300.  
  1301. end
  1302.  
  1303.  
  1304.  
  1305. if Cooldown3 ~= MaxCooldown3 then
  1306. Cooldown3 = Cooldown3 + 0.1
  1307. end
  1308.  
  1309. if Cooldown3 >= MaxCooldown3 then
  1310.  
  1311. Cooldown3 = MaxCooldown3
  1312.  
  1313. end
  1314.  
  1315.  
  1316.  
  1317. if Cooldown4 ~= MaxCooldown4 then
  1318. Cooldown4 = Cooldown4 + 0.1
  1319. end
  1320.  
  1321. if Cooldown4 >= MaxCooldown4 then
  1322.  
  1323. Cooldown4 = MaxCooldown4
  1324.  
  1325. end
  1326.  
  1327.  
  1328.  
  1329. if CooldownE ~= MaxCooldownE and not Blocking then
  1330. CooldownE = CooldownE + 0.1
  1331. end
  1332.  
  1333. if CooldownE >= MaxCooldownE then
  1334.  
  1335. CooldownE = MaxCooldownE
  1336.  
  1337. end
  1338.  
  1339. --[[ Health Bar ]]--
  1340.  
  1341. local YellowZone = Humanoid.MaxHealth / 2
  1342. local RedZone = Humanoid.MaxHealth / 4
  1343.  
  1344. if Humanoid.Health <= YellowZone then
  1345.  
  1346. HealthBarP2.BackgroundColor3 = BrickColor.new("Gold").Color
  1347.  
  1348. end
  1349.  
  1350. if Humanoid.Health <= RedZone then
  1351.  
  1352. HealthBarP2.BackgroundColor3 = BrickColor.new("Bright red").Color
  1353.  
  1354. end
  1355.  
  1356. if Humanoid.Health >= YellowZone then
  1357.  
  1358. HealthBarP2.BackgroundColor3 = BrickColor.new("Lime green").Color
  1359.  
  1360. end
  1361.  
  1362.  
  1363. --[[ Resize All Bars ]]--
  1364.  
  1365. CoolDown1Bar.Size = UDim2.new(Cooldown1 / MaxCooldown1,0,0,50)
  1366. CoolDown2Bar.Size = UDim2.new(Cooldown2 / MaxCooldown2,0,0,50)
  1367. CoolDown3Bar.Size = UDim2.new(Cooldown3 / MaxCooldown3,0,0,50)
  1368. CoolDown4Bar.Size = UDim2.new(Cooldown4 / MaxCooldown4,0,0,50)
  1369. CoolDownEBar.Size = UDim2.new(CooldownE / MaxCooldownE,0,0,50)
  1370.  
  1371. HealthBarP2.Size = UDim2.new(Humanoid.Health / Humanoid.MaxHealth,0,0,25)
  1372. ManaBarP2.Size = UDim2.new(Mana / MaxMana,0,0,25)
  1373.  
  1374. end
  1375.  
  1376. --[[ Attacks ]]--
  1377.  
  1378. function Shot1()
  1379. Attacking = true
  1380.  
  1381. for i = 1,10 do
  1382. wait()
  1383.  
  1384. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,-1.6),0.2)
  1385. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,1),0.3)
  1386. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.1, 0) * CFrame.Angles(0,0,0), 0.3)
  1387. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-2, 0.5, 0) * CFrame.Angles(0,0,-1.6), 0.3)
  1388. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1389. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1390. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,0),0.2)
  1391. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,3.2,-0.5),0.2)
  1392. end
  1393.  
  1394. Shot(Barrel2)
  1395.  
  1396. for i = 1,10 do
  1397. wait()
  1398.  
  1399. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,-1.6),0.2)
  1400. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,1),0.3)
  1401. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.1, 0) * CFrame.Angles(0,0,0.2), 0.3)
  1402. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-2, 0.8, 0) * CFrame.Angles(0,0,-2), 0.3)
  1403. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1404. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1405. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,0),0.2)
  1406. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,3.2,0),0.2)
  1407.  
  1408. end
  1409. Attacking = false
  1410. end
  1411.  
  1412. function Shot2()
  1413. Attacking = true
  1414.  
  1415. for i = 1,10 do
  1416. wait()
  1417.  
  1418. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,1.6),0.2)
  1419. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,-1),0.3)
  1420. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(2, 0.5, 0) * CFrame.Angles(0,0,1.6), 0.3)
  1421. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.1, 0) * CFrame.Angles(0,0,-0.2), 0.3)
  1422. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1423. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1424. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,-0),0.2)
  1425. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1426. end
  1427.  
  1428. Shot(Barrel1)
  1429.  
  1430. for i = 1,10 do
  1431. wait()
  1432.  
  1433.  
  1434. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,1.6),0.2)
  1435. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,-1),0.3)
  1436. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(2, 0.8, 0) * CFrame.Angles(0,0,2), 0.3)
  1437. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.1, 0) * CFrame.Angles(0,0,-0.2), 0.3)
  1438. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1439. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1440. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,-0),0.2)
  1441. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0),0.2)
  1442. end
  1443. Attacking = false
  1444. end
  1445.  
  1446. function Shot3()
  1447.  
  1448. Attacking = true
  1449. for i = 1,10 do
  1450. wait()
  1451.  
  1452. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1453. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1454. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,-0.2), 0.3)
  1455. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,0.2), 0.3)
  1456. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1457. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1458. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1459. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1460. end
  1461.  
  1462. Shot(Barrel1)
  1463. Shot(Barrel2)
  1464.  
  1465. for i = 1,10 do
  1466. wait()
  1467.  
  1468. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1469. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1470. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(2,0,-0.2), 0.3)
  1471. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(2,0,0.2), 0.3)
  1472. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1473. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1474. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,0),0.2)
  1475. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,0),0.2)
  1476. end
  1477. Attacking = false
  1478. end
  1479.  
  1480. function Attack1()
  1481. Humanoid.WalkSpeed = 0
  1482. Humanoid.JumpPower = 0
  1483. Attacking = true
  1484. for i = 1,5 do
  1485. wait()
  1486.  
  1487. Torso.Neck.C0 = clerp(Torso.Neck.C0, Necko * CFrame.Angles(0, 0, -1), 0.5)
  1488. RootJoint.C0 = clerp(RootJoint.C0, RootCFrame *cf(0, 0, 0) * CFrame.Angles(-0.5,0,1.6), 0.5)
  1489. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, cf(1, 0.5, -0.5) * CFrame.Angles(1.6, 0, -1), 0.5)
  1490. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, cf(-1.5, 0.5, 0) * CFrame.Angles(1.6, 0, -1.6), 0.5)
  1491. Right_Hip.C0 = clerp(Left_Hip.C0, cf(0, -1, 0.5) * CFrame.Angles(0, 1.57, 1.6) * CFrame.Angles(-1.6, -0, 0), 0.5)
  1492. Left_Hip.C0 = clerp(Right_Hip.C0, cf(-1, -1, 0) * CFrame.Angles(0, -1.57, 0) * CFrame.Angles(-0, 0, 0), 0.5)
  1493. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  1494. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  1495. end
  1496. MakeSFX(Torso,320557563, 1, 1)
  1497. ValidateDamage(Right_Leg, 3, 5, 7, "Normal", "Punch", 5)
  1498. for i = 1,5 do
  1499. wait()
  1500.  
  1501. Torso.Neck.C0 = clerp(Torso.Neck.C0, Necko * CFrame.Angles(0, 0, -1), 0.5)
  1502. RootJoint.C0 = clerp(RootJoint.C0, RootCFrame * cf(0, 0, 0) * CFrame.Angles(-0.5,0,1.6), 0.5)
  1503. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, cf(1, 0.5, -0.5) * CFrame.Angles(1.6, 0, -1), 0.5)
  1504. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, cf(-1.5, 0.5, 0) * CFrame.Angles(1.6, 0, -1.6), 0.5)
  1505. Right_Hip.C0 = clerp(Right_Hip.C0, cf(1, -1, 0.5) * CFrame.Angles(0, 1.57, 1.6) * CFrame.Angles(-1.6, -0, 0), 0.5)
  1506. Left_Hip.C0 = clerp(Left_Hip.C0, cf(-1, -1, 0) * CFrame.Angles(0, -1.57, 0) * CFrame.Angles(-0, 0, 0), 0.5)
  1507. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  1508. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  1509. end
  1510. Humanoid.WalkSpeed = 16
  1511. Humanoid.JumpPower = 50
  1512. Attacking = false
  1513. end
  1514.  
  1515. function Attack2()
  1516. Attacking = true
  1517. Humanoid.WalkSpeed = 0
  1518. Humanoid.JumpPower = 0
  1519. for i = 1,5 do
  1520. wait()
  1521.  
  1522. Torso.Neck.C0 = clerp(Torso.Neck.C0, Necko * CFrame.Angles(0, 0, 1), 0.5)
  1523. RootJoint.C0 = clerp(RootJoint.C0, RootCFrame *cf(0, 0, 0) * CFrame.Angles(-0.5,0,-1.6), 0.5)
  1524. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, cf(1, 0.5, -0.5) * CFrame.Angles(1.6, 0, -1), 0.5)
  1525. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, cf(-1.5, 0.5, 0) * CFrame.Angles(1.6, 0, -1.6), 0.5)
  1526. Right_Hip.C0 = clerp(Right_Hip.C0, cf(1, -1, 0) * CFrame.Angles(0, 1.57, 0) * CFrame.Angles(0, -0, 0), 0.5)
  1527. Left_Hip.C0 = clerp(Left_Hip.C0, cf(-0, -1, -0.5) * CFrame.Angles(0, -1.57, 1.6) * CFrame.Angles(-1.6, 0, 0), 0.5)
  1528. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  1529. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  1530. end
  1531. MakeSFX(Torso,320557563, 1, 1)
  1532. ValidateDamage(Left_Leg, 3, 5, 7, "Normal", "Punch", 5)
  1533. for i = 1,5 do
  1534. wait()
  1535.  
  1536. Torso.Neck.C0 = clerp(Torso.Neck.C0, Necko * CFrame.Angles(0, 0, 1), 0.5)
  1537. RootJoint.C0 = clerp(RootJoint.C0, RootCFrame * cf(0, 0, 0) * CFrame.Angles(-0.5,0,-1.6), 0.5)
  1538. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, cf(1, 0.5, -0.5) * CFrame.Angles(1.6, 0, -1), 0.5)
  1539. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, cf(-1.5, 0.5, 0) * CFrame.Angles(1.6, 0, -1.6), 0.5)
  1540. Right_Hip.C0 = clerp(Right_Hip.C0, cf(1, -1, 0) * CFrame.Angles(0, 1.57, 0) * CFrame.Angles(0, -0, 0), 0.5)
  1541. Left_Hip.C0 = clerp(Left_Hip.C0, cf(-1, -1, -0.5) * CFrame.Angles(0, -1.57, 1.6) * CFrame.Angles(-1.6, 0, 0), 0.5)
  1542. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  1543. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  1544. end
  1545. Humanoid.WalkSpeed = 16
  1546. Humanoid.JumpPower = 50
  1547. Attacking = false
  1548. end
  1549.  
  1550. function Attack3()
  1551. Humanoid.WalkSpeed = 0
  1552. Humanoid.JumpPower = 0
  1553. Attacking = true
  1554. ValidateDamage(Torso, 10, 5, 7, "Normal", "Punch", 5)
  1555.  
  1556. MakeSFX(Torso,320557563, 1, 1)
  1557. for i = 1,10 do
  1558. wait()
  1559.  
  1560. Torso.Neck.C0 = clerp(Torso.Neck.C0, Necko * CFrame.Angles(0, 0, 0), 0.5)
  1561. RootJoint.C0 = clerp(RootJoint.C0, RootCFrame *cf(0, 0, 0) * CFrame.Angles(-i / 2,0,0), 0.5)
  1562. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, cf(1, 0.5, -0.5) * CFrame.Angles(1.6, 0, -1), 0.5)
  1563. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, cf(-1, 0.5, -0.5) * CFrame.Angles(1.6, 0, 1), 0.5)
  1564. Right_Hip.C0 = clerp(Right_Hip.C0, cf(0, -1, -0.5) * CFrame.Angles(0, 1.57, 1.6) * CFrame.Angles(0, -0, 0), 0.5)
  1565. Left_Hip.C0 = clerp(Left_Hip.C0, cf(0, -1, 0.5) * CFrame.Angles(0, -1.57, 1.6) * CFrame.Angles(-0, 0, 0), 0.5)
  1566. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  1567. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  1568. end
  1569.  
  1570. Humanoid.WalkSpeed = 16
  1571. Humanoid.JumpPower = 50
  1572. Attacking = false
  1573.  
  1574. end
  1575.  
  1576.  
  1577. function Shotcombo()
  1578. Attacking = true
  1579. Humanoid.WalkSpeed = 10
  1580. Humanoid.JumpPower = 0
  1581.  
  1582. for i = 1,5 do
  1583. wait()
  1584.  
  1585. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1586. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1587. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,-0.2), 0.3)
  1588. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,0.2), 0.3)
  1589. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1590. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1591. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1592. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1593. end
  1594.  
  1595. Shot(Barrel1)
  1596. Shot(Barrel2)
  1597.  
  1598. for i = 1,5 do
  1599. wait()
  1600.  
  1601. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1602. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1603. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(2,0,-0.2), 0.3)
  1604. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(2,0,0.2), 0.3)
  1605. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1606. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1607. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,0),0.2)
  1608. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,0),0.2)
  1609. end
  1610. for i = 1,5 do
  1611. wait()
  1612.  
  1613. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1614. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1615. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,-0.2), 0.3)
  1616. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,0.2), 0.3)
  1617. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1618. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1619. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1620. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1621. end
  1622.  
  1623. Shot(Barrel1)
  1624. Shot(Barrel2)
  1625.  
  1626. for i = 1,5 do
  1627. wait()
  1628.  
  1629. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1630. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1631. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(2,0,-0.2), 0.3)
  1632. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(2,0,0.2), 0.3)
  1633. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1634. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1635. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,0),0.2)
  1636. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,0),0.2)
  1637. end
  1638. for i = 1,5 do
  1639. wait()
  1640.  
  1641. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1642. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1643. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,-0.2), 0.3)
  1644. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,0.2), 0.3)
  1645. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1646. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1647. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1648. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1649. end
  1650.  
  1651. Shot(Barrel1)
  1652. Shot(Barrel2)
  1653.  
  1654. for i = 1,5 do
  1655. wait()
  1656.  
  1657. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1658. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1659. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(2,0,-0.2), 0.3)
  1660. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(2,0,0.2), 0.3)
  1661. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1662. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1663. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,0),0.2)
  1664. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,0),0.2)
  1665. end
  1666. Humanoid.WalkSpeed = 16
  1667. Humanoid.JumpPower = 50
  1668.  
  1669. Attacking = false
  1670. end
  1671.  
  1672.  
  1673. function BackJump()
  1674. Attacking = true
  1675.  
  1676. Humanoid.WalkSpeed = 0
  1677. Humanoid.JumpPower = 0
  1678.  
  1679. for i = 1,5 do
  1680. wait()
  1681.  
  1682. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(-1.6,0,0),0.5)
  1683. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.8,0,0),0.5)
  1684. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, 0) * CFrame.Angles(0,0,0), 0.5)
  1685. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, 0) * CFrame.Angles(0,0,0), 0.5)
  1686. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.5)
  1687. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.5)
  1688. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,-0.5),0.5)
  1689. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.5)
  1690. end
  1691.  
  1692. Shot(Barrel1)
  1693. Shot(Barrel2)
  1694. local BV = Instance.new("BodyVelocity", Torso)
  1695. BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  1696. BV.Velocity = Root.CFrame.lookVector * Vector3.new(-50,50,-50)
  1697.  
  1698. for i = 1,5 do
  1699. wait()
  1700.  
  1701. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,-3)* CFrame.Angles(-1.6,0,0),0.5)
  1702. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.8,0,0),0.3)
  1703. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(1,0,0), 0.3)
  1704. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(1,0,0), 0.3)
  1705. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1706. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1707. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,0),0.2)
  1708. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,0),0.2)
  1709. end
  1710. BV:Remove()
  1711. for i = 1,5 do
  1712. wait()
  1713.  
  1714. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,-3)* CFrame.Angles(-1.6,0,0),0.5)
  1715. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.8,0,0),0.3)
  1716. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, 0) * CFrame.Angles(0,0,0), 0.3)
  1717. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, 0) * CFrame.Angles(0,0,0), 0.3)
  1718. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1719. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1720. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1721. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1722. end
  1723.  
  1724. Shot(Barrel1)
  1725. Shot(Barrel2)
  1726.  
  1727.  
  1728. for i = 1,5 do
  1729. wait()
  1730.  
  1731. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,-3)* CFrame.Angles(-1.6,0,0),0.5)
  1732. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.8,0,0),0.3)
  1733. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(1,0,0), 0.3)
  1734. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(1,0,0), 0.3)
  1735. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1736. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1737. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,0),0.2)
  1738. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,0),0.2)
  1739. end
  1740. for i = 1,5 do
  1741. wait()
  1742.  
  1743. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,-3)* CFrame.Angles(-1.6,0,0),0.5)
  1744. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.8,0,0),0.3)
  1745. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, 0) * CFrame.Angles(0,0,0), 0.3)
  1746. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, 0) * CFrame.Angles(0,0,0), 0.3)
  1747. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1748. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1749. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1750. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.2)
  1751. end
  1752.  
  1753. Shot(Barrel1)
  1754. Shot(Barrel2)
  1755.  
  1756.  
  1757. for i = 1,5 do
  1758. wait()
  1759.  
  1760. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,-3)* CFrame.Angles(-1.6,0,0),0.5)
  1761. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.8,0,0),0.3)
  1762. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(1,0,0), 0.3)
  1763. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(1,0,0), 0.3)
  1764. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1765. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1766. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-0.6,-0) * CFrame.Angles(0,1.57,0),0.2)
  1767. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,0),0.2)
  1768. end
  1769. Attacking = false
  1770. Humanoid.WalkSpeed = 16
  1771. Humanoid.JumpPower = 50
  1772. end
  1773.  
  1774. function Energyshot()
  1775. Attacking = true
  1776.  
  1777. for i = 1,5 do
  1778. wait()
  1779.  
  1780. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1781. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1782. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,-0.2), 0.3)
  1783. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,0.2), 0.3)
  1784. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1785. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1786. Handle1Weld.C0=clerp(Handle1Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.5)
  1787. Handle2Weld.C0=clerp(Handle2Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.5)
  1788. end
  1789.  
  1790. LightShot(Barrel1)
  1791. for i = 1,5 do
  1792. wait()
  1793.  
  1794. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1795. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1796. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,-0.2), 0.3)
  1797. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,0.2), 0.3)
  1798. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1799. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1800. Handle1Weld.C0=clerp(Handle1Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,0),0.5)
  1801. Handle2Weld.C0=clerp(Handle2Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.5)
  1802. end
  1803. LightShot(Barrel2)
  1804. for i = 1,5 do
  1805. wait()
  1806.  
  1807. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1808. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1809. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,-0.2), 0.3)
  1810. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,0.2), 0.3)
  1811. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1812. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1813. Handle1Weld.C0=clerp(Handle1Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.5)
  1814. Handle2Weld.C0=clerp(Handle2Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,0),0.5)
  1815. end
  1816. for i = 1,5 do
  1817. wait()
  1818.  
  1819. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1820. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1821. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,-0.2), 0.3)
  1822. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,0.2), 0.3)
  1823. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1824. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1825. Handle1Weld.C0=clerp(Handle1Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.5)
  1826. Handle2Weld.C0=clerp(Handle2Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.5)
  1827. end
  1828.  
  1829. LightShot(Barrel1)
  1830. for i = 1,5 do
  1831. wait()
  1832.  
  1833. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1834. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1835. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,-0.2), 0.3)
  1836. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,0.2), 0.3)
  1837. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1838. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1839. Handle1Weld.C0=clerp(Handle1Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,0),0.5)
  1840. Handle2Weld.C0=clerp(Handle2Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.5)
  1841. end
  1842. LightShot(Barrel2)
  1843. for i = 1,5 do
  1844. wait()
  1845.  
  1846. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1847. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1848. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,-0.2), 0.3)
  1849. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,0.2), 0.3)
  1850. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1851. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1852. Handle1Weld.C0=clerp(Handle1Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.5)
  1853. Handle2Weld.C0=clerp(Handle2Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,0),0.5)
  1854. end
  1855.  
  1856.  
  1857. Attacking = false
  1858. end
  1859.  
  1860. function Overshot()
  1861. Attacking = true
  1862. Humanoid.WalkSpeed = 0
  1863. Humanoid.JumpPower = 0
  1864. coroutine.resume(coroutine.create(function()
  1865. for i = 1,14 do
  1866. wait(0.3)
  1867.  
  1868. local Hit, Position = RayCast(Root.Position, CFrame.new(Root.Position, Root.Position - Vector3.new(0, 1, 0)).lookVector, 200, Character)
  1869.  
  1870. if Hit ~= nil then
  1871.  
  1872. WaveEffect(Position, Services.Workspace, 0.05, 0.05, 0.05, 1, 0.05, 1, 1, "White", "SmoothPlastic", 0)
  1873. end
  1874. end
  1875. end))
  1876. MakeSFX(Torso,203691346,1,1)
  1877. for i = 1,60 do
  1878. wait()
  1879. CircleEffect(Torso.Position + Vector3.new(0,10,0), Services.Workspace, 0.05, 0.05, 0.05, 1, 1, 1, 10, "Bright yellow", "SmoothPlastic", 0)
  1880. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1881. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.5,0,0),0.3)
  1882. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0) * CFrame.Angles(3.2,0,-0.2), 0.3)
  1883. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0) * CFrame.Angles(3.2,0,0.2), 0.3)
  1884. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1885. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1886. Handle1Weld.C0=clerp(Handle1Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,0,-0.6),0.5)
  1887. Handle2Weld.C0=clerp(Handle2Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,3.2,-0.6),0.5)
  1888. end
  1889.  
  1890. for i = 1,10 do
  1891. wait()
  1892.  
  1893. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  1894. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  1895. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,-0.2), 0.3)
  1896. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(1.6,0,0.2), 0.3)
  1897. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0),0.2)
  1898. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  1899. Handle1Weld.C0=clerp(Handle1Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.5)
  1900. Handle2Weld.C0=clerp(Handle2Weld.C0, CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.5),0.5)
  1901. end
  1902. MakeSFX(Torso,156572165,10,0.75)
  1903. wait(0.1)
  1904. MakeSFX(Torso,168586621,10,0.75)
  1905.  
  1906. local OvershotPart = CreatePart(Services.Workspace, "Overshot", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
  1907. OvershotPart.Position = Barrel1.Position
  1908. OvershotPart.CFrame = CFrame.new(OvershotPart.Position, Mouse.Hit.p)
  1909. local OverVelocity = CreateVelocity(OvershotPart,OvershotPart.CFrame.lookVector * 50,Vector3.new(10000,10000,10000))
  1910.  
  1911. Services.Debris:AddItem(OvershotPart, 15)
  1912.  
  1913. coroutine.resume(coroutine.create(function()
  1914. while OvershotPart.Parent == Services.Workspace do
  1915. wait(0.3)
  1916.  
  1917. local Hit, Position = RayCast(OvershotPart.Position, CFrame.new(OvershotPart.Position, OvershotPart.Position - Vector3.new(0, 1, 0)).lookVector, 200, Character)
  1918.  
  1919. if Hit ~= nil then
  1920.  
  1921. WaveEffect(Position, Services.Workspace, 0.05, 0.05, 0.05, 1, 0.05, 1, 1, "White", "SmoothPlastic", 0)
  1922. CircleEffect(OvershotPart.Position, Services.Workspace, 0.05, 0.05, 0.05, 5, 5, 5, 10, "Bright yellow", "SmoothPlastic", 0)
  1923. end
  1924. end
  1925. end))
  1926. wait()
  1927. wait()
  1928. wait()
  1929. wait()
  1930. wait()
  1931. Connection = OvershotPart.Touched:connect(function(Hit)
  1932. if Hit.Name ~= "Reference" and Hit.Name ~= "BallEffect" and Hit.Parent ~= Caliber1 and Hit.Parent ~= Caliber2 and Hit.Parent ~= Character then
  1933. Connection:disconnect()
  1934. print(Hit.Name)
  1935. OvershotPart:Remove()
  1936. MakeSFX(OvershotPart, 320557563, 10, 1)
  1937. ValidateDamage(OvershotPart, 60 ,36, 50, "Knockdown", "Penetration", 100)
  1938. CircleEffect(OvershotPart.Position, Services.Workspace, 0.05, 0.05, 0.05, 30, 30, 30, 10, "Bright yellow", "SmoothPlastic", 0)
  1939. end
  1940. end)
  1941. Humanoid.WalkSpeed = 16
  1942. Humanoid.JumpPower = 50
  1943. Attacking = false
  1944. end
  1945.  
  1946.  
  1947.  
  1948. function OnClicked()
  1949.  
  1950.  
  1951. if Combo == 1 and not Attacking and CanAttack then
  1952. Combo = 2
  1953. Attack1()
  1954.  
  1955.  
  1956.  
  1957.  
  1958. elseif Combo == 2 and not Attacking and CanAttack then
  1959. Combo = 3
  1960. Attack2()
  1961.  
  1962.  
  1963. elseif Combo == 3 and not Attacking and CanAttack then
  1964. Combo = 1
  1965. Attack3()
  1966.  
  1967. end
  1968. end
  1969.  
  1970.  
  1971. function OnKeyDown(Key)
  1972.  
  1973. if Key == "e" and not Attacking and CooldownE > 10 then
  1974.  
  1975. CooldownE = CooldownE - 10
  1976.  
  1977.  
  1978. if Shots == 1 and not Attacking and CanAttack then
  1979. Shots = 2
  1980. Shot1()
  1981.  
  1982.  
  1983.  
  1984.  
  1985. elseif Shots == 2 and not Attacking and CanAttack then
  1986. Shots = 3
  1987. Shot2()
  1988.  
  1989.  
  1990. elseif Shots == 3 and not Attacking and CanAttack then
  1991. Shots = 1
  1992. Shot3()
  1993.  
  1994. end
  1995.  
  1996. end
  1997.  
  1998. if Key == "z" and not Attacking and Mana > 10 and Cooldown1 == MaxCooldown1 then
  1999.  
  2000. Mana = Mana - 15
  2001. Cooldown1 = 0
  2002. Shotcombo()
  2003.  
  2004. end
  2005.  
  2006. if Key == "x" and not Attacking and Mana > 20 and Cooldown2 == MaxCooldown2 then
  2007.  
  2008. Mana = Mana - 20
  2009. Cooldown2 = 0
  2010. BackJump()
  2011.  
  2012.  
  2013. end
  2014.  
  2015.  
  2016. if Key == "c" and not Attacking and Mana > 25 and Cooldown3 == MaxCooldown3 then
  2017.  
  2018. Mana = Mana - 25
  2019. Cooldown3 = 0
  2020. Energyshot()
  2021.  
  2022. end
  2023.  
  2024. if Key == "v" and not Attacking and Mana > 50 and Cooldown4 == MaxCooldown4 then
  2025.  
  2026. Mana = Mana - 50
  2027. Cooldown4 = 0
  2028. Overshot()
  2029.  
  2030. end
  2031. end
  2032.  
  2033. Mouse.KeyDown:connect(OnKeyDown)
  2034. Mouse.Button1Down:connect(OnClicked)
  2035.  
  2036. --[[ CLerp Animations ]]--
  2037.  
  2038. while true do
  2039. wait()
  2040.  
  2041. local Torvel = (Root.Velocity*Vector3.new(1,0,1)).magnitude
  2042. local Velderp = Root.Velocity.y
  2043. HitFloor,PosFloor = RayCast(Root.Position,(CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector,4,Character)
  2044.  
  2045. Bars()
  2046.  
  2047.  
  2048. if Torvel < 1 and HitFloor ~= nil and Attacking == false then
  2049. Anim = "Idle"
  2050.  
  2051. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  2052. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,0),0.3)
  2053. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.1, -0.1) * CFrame.Angles(0.2,0,0.2), 0.3)
  2054. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.1, -0.1) * CFrame.Angles(0.2,0,-0.2), 0.3)
  2055. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0.1,1.6,0) * CFrame.Angles(-0.1,0,0),0.2)
  2056. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(-0.1,-1.6,0) * CFrame.Angles(-0.1,0,0),0.2)
  2057. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.3),0.2)
  2058. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.3),0.2)
  2059.  
  2060. end
  2061.  
  2062.  
  2063. if 2 < Torvel and Torvel < 22 and HitFloor ~= nil and Attacking == false then
  2064. Anim = "Walking"
  2065.  
  2066. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0.5,0,0),0.2)
  2067. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.3,0,0),0.3)
  2068. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.1, 0.3) * CFrame.Angles(-0.6,0,0.2), 0.3)
  2069. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.1, 0.3) * CFrame.Angles(-0.6,0,-0.2), 0.3)
  2070. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0) * CFrame.Angles(0,0,0),0.2)
  2071. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0) * CFrame.Angles(0,0,0),0.2)
  2072. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  2073. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  2074. end
  2075.  
  2076. if Root.Velocity.y > 1 and HitFloor == nil and Attacking == false then
  2077. Anim = "Jump"
  2078.  
  2079. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  2080. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.5,0,0),0.3)
  2081. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, 0.2) * CFrame.Angles(-0.4,0,0.2), 0.3)
  2082. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, 0.2) * CFrame.Angles(-0.4,0,-0.2), 0.3)
  2083. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-0.2)*CFrame.Angles(-0.2,1.6,0),0.2)
  2084. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  2085. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  2086. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(-3,1.57,-0.3),0.2)
  2087. end
  2088.  
  2089. if Root.Velocity.y < -1 and HitFloor == nil and Attacking == false then
  2090. Anim = "Fall"
  2091.  
  2092. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  2093. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.5,0,0),0.3)
  2094. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, -0.2) * CFrame.Angles(0.4,0,0.2), 0.3)
  2095. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, -0.2) * CFrame.Angles(0.4,0,-0.2), 0.3)
  2096. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-0.2)*CFrame.Angles(-0.2,1.6,0),0.2)
  2097. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  2098. Handle1Weld.C0=clerp(Handle1Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.3),0.2)
  2099. Handle2Weld.C0=clerp(Handle2Weld.C0,CFrame.new(0,-1,-0) * CFrame.Angles(0,1.57,-0.3),0.2)
  2100. end
  2101.  
  2102. if #Effects > 0 then
  2103. for E = 1, #Effects do
  2104. if Effects[E]~=nil then
  2105. local Effect = Effects[E]
  2106.  
  2107. if Effect ~= nil then
  2108.  
  2109. local Part = Effect[1]
  2110. local Mode = Effect[2]
  2111. local Time = Effect[3]
  2112. local SizeX = Effect[4]
  2113. local SizeY = Effect[5]
  2114. local SizeZ = Effect[6]
  2115.  
  2116. if Effect[1].Transparency <= 1 then
  2117. if Effect[2] == "Block" then
  2118. Effect[1].CFrame = Effect[1].CFrame * CFrame.Angles(math.random(-50,50),math.random(-50,50),math.random(-50,50))
  2119.  
  2120. Mesh = Effect[1]:FindFirstChild("Mesh")
  2121. if Mesh ~= nil then
  2122. Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
  2123. end
  2124.  
  2125. elseif Effect[2] == "Circle" then
  2126.  
  2127. if Effect[1]:FindFirstChild("Mesh") ~= nil then
  2128. Mesh=Effect[1].Mesh
  2129. Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
  2130. end
  2131. Effect[1].Transparency = Effect[1].Transparency + 0.05
  2132.  
  2133. elseif Effect[2] == "Cylinder" then
  2134.  
  2135. if Effect[1]:FindFirstChild("Mesh") ~= nil then
  2136. Mesh=Effect[1].Mesh
  2137. Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
  2138. end
  2139. Effect[1].Transparency = Effect[1].Transparency + 0.05
  2140.  
  2141. elseif Effect[2] == "Lightning" then
  2142.  
  2143. if Effect[1]:FindFirstChild("Mesh") ~= nil then
  2144. Mesh=Effect[1].Mesh
  2145. Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
  2146. end
  2147. Effect[1].Transparency = Effect[1].Transparency + 0.05
  2148.  
  2149. elseif Effect[2] == "Wave" then
  2150.  
  2151. if Effect[1]:FindFirstChild("Mesh") ~= nil then
  2152. Mesh=Effect[1].Mesh
  2153. Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
  2154. end
  2155. Effect[1].Transparency = Effect[1].Transparency + 0.05
  2156.  
  2157.  
  2158. else
  2159.  
  2160. Part.Parent=nil
  2161.  
  2162. table.remove(Effects, E)
  2163.  
  2164. end
  2165. end
  2166. end
  2167. end
  2168. end
  2169. end
  2170. end
Advertisement
Add Comment
Please, Sign In to add comment