Advertisement
GS1029

Erks sword

Jun 13th, 2016
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --[[
  2. Made by Fenrier.
  3. ]]
  4. Player=game:GetService("Players").LocalPlayer
  5. Character=Player.Character
  6. PlayerGui=Player.PlayerGui
  7. Backpack=Player.Backpack
  8. Torso=Character.Torso
  9. Head=Character.Head
  10. Humanoid=Character.Humanoid
  11. LeftArm=Character["Left Arm"]
  12. LeftLeg=Character["Left Leg"]
  13. RightArm=Character["Right Arm"]
  14. RightLeg=Character["Right Leg"]
  15. LS=Torso["Left Shoulder"]
  16. LH=Torso["Left Hip"]
  17. RS=Torso["Right Shoulder"]
  18. RH=Torso["Right Hip"]
  19. Neck=Torso.Neck
  20. it=Instance.new
  21. vt=Vector3.new
  22. cf=CFrame.new
  23. euler=CFrame.fromEulerAnglesXYZ
  24. angles=CFrame.Angles
  25. necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  26. necko2=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  27. LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0)
  28. LHC1=cf(-0.5,1,0,-0,-0,-1,0,1,0,1,0,0)
  29. RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0)
  30. RHC1=cf(0.5,1,0,0,0,1,0,1,0,-1,-0,-0)
  31. RootPart=Character.HumanoidRootPart
  32. RootJoint=RootPart.RootJoint
  33. RootCF=euler(-1.57,0,3.14)
  34. attack = false
  35. attackdebounce = false
  36. MMouse=nil
  37. Humanoid.MaxHealth=1500
  38. combo=100
  39. Humanoid.Health=15000
  40. Humanoid.Health=15000
  41. Humanoid.Health=15000
  42. wait(1)
  43. Humanoid.Health=Humanoid.Health+1500000
  44. Humanoid.Health=Humanoid.Health+1500000
  45. Humanoid.Health=Humanoid.Health+1500000
  46. Humanoid.Health=Humanoid.Health+15000000
  47. Humanoid.Health=Humanoid.Health+15000000
  48. Humanoid.Health=Humanoid.Health+15000000
  49. Humanoid.Health=Humanoid.Health+15000000
  50. Humanoid.Health=Humanoid.Health+150000000
  51. Humanoid.Health=Humanoid.Health+150000000
  52. Humanoid.Health=Humanoid.Health+150000000
  53. Humanoid.Health=15000000
  54. Humanoid.Health=150000000
  55. Humanoid.Health=15000000
  56. Humanoid.Health=150000000
  57. Humanoid.Health=1500000000
  58. Humanoid.Health=15000000
  59. Humanoid.Health=150000000
  60. mana=30
  61. local idle=0
  62. local Anim="Idle"
  63. local Effects={}
  64. local gun=false
  65. local shoot=false
  66. --player
  67. player=nil
  68. --save shoulders
  69. RSH, LSH=nil, nil
  70. --welds
  71. RW, LW=Instance.new("Weld"), Instance.new("Weld")
  72. RW.Name="Right Shoulder" LW.Name="Left Shoulder"
  73. LH=Torso["Left Hip"]
  74. RH=Torso["Right Hip"]
  75. TorsoColor=Torso.BrickColor
  76.  
  77. function swait(num)
  78. if num==0 or num==nil then
  79. --if Stagger.Value==false or Stun.Value<=100 then
  80. game:service'RunService'.Stepped:wait(0)
  81. --end
  82. else
  83. for i=0,num do
  84. game:service'RunService'.Stepped:wait(0)
  85. --[[if Stagger.Value==true or Stun.Value>=100 then
  86. break
  87. end]]
  88. end
  89. end
  90. end
  91.  
  92. if Character:findFirstChild("Ignis",true) ~= nil then
  93. Character:findFirstChild("Ignis",true).Parent = nil
  94. Humanoid.Health=Humanoid.Health+150000000
  95. Humanoid.Health=Humanoid.Health+150000000
  96. Humanoid.Health=Humanoid.Health+150000000
  97. Humanoid.Health=Humanoid.Health+150000000
  98. Humanoid.Health=Humanoid.Health+150000000
  99. end
  100. if Player.PlayerGui:findFirstChild("WeaponGUI",true) ~= nil then
  101. Player.PlayerGui:findFirstChild("WeaponGUI",true).Parent = nil
  102. end
  103. if Character:findFirstChild("Stats",true) ~= nil then
  104. Character:findFirstChild("Stats",true).Parent = nil
  105. end
  106. local Stats=Instance.new("BoolValue")
  107. Stats.Name="Stats"
  108. Stats.Parent=Character
  109. local Atk=Instance.new("NumberValue")
  110. Atk.Name="Damage"
  111. Atk.Parent=Stats
  112. Atk.Value=0.5
  113. local Def=Instance.new("NumberValue")
  114. Def.Name="Defense"
  115. Def.Parent=Stats
  116. Def.Value=1000
  117. local Speed=Instance.new("NumberValue")
  118. Speed.Name="Speed"
  119. Speed.Parent=Stats
  120. Speed.Value=5
  121. local Mvmt=Instance.new("NumberValue")
  122. Mvmt.Name="Movement"
  123. Mvmt.Parent=Stats
  124. Mvmt.Value=1
  125. local Block=Instance.new("BoolValue")
  126. Block.Name="Block"
  127. Block.Parent=Stats
  128. Block.Value=false
  129. local Stun=Instance.new("NumberValue")
  130. Stun.Name="Stun"
  131. Stun.Parent=Stats
  132. Stun.Value=0
  133. local Stunned=Instance.new("BoolValue")
  134. Stunned.Name="Stunned"
  135. Stunned.Parent=Stats
  136. Stunned.Value=false
  137. local Stagger=Instance.new("BoolValue")
  138. Stagger.Name="Stagger"
  139. Stagger.Parent=Stats
  140. Stagger.Value=false
  141. local StaggerHit=Instance.new("BoolValue")
  142. StaggerHit.Name="StaggerHit"
  143. StaggerHit.Parent=Stats
  144. StaggerHit.Value=false
  145. local RecentEnemy=Instance.new("ObjectValue")
  146. RecentEnemy.Name="RecentEnemy"
  147. RecentEnemy.Parent=Stats
  148. RecentEnemy.Value=nil
  149.  
  150. function NoOutline(Part)
  151. Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
  152. end
  153.  
  154. function part(formfactor,parent,reflectance,transparency,brickcolor,name,size)
  155. local fp=it("Part")
  156. fp.formFactor=formfactor
  157. fp.Parent=parent
  158. fp.Reflectance=reflectance
  159. fp.Transparency=transparency
  160. fp.CanCollide=false
  161. fp.Locked=true
  162. fp.BrickColor=brickcolor
  163. fp.Name=name
  164. fp.Size=size
  165. fp.Position=Torso.Position
  166. NoOutline(fp)
  167. fp.Material="SmoothPlastic"
  168. fp:BreakJoints()
  169. return fp
  170. end
  171.  
  172. function mesh(Mesh,part,meshtype,meshid,offset,scale)
  173. local mesh=it(Mesh)
  174. mesh.Parent=part
  175. if Mesh=="SpecialMesh" then
  176. mesh.MeshType=meshtype
  177. if meshid~="nil" then
  178. mesh.MeshId="http://www.roblox.com/asset/?id="..meshid
  179. end
  180. end
  181. mesh.Offset=offset
  182. mesh.Scale=scale
  183. return mesh
  184. end
  185.  
  186. function weld(parent,part0,part1,c0)
  187. local weld=it("Weld")
  188. weld.Parent=parent
  189. weld.Part0=part0
  190. weld.Part1=part1
  191. weld.C0=c0
  192. return weld
  193. end
  194.  
  195. local Color1=Torso.BrickColor
  196.  
  197. local fengui=it("GuiMain")
  198. fengui.Parent=Player.PlayerGui
  199. fengui.Name="WeaponGUI"
  200. local fenframe=it("Frame")
  201. fenframe.Parent=fengui
  202. fenframe.BackgroundColor3=Color3.new(255,255,255)
  203. fenframe.BackgroundTransparency=1
  204. fenframe.BorderColor3=Color3.new(17,17,17)
  205. fenframe.Size=UDim2.new(0.0500000007, 0, 0.100000001, 0)
  206. fenframe.Position=UDim2.new(0.4,0,0.1,0)
  207. local fenbarmana1=it("TextLabel")
  208. fenbarmana1.Parent=fenframe
  209. fenbarmana1.Text=" "
  210. fenbarmana1.BackgroundTransparency=1
  211. fenbarmana1.BackgroundColor3=Color3.new(0,0,0)
  212. fenbarmana1.SizeConstraint="RelativeXY"
  213. fenbarmana1.TextXAlignment="Center"
  214. fenbarmana1.TextYAlignment="Center"
  215. fenbarmana1.Position=UDim2.new(0,0,0,0)
  216. fenbarmana1.Size=UDim2.new(4,0,0.2,0)
  217. local fenbarmana2=it("TextLabel")
  218. fenbarmana2.Parent=fenframe
  219. fenbarmana2.Text=" "
  220. fenbarmana2.BackgroundTransparency=0
  221. fenbarmana2.BackgroundColor3=BrickColor.new("New Yeller").Color
  222. fenbarmana2.SizeConstraint="RelativeXY"
  223. fenbarmana2.TextXAlignment="Center"
  224. fenbarmana2.TextYAlignment="Center"
  225. fenbarmana2.Position=UDim2.new(0,0,0,0)
  226. fenbarmana2.Size=UDim2.new(4*mana/100,0,0.2,0)
  227. local fenbarmana3=it("TextLabel")
  228. fenbarmana3.Parent=fenframe
  229. fenbarmana3.Text=" "
  230. fenbarmana3.BackgroundTransparency=0
  231. fenbarmana3.BackgroundColor3=Color3.new(Col1,Col2,Col3)
  232. fenbarmana3.SizeConstraint="RelativeXY"
  233. fenbarmana3.TextXAlignment="Center"
  234. fenbarmana3.TextYAlignment="Center"
  235. fenbarmana3.Position=UDim2.new(0,0,0,0)
  236. fenbarmana3.Size=UDim2.new(0,0,0.2,0)
  237. local fenbarmana4=it("TextLabel")
  238. fenbarmana4.Parent=fenframe
  239. fenbarmana4.Text="Ammo("..mana..") 5 Counts as 1 Bullet"
  240. fenbarmana4.BackgroundTransparency=1
  241. fenbarmana4.BackgroundColor3=Color3.new(0,0,0)
  242. fenbarmana4.SizeConstraint="RelativeXY"
  243. fenbarmana4.TextXAlignment="Center"
  244. fenbarmana4.TextYAlignment="Center"
  245. fenbarmana4.Position=UDim2.new(0,0,-0.3,0)
  246. fenbarmana4.Size=UDim2.new(4,0,0.2,0)
  247. fenbarmana4.FontSize="Size18"
  248. fenbarmana4.TextStrokeTransparency=0
  249. fenbarmana4.TextColor=BrickColor.new("White")
  250.  
  251. local modelzorz=Instance.new("Model")
  252. modelzorz.Parent=Character
  253. modelzorz.Name="Ignis"
  254.  
  255. local prt1=part(3,modelzorz,0,0,BrickColor.new("Lime green"),"Part01",vt())
  256. local prt2=part(3,modelzorz,0,0,BrickColor.new("Lime green"),"Part02",vt())
  257. local prt3=part(3,modelzorz,0.5,0,BrickColor.new("Really red"),"Part03",vt())
  258. local prt4=part(3,modelzorz,0.5,0,BrickColor.new("Really red"),"Part04",vt())
  259. local prt8=part(3,modelzorz,0.5,0,BrickColor.new("Lime green"),"Part08",vt())
  260. local prt9=part(3,modelzorz,0.5,0,BrickColor.new("Lime green"),"Part09",vt())
  261. local prt10=part(3,modelzorz,0.5,0,BrickColor.new("Really red"),"Part10",vt())
  262. local prt11=part(3,modelzorz,0.5,0,BrickColor.new("Really red"),"Part11",vt())
  263. local prt12=part(3,modelzorz,0.5,0,BrickColor.new("Lime green"),"Part12",vt())
  264. local gprt1=part(3,modelzorz,0,0.9,BrickColor.new("Black"),"Gun Part01",vt())
  265. local gprt2=part(3,modelzorz,0.2,0,BrickColor.new("Really black"),"Gun Part02",vt())
  266. local gprt3=part(3,modelzorz,0.2,0,BrickColor.new("Really black"),"Gun Part03",vt())
  267. local gprt4=part(3,modelzorz,0.2,0,BrickColor.new("Really black"),"Gun Part04",vt())
  268. local gprt5=part(3,modelzorz,0.2,0,BrickColor.new("Black"),"Gun Part05",vt())
  269. local gprt6=part(3,modelzorz,0.2,0,BrickColor.new("Really black"),"Gun Part06",vt())
  270. local gprt7=part(3,modelzorz,0,0,BrickColor.new("Really black"),"Gun Part07",vt())
  271. local gprt8=part(3,modelzorz,0.2,0,BrickColor.new("Black"),"Gun Part08",vt())
  272. local gprt9=part(3,modelzorz,0,0,BrickColor.new("Really black"),"Gun Part09",vt())
  273. local gprt10=part(3,modelzorz,0.2,0,BrickColor.new("Really black"),"Gun Part10",vt())
  274. local gprt11=part(3,modelzorz,0,0,BrickColor.new("Black"),"Gun Part11",vt())
  275. local gprt12=part(3,modelzorz,0,0,BrickColor.new("Really black"),"Gun Part12",vt())
  276. local gprt13=part(3,modelzorz,0,0,BrickColor.new("Black"),"Gun Part13",vt())
  277. local gprt14=part(3,modelzorz,0,0,BrickColor.new("Black"),"Gun Part14",vt())
  278. local gprt15=part(3,modelzorz,0,0,BrickColor.new("Really black"),"Gun Part15",vt())
  279. local gprt16=part(3,modelzorz,0,.2,BrickColor.new("Really black"),"Gun Part16",vt())
  280.  
  281. local msh1=mesh("SpecialMesh",prt1,"Head","nil",vt(0,0,0),vt(2.5,6,2.5))
  282. local msh2=mesh("BlockMesh",prt2,"","",vt(0,0,0),vt(1.5,7,1.5))
  283. local msh3=mesh("BlockMesh",prt3,"","",vt(0,0,0),vt(1.6,3,1.6))
  284. local msh4=mesh("BlockMesh",prt4,"","",vt(0,0,0),vt(1.6,9,1))
  285. local msh8=mesh("BlockMesh",prt8,"","",vt(0,0,0),vt(1.6,4,1))
  286. local msh9=mesh("BlockMesh",prt9,"","",vt(0,0,0),vt(1.6,20,2))
  287. local msh10=mesh("SpecialMesh",prt10,"Wedge","nil",vt(0,0,0),vt(1.6,3,2))
  288. local msh11=mesh("BlockMesh",prt11,"","",vt(0,0,0),vt(1.6,17.5,1.5))
  289. local msh12=mesh("SpecialMesh",prt12,"Wedge","nil",vt(0,0,0),vt(1.6,2.1,1.5))
  290. local gmsh1=mesh("BlockMesh",gprt1,"","",vt(0,0,0),vt(1,1,1))
  291. local gmsh2=mesh("BlockMesh",gprt2,"","",vt(0,0,0),vt(2,4,2))
  292. local gmsh3=mesh("SpecialMesh",gprt3,"Wedge","nil",vt(0,0,0),vt(2,2,1))
  293. local gmsh4=mesh("BlockMesh",gprt4,"","",vt(0,0,0),vt(1.99,6,2))
  294. local gmsh5=mesh("SpecialMesh",gprt5,"Wedge","nil",vt(0,0,0),vt(1.99,2,2))
  295. local gmsh6=mesh("BlockMesh",gprt6,"","",vt(0,0,0),vt(2.1,8.6,2))
  296. local gmsh7=mesh("BlockMesh",gprt7,"","",vt(0,0,0),vt(2,8.5,1.99))
  297. local gmsh8=mesh("CylinderMesh",gprt8,"","",vt(0,0,0),vt(2,2,2))
  298. local gmsh9=mesh("CylinderMesh",gprt9,"","",vt(0,0,0),vt(1.5,2.01,1.5))
  299. local gmsh10=mesh("SpecialMesh",gprt10,"Wedge","nil",vt(0,0,0),vt(2,2,2))
  300. local gmsh11=mesh("BlockMesh",gprt11,"","",vt(0,0,0),vt(2.2,2,1))
  301. local gmsh12=mesh("BlockMesh",gprt12,"","",vt(0,0,0),vt(2.21,1.8,.8))
  302. local gmsh13=mesh("BlockMesh",gprt13,"","",vt(0,0,0),vt(2.22,.5,1))
  303. local gmsh14=mesh("BlockMesh",gprt14,"","",vt(0,0,0),vt(2.2,6,1))
  304. local gmsh15=mesh("BlockMesh",gprt15,"","",vt(0,0,0),vt(2.21,5,.9))
  305.  
  306. local wld1=weld(prt1,prt1,Torso,euler(0,1.57,-2.1)*cf(-1.8,-1.7,-.5))
  307. local wld2=weld(prt2,prt2,prt1,euler(0,0,0)*cf(0,0,0))
  308. local wld3=weld(prt3,prt3,prt2,euler(0,0,0)*cf(0,-1,0))
  309. local wld4=weld(prt4,prt4,prt3,euler(0,0,0)*cf(0,-1.2,-.1))
  310. local wld8=weld(prt8,prt8,prt4,euler(1.57,0,0)*cf(0,0,-0.5))
  311. local wld9=weld(prt9,prt9,prt4,euler(0,0,0)*cf(0,-3,0))
  312. local wld10=weld(prt10,prt10,prt9,euler(0,3.14,0)*cf(0,-2.3,0))
  313. local wld11=weld(prt11,prt11,prt4,euler(0,0,0)*cf(0,-2.85,-.36))
  314. local wld12=weld(prt12,prt12,prt11,euler(0,3.14,0)*cf(0,-1.95,0))
  315. local gwld1=weld(gprt1,gprt1,LeftLeg,euler(2.3,0,0)*cf(.6,-.8,.3))
  316. --local gwld1=weld(gprt1,gprt1,LeftArm,euler(1.57,0,0)*cf(0,.9,0))
  317. local gwld2=weld(gprt2,gprt2,gprt1,euler(.7,0,0)*cf(0,0,0))
  318. local gwld3=weld(gprt3,gprt3,gprt2,euler(1.57,3.14,0)*cf(0,.5,0))
  319. local gwld4=weld(gprt4,gprt4,gprt2,euler(0.87,0,0)*cf(0,-.6,.3))
  320. local gwld5=weld(gprt5,gprt5,gprt4,euler(0,3.14,0)*cf(0,-.8,0))
  321. local gwld6=weld(gprt6,gprt6,gprt4,euler(0,0,0)*cf(0,-.25,-.1))
  322. local gwld7=weld(gprt7,gprt7,gprt4,euler(0,0,0)*cf(0,-.25,-.1))
  323. local gwld8=weld(gprt8,gprt8,gprt7,euler(0,0,0)*cf(0,-.9,0))
  324. local gwld9=weld(gprt9,gprt9,gprt8,euler(0,0,0)*cf(0,0,0))
  325. local gwld10=weld(gprt10,gprt10,gprt6,euler(0,0,3.14)*cf(0,1.05,0))
  326. local gwld11=weld(gprt11,gprt11,gprt6,euler(0,0,0)*cf(0,.5,0.1))
  327. local gwld12=weld(gprt12,gprt12,gprt11,euler(0,0,0)*cf(0,0,0))
  328. local gwld13=weld(gprt13,gprt13,gprt11,euler(0,0,0)*cf(0,0,0))
  329. local gwld14=weld(gprt14,gprt14,gprt6,euler(0,0,0)*cf(0,-.1,-.11))
  330. local gwld15=weld(gprt15,gprt15,gprt14,euler(0,0,0)*cf(0,.05,0))
  331. local gwld16=weld(gprt16,gprt16,gprt11,euler(-1.57,0,0)*cf(0,0,0))
  332.  
  333. num=0
  334. num2=0
  335. for i=1,10 do
  336. local prt5=part(3,modelzorz,0.5,0,BrickColor.new("Lime green"),"Part05",vt())
  337. local msh5=mesh("BlockMesh",prt5,"","",vt(0,0,0),vt(1.61,2,1.61))
  338. local wld5=weld(prt5,prt5,prt4,cf(0,0,1.05)*euler(1.57+num,0,0))
  339. if i>=3 and i<=9 then
  340. local prt6=part(3,modelzorz,0.5,0,BrickColor.new("Really red"),"Part06",vt())
  341. local msh6=mesh("BlockMesh",prt6,"","",vt(0,0,0),vt(1.6,1.5,2))
  342. local wld6=weld(prt6,prt6,prt5,cf(0,0.1,.3))
  343. local prt7=part(3,modelzorz,0.5,0,BrickColor.new("Lime green"),"Part07",vt())
  344. local msh7=mesh("SpecialMesh",prt7,"FileMesh","9756362",vt(0,0,0),vt(.3,.3,.6))
  345. local wld7=weld(prt7,prt7,prt6,euler(0,0,0.785)*cf(0,0,0.2))
  346. end
  347. num=num+0.348
  348. end
  349.  
  350. num=0
  351. for i=1,4 do
  352. local gprt11=part(3,modelzorz,0,0,BrickColor.new("Black"),"Gun Part11",vt())
  353. local gmsh11=mesh("CylinderMesh",gprt11,"","",vt(0,0,0),vt(.6,2.2,.6))
  354. local gwld11=weld(gprt11,gprt11,gprt6,euler(0,0,1.57)*cf(0,-.5-num,0.1))
  355. num=num-.2
  356. end
  357.  
  358. local hitbox=part(3,nil,0,1,BrickColor.new("Black"),"Hitbox",vt(1,1,1))
  359. --hitbox.Anchored=false
  360. local hitbox2=part(3,nil,0,1,BrickColor.new("Black"),"Hitbox",vt(1,1,1))
  361. hitbox2.Anchored=true
  362.  
  363. if (script.Parent.className~="HopperBin") then
  364. Tool=Instance.new("HopperBin")
  365. Tool.Parent=Backpack
  366. Tool.Name="Ignis"
  367. script.Parent=Tool
  368. end
  369. Bin=script.Parent
  370.  
  371. local bodvel=Instance.new("BodyVelocity")
  372. local bg=Instance.new("BodyGyro")
  373.  
  374. so = function(id,par,vol,pit)
  375. coroutine.resume(coroutine.create(function()
  376. local sou = Instance.new("Sound",par or workspace)
  377. sou.Volume=vol
  378. sou.Pitch=pit or 1
  379. sou.SoundId=id
  380. swait()
  381. sou:play()
  382. game:GetService("Debris"):AddItem(sou,6)
  383. end))
  384. end
  385.  
  386. function clerp(a,b,t)
  387. local qa = {QuaternionFromCFrame(a)}
  388. local qb = {QuaternionFromCFrame(b)}
  389. local ax, ay, az = a.x, a.y, a.z
  390. local bx, by, bz = b.x, b.y, b.z
  391. local _t = 1-t
  392. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  393. end
  394.  
  395. function QuaternionFromCFrame(cf)
  396. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  397. local trace = m00 + m11 + m22
  398. if trace > 0 then
  399. local s = math.sqrt(1 + trace)
  400. local recip = 0.5/s
  401. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  402. else
  403. local i = 0
  404. if m11 > m00 then
  405. i = 1
  406. end
  407. if m22 > (i == 0 and m00 or m11) then
  408. i = 2
  409. end
  410. if i == 0 then
  411. local s = math.sqrt(m00-m11-m22+1)
  412. local recip = 0.5/s
  413. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  414. elseif i == 1 then
  415. local s = math.sqrt(m11-m22-m00+1)
  416. local recip = 0.5/s
  417. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  418. elseif i == 2 then
  419. local s = math.sqrt(m22-m00-m11+1)
  420. local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  421. end
  422. end
  423. end
  424.  
  425. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  426. local xs, ys, zs = x + x, y + y, z + z
  427. local wx, wy, wz = w*xs, w*ys, w*zs
  428. local xx = x*xs
  429. local xy = x*ys
  430. local xz = x*zs
  431. local yy = y*ys
  432. local yz = y*zs
  433. local zz = z*zs
  434. 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))
  435. end
  436.  
  437. function QuaternionSlerp(a, b, t)
  438. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  439. local startInterp, finishInterp;
  440. if cosTheta >= 0.0001 then
  441. if (1 - cosTheta) > 0.0001 then
  442. local theta = math.acos(cosTheta)
  443. local invSinTheta = 1/math.sin(theta)
  444. startInterp = math.sin((1-t)*theta)*invSinTheta
  445. finishInterp = math.sin(t*theta)*invSinTheta
  446. else
  447. startInterp = 1-t
  448. finishInterp = t
  449. end
  450. else
  451. if (1+cosTheta) > 0.0001 then
  452. local theta = math.acos(-cosTheta)
  453. local invSinTheta = 1/math.sin(theta)
  454. startInterp = math.sin((t-1)*theta)*invSinTheta
  455. finishInterp = math.sin(t*theta)*invSinTheta
  456. else
  457. startInterp = t-1
  458. finishInterp = t
  459. end
  460. end
  461. 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
  462. end
  463.  
  464. function hideanim()
  465. equipped=false
  466. for i=0,1,0.5 do
  467. swait()
  468. wld1.C0=clerp(wld1.C0,euler(0,-1.57,-1)*euler(.4,0,0)*cf(0,1,0),.4)
  469. gwld1.C0=clerp(gwld1.C0,euler(2,0,0)*cf(0,1,0),.4)
  470. Neck.C0=clerp(Neck.C0,necko*euler(-.2,0,-.4),.4)
  471. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,0),.4)
  472. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(2,0,.2),.4)
  473. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  474. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(.2,0,.2),.4)
  475. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  476. end
  477. for i=0,1,0.2 do
  478. swait()
  479. wld1.C0=clerp(wld1.C0,euler(0,-1.57,-1)*euler(.4,0,0)*cf(0,1,0),.4)
  480. gwld1.C0=clerp(gwld1.C0,euler(2,0,0)*cf(0,1,0),.4)
  481. Neck.C0=clerp(Neck.C0,necko*euler(-.2,0,-.4),.4)
  482. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,0),.4)
  483. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(3.4,0,.2),.4)
  484. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  485. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(.2,0,.2),.4)
  486. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  487. RH.C0=clerp(RH.C0,RHC0,.4)
  488. RH.C1=clerp(RH.C1,RHC1,.4)
  489. LH.C0=clerp(LH.C0,LHC0,.4)
  490. LH.C1=clerp(LH.C1,LHC1,.4)
  491. end
  492. Mvmt.Value=Mvmt.Value+.1
  493. wld1.Part1=Torso
  494. wld1.C0=euler(0,1.57,-2.1)*cf(-1.8,-1.7,-.5)
  495. gwld1.Part1=LeftLeg
  496. gwld1.C0=euler(2.3,0,0)*cf(.6,-.8,.3)
  497. for i=0,1,0.3 do
  498. swait()
  499. Neck.C0=clerp(Neck.C0,necko*euler(0,0,0),.4)
  500. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,0),.4)
  501. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(0,0,0),.4)
  502. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  503. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(0,0,0),.4)
  504. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  505. end
  506. end
  507.  
  508. function equipanim()
  509. equipped=true
  510. for i=0,1,0.5 do
  511. swait()
  512. Neck.C0=clerp(Neck.C0,necko*euler(-.2,0,-.4),.4)
  513. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,0),.4)
  514. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(2,0,.2),.4)
  515. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  516. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(.2,0,.2),.4)
  517. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  518. end
  519. for i=0,1,0.2 do
  520. swait()
  521. Neck.C0=clerp(Neck.C0,necko*euler(-.2,0,-.4),.4)
  522. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,0),.4)
  523. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(3.4,0,.2),.4)
  524. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  525. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(.2,0,.2),.4)
  526. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  527. end
  528. Mvmt.Value=Mvmt.Value-.1
  529. wld1.Part1=RightArm
  530. wld1.C0=euler(0,-1.57,-1)*euler(.4,0,0)*cf(0,1,0)
  531. gwld1.Part1=LeftArm
  532. --gwld1.C0=euler(1.57,0,0)*cf(0,1,0)
  533. gwld1.C0=euler(2,0,0)*cf(0,1,0)
  534. --[[for i=0,2,0.5 do
  535. swait()
  536. wld1.C0=clerp(wld1.C0,euler(1.57,0,3.14)*cf(0,1,0),.3)
  537. gwld1.C0=clerp(gwld1.C0,euler(1.57,0,0)*cf(0,1,0),.4)
  538. Neck.C0=clerp(Neck.C0,necko*euler(-.1,0,-.2),.4)
  539. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,0),.4)
  540. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1.5,0,.2),.4)
  541. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  542. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(0,0,0),.4)
  543. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  544. end]]
  545. end
  546.  
  547. function StaggerAnim()
  548. attack=true
  549. for i=1,math.random(2,4) do
  550. ClangEffect(BrickColor.new("New Yeller"),cf(hitbox.Position)*euler(math.random(-50,50)/100,math.random(-50,50),math.random(-50,50)/100),0,.1,.2,math.random(150,300)/1000)
  551. end
  552. for i=0,1,0.35 do
  553. swait()
  554. Torso.Velocity=RootPart.CFrame.lookVector*-40
  555. wld1.C0=clerp(wld1.C0,euler(1.57,0,3.14)*cf(0,1,.2),.3)
  556. Neck.C0=clerp(Neck.C0,necko*euler(0,0,.5)*euler(.1,0,0),.3)
  557. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(-.2,0,-.4),.3)
  558. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.2,0,.7)*euler(0,-.7,0),.3)
  559. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  560. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.2,0,-.4)*euler(0,.4,0),.3)
  561. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  562. RH.C0=clerp(RH.C0,cf(1,-.8,0)*euler(0,1.57,0)*euler(-.5,0,.6),.3)
  563. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(0,.2,.2),.3)
  564. end
  565. for i=0,1,0.2 do
  566. swait()
  567. Torso.Velocity=RootPart.CFrame.lookVector*-40
  568. wld1.C0=clerp(wld1.C0,euler(1.57,0,3.14)*cf(0,1,.2),.3)
  569. Neck.C0=clerp(Neck.C0,necko*euler(0,0,.5)*euler(.1,0,0),.4)
  570. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-.2)*euler(-.5,0,-.4),.4)
  571. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.2,0,.7)*euler(0,-.7,0),.4)
  572. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  573. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.2,0,-.4)*euler(0,.4,0),.4)
  574. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  575. RH.C0=clerp(RH.C0,cf(1,-.8,0)*euler(0,1.57,0)*euler(-.5,0,.6),.4)
  576. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(0,.2,.5),.4)
  577. end
  578. for i=0,1,0.1 do
  579. swait()
  580. wld1.C0=clerp(wld1.C0,euler(1.57,0,3.14)*cf(0,1,.2),.3)
  581. Neck.C0=clerp(Neck.C0,necko*euler(0,0,.4)*euler(.5,0,0),.3)
  582. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-1.8)*euler(-.2,0,-.4),.3)
  583. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.3,0,.4)*euler(0,-.4,0),.3)
  584. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  585. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.3,0,-.2)*euler(0,.4,0),.3)
  586. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  587. RH.C0=clerp(RH.C0,cf(1,-.8,0)*euler(0,1.57,0)*euler(-.5,0,1.2),.3)
  588. LH.C0=clerp(LH.C0,cf(-1,0,-1)*euler(0,-1.57,0)*euler(0,.2,.2),.3)
  589. end
  590. swait(15)
  591. combo=0
  592. attack=false
  593. end
  594.  
  595. function StaggerHitt()
  596. attack=true
  597. for i=1,math.random(2,4) do
  598. ClangEffect(BrickColor.new("New Yeller"),cf(hitbox.Position)*euler(math.random(-50,50)/100,math.random(-50,50),math.random(-50,50)/100),0,.1,.2,math.random(150,300)/1000)
  599. end
  600. for i=0,1,0.1 do
  601. swait()
  602. wld1.C0=clerp(wld1.C0,euler(1.57,0,3.14)*cf(0,1,.2),.3)
  603. Neck.C0=clerp(Neck.C0,necko*euler(0,0,.7)*euler(.1,0,0),.3)
  604. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(-.2,0,-.6),.3)
  605. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.4,0,.9)*euler(0,-.7,0),.3)
  606. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  607. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.2,0,-.4)*euler(0,.4,0),.3)
  608. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  609. RH.C0=clerp(RH.C0,cf(1,-.8,0)*euler(0,1.57,0)*euler(-.2,0,-.4),.3)
  610. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(0,.2,.2),.3)
  611. end
  612. attack=false
  613. end
  614.  
  615. function StunAnim()
  616. attack=true
  617. Stunned.Value=true
  618. for i=0,1,0.3 do
  619. swait()
  620. Humanoid.WalkSpeed=0
  621. wld1.C0=clerp(wld1.C0,euler(1.57,0,3.14)*cf(0,1,.2),.3)
  622. Neck.C0=clerp(Neck.C0,necko*euler(-.2,0,-.5),.2)
  623. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(.2,0,-3),.2)
  624. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.2,0,1.3),.2)
  625. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  626. LW.C0=clerp(LW.C0,cf(-1.2,0.5,-.4)*euler(1,0,.4)*euler(0,-.1,0),.2)
  627. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  628. RH.C0=clerp(RH.C0,cf(1,-.6,0)*euler(0,1.57,0)*euler(-.5,0,.3),.25)
  629. LH.C0=clerp(LH.C0,cf(-1,-.8,0)*euler(0,-1.57,0)*euler(-.2,0,0),.25)
  630. end
  631. for i=0,1,0.3 do
  632. swait()
  633. Humanoid.WalkSpeed=0
  634. wld1.C0=clerp(wld1.C0,euler(1.57,0,3.14)*cf(0,1,.2),.3)
  635. Neck.C0=clerp(Neck.C0,necko*euler(-.3,0,-.5),.2)
  636. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-.5)*euler(.8,0,-3),.2)
  637. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.8,0,1.3),.2)
  638. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  639. LW.C0=clerp(LW.C0,cf(-1.2,0.5,-.4)*euler(1.2,0,.8)*euler(0,-.1,0),.2)
  640. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  641. RH.C0=clerp(RH.C0,cf(1,-.6,0)*euler(0,1.57,0)*euler(-.5,0,.6),.25)
  642. LH.C0=clerp(LH.C0,cf(-1,-.8,0)*euler(0,-1.57,0)*euler(.1,0,.7),.25)
  643. end
  644. for i=0,1,0.3 do
  645. swait()
  646. Humanoid.WalkSpeed=0
  647. wld1.C0=clerp(wld1.C0,euler(1.57,0,3.14)*cf(0,1,.2),.3)
  648. Neck.C0=clerp(Neck.C0,necko*euler(-.3,0,-1),.2)
  649. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-2)*euler(1.57,0,-3),.2)
  650. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.8,0,1.3),.2)
  651. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  652. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1.2,0,-.8)*euler(0,-.1,0),.2)
  653. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  654. RH.C0=clerp(RH.C0,cf(1,-.6,0)*euler(0,1.57,0)*euler(-.2,0,.6),.25)
  655. LH.C0=clerp(LH.C0,cf(-1,-.8,0)*euler(0,-1.57,0)*euler(-.1,0,.3),.25)
  656. end
  657. gairo=Instance.new("BodyGyro")
  658. gairo.Parent=RootPart
  659. gairo.maxTorque=Vector3.new(4e+005,4e+005,4e+005)*math.huge
  660. gairo.P=20e+003
  661. gairo.cframe=RootPart.CFrame
  662. v=Instance.new("BodyVelocity",RootPart)
  663. v.Name="BodVel"
  664. v.P=2000
  665. v.maxForce=Vector3.new(500000000,50000000,500000000)
  666. v.velocity=vt(0,-50,0)
  667. for i=0,1,0.1 do
  668. swait()
  669. Humanoid.WalkSpeed=0
  670. v.velocity=vt(0,-50,0)
  671. wld1.C0=clerp(wld1.C0,euler(1.57,0,3.14)*cf(0,1,.2),.3)
  672. Neck.C0=clerp(Neck.C0,necko*euler(0,0,-1.57),.3)
  673. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-2.5)*euler(1.57,0,-3.14),.3)
  674. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-1.57,0,1.5)*euler(.2,0,0),.3)
  675. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  676. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1.5,0,-1.57)*euler(0,0,0),.3)
  677. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  678. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0,1.57,0)*euler(-.3,.5,0),.3)
  679. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(-.1,.2,0),.3)
  680. end
  681. for i=1,70 do
  682. swait()
  683. Humanoid.WalkSpeed=0
  684. v.velocity=vt(0,-50,0)
  685. end
  686. v.velocity=vt(0,0,0)
  687. for i=0,1,0.2 do
  688. swait()
  689. wld1.C0=clerp(wld1.C0,euler(1.57,0,3.14)*cf(0,1,.2),.3)
  690. Neck.C0=clerp(Neck.C0,necko*euler(.2,0,0),.3)
  691. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-2)*euler(1,0,-4),.3)
  692. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-1.57,0,1)*euler(.2,-1,0),.3)
  693. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  694. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1.2,0,.2)*euler(0,0,0),.3)
  695. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  696. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0,1.57,0)*euler(-.3,.5,.4),.3)
  697. LH.C0=clerp(LH.C0,cf(-1,-1,-1)*euler(0,-1.57,0)*euler(-.1,.2,1),.3)
  698. end
  699. gairo.Parent=nil
  700. v.Parent=nil
  701. combo=0
  702. Stunned.Value=false
  703. attack=false
  704. end
  705.  
  706. function attackone()
  707. attack=true
  708. for i=0,1,0.2 do
  709. swait()
  710. wld1.C0=clerp(wld1.C0,euler(2.9,0,3.14)*cf(0,1,.2),.4)
  711. Neck.C0=clerp(Neck.C0,necko*euler(.2,0,.5),.4)
  712. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,-.5),.4)
  713. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(2,0,1),.4)
  714. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  715. LW.C0=clerp(LW.C0,cf(-1.3,0.5,-.3)*euler(.4,0,.2)*euler(0,-.2,0),.4)
  716. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  717. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0,1.57,0)*euler(0,.5,0),.4)
  718. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(0,.5,0),.4)
  719. if Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  720. break
  721. end
  722. end
  723. con1=hitbox.Touched:connect(function(hit) Damagefunc(hit,30,35,math.random(25,30),"Normal",RootPart,.5,1,math.random(3,10),nil,true) end)
  724. hitbox.Parent=modelzorz
  725. hitbox.Size=vt(.5,7,1)
  726. hitbox.CFrame=prt9.CFrame*cf(0,-1,.4)
  727. blcf=nil
  728. scfr=nil
  729. for i=0,1,0.3 do
  730. swait()
  731. local blcf = prt9.CFrame*cf(0,-1,0)
  732. if scfr and (prt9.Position-scfr.p).magnitude > .1 then
  733. local h = 7
  734. local a,b = Triangle((scfr*CFrame.new(0,h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p,(blcf*CFrame.new(0,h/2,0)).p)
  735. if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end
  736. local a,b = Triangle((blcf*CFrame.new(0,h/2,0)).p,(blcf*CFrame.new(0,-h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p)
  737. if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end
  738. scfr = blcf
  739. elseif not scfr then
  740. scfr = blcf
  741. end
  742. hitbox.CFrame=prt9.CFrame*cf(0,-1,.4)
  743. wld1.C0=clerp(wld1.C0,euler(1.2,0,3.14)*cf(0,1,0),.4)
  744. --wld1.C0=clerp(wld1.C0,euler(2,0,3.14)*cf(0,1,.2),.4)
  745. Neck.C0=clerp(Neck.C0,necko*euler(0,0,-.5)*euler(.2,0,0),.4)
  746. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,.5),.4)
  747. RW.C0=clerp(RW.C0,cf(1.2,0.5,-.3)*euler(.2,0,-.2)*euler(0,-.5,0),.4)
  748. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  749. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.4,0,-.2),.4)
  750. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  751. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0,1.57,0)*euler(0,-.5,0),.4)
  752. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(0,-.5,0),.4)
  753. if Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  754. break
  755. end
  756. end
  757. for i=0,1,0.2 do
  758. swait()
  759. local blcf = prt9.CFrame*cf(0,-1,0)
  760. if scfr and (prt9.Position-scfr.p).magnitude > .1 then
  761. local h = 7
  762. local a,b = Triangle((scfr*CFrame.new(0,h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p,(blcf*CFrame.new(0,h/2,0)).p)
  763. if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end
  764. local a,b = Triangle((blcf*CFrame.new(0,h/2,0)).p,(blcf*CFrame.new(0,-h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p)
  765. if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end
  766. scfr = blcf
  767. elseif not scfr then
  768. scfr = blcf
  769. end
  770. hitbox.CFrame=prt9.CFrame*cf(0,-1,.4)
  771. wld1.C0=clerp(wld1.C0,euler(1.5,0,3.14)*euler(0,0,.3)*cf(0,1,0),.4)
  772. --wld1.C0=clerp(wld1.C0,euler(2,0,3.14)*cf(0,1,.2),.4)
  773. Neck.C0=clerp(Neck.C0,necko*euler(0,0,-.5)*euler(.2,0,0),.4)
  774. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,.5),.4)
  775. RW.C0=clerp(RW.C0,cf(1,0.5,-.5)*euler(.6,0,-1)*euler(0,-.7,0),.4)
  776. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  777. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.4,0,-.2),.4)
  778. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  779. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0,1.57,0)*euler(0,-.5,0),.4)
  780. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(0,-.5,0),.4)
  781. if Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  782. break
  783. end
  784. end
  785. con1:disconnect()
  786. hitbox.Parent=nil
  787. attack=false
  788. end
  789.  
  790. function attacktwo()
  791. attack=true
  792. for i=0,1,0.2 do
  793. swait()
  794. wld1.C0=clerp(wld1.C0,euler(1.5,0,3.14)*cf(0,1,0),.4)
  795. Neck.C0=clerp(Neck.C0,necko*euler(0,0,-.7)*euler(.2,0,0),.4)
  796. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,.7),.4)
  797. RW.C0=clerp(RW.C0,cf(1,0.5,-.5)*euler(1.57,0,-1)*euler(0,1.2,0),.4)
  798. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  799. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.8,0,-.4),.4)
  800. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  801. RH.C0=clerp(RH.C0,cf(.8,-1,.2)*euler(0,1.57,0)*euler(0,-.7,0),.4)
  802. LH.C0=clerp(LH.C0,cf(-.8,-1,.2)*euler(0,-1.57,0)*euler(0,-.7,0),.4)
  803. if Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  804. break
  805. end
  806. end
  807. con1=hitbox.Touched:connect(function(hit) Damagefunc(hit,10,15,math.random(5,10),"Normal",RootPart,.5,1,math.random(3,10),nil,true) end)
  808. hitbox.Parent=modelzorz
  809. hitbox.Size=vt(.5,7,1)
  810. hitbox.CFrame=prt9.CFrame*cf(0,-1,.4)
  811. blcf=nil
  812. scfr=nil
  813. for i=0,1,0.3 do
  814. swait()
  815. local blcf = prt9.CFrame*cf(0,-1,0)
  816. if scfr and (prt9.Position-scfr.p).magnitude > .1 then
  817. local h = 7
  818. local a,b = Triangle((scfr*CFrame.new(0,h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p,(blcf*CFrame.new(0,h/2,0)).p)
  819. if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end
  820. local a,b = Triangle((blcf*CFrame.new(0,h/2,0)).p,(blcf*CFrame.new(0,-h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p)
  821. if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end
  822. scfr = blcf
  823. elseif not scfr then
  824. scfr = blcf
  825. end
  826. hitbox.CFrame=prt9.CFrame*cf(0,-1,.4)
  827. wld1.C0=clerp(wld1.C0,euler(.5,0,3.14)*cf(0,1,.2),.4)
  828. Neck.C0=clerp(Neck.C0,necko*euler(0,0,.5)*euler(0,0,0),.4)
  829. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,-.5),.4)
  830. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1.3,0,1)*euler(0,1.6,0),.4)
  831. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  832. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.2,0,-.2),.4)
  833. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  834. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0,1.57,0)*euler(0,.5,0),.4)
  835. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(0,.5,0),.4)
  836. if Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  837. break
  838. end
  839. end
  840. for i=0,1,0.2 do
  841. swait()
  842. local blcf = prt9.CFrame*cf(0,-1,0)
  843. if scfr and (prt9.Position-scfr.p).magnitude > .1 then
  844. local h = 7
  845. local a,b = Triangle((scfr*CFrame.new(0,h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p,(blcf*CFrame.new(0,h/2,0)).p)
  846. if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end
  847. local a,b = Triangle((blcf*CFrame.new(0,h/2,0)).p,(blcf*CFrame.new(0,-h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p)
  848. if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end
  849. scfr = blcf
  850. elseif not scfr then
  851. scfr = blcf
  852. end
  853. hitbox.CFrame=prt9.CFrame*cf(0,-1,.4)
  854. wld1.C0=clerp(wld1.C0,euler(.3,0,3.14)*cf(0,1,.2),.4)
  855. Neck.C0=clerp(Neck.C0,necko*euler(0,0,.5)*euler(.1,0,0),.4)
  856. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,-.5),.4)
  857. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1,0,.8)*euler(0,1.3,0),.4)
  858. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  859. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.2,0,-.2),.4)
  860. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  861. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0,1.57,0)*euler(0,.5,0),.4)
  862. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(0,.5,0),.4)
  863. if Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  864. break
  865. end
  866. end
  867. con1:disconnect()
  868. hitbox.Parent=nil
  869. attack=false
  870. end
  871.  
  872. function attackthree()
  873. attack=true
  874. for i=0,1,0.15 do
  875. swait()
  876. wld1.C0=clerp(wld1.C0,euler(2.9,0,3.14)*cf(0,1,.2),.4)
  877. gwld1.C0=clerp(gwld1.C0,euler(1.57,0,0)*cf(0,1,0),.4)
  878. Neck.C0=clerp(Neck.C0,necko*euler(0,0,1.57),.4)
  879. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-.2)*euler(0,0,-1.57),.4)
  880. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1.3,0,.5),.4)
  881. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  882. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1.57,0,-1.57),.4)
  883. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  884. RH.C0=clerp(RH.C0,cf(.5,-1,-.2)*euler(0,1.57,0)*euler(-.4,1.57,0),.4)
  885. LH.C0=clerp(LH.C0,cf(-.5,-1,.2)*euler(0,-1.57,0)*euler(.2,1.57,0),.4)
  886. if Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  887. break
  888. end
  889. end
  890. for i=1,2 do
  891. LW.C0=cf(-1.5,0.5,0)*euler(1.57,0,-1.57)
  892. Shootcombo()
  893. for i=0,1,0.3 do
  894. swait()
  895. gwld6.C0=clerp(gwld6.C0,euler(0,0,0)*cf(0,.5,-.1),.6)
  896. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1.57,0,-1.57)*euler(.5,0,0),.5)
  897. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.5)
  898. if Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  899. break
  900. end
  901. end
  902. for i=0,1,0.2 do
  903. swait()
  904. gwld6.C0=clerp(gwld6.C0,euler(0,0,0)*cf(0,-.25,-.1),.4)
  905. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1.57,0,-1.57),.4)
  906. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  907. if Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  908. break
  909. end
  910. end
  911. if Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  912. break
  913. end
  914. end
  915. attack=false
  916. end
  917.  
  918. function attackfour()
  919. attack=true
  920. for i=0,1,0.2 do
  921. swait()
  922. wld1.C0=clerp(wld1.C0,euler(1.57,0,3.14)*cf(0,1,.2),.4)
  923. Neck.C0=clerp(Neck.C0,necko*euler(0,0,.2),.4)
  924. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,-.3),.4)
  925. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1,0,1.2)*euler(0,-2,0),.4)
  926. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  927. LW.C0=clerp(LW.C0,cf(-1.4,0.5,-.2)*euler(.7,0,.1)*euler(0,-.4,0),.4)
  928. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  929. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0,1.57,0)*euler(0,.3,0),.4)
  930. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(0,.3,0),.4)
  931. if Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  932. break
  933. end
  934. end
  935. con1=hitbox.Touched:connect(function(hit) Damagefunc(hit,15,20,math.random(5,10),"Normal",RootPart,.5,2,math.random(10,20),nil,true) end)
  936. hitbox.Parent=modelzorz
  937. hitbox.Size=vt(.5,7,1)
  938. hitbox.CFrame=prt9.CFrame*cf(0,-1,.4)
  939. blcf=nil
  940. scfr=nil
  941. for i=0,1,0.1 do
  942. swait()
  943. Torso.Velocity=RootPart.CFrame.lookVector*40
  944. local blcf = prt9.CFrame*cf(0,-1,0)
  945. if scfr and (prt9.Position-scfr.p).magnitude > .1 then
  946. local h = 7
  947. local a,b = Triangle((scfr*CFrame.new(0,h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p,(blcf*CFrame.new(0,h/2,0)).p)
  948. if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end
  949. local a,b = Triangle((blcf*CFrame.new(0,h/2,0)).p,(blcf*CFrame.new(0,-h/2,0)).p,(scfr*CFrame.new(0,-h/2,0)).p)
  950. if a then game.Debris:AddItem(a,1) end if b then game.Debris:AddItem(b,1) end
  951. scfr = blcf
  952. elseif not scfr then
  953. scfr = blcf
  954. end
  955. hitbox.CFrame=prt9.CFrame*cf(0,-1,.4)
  956. wld1.C0=clerp(wld1.C0,euler(.5,0,3.14)*cf(0,1,.2),.35)
  957. Neck.C0=clerp(Neck.C0,necko*euler(.2,0,-.6),.35)
  958. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,.6),.35)
  959. RW.C0=clerp(RW.C0,cf(1,0.5,-0.5)*euler(1.2,0,-1.2)*euler(0,-1.2,0),.35)
  960. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.35)
  961. LW.C0=clerp(LW.C0,cf(-1.4,0.5,-.2)*euler(-.4,0,-.7)*euler(0,0,0),.35)
  962. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.35)
  963. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0,1.57,0)*euler(0,-.6,0),.35)
  964. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(0,-.6,0),.35)
  965. if Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  966. break
  967. end
  968. end
  969. con1:disconnect()
  970. hitbox.Parent=nil
  971. attack=false
  972. end
  973.  
  974. function Punishment()
  975. attack=true
  976. local ref=part(3,workspace,0,1,BrickColor.new("Black"),"Effect",vt())
  977. ref.Anchored=true
  978. ref.CFrame=RootPart.CFrame*cf(0,0,-2)
  979. game:GetService("Debris"):AddItem(ref,1)
  980. for _,c in pairs(workspace:children()) do
  981. local hum=c:findFirstChild("Humanoid")
  982. if hum~=nil then
  983. local head=c:findFirstChild("HumanoidRootPart")
  984. if head~=nil then
  985. if GetDist(head,ref,3)==true then
  986. if head.Parent:findFirstChild("Stats")~=nil then
  987. if head.Parent.Stats.Stunned.Value==true then
  988. Mvmt.Value=Mvmt.Value-1
  989. for i=0,1,0.3 do
  990. swait()
  991. wld1.C0=clerp(wld1.C0,euler(-2,0,3.14)*cf(0,1,.2),.4)
  992. gwld1.C0=clerp(gwld1.C0,euler(1.57,0,0)*cf(0,1,0),.4)
  993. Neck.C0=clerp(Neck.C0,necko*euler(0,0,-1.57)*euler(.2,0,0),.4)
  994. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,1.57),.4)
  995. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1.57,0,1.57)*euler(2,0,0),.4)
  996. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  997. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.2,0,-.4),.4)
  998. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  999. RH.C0=clerp(RH.C0,cf(.5,-1,.2)*euler(0,1.57,0)*euler(0,-1.57,0),.4)
  1000. LH.C0=clerp(LH.C0,cf(-.5,-1,-.2)*euler(0,-1.57,0)*euler(0,-1.57,0),.4)
  1001. end
  1002. for i=0,1,0.18 do
  1003. swait()
  1004. wld1.C0=clerp(wld1.C0,euler(-1.57,0,3.14)*cf(0,1,.2),.4)
  1005. gwld1.C0=clerp(gwld1.C0,euler(1.57,0,0)*cf(0,1,0),.4)
  1006. Neck.C0=clerp(Neck.C0,necko*euler(0,0,-1.57)*euler(.2,0,0),.4)
  1007. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,1.57),.4)
  1008. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1.57,0,1.57),.4)
  1009. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  1010. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.2,0,-.4),.4)
  1011. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.4)
  1012. RH.C0=clerp(RH.C0,cf(.5,-1,.2)*euler(0,1.57,0)*euler(0,-1.57,0),.4)
  1013. LH.C0=clerp(LH.C0,cf(-.5,-1,-.2)*euler(0,-1.57,0)*euler(0,-1.57,0),.4)
  1014. end
  1015. DecreaseStat(head.Parent,"Defense",.3,300)
  1016. Damagefunc(head,10,20,math.random(5,10),"Normal",RootPart,.2,2,0,nil,nil,false)
  1017. for i=0,1,0.05 do
  1018. swait()
  1019. MagicBlock(BrickColor.new("New Yeller"),cf(head.Parent.Torso.Position),1,1,1,2,2,2,.1,1)
  1020. wld1.C0=clerp(wld1.C0,euler(-1.17,0,3.14)*cf(0,1,.2),.2)
  1021. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,1.57),.2)
  1022. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1.57,0,1.57)*euler(-.4,0,0),.2)
  1023. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.2,0,-.4),.4)
  1024. RH.C0=clerp(RH.C0,cf(.5,-1,.2)*euler(0,1.57,0)*euler(0,-1.57,0),.4)
  1025. LH.C0=clerp(LH.C0,cf(-.5,-1,-.2)*euler(0,-1.57,0)*euler(0,-1.57,0),.4)
  1026. end
  1027. Neck.C0=necko*euler(0,0,-1.57)*euler(.2,0,0)
  1028. swait(10)
  1029. Mvmt.Value=Mvmt.Value+1
  1030. end
  1031. end
  1032. end
  1033. end
  1034. end
  1035. end
  1036. attack=false
  1037. end
  1038.  
  1039. function GunStance()
  1040. attack=true
  1041. gun=true
  1042. Mvmt.Value=Mvmt.Value-.4
  1043. for i=0,1,0.1 do
  1044. swait()
  1045. wld1.C0=clerp(wld1.C0,euler(2.9,0,3.14)*cf(0,1,.2),.2)
  1046. gwld6.C0=clerp(gwld6.C0,euler(0,0,0)*cf(0,-.25,-.1),.4)
  1047. --gwld1.C0=clerp(gwld1.C0,euler(1.57,0,0)*cf(0,1,0),.4)
  1048. gwld1.C0=euler(1.57-8*i,0,0)*cf(0,1,0)
  1049. Neck.C0=clerp(Neck.C0,necko*euler(0,0,1.57)*euler(-.4,0,0),.2)
  1050. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-.2)*euler(0,0,-1.57),.2)
  1051. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1.3,0,1),.2)
  1052. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1053. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1.57,0,-1.57)*euler(1,0,0),.2)
  1054. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1055. RH.C0=clerp(RH.C0,cf(.5,-1,-.2)*euler(0,1.57,0)*euler(-.4,1.57,0),.2)
  1056. LH.C0=clerp(LH.C0,cf(-.5,-1,.2)*euler(0,-1.57,0)*euler(.2,1.57,0),.2)
  1057. end
  1058. RootJoint.C0=RootCF*cf(0,0,-.2)*euler(0,0,-1.57)
  1059. LW.C0=cf(-1.5,0.5,0)*euler(1.57,0,-1.57)
  1060. gairo=Instance.new("BodyGyro")
  1061. gairo.Parent=RootPart
  1062. gairo.maxTorque=Vector3.new(4e+005,4e+005,4e+005)*math.huge
  1063. gairo.P=20e+003
  1064. gairo.cframe=RootPart.CFrame
  1065. local offset=nil
  1066. while gun==true do
  1067. swait()
  1068. local gunpos=vt(MMouse.Hit.p.x,Head.Position.Y,MMouse.Hit.p.z)
  1069. offset=(Torso.Position.y-MMouse.Hit.p.y)/60
  1070. mag=(Torso.Position-MMouse.Hit.p).magnitude/80
  1071. offset=offset/mag
  1072. gairo.cframe=cf(Head.Position,gunpos)
  1073. gwld1.C0=clerp(gwld1.C0,euler(1.57,0,0)*cf(0,1,0),.3)
  1074. Neck.C0=clerp(Neck.C0,necko*euler(0,0,1.57),.3)
  1075. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(offset,0,0),.2)
  1076. end
  1077. Mvmt.Value=Mvmt.Value+.4
  1078. if shoot==true then
  1079. for i=0,1,0.1 do
  1080. swait()
  1081. gwld6.C0=clerp(gwld6.C0,euler(0,0,0)*cf(0,.5,-.1),.6)
  1082. gwld1.C0=clerp(gwld1.C0,euler(1.57,0,0)*cf(0,1,0),.2)
  1083. Neck.C0=clerp(Neck.C0,necko*euler(0,0,1.57)*euler(0,0,0),.2)
  1084. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1.57,0,-1.57)*euler(1,0,0),.2)
  1085. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1086. end
  1087. end
  1088. gairo.Parent=nil
  1089. shoot=false
  1090. attack=false
  1091. end
  1092.  
  1093. function Shootcombo()
  1094. table.insert(Effects,{gprt16.CFrame.lookVector,"Shoot",30,gprt8.Position,5,10,0,1})
  1095. end
  1096.  
  1097. function Shoot1()
  1098. table.insert(Effects,{gprt16.CFrame.lookVector,"Shoot",100,gprt8.Position,10,20,math.random(10,20),2})
  1099. end
  1100.  
  1101. function DecreaseStat(Model,Stat,Amount,Duration)
  1102. if Model:findFirstChild("Stats")~=nil then
  1103. if Model.Stats[Stat]~=nil then
  1104. Model.Stats[Stat].Value=Model.Stats[Stat].Value-Amount
  1105. table.insert(Effects,{Model,"DecreaseStat",Stat,Amount,Duration})
  1106. end
  1107. end
  1108. end
  1109.  
  1110. function GetDist(Part1,Part2,magni)
  1111. local targ=Part1.Position-Part2.Position
  1112. local mag=targ.magnitude
  1113. if mag<=magni then
  1114. return true
  1115. else
  1116. return false
  1117. end
  1118. end
  1119.  
  1120. function MagniDamage(Part,magni,mindam,maxdam,knock,Type)
  1121. for _,c in pairs(workspace:children()) do
  1122. local hum=c:findFirstChild("Humanoid")
  1123. if hum~=nil then
  1124. local head=c:findFirstChild("Torso")
  1125. if head~=nil then
  1126. local targ=head.Position-Part.Position
  1127. local mag=targ.magnitude
  1128. if mag<=magni and c.Name~=Player.Name then
  1129. Damagefunc(head,mindam,maxdam,knock,Type,RootPart,.2,1,3)
  1130. end
  1131. end
  1132. end
  1133. end
  1134. end
  1135.  
  1136. function rayCast(Pos, Dir, Max, Ignore) -- Origin Position , Direction, MaxDistance , IgnoreDescendants
  1137. return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
  1138. end
  1139.  
  1140. local Point=Torso.CFrame*cf(0,Torso.Size.Y,0)
  1141. LastPoint=Point
  1142. function effect(Color,Ref,LP,P1,returnn)
  1143. if LP==nil or P1==nil then return end
  1144. local effectsmsh=Instance.new("CylinderMesh")
  1145. effectsmsh.Scale=Vector3.new(0.2,1,0.2)
  1146. effectsmsh.Name="Mesh"
  1147. local effectsg=Instance.new("Part")
  1148. NoOutline(effectsg)
  1149. effectsg.formFactor=3
  1150. effectsg.CanCollide=false
  1151. effectsg.Name="Eff"
  1152. effectsg.Locked=true
  1153. effectsg.Anchored=true
  1154. effectsg.Size=Vector3.new(0.5,1,0.5)
  1155. effectsg.Parent=workspace
  1156. effectsmsh.Parent=effectsg
  1157. effectsg.BrickColor=BrickColor.new(Color)
  1158. effectsg.Reflectance=Ref
  1159. local point1=P1
  1160. local mg=(LP.p - point1.p).magnitude
  1161. effectsg.Size=Vector3.new(0.5,mg,0.5)
  1162. effectsg.CFrame=cf((LP.p+point1.p)/2,point1.p) * CFrame.Angles(math.rad(90),0,0)
  1163. effectsmsh.Scale=Vector3.new(0.2,1,0.2)
  1164. game:GetService("Debris"):AddItem(effectsg,2)
  1165. if returnn then return effectsg end
  1166. if not returnn then
  1167. table.insert(Effects,{effectsg,"Cylinder",0.2,0.01,0,0.01,effectsmsh})
  1168. end
  1169. end
  1170.  
  1171. local function CFrameFromTopBack(at, top, back)
  1172. local right = top:Cross(back)
  1173. return CFrame.new(at.x, at.y, at.z,
  1174. right.x, top.x, back.x,
  1175. right.y, top.y, back.y,
  1176. right.z, top.z, back.z)
  1177. end
  1178.  
  1179. function Triangle(a, b, c)
  1180. local edg1 = (c-a):Dot((b-a).unit)
  1181. local edg2 = (a-b):Dot((c-b).unit)
  1182. local edg3 = (b-c):Dot((a-c).unit)
  1183. if edg1 <= (b-a).magnitude and edg1 >= 0 then
  1184. a, b, c = a, b, c
  1185. elseif edg2 <= (c-b).magnitude and edg2 >= 0 then
  1186. a, b, c = b, c, a
  1187. elseif edg3 <= (a-c).magnitude and edg3 >= 0 then
  1188. a, b, c = c, a, b
  1189. else
  1190. assert(false, "unreachable")
  1191. end
  1192.  
  1193. local len1 = (c-a):Dot((b-a).unit)
  1194. local len2 = (b-a).magnitude - len1
  1195. local width = (a + (b-a).unit*len1 - c).magnitude
  1196.  
  1197. local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit)
  1198.  
  1199. local list = {}
  1200.  
  1201. if len1 > 0.01 then
  1202. local w1 = Instance.new('WedgePart', m)
  1203. game:GetService("Debris"):AddItem(w1,5)
  1204. w1.Material = "SmoothPlastic"
  1205. w1.FormFactor = 'Custom'
  1206. w1.BrickColor = BrickColor.new("Lime green")
  1207. w1.Transparency = 0
  1208. w1.Reflectance = 0
  1209. w1.Material = "SmoothPlastic"
  1210. w1.CanCollide = false
  1211. NoOutline(w1)
  1212. local sz = Vector3.new(0.2, width, len1)
  1213. w1.Size = sz
  1214. local sp = Instance.new("SpecialMesh",w1)
  1215. sp.MeshType = "Wedge"
  1216. sp.Scale = Vector3.new(0,1,1) * sz/w1.Size
  1217. w1:BreakJoints()
  1218. w1.Anchored = true
  1219. w1.Parent = workspace
  1220. w1.Transparency = 0.7
  1221. table.insert(Effects,{w1,"Disappear",.05})
  1222. w1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2)
  1223. table.insert(list,w1)
  1224. end
  1225.  
  1226. if len2 > 0.01 then
  1227. local w2 = Instance.new('WedgePart', m)
  1228. game:GetService("Debris"):AddItem(w2,5)
  1229. w2.Material = "SmoothPlastic"
  1230. w2.FormFactor = 'Custom'
  1231. w2.BrickColor = BrickColor.new("Lime green")
  1232. w2.Transparency = 0
  1233. w2.Reflectance = 0
  1234. w2.Material = "SmoothPlastic"
  1235. w2.CanCollide = false
  1236. NoOutline(w2)
  1237. local sz = Vector3.new(0.2, width, len2)
  1238. w2.Size = sz
  1239. local sp = Instance.new("SpecialMesh",w2)
  1240. sp.MeshType = "Wedge"
  1241. sp.Scale = Vector3.new(0,1,1) * sz/w2.Size
  1242. w2:BreakJoints()
  1243. w2.Anchored = true
  1244. w2.Parent = workspace
  1245. w2.Transparency = 0.7
  1246. table.insert(Effects,{w2,"Disappear",.05})
  1247. w2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2)
  1248. table.insert(list,w2)
  1249. end
  1250. return unpack(list)
  1251. end
  1252.  
  1253. function MagicBlock(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay,Type,parent)
  1254. local prt=part(3,workspace,0,0,brickcolor,"Effect",vt())
  1255. prt.Anchored=true
  1256. prt.CFrame=cframe
  1257. msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
  1258. game:GetService("Debris"):AddItem(prt,5)
  1259. if Type==1 or Type==nil then
  1260. table.insert(Effects,{prt,"Block1",delay,x3,y3,z3,msh})
  1261. elseif Type==2 then
  1262. table.insert(Effects,{prt,"Block2",delay,x3,y3,z3,msh})
  1263. end
  1264. end
  1265.  
  1266. function MagicCircle(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  1267. local prt=part(3,workspace,0,0,brickcolor,"Effect",vt())
  1268. prt.Anchored=true
  1269. prt.CFrame=cframe
  1270. local msh=mesh("SpecialMesh",prt,"Sphere","nil",vt(0,0,0),vt(x1,y1,z1))
  1271. game:GetService("Debris"):AddItem(prt,2)
  1272. table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh})
  1273. end
  1274.  
  1275. function MagicCylinder(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  1276. local prt=part(3,workspace,0,0,brickcolor,"Effect",vt())
  1277. prt.Anchored=true
  1278. prt.CFrame=cframe
  1279. local msh=mesh("CylinderMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
  1280. game:GetService("Debris"):AddItem(prt,2)
  1281. table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh})
  1282. end
  1283.  
  1284. function MagicHead(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  1285. local prt=part(3,workspace,0,0,brickcolor,"Effect",vt())
  1286. prt.Anchored=true
  1287. prt.CFrame=cframe
  1288. local msh=mesh("SpecialMesh",prt,"Head","nil",vt(0,0,0),vt(x1,y1,z1))
  1289. game:GetService("Debris"):AddItem(prt,2)
  1290. table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh})
  1291. end
  1292.  
  1293. function ClangEffect(brickcolor,cframe,duration,decrease,size,power)
  1294. local prt=part(3,workspace,0,1,brickcolor,"Effect",vt())
  1295. prt.Anchored=true
  1296. prt.CFrame=cframe
  1297. local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(5,5,5))
  1298. game:GetService("Debris"):AddItem(prt,2)
  1299. table.insert(Effects,{prt,"CylinderClang",duration,decrease,size,power,prt.CFrame,nil})
  1300. end
  1301.  
  1302. function MagicWave(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  1303. local prt=part(3,workspace,0,0,brickcolor,"Effect",vt())
  1304. prt.Anchored=true
  1305. prt.CFrame=cframe
  1306. local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=20329976",vt(0,0,0),vt(x1,y1,z1))
  1307. game:GetService("Debris"):AddItem(prt,5)
  1308. table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh})
  1309. end
  1310.  
  1311. Damagefunc=function(hit,minim,maxim,knockback,Type,Property,Delay,KnockbackType,incstun,stagger,staghit,ranged)
  1312. if hit.Parent==nil then
  1313. return
  1314. end
  1315. if hit.Name=="Hitbox" and hit.Parent~=modelzorz then
  1316. StaggerHit.Value=true
  1317. end
  1318. h=hit.Parent:FindFirstChild("Humanoid")
  1319. for _,v in pairs(hit.Parent:children()) do
  1320. if v:IsA("Humanoid") then
  1321. h=v
  1322. end
  1323. end
  1324. if hit.Parent.Parent:FindFirstChild("Torso")~=nil then
  1325. h=hit.Parent.Parent:FindFirstChild("Humanoid")
  1326. end
  1327. if hit.Parent.className=="Hat" then
  1328. hit=hit.Parent.Parent:findFirstChild("Head")
  1329. end
  1330. if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then
  1331. if hit.Parent:findFirstChild("DebounceHit")~=nil then if hit.Parent.DebounceHit.Value==true then return end end
  1332. c=Instance.new("ObjectValue")
  1333. c.Name="creator"
  1334. c.Value=game:service("Players").LocalPlayer
  1335. c.Parent=h
  1336. RecentEnemy.Value=hit.Parent
  1337. game:GetService("Debris"):AddItem(c,.5)
  1338. minim=minim*Atk.Value
  1339. maxim=maxim*Atk.Value
  1340. Damage=math.random(minim,maxim)
  1341. blocked=false
  1342. enblock=nil
  1343. Stats=hit.Parent:findFirstChild("Stats")
  1344. if Stats~=nil then
  1345. enblock=Stats:findFirstChild("Block")
  1346. if Stats:findFirstChild("Defense")~=nil then
  1347. Damage=Damage/Stats.Defense.Value
  1348. if Damage<=3 and staghit==true then
  1349. if ranged~=true then
  1350. StaggerHit.Value=true
  1351. end
  1352. end
  1353. end
  1354. if Stats:findFirstChild("Stun")~=nil then
  1355. Stats.Stun.Value=Stats.Stun.Value+incstun
  1356. end
  1357. if Stats:findFirstChild("Stagger")~=nil then
  1358. if stagger==true then
  1359. Stats.Stagger.Value=true
  1360. end
  1361. end
  1362. end
  1363. if enblock~=nil then
  1364. if enblock.Value==true then
  1365. blocked=true
  1366. end
  1367. end
  1368. if blocked==true then
  1369. showDamage(hit.Parent,"Block",.5,BrickColor.new("Really red"))
  1370. if ranged~=true then
  1371. enblock.Value=false
  1372. Stagger.Value=true
  1373. end
  1374. else
  1375. Damage=math.floor(Damage)
  1376. h.Health=h.Health-Damage
  1377. showDamage(hit.Parent,Damage,.5,BrickColor:Red())
  1378. if Type=="NormalDecreaseMvmt1" then
  1379. DecreaseStat(hit.Parent,"Movement",.1,200)
  1380. end
  1381. if Type=="Knockdown" then
  1382. hum=hit.Parent.Humanoid
  1383. hum.PlatformStand=true
  1384. coroutine.resume(coroutine.create(function(HHumanoid)
  1385. swait(1)
  1386. HHumanoid.PlatformStand=false
  1387. end),hum)
  1388. local angle=(hit.Position-(Property.Position+Vector3.new(0,0,0))).unit
  1389. --hit.CFrame=cf(hit.Position,Vector3.new(angle.x,hit.Position.y,angle.z))*CFrame.fromEulerAnglesXYZ(math.pi/4,0,0)
  1390. local bodvol=Instance.new("BodyVelocity")
  1391. bodvol.velocity=angle*knockback
  1392. bodvol.P=5000
  1393. bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003)
  1394. bodvol.Parent=hit
  1395. rl=Instance.new("BodyAngularVelocity")
  1396. rl.P=3000
  1397. rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000
  1398. rl.angularvelocity=Vector3.new(math.random(-10,10),math.random(-10,10),math.random(-10,10))
  1399. rl.Parent=hit
  1400. game:GetService("Debris"):AddItem(bodvol,.5)
  1401. game:GetService("Debris"):AddItem(rl,.5)
  1402. elseif Type=="Knockdown2" then
  1403. hum=hit.Parent.Humanoid
  1404. local angle=(hit.Position-(Property.Position+Vector3.new(0,0,0))).unit
  1405. local bodvol=Instance.new("BodyVelocity")
  1406. bodvol.velocity=angle*knockback
  1407. bodvol.P=5000
  1408. bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003)
  1409. bodvol.Parent=hit
  1410. game:GetService("Debris"):AddItem(bodvol,.5)
  1411. elseif Type=="Normal" or Type=="NormalDecreaseMvmt1" then
  1412. vp=Instance.new("BodyVelocity")
  1413. vp.P=500
  1414. vp.maxForce=Vector3.new(math.huge,0,math.huge)
  1415. if KnockbackType==1 then
  1416. vp.velocity=Property.CFrame.lookVector*knockback+Property.Velocity/1.05
  1417. elseif KnockbackType==2 then
  1418. vp.velocity=Property.CFrame.lookVector*knockback
  1419. end
  1420. game:GetService("Debris"):AddItem(vp,.5)
  1421. if knockback>0 then
  1422. vp.Parent=hit.Parent.Torso
  1423. end
  1424. end
  1425. end
  1426. debounce=Instance.new("BoolValue")
  1427. debounce.Name="DebounceHit"
  1428. debounce.Parent=hit.Parent
  1429. debounce.Value=true
  1430. game:GetService("Debris"):AddItem(debounce,Delay)
  1431. c=Instance.new("ObjectValue")
  1432. c.Name="creator"
  1433. c.Value=Player
  1434. c.Parent=h
  1435. game:GetService("Debris"):AddItem(c,.5)
  1436. CRIT=false
  1437. end
  1438. end
  1439.  
  1440. showDamage=function(Char,Dealt,du,Color)
  1441. m=Instance.new("Model")
  1442. m.Name=tostring(Dealt)
  1443. h=Instance.new("Humanoid")
  1444. h.Health=0
  1445. h.MaxHealth=0
  1446. h.Parent=m
  1447. c=Instance.new("Part")
  1448. c.Transparency=0
  1449. c.BrickColor=Color
  1450. c.Name="Head"
  1451. c.TopSurface=0
  1452. c.BottomSurface=0
  1453. c.formFactor="Plate"
  1454. c.Size=Vector3.new(1,.4,1)
  1455. ms=Instance.new("CylinderMesh")
  1456. ms.Scale=Vector3.new(.8,.8,.8)
  1457. if CRIT==true then
  1458. ms.Scale=Vector3.new(1,1.25,1)
  1459. end
  1460. ms.Parent=c
  1461. c.Reflectance=0
  1462. Instance.new("BodyGyro").Parent=c
  1463. c.Parent=m
  1464. if Char:findFirstChild("Head")~=nil then
  1465. c.CFrame=cf(Char["Head"].CFrame.p+Vector3.new(0,1.5,0))
  1466. elseif Char.Parent:findFirstChild("Head")~=nil then
  1467. c.CFrame=cf(Char.Parent["Head"].CFrame.p+Vector3.new(0,1.5,0))
  1468. end
  1469. f=Instance.new("BodyPosition")
  1470. f.P=2000
  1471. f.D=100
  1472. f.maxForce=Vector3.new(math.huge,math.huge,math.huge)
  1473. f.position=c.Position+Vector3.new(0,3,0)
  1474. f.Parent=c
  1475. game:GetService("Debris"):AddItem(m,.5+du)
  1476. c.CanCollide=false
  1477. m.Parent=workspace
  1478. c.CanCollide=false
  1479. end
  1480.  
  1481. combo=0
  1482. function ob1d(mouse)
  1483. if gun==true and mana>=1 then
  1484. mana=mana-1
  1485. shoot=true
  1486. Shoot1()
  1487. gun=false
  1488. end
  1489. if attack==true or equipped==false then return end
  1490. hold=true
  1491. if combo==0 then
  1492. combo=1
  1493. attackone()
  1494. elseif combo==1 then
  1495. combo=2
  1496. attacktwo()
  1497. elseif combo==2 then
  1498. combo=3
  1499. attackthree()
  1500. elseif combo==3 then
  1501. combo=0
  1502. attackfour()
  1503. end
  1504. coroutine.resume(coroutine.create(function()
  1505. for i=1,50 do
  1506. if attack==false then
  1507. swait()
  1508. end
  1509. end
  1510. if attack==false then
  1511. combo=0
  1512. end
  1513. end))
  1514. end
  1515.  
  1516. function ob1u(mouse)
  1517. hold = false
  1518. end
  1519.  
  1520. buttonhold = false
  1521.  
  1522. eul=0
  1523. equipped=false
  1524. function key(key)
  1525. if key=="g" then
  1526. if gun==true then
  1527. gun=false
  1528. end
  1529. end
  1530. if attack==true then return end
  1531. if key=="f" then
  1532. attack=true
  1533. if equipped==false then
  1534. equipped=true
  1535. RSH=ch.Torso["Right Shoulder"]
  1536. LSH=ch.Torso["Left Shoulder"]
  1537. --
  1538. RSH.Parent=nil
  1539. LSH.Parent=nil
  1540. --
  1541. RW.Name="Right Shoulder"
  1542. RW.Part0=ch.Torso
  1543. RW.C0=cf(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5)
  1544. RW.C1=cf(0, 0.5, 0)
  1545. RW.Part1=ch["Right Arm"]
  1546. RW.Parent=ch.Torso
  1547. --
  1548. LW.Name="Left Shoulder"
  1549. LW.Part0=ch.Torso
  1550. LW.C0=cf(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
  1551. LW.C1=cf(0, 0.5, 0)
  1552. LW.Part1=ch["Left Arm"]
  1553. LW.Parent=ch.Torso
  1554. --
  1555. equipanim()
  1556. else
  1557. equipped=false
  1558. hideanim()
  1559. swait(0)
  1560. RW.Parent=nil
  1561. LW.Parent=nil
  1562. RSH.Parent=player.Character.Torso
  1563. LSH.Parent=player.Character.Torso
  1564. end
  1565. attack=false
  1566. end
  1567. if equipped==false then return end
  1568. if key=="g" then
  1569. if gun==false then
  1570. GunStance()
  1571. end
  1572. end
  1573. if key=="q" then
  1574. Punishment()
  1575. end
  1576. if key=="r" then
  1577. wait(2)
  1578. mana=0
  1579. wait(2)
  1580. mana=25
  1581. end
  1582. if key=="j" then
  1583. test()
  1584. end
  1585. if attack==false then
  1586. RecentEnemy.Value=nil
  1587. end
  1588. end
  1589.  
  1590. function key2(key)
  1591.  
  1592.  
  1593. end
  1594.  
  1595. function s(mouse)
  1596. mouse.Button1Down:connect(function() ob1d(mouse) end)
  1597. mouse.Button1Up:connect(function() ob1u(mouse) end)
  1598. mouse.KeyDown:connect(key)
  1599. mouse.KeyUp:connect(key2)
  1600.  
  1601. player=Player
  1602. ch=Character
  1603. MMouse=mouse
  1604. end
  1605.  
  1606. function ds(mouse)
  1607. end
  1608.  
  1609. Bin.Selected:connect(s)
  1610. Bin.Deselected:connect(ds)
  1611. print("Vulca loaded.")
  1612.  
  1613. local mananum=25
  1614. local donum=0
  1615. local stunnum=0
  1616. local staggeranim=false
  1617. local stunanim=false
  1618. local Point=nil
  1619. local LastPoint=nil
  1620. while true do
  1621. hitbox2.Parent=hitbox.Parent
  1622. hitbox2.Size=hitbox.Size
  1623. hitbox2.CFrame=hitbox.CFrame
  1624. game:service'RunService'.RenderStepped:wait(0)
  1625. if Stagger.Value==true and staggeranim==false then
  1626. coroutine.resume(coroutine.create(function()
  1627. staggeranim=true
  1628. while attack==true do
  1629. swait()
  1630. end
  1631. StaggerAnim()
  1632. StaggerHit.Value=false
  1633. Stagger.Value=false
  1634. staggeranim=false
  1635. end))
  1636. end
  1637. if StaggerHit.Value==true and staggeranim==false then
  1638. coroutine.resume(coroutine.create(function()
  1639. staggeranim=true
  1640. while attack==true do
  1641. swait()
  1642. end
  1643. StaggerHitt()
  1644. StaggerHit.Value=false
  1645. Stagger.Value=false
  1646. staggeranim=false
  1647. end))
  1648. end
  1649. if Mvmt.Value<0 or Stagger.Value==true or Stun.Value>=100 or StaggerHit.Value==true then
  1650. Humanoid.WalkSpeed=0
  1651. else
  1652. Humanoid.WalkSpeed=175*Mvmt.Value
  1653. end
  1654. if Stun.Value>=100 and stunanim==false then
  1655. coroutine.resume(coroutine.create(function()
  1656. stunanim=true
  1657. while attack==true do
  1658. swait()
  1659. end
  1660. StunAnim()
  1661. Stun.Value=0
  1662. stunanim=false
  1663. end))
  1664. end
  1665. if stunnum>=10 then
  1666. if Stun.Value>0 then
  1667. Stun.Value=Stun.Value-1
  1668. end
  1669. stunnum=0
  1670. end
  1671. stunnum=stunnum+1
  1672. if donum>=.5 then
  1673. handidle=true
  1674. elseif donum<=0 then
  1675. handidle=false
  1676. end
  1677. if handidle==false then
  1678. donum=donum+0.003
  1679. else
  1680. donum=donum-0.003
  1681. end
  1682. local torvel=(RootPart.Velocity*Vector3.new(1,0,1)).magnitude
  1683. local velderp=RootPart.Velocity.y
  1684. hitfloor,posfloor=rayCast(RootPart.Position,(CFrame.new(RootPart.Position,RootPart.Position - Vector3.new(0,1,0))).lookVector,4,Character)
  1685. if equipped==true then
  1686. if attack==false then
  1687. idle=idle+1
  1688. else
  1689. idle=0
  1690. end
  1691. if idle>=500 then
  1692. if attack==false then
  1693. --Sheath()
  1694. end
  1695. end
  1696. if RootPart.Velocity.y > 1 and hitfloor==nil then
  1697. Anim="Jump"
  1698. if attack==false then
  1699. wld1.C0=clerp(wld1.C0,euler(2.9,0,3.14)*cf(0,1,.2),.2)
  1700. Neck.C0=clerp(Neck.C0,necko*euler(-0.2,0,0),.2)
  1701. Neck.C1=clerp(Neck.C1,necko2*euler(0,0,0),.2)
  1702. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,0),.2)
  1703. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1,0,0.5),.2)
  1704. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1705. LW.C0=clerp(LW.C0,cf(-1.2,0.5,-.4)*euler(1,0,.8)*euler(0,-.7,0),.2)
  1706. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1707. RH.C0=clerp(RH.C0,cf(1,-1,-.3)*euler(-0.5,1.57,0)*euler(-.2,0,0),.2)
  1708. LH.C0=clerp(LH.C0,cf(-1,-1,-.3)*euler(-0.5,-1.57,0)*euler(-.2,0,0),.2)
  1709. end
  1710. elseif RootPart.Velocity.y < -1 and hitfloor==nil then
  1711. Anim="Fall"
  1712. if attack==false then
  1713. wld1.C0=clerp(wld1.C0,euler(2.9,0,3.14)*cf(0,1,.2),.2)
  1714. Neck.C0=clerp(Neck.C0,necko*euler(0.4,0,0),.2)
  1715. Neck.C1=clerp(Neck.C1,necko2*euler(0,0,0),.2)
  1716. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,0),.2)
  1717. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(2,0,1),.2)
  1718. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1719. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-0.3,0,-0.2),.2)
  1720. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1721. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0.4,1.57,0),.2)
  1722. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(-0.2,-1.57,0),.2)
  1723. end
  1724. elseif torvel<1 and hitfloor~=nil then
  1725. Anim="Idle"
  1726. if attack==false then
  1727. --wld1.C0=clerp(wld1.C0,euler(1.57,0,3.14)*cf(0,1,0),.15)
  1728. wld1.C0=clerp(wld1.C0,euler(2.9+(donum/3),0,3.14)*cf(0,1,.2),.15)
  1729. gwld6.C0=clerp(gwld6.C0,euler(0,0,0)*cf(0,-.25,-.1),.15)
  1730. gwld1.C0=clerp(gwld1.C0,euler(1.57,0,0)*cf(0,1,0),.15)
  1731. Neck.C0=clerp(Neck.C0,necko*euler(.2-(donum/5),0,0),.15)
  1732. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0,0,0),.15)
  1733. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1.3+(donum/3),0,.5-(donum/3)),.15)
  1734. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.15)
  1735. LW.C0=clerp(LW.C0,cf(-1.2,0.5,-.4)*euler(.7+(donum/3),0,.4+(donum/3))*euler(0,-.4,0),.15)
  1736. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.15)
  1737. RH.C0=clerp(RH.C0,RHC0,.2)
  1738. RH.C1=clerp(RH.C1,RHC1,.2)
  1739. LH.C0=clerp(LH.C0,LHC0,.2)
  1740. LH.C1=clerp(LH.C1,LHC1,.2)
  1741. end
  1742. elseif torvel>2 and torvel<22 and hitfloor~=nil then
  1743. Anim="Walk"
  1744. if attack==false then
  1745. gwld6.C0=clerp(gwld6.C0,euler(0,0,0)*cf(0,-.25,-.1),.2)
  1746. wld1.C0=clerp(wld1.C0,euler(2.9+(donum/3),0,3.14)*euler(0,.5,0)*cf(0,1,.2),.2)
  1747. Neck.C0=clerp(Neck.C0,necko*euler(0,0,.5),.2)
  1748. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0.1,0,-.5),.2)
  1749. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1-(donum/3),0,.8-(donum/3)),.2)
  1750. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1751. LW.C0=clerp(LW.C0,cf(-1.2,0.5,-.4)*euler(.5+(donum/3),0,.8+(donum/3))*euler(0,-.7,0),.2)
  1752. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1753. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0,1.57,0)*euler(0,.6,0),.2)
  1754. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(0,.5,0),.2)
  1755. end
  1756. elseif torvel>=22 and hitfloor~=nil then
  1757. Anim="Run"
  1758. if attack==false then
  1759. gwld6.C0=clerp(gwld6.C0,euler(0,0,0)*cf(0,-.25,-.1),.2)
  1760. wld1.C0=clerp(wld1.C0,euler(2.9+(donum/3),0,3.14)*cf(0,1,.2),.2)
  1761. Neck.C0=clerp(Neck.C0,necko*euler(0,0,.5),.2)
  1762. RootJoint.C0=clerp(RootJoint.C0,RootCF*euler(0.1,0,-.5),.2)
  1763. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1-(donum/3),0,.8-(donum/3)),.2)
  1764. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1765. LW.C0=clerp(LW.C0,cf(-1.2,0.5,-.4)*euler(.5+(donum/3),0,.8+(donum/3))*euler(0,-.7,0),.2)
  1766. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1767. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(0,1.57,0)*euler(0,.6,0),.2)
  1768. LH.C0=clerp(LH.C0,cf(-1,-1,0)*euler(0,-1.57,0)*euler(0,.5,0),.2)
  1769. end
  1770. end
  1771. end
  1772. if #Effects>0 then
  1773. --table.insert(Effects,{prt,"Block1",delay})
  1774. for e=1,#Effects do
  1775. if Effects[e]~=nil then
  1776. --for j=1,#Effects[e] do
  1777. local Thing=Effects[e]
  1778. if Thing~=nil then
  1779. local Part=Thing[1]
  1780. local Mode=Thing[2]
  1781. local Delay=Thing[3]
  1782. local IncX=Thing[4]
  1783. local IncY=Thing[5]
  1784. local IncZ=Thing[6]
  1785. if Thing[2]=="DecreaseStat" then
  1786. Thing[5]=Thing[5]-1
  1787. if Thing[5]<=0 then
  1788. if Thing[1]:findFirstChild("Stats")~=nil then
  1789. Thing[1].Stats[Thing[3]].Value=Thing[1].Stats[Thing[3]].Value+Thing[4]
  1790. end
  1791. table.remove(Effects,e)
  1792. end
  1793. end
  1794. if Thing[2]=="Shoot" then
  1795. local Look=Thing[1]
  1796. local hit,pos = rayCast(Thing[4],Look,20,modelzorz)
  1797. local mag=(Thing[4]-pos).magnitude
  1798. MagicHead(BrickColor.new("New Yeller"),CFrame.new((Thing[4]+pos)/2,pos)*angles(1.57,0,0),1,mag*5,1,.5,0,.5,0.1)
  1799. Thing[4]=Thing[4]+(Look*20)
  1800. Thing[3]=Thing[3]-1
  1801. if hit~=nil then
  1802. Thing[3]=0
  1803. if Thing[8]==1 then
  1804. Damagefunc(hit,Thing[5],Thing[6],Thing[7],"Normal",RootPart,0,2,math.random(1,5),nil,nil,true)
  1805. elseif Thing[8]==2 then
  1806. Damagefunc(hit,Thing[5],Thing[6],Thing[7],"NormalDecreaseMvmt1",RootPart,0,2,math.random(1,5),nil,nil,true)
  1807. end
  1808. ref=part(3,workspace,0,1,BrickColor.new("New Yeller"),"Reference",vt())
  1809. ref.Anchored=true
  1810. ref.CFrame=cf(pos)
  1811. MagicCircle(BrickColor.new("New Yeller"),cf(pos),5,5,5,1,1,1,0.03)
  1812. game:GetService("Debris"):AddItem(ref,1)
  1813. end
  1814. if Thing[3]<=0 then
  1815. table.remove(Effects,e)
  1816. end
  1817. end
  1818. if Thing[2]=="CylinderClang" then
  1819. if Thing[3]<=1 then
  1820. Thing[1].CFrame=Thing[1].CFrame*CFrame.new(0,2.5*Thing[5],0)*CFrame.fromEulerAnglesXYZ(Thing[6],0,0)
  1821. Thing[7]=Thing[1].CFrame
  1822. effect("New Yeller",0,Thing[8],Thing[7])
  1823. Thing[8]=Thing[7]
  1824. Thing[3]=Thing[3]+Thing[4]
  1825. else
  1826. Part.Parent=nil
  1827. table.remove(Effects,e)
  1828. end
  1829. --[[Mesh=Thing[7]
  1830. Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
  1831. Thing[1].Transparency=Thing[1].Transparency+Thing[3]]
  1832. end
  1833. if Thing[2]~="Shoot" and Thing[2]~="DecreaseStat" then
  1834. if Thing[1].Transparency<=1 then
  1835. if Thing[2]=="Block1" then
  1836. Thing[1].CFrame=Thing[1].CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
  1837. Mesh=Thing[7]
  1838. Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
  1839. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1840. elseif Thing[2]=="Block2" then
  1841. Thing[1].CFrame=Thing[1].CFrame
  1842. Mesh=Thing[7]
  1843. Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
  1844. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1845. elseif Thing[2]=="Cylinder" then
  1846. Mesh=Thing[7]
  1847. Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
  1848. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1849. elseif Thing[2]=="Blood" then
  1850. Mesh=Thing[7]
  1851. Thing[1].CFrame=Thing[1].CFrame*cf(0,.5,0)
  1852. Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
  1853. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1854. elseif Thing[2]=="Elec" then
  1855. Mesh=Thing[7]
  1856. Mesh.Scale=Mesh.Scale+vt(Thing[7],Thing[8],Thing[9])
  1857. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1858. elseif Thing[2]=="Disappear" then
  1859. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1860. end
  1861. else
  1862. Part.Parent=nil
  1863. table.remove(Effects,e)
  1864. end
  1865. end
  1866. end
  1867. --end
  1868. end
  1869. end
  1870. end
  1871. fenbarmana2:TweenSize(UDim2.new(4*mana/100,0,0.2,0),nil,1,0.4,true)
  1872. fenbarmana4.Text="Ammo: "..mana.."/25 -R to Reload-"
  1873. gmsh15.Scale=vt(2.21,5*mana/100,.9)
  1874. gwld15.C0=euler(0,0,0)*cf(0,0,0)*cf(0,.5/(100/(100-mana)),0)
  1875. if mana>=100 then
  1876. mana=100
  1877. else
  1878. if mananum<=25 then
  1879. mananum=mananum+0
  1880. else
  1881. mananum=0
  1882. mana=mana+0
  1883. end
  1884. end
  1885. end
  1886.  
  1887.  
  1888. --[[
  1889. Copyrighted (C) Fenrier 2014
  1890. ]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement