Advertisement
1x1x1x1IAMbck

red weapons

Jun 2nd, 2018
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 101.74 KB | None | 0 0
  1.  
  2. --Converted with ttyyuu12345's model to script plugin v4
  3. function sandbox(var,func)
  4. local env = getfenv(func)
  5. local newenv = setmetatable({},{
  6. __index = function(self,k)
  7. if k=="script" then
  8. return var
  9. else
  10. return env[k]
  11. end
  12. end,
  13. })
  14. setfenv(func,newenv)
  15. return func
  16. end
  17. cors = {}
  18. mas = Instance.new("Model",game:GetService("Lighting"))
  19. Tool0 = Instance.new("Tool")
  20. Script1 = Instance.new("Script")
  21. LocalScript2 = Instance.new("LocalScript")
  22. Part3 = Instance.new("Part")
  23. SpecialMesh4 = Instance.new("SpecialMesh")
  24. Sound5 = Instance.new("Sound")
  25. Sound6 = Instance.new("Sound")
  26. Sound7 = Instance.new("Sound")
  27. Sound8 = Instance.new("Sound")
  28. Sound9 = Instance.new("Sound")
  29. Sound10 = Instance.new("Sound")
  30. Sound11 = Instance.new("Sound")
  31. Sound12 = Instance.new("Sound")
  32. Sound13 = Instance.new("Sound")
  33. Sound14 = Instance.new("Sound")
  34. Sound15 = Instance.new("Sound")
  35. Sound16 = Instance.new("Sound")
  36. Weld17 = Instance.new("Weld")
  37. Weld18 = Instance.new("Weld")
  38. Weld19 = Instance.new("Weld")
  39. Weld20 = Instance.new("Weld")
  40. Weld21 = Instance.new("Weld")
  41. Weld22 = Instance.new("Weld")
  42. Weld23 = Instance.new("Weld")
  43. Weld24 = Instance.new("Weld")
  44. Weld25 = Instance.new("Weld")
  45. Weld26 = Instance.new("Weld")
  46. Weld27 = Instance.new("Weld")
  47. Weld28 = Instance.new("Weld")
  48. Weld29 = Instance.new("Weld")
  49. Weld30 = Instance.new("Weld")
  50. Weld31 = Instance.new("Weld")
  51. Weld32 = Instance.new("Weld")
  52. Sound33 = Instance.new("Sound")
  53. Sound34 = Instance.new("Sound")
  54. Sound35 = Instance.new("Sound")
  55. Weld36 = Instance.new("Weld")
  56. Weld37 = Instance.new("Weld")
  57. Weld38 = Instance.new("Weld")
  58. Weld39 = Instance.new("Weld")
  59. Weld40 = Instance.new("Weld")
  60. Weld41 = Instance.new("Weld")
  61. Weld42 = Instance.new("Weld")
  62. Weld43 = Instance.new("Weld")
  63. Sound44 = Instance.new("Sound")
  64. Sound45 = Instance.new("Sound")
  65. Sound46 = Instance.new("Sound")
  66. Sound47 = Instance.new("Sound")
  67. Weld48 = Instance.new("Weld")
  68. Weld49 = Instance.new("Weld")
  69. Weld50 = Instance.new("Weld")
  70. Weld51 = Instance.new("Weld")
  71. Sound52 = Instance.new("Sound")
  72. Sound53 = Instance.new("Sound")
  73. Sound54 = Instance.new("Sound")
  74. Weld55 = Instance.new("Weld")
  75. Weld56 = Instance.new("Weld")
  76. Weld57 = Instance.new("Weld")
  77. Weld58 = Instance.new("Weld")
  78. Weld59 = Instance.new("Weld")
  79. Weld60 = Instance.new("Weld")
  80. Weld61 = Instance.new("Weld")
  81. Weld62 = Instance.new("Weld")
  82. Weld63 = Instance.new("Weld")
  83. Weld64 = Instance.new("Weld")
  84. Weld65 = Instance.new("Weld")
  85. Weld66 = Instance.new("Weld")
  86. Weld67 = Instance.new("Weld")
  87. Weld68 = Instance.new("Weld")
  88. Weld69 = Instance.new("Weld")
  89. Weld70 = Instance.new("Weld")
  90. Weld71 = Instance.new("Weld")
  91. Weld72 = Instance.new("Weld")
  92. Weld73 = Instance.new("Weld")
  93. Weld74 = Instance.new("Weld")
  94. Weld75 = Instance.new("Weld")
  95. Weld76 = Instance.new("Weld")
  96. Weld77 = Instance.new("Weld")
  97. Weld78 = Instance.new("Weld")
  98. Weld79 = Instance.new("Weld")
  99. Weld80 = Instance.new("Weld")
  100. Weld81 = Instance.new("Weld")
  101. Weld82 = Instance.new("Weld")
  102. Weld83 = Instance.new("Weld")
  103. Weld84 = Instance.new("Weld")
  104. Weld85 = Instance.new("Weld")
  105. Weld86 = Instance.new("Weld")
  106. Weld87 = Instance.new("Weld")
  107. Weld88 = Instance.new("Weld")
  108. Weld89 = Instance.new("Weld")
  109. Weld90 = Instance.new("Weld")
  110. Weld91 = Instance.new("Weld")
  111. Weld92 = Instance.new("Weld")
  112. Weld93 = Instance.new("Weld")
  113. Weld94 = Instance.new("Weld")
  114. Sound95 = Instance.new("Sound")
  115. Sound96 = Instance.new("Sound")
  116. Sound97 = Instance.new("Sound")
  117. Weld98 = Instance.new("Weld")
  118. Weld99 = Instance.new("Weld")
  119. Weld100 = Instance.new("Weld")
  120. Weld101 = Instance.new("Weld")
  121. Script102 = Instance.new("Script")
  122. Script103 = Instance.new("Script")
  123. LocalScript104 = Instance.new("LocalScript")
  124. LocalScript105 = Instance.new("LocalScript")
  125. LocalScript106 = Instance.new("LocalScript")
  126. LocalScript107 = Instance.new("LocalScript")
  127. Script108 = Instance.new("Script")
  128. Script109 = Instance.new("Script")
  129. Script110 = Instance.new("Script")
  130. LocalScript111 = Instance.new("LocalScript")
  131. Configuration112 = Instance.new("Configuration")
  132. Animation113 = Instance.new("Animation")
  133. LocalScript114 = Instance.new("LocalScript")
  134. Script115 = Instance.new("Script")
  135. Part116 = Instance.new("Part")
  136. SpecialMesh117 = Instance.new("SpecialMesh")
  137. Part118 = Instance.new("Part")
  138. SpecialMesh119 = Instance.new("SpecialMesh")
  139. Part120 = Instance.new("Part")
  140. SpecialMesh121 = Instance.new("SpecialMesh")
  141. Part122 = Instance.new("Part")
  142. SpecialMesh123 = Instance.new("SpecialMesh")
  143. Part124 = Instance.new("Part")
  144. SpecialMesh125 = Instance.new("SpecialMesh")
  145. Part126 = Instance.new("Part")
  146. Part127 = Instance.new("Part")
  147. SpecialMesh128 = Instance.new("SpecialMesh")
  148. Camera129 = Instance.new("Camera")
  149. Part130 = Instance.new("Part")
  150. SpecialMesh131 = Instance.new("SpecialMesh")
  151. Part132 = Instance.new("Part")
  152. Part133 = Instance.new("Part")
  153. Part134 = Instance.new("Part")
  154. SpecialMesh135 = Instance.new("SpecialMesh")
  155. Part136 = Instance.new("Part")
  156. SpecialMesh137 = Instance.new("SpecialMesh")
  157. Part138 = Instance.new("Part")
  158. SpecialMesh139 = Instance.new("SpecialMesh")
  159. Tool140 = Instance.new("Tool")
  160. Script141 = Instance.new("Script")
  161. Script142 = Instance.new("Script")
  162. LocalScript143 = Instance.new("LocalScript")
  163. Part144 = Instance.new("Part")
  164. SpecialMesh145 = Instance.new("SpecialMesh")
  165. Sound146 = Instance.new("Sound")
  166. Tool0.Name = "Sword"
  167. Tool0.Parent = Part2
  168. Tool0.TextureId = "http://www.roblox.com/asset/?id=128980534"
  169. Tool0.Grip = CFrame.new(0, 0, -1.70000005, 0, 0, 1, 1, 0, 0, 0, 1, 0)
  170. Tool0.GripForward = Vector3.new(-1, -0, -0)
  171. Tool0.GripPos = Vector3.new(0, 0, -1.70000005)
  172. Tool0.GripRight = Vector3.new(0, 1, 0)
  173. Tool0.GripUp = Vector3.new(0, 0, 1)
  174. Script1.Name = "EpicKatanaScript"
  175. Script1.Parent = Tool0
  176. table.insert(cors,sandbox(Script1,function()
  177. -------- OMG HAX
  178.  
  179. r = game:service("RunService")
  180. local sword = script.Parent.Handle
  181. local Tool = script.Parent
  182.  
  183. local damage = 15
  184. local p = nil
  185. local humanoid = nil
  186.  
  187. local slash_damage = 30
  188. local lunge_damage = 42
  189. local regularWalk = 16
  190.  
  191.  
  192. local SlashSound = Instance.new("Sound")
  193. SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav"
  194. SlashSound.Parent = sword
  195. SlashSound.Volume = .7
  196.  
  197. local UnsheathSound = Instance.new("Sound")
  198. UnsheathSound.SoundId = "rbxasset://sounds\\unsheath.wav"
  199. UnsheathSound.Parent = sword
  200. UnsheathSound.Volume = 1
  201.  
  202. local epicLungeSound = Instance.new("Sound")
  203. epicLungeSound.SoundId = "http://www.roblox.com/asset/?id=25256253"
  204. epicLungeSound.Parent = sword
  205. epicLungeSound.Volume = .8
  206.  
  207. function blow(hit)
  208. local humanoid = hit.Parent:findFirstChild("Humanoid")
  209. local vCharacter = Tool.Parent
  210. local vPlayer = game.Players:playerFromCharacter(vCharacter)
  211. local hum = vCharacter:findFirstChild("Humanoid") -- non-nil if tool held by a character
  212. if humanoid~=nil and humanoid ~= hum and hum ~= nil then
  213. -- final check, make sure sword is in-hand
  214.  
  215. local right_arm = vCharacter:FindFirstChild("Right Arm")
  216. if (right_arm ~= nil) then
  217. local joint = right_arm:FindFirstChild("RightGrip")
  218. if (joint ~= nil and (joint.Part0 == sword or joint.Part1 == sword)) then
  219. tagHumanoid(humanoid, vPlayer)
  220. humanoid:TakeDamage(damage)
  221. wait(1)
  222. untagHumanoid(humanoid)
  223. end
  224. end
  225.  
  226.  
  227. end
  228. end
  229.  
  230.  
  231. function tagHumanoid(humanoid, player)
  232. local creator_tag = Instance.new("ObjectValue")
  233. creator_tag.Value = player
  234. creator_tag.Name = "creator"
  235. creator_tag.Parent = humanoid
  236. end
  237.  
  238. function untagHumanoid(humanoid)
  239. if humanoid ~= nil then
  240. local tag = humanoid:findFirstChild("creator")
  241. if tag ~= nil then
  242. tag.Parent = nil
  243. end
  244. end
  245. end
  246.  
  247. function attack()
  248. damage = slash_damage
  249. SlashSound:play()
  250. local anim = Instance.new("StringValue")
  251. anim.Name = "toolanim"
  252. anim.Value = "Slash"
  253. anim.Parent = Tool
  254. end
  255.  
  256. function lunge()
  257. damage = lunge_damage
  258.  
  259. humanoid.WalkSpeed = regularWalk + 100
  260. epicLungeSound:play()
  261.  
  262. local anim = Instance.new("StringValue")
  263. anim.Name = "toolanim"
  264. anim.Value = "Lunge"
  265. anim.Parent = Tool
  266.  
  267. force = Instance.new("BodyVelocity")
  268. force.velocity = Vector3.new(0,10,0) --Tool.Parent.Torso.CFrame.lookVector * 80
  269. force.Parent = Tool.Parent.Torso
  270. wait(.2)
  271. swordOut()
  272. wait(.2)
  273. force.Parent = nil
  274. wait(.4)
  275. swordUp()
  276.  
  277. humanoid.WalkSpeed = regularWalk + 2
  278.  
  279. damage = slash_damage
  280. end
  281.  
  282. function swordUp()
  283. Tool.GripForward = Vector3.new(-1,0,0)
  284. Tool.GripRight = Vector3.new(0,1,0)
  285. Tool.GripUp = Vector3.new(0,0,1)
  286. end
  287.  
  288. function swordOut()
  289. Tool.GripForward = Vector3.new(0,0,1)
  290. Tool.GripRight = Vector3.new(0,1,0)
  291. Tool.GripUp = Vector3.new(1,0,0)
  292. end
  293.  
  294. function swordAcross()
  295. -- parry
  296. end
  297.  
  298.  
  299. Tool.Enabled = true
  300. local last_attack = 0
  301. function onActivated()
  302.  
  303. if not Tool.Enabled then
  304. return
  305. end
  306.  
  307. Tool.Enabled = false
  308.  
  309. local character = Tool.Parent;
  310. local humanoid = character.Humanoid
  311. if humanoid == nil then
  312. print("Humanoid not found")
  313. return
  314. end
  315.  
  316. t = r.Stepped:wait()
  317.  
  318. if (t - last_attack < .2) then
  319. lunge()
  320. else
  321. attack()
  322. end
  323.  
  324. last_attack = t
  325.  
  326. --wait(.5)
  327.  
  328. Tool.Enabled = true
  329. end
  330.  
  331. function onEquipped()
  332.  
  333. humanoid = Tool.Parent:FindFirstChild("Humanoid")
  334. UnsheathSound:play()
  335. humanoid.WalkSpeed = regularWalk + 2
  336. p = game.Players:GetPlayerFromCharacter(Tool.Parent)
  337.  
  338. end
  339.  
  340. function empty()
  341.  
  342. end
  343.  
  344. function onUnequipped()
  345.  
  346. humanoid.WalkSpeed = regularWalk
  347.  
  348. end
  349.  
  350. Tool.Unequipped:connect(onUnequipped)
  351. script.Parent.Activated:connect(onActivated)
  352. script.Parent.Equipped:connect(onEquipped)
  353.  
  354. connection = sword.Touched:connect(blow)
  355.  
  356. end))
  357. LocalScript2.Name = "Local Gui"
  358. LocalScript2.Parent = Tool0
  359. LocalScript2.LinkedSource = "http://www.roblox.com/asset/?id=1014476"
  360. Part3.Name = "Handle"
  361. Part3.Parent = Tool0
  362. Part3.CFrame = CFrame.new(-28.9071503, 2.41795707, -15.5716238, -0.49999994, 0.707106829, 0.500000119, 0.707106948, 0, 0.707106709, 0.49999994, 0.707106829, -0.500000119)
  363. Part3.Orientation = Vector3.new(-45, 135, 90)
  364. Part3.Position = Vector3.new(-28.9071503, 2.41795707, -15.5716238)
  365. Part3.Rotation = Vector3.new(-125.259995, 30, -125.259995)
  366. Part3.Color = Color3.new(0.972549, 0.972549, 0.972549)
  367. Part3.Size = Vector3.new(1, 1, 5)
  368. Part3.BottomSurface = Enum.SurfaceType.Smooth
  369. Part3.BrickColor = BrickColor.new("Institutional white")
  370. Part3.CanCollide = false
  371. Part3.Material = Enum.Material.Neon
  372. Part3.TopSurface = Enum.SurfaceType.Smooth
  373. Part3.brickColor = BrickColor.new("Institutional white")
  374. Part3.FormFactor = Enum.FormFactor.Custom
  375. Part3.formFactor = Enum.FormFactor.Custom
  376. SpecialMesh4.Parent = Part3
  377. SpecialMesh4.MeshId = "http://www.roblox.com/asset/?id=11442510"
  378. SpecialMesh4.Scale = Vector3.new(1.70000005, 1.70000005, 1.70000005)
  379. SpecialMesh4.VertexColor = Vector3.new(0, 0, 0)
  380. SpecialMesh4.TextureId = "http://www.roblox.com/asset/?id=11442524"
  381. SpecialMesh4.MeshType = Enum.MeshType.FileMesh
  382. Sound5.Parent = Part3
  383. Sound5.SoundId = "rbxasset://sounds/swordslash.wav"
  384. Sound5.Volume = 0.69999998807907
  385. Sound6.Parent = Part3
  386. Sound6.SoundId = "rbxasset://sounds/swordlunge.wav"
  387. Sound6.Volume = 0.60000002384186
  388. Sound7.Parent = Part3
  389. Sound7.SoundId = "rbxasset://sounds/unsheath.wav"
  390. Sound7.Volume = 1
  391. Sound8.Parent = Part3
  392. Sound8.SoundId = "rbxasset://sounds/swordslash.wav"
  393. Sound8.Volume = 0.69999998807907
  394. Sound9.Parent = Part3
  395. Sound9.SoundId = "rbxasset://sounds/unsheath.wav"
  396. Sound9.Volume = 1
  397. Sound10.Parent = Part3
  398. Sound10.SoundId = "http://www.roblox.com/asset/?id=25256253"
  399. Sound10.Volume = 0.80000001192093
  400. Sound11.Parent = Part3
  401. Sound11.SoundId = "rbxasset://sounds/swordslash.wav"
  402. Sound11.Volume = 0.69999998807907
  403. Sound12.Parent = Part3
  404. Sound12.SoundId = "rbxasset://sounds/unsheath.wav"
  405. Sound12.Volume = 1
  406. Sound13.Parent = Part3
  407. Sound13.SoundId = "http://www.roblox.com/asset/?id=25256253"
  408. Sound13.Volume = 0.80000001192093
  409. Sound14.Parent = Part3
  410. Sound14.SoundId = "rbxasset://sounds/swordslash.wav"
  411. Sound14.Volume = 0.69999998807907
  412. Sound15.Parent = Part3
  413. Sound15.SoundId = "rbxasset://sounds/unsheath.wav"
  414. Sound15.Volume = 1
  415. Sound16.Parent = Part3
  416. Sound16.SoundId = "http://www.roblox.com/asset/?id=25256253"
  417. Sound16.Volume = 0.80000001192093
  418. Weld17.Parent = Part3
  419. Weld17.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  420. Weld17.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  421. Weld17.Part0 = Part3
  422. Weld17.Part1 = Part3
  423. Weld17.part1 = Part3
  424. Weld18.Parent = Part3
  425. Weld18.C0 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
  426. Weld18.C1 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
  427. Weld18.Part0 = Part3
  428. Weld18.Part1 = Part3
  429. Weld18.part1 = Part3
  430. Weld19.Parent = Part3
  431. Weld19.C0 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
  432. Weld19.C1 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
  433. Weld19.Part0 = Part3
  434. Weld19.Part1 = Part3
  435. Weld19.part1 = Part3
  436. Weld20.Parent = Part3
  437. Weld20.C0 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
  438. Weld20.C1 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
  439. Weld20.Part0 = Part3
  440. Weld20.Part1 = Part3
  441. Weld20.part1 = Part3
  442. Weld21.Parent = Part3
  443. Weld21.C0 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
  444. Weld21.C1 = CFrame.new(0, 0, 0, 0.999994993, -0.00316606695, 3.08557646e-05, 2.05273973e-05, -0.00326228142, -0.999994755, 0.00316615077, 0.999989748, -0.00326228142)
  445. Weld21.Part0 = Part3
  446. Weld21.Part1 = Part3
  447. Weld21.part1 = Part3
  448. Weld22.Parent = Part3
  449. Weld22.C0 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
  450. Weld22.C1 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
  451. Weld22.Part0 = Part3
  452. Weld22.Part1 = Part3
  453. Weld22.part1 = Part3
  454. Weld23.Parent = Part3
  455. Weld23.C0 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
  456. Weld23.C1 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
  457. Weld23.Part0 = Part3
  458. Weld23.Part1 = Part3
  459. Weld23.part1 = Part3
  460. Weld24.Parent = Part3
  461. Weld24.C0 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
  462. Weld24.C1 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
  463. Weld24.Part0 = Part3
  464. Weld24.Part1 = Part3
  465. Weld24.part1 = Part3
  466. Weld25.Parent = Part3
  467. Weld25.C0 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
  468. Weld25.C1 = CFrame.new(0, 0, 0, 0.99999994, 0.000299034087, -7.58903407e-05, -7.61623596e-05, 0.000909805298, -0.999999523, -0.000298964937, 0.999999523, 0.000909864902)
  469. Weld25.Part0 = Part3
  470. Weld25.Part1 = Part3
  471. Weld25.part1 = Part3
  472. Weld26.Parent = Part3
  473. Weld26.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  474. Weld26.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  475. Weld26.Part0 = Part3
  476. Weld26.Part1 = Part3
  477. Weld26.part1 = Part3
  478. Weld27.Parent = Part3
  479. Weld27.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  480. Weld27.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  481. Weld27.Part0 = Part3
  482. Weld27.Part1 = Part3
  483. Weld27.part1 = Part3
  484. Weld28.Parent = Part3
  485. Weld28.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  486. Weld28.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  487. Weld28.Part0 = Part3
  488. Weld28.Part1 = Part3
  489. Weld28.part1 = Part3
  490. Weld29.Parent = Part3
  491. Weld29.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  492. Weld29.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  493. Weld29.Part0 = Part3
  494. Weld29.Part1 = Part3
  495. Weld29.part1 = Part3
  496. Weld30.Parent = Part3
  497. Weld30.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  498. Weld30.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  499. Weld30.Part0 = Part3
  500. Weld30.Part1 = Part3
  501. Weld30.part1 = Part3
  502. Weld31.Parent = Part3
  503. Weld31.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  504. Weld31.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  505. Weld31.Part0 = Part3
  506. Weld31.Part1 = Part3
  507. Weld31.part1 = Part3
  508. Weld32.Parent = Part3
  509. Weld32.C0 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  510. Weld32.C1 = CFrame.new(0, 0, 0, -0.0928622037, 0.974108696, 0.206128106, 0.91174835, 1.44928061e-22, 0.410749227, 0.400114387, 0.226080045, -0.88814199)
  511. Weld32.Part0 = Part3
  512. Weld32.Part1 = Part3
  513. Weld32.part1 = Part3
  514. Sound33.Parent = Part3
  515. Sound33.SoundId = "rbxasset://sounds/swordslash.wav"
  516. Sound33.Volume = 0.69999998807907
  517. Sound34.Parent = Part3
  518. Sound34.SoundId = "rbxasset://sounds/unsheath.wav"
  519. Sound34.Volume = 1
  520. Sound35.Parent = Part3
  521. Sound35.SoundId = "http://www.roblox.com/asset/?id=25256253"
  522. Sound35.Volume = 0.80000001192093
  523. Weld36.Parent = Part3
  524. Weld36.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  525. Weld36.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  526. Weld36.Part0 = Part3
  527. Weld36.Part1 = Part3
  528. Weld36.part1 = Part3
  529. Weld37.Parent = Part3
  530. Weld37.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  531. Weld37.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  532. Weld37.Part0 = Part3
  533. Weld37.Part1 = Part3
  534. Weld37.part1 = Part3
  535. Weld38.Parent = Part3
  536. Weld38.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  537. Weld38.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  538. Weld38.Part0 = Part3
  539. Weld38.Part1 = Part3
  540. Weld38.part1 = Part3
  541. Weld39.Parent = Part3
  542. Weld39.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  543. Weld39.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  544. Weld39.Part0 = Part3
  545. Weld39.Part1 = Part3
  546. Weld39.part1 = Part3
  547. Weld40.Parent = Part3
  548. Weld40.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  549. Weld40.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  550. Weld40.Part0 = Part3
  551. Weld40.Part1 = Part3
  552. Weld40.part1 = Part3
  553. Weld41.Parent = Part3
  554. Weld41.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  555. Weld41.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  556. Weld41.Part0 = Part3
  557. Weld41.Part1 = Part3
  558. Weld41.part1 = Part3
  559. Weld42.Parent = Part3
  560. Weld42.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  561. Weld42.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  562. Weld42.Part0 = Part3
  563. Weld42.Part1 = Part3
  564. Weld42.part1 = Part3
  565. Weld43.Parent = Part3
  566. Weld43.C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  567. Weld43.C1 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0)
  568. Weld43.Part0 = Part3
  569. Weld43.Part1 = Part3
  570. Weld43.part1 = Part3
  571. Sound44.Name = "SummonSound"
  572. Sound44.Parent = Part3
  573. Sound44.Pitch = 4
  574. Sound44.PlaybackSpeed = 4
  575. Sound44.SoundId = "http://www.roblox.com/Asset?ID=128912290"
  576. Sound44.Volume = 1
  577. Sound45.Parent = Part3
  578. Sound45.SoundId = "rbxasset://sounds/swordslash.wav"
  579. Sound45.Volume = 0.69999998807907
  580. Sound46.Parent = Part3
  581. Sound46.SoundId = "rbxasset://sounds/unsheath.wav"
  582. Sound46.Volume = 1
  583. Sound47.Parent = Part3
  584. Sound47.SoundId = "http://www.roblox.com/asset/?id=25256253"
  585. Sound47.Volume = 0.80000001192093
  586. Weld48.Parent = Part3
  587. Weld48.C0 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
  588. Weld48.C1 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
  589. Weld48.Part0 = Part3
  590. Weld48.Part1 = Part3
  591. Weld48.part1 = Part3
  592. Weld49.Parent = Part3
  593. Weld49.C0 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
  594. Weld49.C1 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
  595. Weld49.Part0 = Part3
  596. Weld49.Part1 = Part3
  597. Weld49.part1 = Part3
  598. Weld50.Parent = Part3
  599. Weld50.C0 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
  600. Weld50.C1 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
  601. Weld50.Part0 = Part3
  602. Weld50.Part1 = Part3
  603. Weld50.part1 = Part3
  604. Weld51.Parent = Part3
  605. Weld51.C0 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
  606. Weld51.C1 = CFrame.new(0, 0, 0, -0.999723673, 0.00456489529, 0.0230577849, -0.00456393417, -0.99998951, 9.42968181e-05, 0.0230579749, -1.09634493e-05, 0.999734104)
  607. Weld51.Part0 = Part3
  608. Weld51.Part1 = Part3
  609. Weld51.part1 = Part3
  610. Sound52.Parent = Part3
  611. Sound52.SoundId = "rbxasset://sounds/swordslash.wav"
  612. Sound52.Volume = 0.69999998807907
  613. Sound53.Parent = Part3
  614. Sound53.SoundId = "rbxasset://sounds/unsheath.wav"
  615. Sound53.Volume = 1
  616. Sound54.Parent = Part3
  617. Sound54.SoundId = "http://www.roblox.com/asset/?id=25256253"
  618. Sound54.Volume = 0.80000001192093
  619. Weld55.Parent = Part3
  620. Weld55.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  621. Weld55.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  622. Weld55.Part0 = Part3
  623. Weld55.Part1 = Part3
  624. Weld55.part1 = Part3
  625. Weld56.Parent = Part3
  626. Weld56.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  627. Weld56.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  628. Weld56.Part0 = Part3
  629. Weld56.Part1 = Part3
  630. Weld56.part1 = Part3
  631. Weld57.Parent = Part3
  632. Weld57.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  633. Weld57.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  634. Weld57.Part0 = Part3
  635. Weld57.Part1 = Part3
  636. Weld57.part1 = Part3
  637. Weld58.Parent = Part3
  638. Weld58.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  639. Weld58.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  640. Weld58.Part0 = Part3
  641. Weld58.Part1 = Part3
  642. Weld58.part1 = Part3
  643. Weld59.Parent = Part3
  644. Weld59.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  645. Weld59.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  646. Weld59.Part0 = Part3
  647. Weld59.Part1 = Part3
  648. Weld59.part1 = Part3
  649. Weld60.Parent = Part3
  650. Weld60.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  651. Weld60.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  652. Weld60.Part0 = Part3
  653. Weld60.Part1 = Part3
  654. Weld60.part1 = Part3
  655. Weld61.Parent = Part3
  656. Weld61.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  657. Weld61.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  658. Weld61.Part0 = Part3
  659. Weld61.Part1 = Part3
  660. Weld61.part1 = Part3
  661. Weld62.Parent = Part3
  662. Weld62.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  663. Weld62.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  664. Weld62.Part0 = Part3
  665. Weld62.Part1 = Part3
  666. Weld62.part1 = Part3
  667. Weld63.Parent = Part3
  668. Weld63.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  669. Weld63.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  670. Weld63.Part0 = Part3
  671. Weld63.Part1 = Part3
  672. Weld63.part1 = Part3
  673. Weld64.Parent = Part3
  674. Weld64.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  675. Weld64.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  676. Weld64.Part0 = Part3
  677. Weld64.Part1 = Part3
  678. Weld64.part1 = Part3
  679. Weld65.Parent = Part3
  680. Weld65.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  681. Weld65.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  682. Weld65.Part0 = Part3
  683. Weld65.Part1 = Part3
  684. Weld65.part1 = Part3
  685. Weld66.Parent = Part3
  686. Weld66.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  687. Weld66.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  688. Weld66.Part0 = Part3
  689. Weld66.Part1 = Part3
  690. Weld66.part1 = Part3
  691. Weld67.Parent = Part3
  692. Weld67.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  693. Weld67.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  694. Weld67.Part0 = Part3
  695. Weld67.Part1 = Part3
  696. Weld67.part1 = Part3
  697. Weld68.Parent = Part3
  698. Weld68.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  699. Weld68.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  700. Weld68.Part0 = Part3
  701. Weld68.Part1 = Part3
  702. Weld68.part1 = Part3
  703. Weld69.Parent = Part3
  704. Weld69.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  705. Weld69.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  706. Weld69.Part0 = Part3
  707. Weld69.Part1 = Part3
  708. Weld69.part1 = Part3
  709. Weld70.Parent = Part3
  710. Weld70.C0 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  711. Weld70.C1 = CFrame.new(0, 0, 0, 0.0130479941, 0.999348342, -0.0336545669, -0.932377458, -3.73961065e-22, -0.361486018, -0.36125046, 0.0360954329, 0.931769848)
  712. Weld70.Part0 = Part3
  713. Weld70.Part1 = Part3
  714. Weld70.part1 = Part3
  715. Weld71.Parent = Part3
  716. Weld71.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  717. Weld71.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  718. Weld71.Part0 = Part3
  719. Weld71.Part1 = Part3
  720. Weld71.part1 = Part3
  721. Weld72.Parent = Part3
  722. Weld72.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  723. Weld72.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  724. Weld72.Part0 = Part3
  725. Weld72.Part1 = Part3
  726. Weld72.part1 = Part3
  727. Weld73.Parent = Part3
  728. Weld73.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  729. Weld73.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  730. Weld73.Part0 = Part3
  731. Weld73.Part1 = Part3
  732. Weld73.part1 = Part3
  733. Weld74.Parent = Part3
  734. Weld74.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  735. Weld74.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  736. Weld74.Part0 = Part3
  737. Weld74.Part1 = Part3
  738. Weld74.part1 = Part3
  739. Weld75.Parent = Part3
  740. Weld75.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  741. Weld75.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  742. Weld75.Part0 = Part3
  743. Weld75.Part1 = Part3
  744. Weld75.part1 = Part3
  745. Weld76.Parent = Part3
  746. Weld76.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  747. Weld76.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  748. Weld76.Part0 = Part3
  749. Weld76.Part1 = Part3
  750. Weld76.part1 = Part3
  751. Weld77.Parent = Part3
  752. Weld77.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  753. Weld77.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  754. Weld77.Part0 = Part3
  755. Weld77.Part1 = Part3
  756. Weld77.part1 = Part3
  757. Weld78.Parent = Part3
  758. Weld78.C0 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  759. Weld78.C1 = CFrame.new(0, 0, 0, 0.0130481124, 0.999348223, -0.0336545557, -0.932377398, 1.1920929e-07, -0.361486018, -0.36125046, 0.0360954553, 0.931769967)
  760. Weld78.Part0 = Part3
  761. Weld78.Part1 = Part3
  762. Weld78.part1 = Part3
  763. Weld79.Parent = Part3
  764. Weld79.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  765. Weld79.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  766. Weld79.Part0 = Part3
  767. Weld79.Part1 = Part3
  768. Weld79.part1 = Part3
  769. Weld80.Parent = Part3
  770. Weld80.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  771. Weld80.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  772. Weld80.Part0 = Part3
  773. Weld80.Part1 = Part3
  774. Weld80.part1 = Part3
  775. Weld81.Parent = Part3
  776. Weld81.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  777. Weld81.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  778. Weld81.Part0 = Part3
  779. Weld81.Part1 = Part3
  780. Weld81.part1 = Part3
  781. Weld82.Parent = Part3
  782. Weld82.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  783. Weld82.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  784. Weld82.Part0 = Part3
  785. Weld82.Part1 = Part3
  786. Weld82.part1 = Part3
  787. Weld83.Parent = Part3
  788. Weld83.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  789. Weld83.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  790. Weld83.Part0 = Part3
  791. Weld83.Part1 = Part3
  792. Weld83.part1 = Part3
  793. Weld84.Parent = Part3
  794. Weld84.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  795. Weld84.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  796. Weld84.Part0 = Part3
  797. Weld84.Part1 = Part3
  798. Weld84.part1 = Part3
  799. Weld85.Parent = Part3
  800. Weld85.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  801. Weld85.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  802. Weld85.Part0 = Part3
  803. Weld85.Part1 = Part3
  804. Weld85.part1 = Part3
  805. Weld86.Parent = Part3
  806. Weld86.C0 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  807. Weld86.C1 = CFrame.new(0, 0, 0, 0.0356977731, 0.995112002, -0.0920749456, -0.932377577, -1.71937169e-22, -0.361486018, -0.359719068, 0.0987528488, 0.927820146)
  808. Weld86.Part0 = Part3
  809. Weld86.Part1 = Part3
  810. Weld86.part1 = Part3
  811. Weld87.Parent = Part3
  812. Weld87.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  813. Weld87.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  814. Weld87.Part0 = Part3
  815. Weld87.Part1 = Part3
  816. Weld87.part1 = Part3
  817. Weld88.Parent = Part3
  818. Weld88.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  819. Weld88.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  820. Weld88.Part0 = Part3
  821. Weld88.Part1 = Part3
  822. Weld88.part1 = Part3
  823. Weld89.Parent = Part3
  824. Weld89.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  825. Weld89.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  826. Weld89.Part0 = Part3
  827. Weld89.Part1 = Part3
  828. Weld89.part1 = Part3
  829. Weld90.Parent = Part3
  830. Weld90.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  831. Weld90.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  832. Weld90.Part0 = Part3
  833. Weld90.Part1 = Part3
  834. Weld90.part1 = Part3
  835. Weld91.Parent = Part3
  836. Weld91.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  837. Weld91.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  838. Weld91.Part0 = Part3
  839. Weld91.Part1 = Part3
  840. Weld91.part1 = Part3
  841. Weld92.Parent = Part3
  842. Weld92.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  843. Weld92.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  844. Weld92.Part0 = Part3
  845. Weld92.Part1 = Part3
  846. Weld92.part1 = Part3
  847. Weld93.Parent = Part3
  848. Weld93.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  849. Weld93.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  850. Weld93.Part0 = Part3
  851. Weld93.Part1 = Part3
  852. Weld93.part1 = Part3
  853. Weld94.Parent = Part3
  854. Weld94.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  855. Weld94.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  856. Weld94.Part0 = Part3
  857. Weld94.Part1 = Part3
  858. Weld94.part1 = Part3
  859. Sound95.Parent = Part3
  860. Sound95.SoundId = "rbxasset://sounds/swordslash.wav"
  861. Sound95.Volume = 0.69999998807907
  862. Sound96.Parent = Part3
  863. Sound96.SoundId = "rbxasset://sounds/unsheath.wav"
  864. Sound96.Volume = 1
  865. Sound97.Parent = Part3
  866. Sound97.SoundId = "http://www.roblox.com/asset/?id=25256253"
  867. Sound97.Volume = 0.80000001192093
  868. Weld98.Parent = Part3
  869. Weld98.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  870. Weld98.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  871. Weld98.Part0 = Part3
  872. Weld98.Part1 = Part3
  873. Weld98.part1 = Part3
  874. Weld99.Parent = Part3
  875. Weld99.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  876. Weld99.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  877. Weld99.Part0 = Part3
  878. Weld99.Part1 = Part3
  879. Weld99.part1 = Part3
  880. Weld100.Parent = Part3
  881. Weld100.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  882. Weld100.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  883. Weld100.Part0 = Part3
  884. Weld100.Part1 = Part3
  885. Weld100.part1 = Part3
  886. Weld101.Parent = Part3
  887. Weld101.C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  888. Weld101.C1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  889. Weld101.Part0 = Part3
  890. Weld101.Part1 = Part3
  891. Weld101.part1 = Part3
  892. Script102.Name = "Welding"
  893. Script102.Parent = Tool0
  894. table.insert(cors,sandbox(Script102,function()
  895. function Weld(x,y)
  896. local W = Instance.new("Weld")
  897. W.Part0 = x
  898. W.Part1 = y
  899. local CJ = CFrame.new(x.Position)
  900. local C0 = x.CFrame:inverse()*CJ
  901. local C1 = y.CFrame:inverse()*CJ
  902. W.C0 = C0
  903. W.C1 = C1
  904. W.Parent = x
  905. end
  906.  
  907. function Get(A)
  908. if A.className == "Part" then
  909. Weld(script.Parent.Handle, A)
  910. A.Anchored = false
  911. else
  912. local C = A:GetChildren()
  913. for i=1, #C do
  914. Get(C[i])
  915. end
  916. end
  917. end
  918.  
  919. function Finale()
  920. Get(script.Parent)
  921. end
  922.  
  923. script.Parent.Equipped:connect(Finale)
  924. script.Parent.Unequipped:connect(Finale)
  925. Finale()
  926. end))
  927. Script103.Name = "Welding"
  928. Script103.Parent = Tool0
  929. table.insert(cors,sandbox(Script103,function()
  930. function Weld(x,y)
  931. local W = Instance.new("Weld")
  932. W.Part0 = x
  933. W.Part1 = y
  934. local CJ = CFrame.new(x.Position)
  935. local C0 = x.CFrame:inverse()*CJ
  936. local C1 = y.CFrame:inverse()*CJ
  937. W.C0 = C0
  938. W.C1 = C1
  939. W.Parent = x
  940. end
  941.  
  942. function Get(A)
  943. if A.className == "Part" then
  944. Weld(script.Parent.Handle, A)
  945. A.Anchored = false
  946. else
  947. local C = A:GetChildren()
  948. for i=1, #C do
  949. Get(C[i])
  950. end
  951. end
  952. end
  953.  
  954. function Finale()
  955. Get(script.Parent)
  956. end
  957.  
  958. script.Parent.Equipped:connect(Finale)
  959. script.Parent.Unequipped:connect(Finale)
  960. Finale()
  961. end))
  962. LocalScript104.Name = "BackupWeld"
  963. LocalScript104.Parent = Tool0
  964. table.insert(cors,sandbox(LocalScript104,function()
  965. function Weld(x,y)
  966. local W = Instance.new("Weld")
  967. W.Part0 = x
  968. W.Part1 = y
  969. local CJ = CFrame.new(x.Position)
  970. local C0 = x.CFrame:inverse()*CJ
  971. local C1 = y.CFrame:inverse()*CJ
  972. W.C0 = C0
  973. W.C1 = C1
  974. W.Parent = x
  975. end
  976.  
  977. function Get(A)
  978. if A.className == "Part" then
  979. Weld(script.Parent.Handle, A)
  980. A.Anchored = false
  981. else
  982. local C = A:GetChildren()
  983. for i=1, #C do
  984. Get(C[i])
  985. end
  986. end
  987. end
  988.  
  989. function Finale()
  990. Get(script.Parent)
  991. end
  992.  
  993. script.Parent.Equipped:connect(Finale)
  994. script.Parent.Unequipped:connect(Finale)
  995. Finale()
  996. end))
  997. LocalScript105.Name = "BackupWeld"
  998. LocalScript105.Parent = Tool0
  999. table.insert(cors,sandbox(LocalScript105,function()
  1000. function Weld(x,y)
  1001. local W = Instance.new("Weld")
  1002. W.Part0 = x
  1003. W.Part1 = y
  1004. local CJ = CFrame.new(x.Position)
  1005. local C0 = x.CFrame:inverse()*CJ
  1006. local C1 = y.CFrame:inverse()*CJ
  1007. W.C0 = C0
  1008. W.C1 = C1
  1009. W.Parent = x
  1010. end
  1011.  
  1012. function Get(A)
  1013. if A.className == "Part" then
  1014. Weld(script.Parent.Handle, A)
  1015. A.Anchored = false
  1016. else
  1017. local C = A:GetChildren()
  1018. for i=1, #C do
  1019. Get(C[i])
  1020. end
  1021. end
  1022. end
  1023.  
  1024. function Finale()
  1025. Get(script.Parent)
  1026. end
  1027.  
  1028. script.Parent.Equipped:connect(Finale)
  1029. script.Parent.Unequipped:connect(Finale)
  1030. Finale()
  1031. end))
  1032. LocalScript106.Name = "BackupWeld"
  1033. LocalScript106.Parent = Tool0
  1034. table.insert(cors,sandbox(LocalScript106,function()
  1035. function Weld(x,y)
  1036. local W = Instance.new("Weld")
  1037. W.Part0 = x
  1038. W.Part1 = y
  1039. local CJ = CFrame.new(x.Position)
  1040. local C0 = x.CFrame:inverse()*CJ
  1041. local C1 = y.CFrame:inverse()*CJ
  1042. W.C0 = C0
  1043. W.C1 = C1
  1044. W.Parent = x
  1045. end
  1046.  
  1047. function Get(A)
  1048. if A.className == "Part" then
  1049. Weld(script.Parent.Handle, A)
  1050. A.Anchored = false
  1051. else
  1052. local C = A:GetChildren()
  1053. for i=1, #C do
  1054. Get(C[i])
  1055. end
  1056. end
  1057. end
  1058.  
  1059. function Finale()
  1060. Get(script.Parent)
  1061. end
  1062.  
  1063. script.Parent.Equipped:connect(Finale)
  1064. script.Parent.Unequipped:connect(Finale)
  1065. Finale()
  1066. end))
  1067. LocalScript107.Name = "BackupWeld"
  1068. LocalScript107.Parent = Tool0
  1069. table.insert(cors,sandbox(LocalScript107,function()
  1070. function Weld(x,y)
  1071. local W = Instance.new("Weld")
  1072. W.Part0 = x
  1073. W.Part1 = y
  1074. local CJ = CFrame.new(x.Position)
  1075. local C0 = x.CFrame:inverse()*CJ
  1076. local C1 = y.CFrame:inverse()*CJ
  1077. W.C0 = C0
  1078. W.C1 = C1
  1079. W.Parent = x
  1080. end
  1081.  
  1082. function Get(A)
  1083. if A.className == "Part" then
  1084. Weld(script.Parent.Handle, A)
  1085. A.Anchored = false
  1086. else
  1087. local C = A:GetChildren()
  1088. for i=1, #C do
  1089. Get(C[i])
  1090. end
  1091. end
  1092. end
  1093.  
  1094. function Finale()
  1095. Get(script.Parent)
  1096. end
  1097.  
  1098. script.Parent.Equipped:connect(Finale)
  1099. script.Parent.Unequipped:connect(Finale)
  1100. Finale()
  1101. end))
  1102. Script108.Name = "Welding"
  1103. Script108.Parent = Tool0
  1104. table.insert(cors,sandbox(Script108,function()
  1105. function Weld(x,y)
  1106. local W = Instance.new("Weld")
  1107. W.Part0 = x
  1108. W.Part1 = y
  1109. local CJ = CFrame.new(x.Position)
  1110. local C0 = x.CFrame:inverse()*CJ
  1111. local C1 = y.CFrame:inverse()*CJ
  1112. W.C0 = C0
  1113. W.C1 = C1
  1114. W.Parent = x
  1115. end
  1116.  
  1117. function Get(A)
  1118. if A.className == "Part" then
  1119. Weld(script.Parent.Handle, A)
  1120. A.Anchored = false
  1121. else
  1122. local C = A:GetChildren()
  1123. for i=1, #C do
  1124. Get(C[i])
  1125. end
  1126. end
  1127. end
  1128.  
  1129. function Finale()
  1130. Get(script.Parent)
  1131. end
  1132.  
  1133. script.Parent.Equipped:connect(Finale)
  1134. script.Parent.Unequipped:connect(Finale)
  1135. Finale()
  1136. end))
  1137. Script109.Name = "Welding"
  1138. Script109.Parent = Tool0
  1139. table.insert(cors,sandbox(Script109,function()
  1140. function Weld(x,y)
  1141. local W = Instance.new("Weld")
  1142. W.Part0 = x
  1143. W.Part1 = y
  1144. local CJ = CFrame.new(x.Position)
  1145. local C0 = x.CFrame:inverse()*CJ
  1146. local C1 = y.CFrame:inverse()*CJ
  1147. W.C0 = C0
  1148. W.C1 = C1
  1149. W.Parent = x
  1150. end
  1151.  
  1152. function Get(A)
  1153. if A.className == "Part" then
  1154. Weld(script.Parent.Handle, A)
  1155. A.Anchored = false
  1156. else
  1157. local C = A:GetChildren()
  1158. for i=1, #C do
  1159. Get(C[i])
  1160. end
  1161. end
  1162. end
  1163.  
  1164. function Finale()
  1165. Get(script.Parent)
  1166. end
  1167.  
  1168. script.Parent.Equipped:connect(Finale)
  1169. script.Parent.Unequipped:connect(Finale)
  1170. Finale()
  1171. end))
  1172. Script110.Name = "Damage"
  1173. Script110.Parent = Tool0
  1174. table.insert(cors,sandbox(Script110,function()
  1175. local function Create(ty)
  1176. return function(data)
  1177. local obj = Instance.new(ty)
  1178. for k, v in pairs(data) do
  1179. if type(k) == 'number' then
  1180. v.Parent = obj
  1181. else
  1182. obj[k] = v
  1183. end
  1184. end
  1185. return obj
  1186. end
  1187. end
  1188.  
  1189. --------------------------------------------------------------------------------
  1190. --------------------------------------------------------------------------------
  1191. --------------------------------------------------------------------------------
  1192. --------------------------------------------------------------------------------
  1193.  
  1194. -- Tiny Event Manager; Add: [[Event.EventName = (event)]]; Remove: [[Disconnect("EventName",...)]]
  1195. local Event = {}
  1196. local function Disconnect(...)
  1197. for _,name in pairs{...} do
  1198. if Event[name] then
  1199. Event[name]:disconnect()
  1200. Event[name] = nil
  1201. end
  1202. end
  1203. end
  1204.  
  1205. -- get an object; make it if it doesn't exist
  1206. local function GetMake(parent,name,type)
  1207. local object = parent:FindFirstChild(name)
  1208. if not object then
  1209. object = Create(type){Name=name}
  1210. object.Parent = parent
  1211. end
  1212. return object
  1213. end
  1214.  
  1215. -- wait until child exists; return child
  1216. local function WaitForChild(parent,name)
  1217. while not parent:FindFirstChild(name) do
  1218. parent.ChildAdded:wait()
  1219. end
  1220. return parent:FindFirstChild(name)
  1221. end
  1222.  
  1223. -- get a sibling humanoid of object; by humanoid, not by name
  1224. local function GetHumanoid(object)
  1225. if object and object.Parent then
  1226. for i,v in pairs(object.Parent:GetChildren()) do
  1227. if v:IsA"Humanoid" then
  1228. return v
  1229. end
  1230. end
  1231. end
  1232. return nil
  1233. end
  1234.  
  1235. -- get the parent character from an object; verified by GetHumanoid
  1236. local function GetCharacter(object)
  1237. local humanoid = GetHumanoid(object)
  1238. if humanoid then
  1239. return object.Parent,humanoid
  1240. end
  1241. return nil
  1242. end
  1243.  
  1244. --------------------------------------------------------------------------------
  1245. --------------------------------------------------------------------------------
  1246. --------------------------------------------------------------------------------
  1247. --------------------------------------------------------------------------------
  1248.  
  1249. local Players = Game:GetService("Players")
  1250. local Debris = Game:GetService("Debris")
  1251.  
  1252. local Tool = script.Parent
  1253. local DamageBin = WaitForChild(Tool,"DamageBin")
  1254.  
  1255. Tool.Equipped:connect(function()
  1256. local Character,Humanoid = GetCharacter(Tool)
  1257. local Player = Players:GetPlayerFromCharacter(Character)
  1258.  
  1259. Event.DamageBin = DamageBin.ChildAdded:connect(function(dtag)
  1260. if dtag:IsA"ObjectValue" then
  1261. local humanoid = dtag.Value
  1262. local damage = tonumber(dtag.Name)
  1263. if humanoid and damage then
  1264. local ctag = Create'ObjectValue'{
  1265. Name = "creator";
  1266. Value = Player;
  1267. }
  1268. ctag.Parent = humanoid
  1269. humanoid:TakeDamage(damage)
  1270. Debris:AddItem(ctag,1)
  1271. Debris:AddItem(dtag,1)
  1272. end
  1273. end
  1274. end)
  1275. end)
  1276.  
  1277. Tool.Unequipped:connect(function()
  1278. Disconnect("DamageBin")
  1279. end)
  1280. end))
  1281. LocalScript111.Name = "Main"
  1282. LocalScript111.Parent = Tool0
  1283. table.insert(cors,sandbox(LocalScript111,function()
  1284. local function class(name)
  1285. local def = {}
  1286. getfenv(0)[name] = def
  1287. return function(ctor, static)
  1288. local nctor = function(...)
  1289. local this = {}
  1290. if ctor then
  1291. ctor(this, ...)
  1292. end
  1293. return this
  1294. end
  1295. getfenv(0)['Create'..name] = nctor
  1296. if static then static(def) end
  1297. end
  1298. end
  1299.  
  1300. local function Create(ty)
  1301. return function(data)
  1302. local obj = Instance.new(ty)
  1303. for k, v in pairs(data) do
  1304. if type(k) == 'number' then
  1305. v.Parent = obj
  1306. else
  1307. obj[k] = v
  1308. end
  1309. end
  1310. return obj
  1311. end
  1312. end
  1313.  
  1314. --[[----------------------------------------------------------------------------
  1315. AnimationProvider
  1316. Manages animations.
  1317.  
  1318. CreateAnimationProvider(animations)
  1319. Returns a new AnimationProvider instance.
  1320. `animations` is a table containing identity/asset_id pairs.
  1321. `asset_id` may be a string (Content) or an integer.
  1322. AnimationProvider:LoadHumanoid(humanoid)
  1323. Loads the animations into `humanoid`.
  1324. AnimationProvider:GetAnimation(identity)
  1325. Returns an AnimationTrack.
  1326. May only be called after LoadHumanoid.
  1327. AnimationProvider:StopAnimations()
  1328. Stops all animations.
  1329. ]]
  1330. class'AnimationProvider'(function(def,anim_ids)
  1331. local animations = {}
  1332. local animationTracks = {}
  1333. local catcherCallbacks = {}
  1334. local keyframeCatchers = {}
  1335. local workingHumanoid
  1336.  
  1337. for name,id in pairs(anim_ids) do
  1338. animations[name] = Create'Animation'{
  1339. Name = name;
  1340. AnimationId = type(id) == "number" and ("rbxassetid://"..id) or id;
  1341. Archivable = false;
  1342. }
  1343. end
  1344.  
  1345. function def:LoadHumanoid(humanoid)
  1346. if humanoid ~= workingHumanoid then
  1347. workingHumanoid = humanoid
  1348. for name,anim in pairs(animations) do
  1349. local old_track = animationTracks[name]
  1350. if old_track then
  1351. old_track:Stop()
  1352. old_track:Destroy()
  1353. if keyframeCatchers[name] then
  1354. keyframeCatchers[name] = nil
  1355. end
  1356. end
  1357.  
  1358. local track = humanoid:LoadAnimation(anim)
  1359. animationTracks[name] = track
  1360. if catcherCallbacks[name] then
  1361. local catcher = CreateKeyframeCatcher(track)
  1362. keyframeCatchers[name] = catcher
  1363. catcher:SetCallbacks(catcherCallbacks[name])
  1364. end
  1365. end
  1366. end
  1367. end
  1368.  
  1369. function def:GetAnimation(name)
  1370. if not workingHumanoid then
  1371. error("GetAnimation: humanoid has not been loaded",2)
  1372. end
  1373. return animationTracks[name]
  1374. end
  1375.  
  1376. function def:StopAnimations(...)
  1377. for name,track in pairs(animationTracks) do
  1378. track:Stop(...)
  1379. end
  1380. end
  1381.  
  1382. -- lazy get
  1383. setmetatable(def,{__index = animationTracks})
  1384. end)
  1385.  
  1386. --[[
  1387. SoundProvider
  1388. Manages sounds.
  1389.  
  1390. CreateSoundProvider(sounds)
  1391. Returns a new SoundProvider.
  1392. `sounds` is a table containing identity/asset_id pairs.
  1393. `asset_id` may be a string (Content) or an integer.
  1394. SoundProvider:SetParent(parent)
  1395. Sets the parent of all the sounds at once. Can be nil.
  1396. SoundProvider:GetSound(identity)
  1397. Returns a Sound.
  1398. SoundProvider:StopSounds()
  1399. Stops all sounds.
  1400. SoundProvider:Fade(identity, goal, time, delta)
  1401. Applies a fading effect to a Sound, starting with the current volume.
  1402. `goal` is the volume to reach by the end of the transition.
  1403. `time` is the amount of time the transition should take, in seconds.
  1404. Optionally, `delta` is a function that transforms the progress of the fade (for non-linear transitions)
  1405. ]]
  1406. class'SoundProvider'(function(def,sound_ids)
  1407. local sounds = {}
  1408.  
  1409. for name,id in pairs(sound_ids) do
  1410. sounds[name] = Create'Sound'{
  1411. Name = name;
  1412. SoundId = type(id) == "number" and ("rbxassetid://"..id) or id;
  1413. Archivable = false;
  1414. }
  1415. end
  1416.  
  1417. function def:SetParent(parent)
  1418. for name,sound in pairs(sounds) do
  1419. sound.Parent = parent
  1420. end
  1421. end
  1422.  
  1423. function def:GetSound(name)
  1424. return sounds[name]
  1425. end
  1426.  
  1427. function def:StopSounds()
  1428. for name,sound in pairs(sounds) do
  1429. sound:Stop()
  1430. end
  1431. end
  1432.  
  1433. function def:Fade(name,g,t,delta)
  1434. local sound = sounds[name]
  1435. delta = delta or function(n) return n end
  1436. if sound then
  1437. local s = sound.Volume
  1438. local i = 0
  1439. while i < 1 do
  1440. i = i + wait()/t
  1441. sound.Volume = (g-s)*delta(i)+s
  1442. end
  1443. sound.Volume = g
  1444. else
  1445. error("SoundProvider::Fade: no such sound named `"..name.."`",2)
  1446. end
  1447. end
  1448.  
  1449. -- lazy get
  1450. setmetatable(def,{__index = sounds})
  1451. end)
  1452.  
  1453. --[[
  1454. ThreadID
  1455. Makes sure new threads override old ones.
  1456.  
  1457. CreateThreadID()
  1458. Returns a new ThreadID.
  1459. ThreadID:Request()
  1460. Returns a new ID and increments the current one.
  1461. ThreadID:Assert(id)
  1462. Returns whether the thread's ID equals the current one.
  1463. ThreadID:Reset()
  1464. Reset the current ID.
  1465. ]]
  1466. class'ThreadID'(function(def)
  1467. local thread_id = 0
  1468.  
  1469. function def:Assert(id)
  1470. return thread_id == id
  1471. end
  1472.  
  1473. function def:Request()
  1474. thread_id = thread_id + 1
  1475. return thread_id
  1476. end
  1477.  
  1478. function def:Reset()
  1479. thread_id = 0
  1480. end
  1481. end)
  1482.  
  1483. --[[
  1484. WalkSpeedManager
  1485. Manages a Humanoid's WalkSpeed.
  1486. When the walkspeed is set externally (not by this instance), the new value will become the base walkspeed.
  1487. However, the walkspeed can be locked. If so, the walkspeed will be reverted if it has been changed externally.
  1488. This allows the tool to be compatible with, say, a speed potion.
  1489.  
  1490. CreateWalkSpeedManager()
  1491. Returns a new WalkSpeedManager.
  1492. WalkSpeedManager:SetHumanoid(humanoid)
  1493. Sets the humanoid and sets its WalkSpeed as the base.
  1494. WalkSpeedManager:Set(walkspeed)
  1495. Sets and locks the humanoid's walkspeed.
  1496. WalkSpeedManager:Reset()
  1497. Unlocks and resets the humanoid's walkspeed to the base walkspeed.
  1498. WalkSpeedManager:GetBase()
  1499. Returns the base walkspeed.
  1500. ]]
  1501. class'WalkSpeedManager'(function(def)
  1502. local baseWalkSpeed = 16
  1503. local currentWalkSpeed = 16
  1504. local locked = false
  1505. local settingInternal = false
  1506. local humanoid
  1507. local changed
  1508.  
  1509. function def:SetHumanoid(hum)
  1510. humanoid = hum
  1511. locked = false
  1512. if changed then changed:disconnect() end
  1513. if hum then
  1514. baseWalkSpeed = hum.WalkSpeed
  1515. currentWalkSpeed = baseWalkSpeed
  1516. changed = hum.Changed:connect(function(p)
  1517. if p == "WalkSpeed" and not settingInternal then
  1518. -- something external is modifying the walkspeed; use that as the base
  1519. baseWalkSpeed = hum.WalkSpeed
  1520. if locked then
  1521. settingInternal = true
  1522. hum.WalkSpeed = currentWalkSpeed
  1523. settingInternal = false
  1524. end
  1525. end
  1526. end)
  1527. end
  1528. end
  1529.  
  1530. function def:Set(ws)
  1531. if humanoid then
  1532. locked = true
  1533. currentWalkSpeed = ws
  1534. settingInternal = true
  1535. humanoid.WalkSpeed = ws
  1536. settingInternal = false
  1537. end
  1538. end
  1539.  
  1540. function def:Reset()
  1541. if humanoid then
  1542. currentWalkSpeed = baseWalkSpeed
  1543. settingInternal = true
  1544. humanoid.WalkSpeed = baseWalkSpeed
  1545. settingInternal = false
  1546. locked = false
  1547. end
  1548. end
  1549.  
  1550. function def:GetBase()
  1551. return baseWalkSpeed
  1552. end
  1553. end)
  1554.  
  1555. --[[
  1556. Sequencer
  1557. Calls functions in a sequence through activation of a single function.
  1558.  
  1559. :SetSequenceMap(map)
  1560. Sets the sequence of functions to use.
  1561. :SetMinInterval(interval)
  1562. Sets the minimum amount of time allowed between activations.
  1563. :SetResetDelay(delay,time)
  1564. Sets the amount of time to wait after the most recent activation before the sequence is reset.
  1565. `delay` is the time to wait after the last activation.
  1566. `time` is used when comparing the current time with the last activation time.
  1567. If `time` is greater than or close to `delay`, the sequence (probably) wont reset.
  1568. :Activate(...)
  1569. Calls the next function in the sequence. If the end of the sequence is reached, it wraps back to the beginning.
  1570. The first value passed to the function is the current sequence index. Subsequent arguments are the values passed to Activate.
  1571. ]]
  1572. class'Sequencer'(function(def)
  1573. local min_interval = 0
  1574. local reset_delay = 0
  1575. local reset_time = 0
  1576. local seq_map = {}
  1577.  
  1578. local seq_index = 0
  1579. local activate_time = 0
  1580.  
  1581. function def:SetSequenceMap(map)
  1582. seq_map = map
  1583. if seq_index > #map then
  1584. seq_index = 0
  1585. end
  1586. end
  1587.  
  1588. function def:SetMinInterval(interval)
  1589. min_interval = interval
  1590. end
  1591.  
  1592. function def:SetResetDelay(delay,time)
  1593. reset_delay = delay
  1594. reset_time = time
  1595. end
  1596.  
  1597. local function act(...)
  1598. local t = tick()
  1599. if t-activate_time > min_interval then
  1600. activate_time = t
  1601. seq_index = seq_index + 1 > #seq_map and 1 or seq_index + 1
  1602. if seq_map[seq_index] then
  1603. coroutine.wrap(seq_map[seq_index])(seq_index,...)
  1604. end
  1605. end
  1606. wait(reset_delay)
  1607. if tick()-activate_time > reset_time then
  1608. seq_index = 0
  1609. end
  1610. end
  1611.  
  1612. function def:Activate(...)
  1613. coroutine.wrap(act)(...)
  1614. end
  1615. end)
  1616.  
  1617. --[[
  1618. Particle
  1619. Manages a particle.
  1620.  
  1621. CreateParticle(constructor)
  1622. Returns a new Particle.
  1623. `constructor` is a function that creates a particle. It should return an Instance.
  1624. :SetCountLimit(count)
  1625. Sets the maximum number of particles that can exist at one time.
  1626. :SetTimeLimit(time)
  1627. Sets the maximum time a paricle is allowed to exist.
  1628. Setting below 0 lets it exist forever.
  1629. :Spawn(...)
  1630. Spawns a particle.
  1631. Received arguments are passed to the `constructor` function.
  1632. Returns the spawned particle.
  1633. :Despawn(particle)
  1634. Removes a spawned particle.
  1635. ]]
  1636. class'Particle'(function(def,newParticle)
  1637. local Debris = Game:GetService("Debris")
  1638. local queue = {}
  1639. local changed = {}
  1640. local maxParticles = 20
  1641. local maxTime = 5
  1642.  
  1643. local function search_remove(t,k)
  1644. local i = 1
  1645. while i <= #t do
  1646. if t[i] == k then
  1647. table.remove(t,i)
  1648. else
  1649. i = i + 1
  1650. end
  1651. end
  1652. end
  1653.  
  1654. function def:SetCountLimit(mp)
  1655. maxParticles = mp
  1656. end
  1657.  
  1658. function def:SetTimeLimit(mt)
  1659. maxTime = mt
  1660. end
  1661.  
  1662. function def:Despawn(particle)
  1663. if changed[particle] then
  1664. changed[particle]:disconnect()
  1665. changed[particle] = nil
  1666. end
  1667. search_remove(queue,particle)
  1668. particle:Destroy()
  1669. end
  1670.  
  1671. function def:Spawn(...)
  1672. if #queue < maxParticles then
  1673. local particle = newParticle(...)
  1674. if maxTime >= 0 then Debris:AddItem(particle,maxTime) end
  1675. queue[#queue+1] = particle
  1676. changed[particle] = particle.AncestryChanged:connect(function(c,p)
  1677. if p == nil then
  1678. self:Despawn(particle)
  1679. end
  1680. end)
  1681. end
  1682. return particle
  1683. end
  1684.  
  1685. end)
  1686.  
  1687. --------------------------------------------------------------------------------
  1688. --------------------------------------------------------------------------------
  1689. --------------------------------------------------------------------------------
  1690. --------------------------------------------------------------------------------
  1691.  
  1692. -- Tiny Event Manager; Add: [[Event.EventName = (event)]]; Remove: [[Disconnect("EventName",...)]]
  1693. local Event = {}
  1694. local function Disconnect(...)
  1695. for _,name in pairs{...} do
  1696. if Event[name] then
  1697. Event[name]:disconnect()
  1698. Event[name] = nil
  1699. end
  1700. end
  1701. end
  1702.  
  1703. -- get an object; make it if it doesn't exist
  1704. local function GetMake(parent,name,type)
  1705. local object = parent:FindFirstChild(name)
  1706. if not object then
  1707. object = Create(type){Name=name}
  1708. object.Parent = parent
  1709. end
  1710. return object
  1711. end
  1712.  
  1713. -- wait until child exists; return child
  1714. local function WaitForChild(parent,name)
  1715. while not parent:FindFirstChild(name) do
  1716. parent.ChildAdded:wait()
  1717. end
  1718. return parent:FindFirstChild(name)
  1719. end
  1720.  
  1721. -- get a sibling humanoid of object; by humanoid, not by name
  1722. local function GetHumanoid(object)
  1723. if object and object.Parent then
  1724. for i,v in pairs(object.Parent:GetChildren()) do
  1725. if v:IsA"Humanoid" then
  1726. return v
  1727. end
  1728. end
  1729. end
  1730. return nil
  1731. end
  1732.  
  1733. -- get the parent character from an object; verified by GetHumanoid
  1734. local function GetCharacter(object)
  1735. local humanoid = GetHumanoid(object)
  1736. if humanoid then
  1737. return object.Parent,humanoid
  1738. end
  1739. return nil
  1740. end
  1741.  
  1742. -- make a joint, if the objects exist
  1743. local function AttemptJoint(x,y,c0,c1)
  1744. if x and y then
  1745. local weld = Instance.new("Motor6D")
  1746. weld.Part0 = x
  1747. weld.Part1 = y
  1748. if c0 then weld.C0 = c0 end
  1749. if c1 then weld.C1 = c1 end
  1750. weld.Parent = x
  1751. return weld
  1752. end
  1753. end
  1754.  
  1755. -- destroy a joint used only by the two objects
  1756. local function KillJoint(x,y)
  1757. if x and y then
  1758. for i,v in pairs(x:GetChildren()) do
  1759. if v:IsA"Motor6D" then
  1760. if v.Part0 == x and v.Part1 == y then
  1761. v:Destroy()
  1762. end
  1763. end
  1764. end
  1765. end
  1766. end
  1767.  
  1768. --------------------------------------------------------------------------------
  1769. --------------------------------------------------------------------------------
  1770. --------------------------------------------------------------------------------
  1771. -----SETTINGS-------------------------------------------------------------------
  1772. --Damage
  1773. local sword_damage = 5
  1774. local charged_sword_damage = 10
  1775. local arc_damage = 10
  1776. local charged_arc_damage = 20
  1777.  
  1778. --Charged Attack
  1779. local charge_time = 6 -- how long it takes to fully charge
  1780. local charge_attack_time = 8 -- how long charged attack lasts (at full charge)
  1781. local cooldown_time = 12 -- how long before sword can be charged again (at full charge)
  1782. local charge_walk_mult = 1.5 -- how much to multiply the base walkspeed when charged
  1783.  
  1784. --Short-term Fatigue
  1785. -- min slash interval increases after every slash
  1786. -- more consecutive slashes means longer recovery time
  1787. local fatigue_enabled = true
  1788. local fatigue_increment = 0.05 -- controls stamina (seconds added per slash)
  1789. local rest_factor = 16 -- controls recovery time (multiplied by current fatigue)
  1790.  
  1791. --Moon Arc Effect
  1792. local arc_angle_variance = Vector3.new(2,12,6) -- degrees
  1793. local arc_distance_variance = 0.5 -- distance from torso
  1794. local arc_max_speed = 0.5 -- initial outward speed (gets decayed)
  1795. local arc_time = 0.3 -- how long arc should exist
  1796. local arc_decay = 2 -- exp decay factor
  1797.  
  1798. --Sphere Effect
  1799. -- a growing sphere during charge
  1800. -- not sure if looks good
  1801. local sphere_enabled = false
  1802. local sphere_radius = 5.3 -- radius at end of effect
  1803. local sphere_magnitude = 2 -- wavyness
  1804. local sphere_time = 4 -- wavyness time scale
  1805. --------------------------------------------------------------------------------
  1806. --------------------------------------------------------------------------------
  1807. --------------------------------------------------------------------------------
  1808. --------------------------------------------------------------------------------
  1809.  
  1810. local Debris = Game:GetService("Debris")
  1811. local Lighting = Game:GetService("Lighting")
  1812.  
  1813. local Tool = script.Parent
  1814. local Handle = WaitForChild(Tool,"Handle")
  1815. local Character,Humanoid
  1816.  
  1817. local DamageBin = GetMake(Tool,"DamageBin","Configuration")
  1818. local Damage = sword_damage
  1819. local ArcDamage = arc_damage
  1820.  
  1821. local MoonArcTemplate = Create'Part'{
  1822. Name = "MoonArc";
  1823. Anchored = true;
  1824. CanCollide = false;
  1825. Transparency = 1;
  1826. FormFactor = Enum.FormFactor.Symmetric;
  1827. TopSurface = Enum.SurfaceType.Smooth;
  1828. BottomSurface = Enum.SurfaceType.Smooth;
  1829. Size = Vector3.new(9,1,4);
  1830. Create'Decal'{
  1831. Name = "DecalTop";
  1832. Face = Enum.NormalId.Top;
  1833. Texture = "http://www.roblox.com/asset/?id=128980859";
  1834. };
  1835. Create'Decal'{
  1836. Name = "DecalBottom";
  1837. Face = Enum.NormalId.Bottom;
  1838. Texture = "http://www.roblox.com/asset/?id=128980859";
  1839. };
  1840. Create'BlockMesh'{
  1841. Scale = Vector3.new(1,0,1);
  1842. };
  1843. };
  1844. Game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id=128980859")
  1845.  
  1846. local WalkSpeed = CreateWalkSpeedManager()
  1847.  
  1848. local Animation = CreateAnimationProvider{
  1849. SlashLeft = "http://www.roblox.com/asset/?id=74909537";
  1850. SlashRight = "http://www.roblox.com/asset/?id=74909551";
  1851. Charge = "http://www.roblox.com/asset/?id=74909500";
  1852. SlashSides = "http://www.roblox.com/asset/?id=74909569";
  1853. SlashForward = "http://www.roblox.com/asset/?id=74909528";
  1854. DualSword = "http://www.roblox.com/asset/?id=74909522";
  1855. }
  1856.  
  1857. local Sound = CreateSoundProvider{
  1858. Slash = "http://www.roblox.com/asset/?id=45885030";
  1859. Charge = "http://www.roblox.com/asset/?id=75421988";
  1860. }
  1861. Sound:SetParent(Handle)
  1862. Sound.Slash.Volume = 0.25
  1863. Sound.Charge.Volume = 0
  1864. Sound.Charge.Looped = true
  1865.  
  1866. local MoonParticleTemplate = Create'Part'{
  1867. TopSurface = Enum.SurfaceType.Smooth;
  1868. Reflectance = 2;
  1869. BrickColor = BrickColor.new(1001);
  1870. Locked = true;
  1871. Anchored = true;
  1872. CanCollide = false;
  1873. Size = Vector3.new(1, 1, 8);
  1874. FormFactor = Enum.FormFactor.Custom;
  1875. BottomSurface = Enum.SurfaceType.Smooth;
  1876. Name = "MoonParticle";
  1877. --[[
  1878. Create'RocketPropulsion'{
  1879. CartoonFactor = 1;
  1880. MaxTorque = Vector3.new(math.huge, math.huge, math.huge);
  1881. TurnP = 100000;
  1882. MaxSpeed = 500;
  1883. MaxThrust = math.huge;
  1884. ThrustD = 100;
  1885. Name = "Rocket";
  1886. ThrustP = 1000;
  1887. TargetRadius = 8;
  1888. };
  1889. --]]
  1890. Create'SpecialMesh'{
  1891. MeshType = Enum.MeshType.Sphere;
  1892. };
  1893. };
  1894. local MoonParticle = CreateParticle(function()
  1895. local pos = Handle.Position
  1896. local dir = Lighting:GetMoonDirection()
  1897. local particle = MoonParticleTemplate:Clone()
  1898. particle.Archivable = false
  1899. local r = Vector2.new(math.random(-14,14),math.random(-14,14))
  1900. if r.magnitude > 14 then r = r.unit*14 end
  1901. local start = CFrame.new(pos,pos-dir) * CFrame.new(r.x,r.y,200)
  1902. particle.CFrame = start
  1903. Spawn(function()
  1904. while ((particle.CFrame*CFrame.new(0,0,-4)).p-Handle.Position).magnitude > 8 do
  1905. particle.CFrame = CFrame.new(particle.Position,Handle.Position) * CFrame.new(0,0,-8)
  1906. wait()
  1907. end
  1908. particle:Destroy()
  1909. end)
  1910. particle.Parent = Character
  1911. --[[
  1912. particle.Rocket.Target = Handle
  1913. particle.Rocket.ReachedTarget:connect(function()
  1914. particle:Destroy()
  1915. end)
  1916. particle.Parent = Workspace
  1917. particle.Rocket:Fire()
  1918. ]]
  1919. return particle
  1920. end)
  1921. MoonParticle:SetCountLimit(10)
  1922. MoonParticle:SetTimeLimit(10)
  1923.  
  1924. local SmallParticleTemplate = Create'Part'{
  1925. TopSurface = Enum.SurfaceType.Smooth;
  1926. Reflectance = 2;
  1927. BrickColor = BrickColor.new(1001);
  1928. Locked = true;
  1929. Anchored = true;
  1930. CanCollide = false;
  1931. Size = Vector3.new(0.5, 0.5, 1);
  1932. FormFactor = Enum.FormFactor.Custom;
  1933. BottomSurface = Enum.SurfaceType.Smooth;
  1934. Name = "SmallParticle";
  1935. Create'SpecialMesh'{
  1936. MeshType = Enum.MeshType.Sphere;
  1937. };
  1938. --[[
  1939. Create'RocketPropulsion'{
  1940. CartoonFactor = 1;
  1941. MaxTorque = Vector3.new(math.huge, math.huge, math.huge);
  1942. TurnP = 100000;
  1943. ThrustD = 50;
  1944. Name = "Rocket";
  1945. ThrustP = 1000;
  1946. TargetRadius = 1;
  1947. };
  1948. --]]
  1949. };
  1950. local SmallParticle = CreateParticle(function()
  1951. local pos = Handle.Position
  1952. local particle = SmallParticleTemplate:Clone()
  1953. particle.Archivable = false
  1954. local r = Vector3.new(math.random(-12,12),math.random(-12,12),math.random(-12,12))
  1955. if r.magnitude > 12 then r = r.unit*12 end
  1956. local start = CFrame.new(pos+r,pos)
  1957. particle.CFrame = start
  1958. Spawn(function()
  1959. while (particle.Position-Handle.Position).magnitude > 2 do
  1960. particle.CFrame = CFrame.new(particle.Position,Handle.Position) * CFrame.new(0,0,-1)
  1961. wait()
  1962. end
  1963. particle:Destroy()
  1964. end)
  1965. particle.Parent = Character
  1966. --[[
  1967. particle.Rocket.Target = Handle
  1968. particle.Rocket.ReachedTarget:connect(function()
  1969. particle:Destroy()
  1970. end)
  1971. particle.Parent = Workspace
  1972. particle.Rocket:Fire()
  1973. ]]
  1974. return particle
  1975. end)
  1976. SmallParticle:SetCountLimit(10)
  1977. SmallParticle:SetTimeLimit(10)
  1978.  
  1979. local SphereParticleTemplate = Create'Part'{
  1980. TopSurface = Enum.SurfaceType.Smooth;
  1981. Reflectance = 0.75;
  1982. Transparency = 0.9;
  1983. BrickColor = BrickColor.new(1001);
  1984. Size = Vector3.new(1, 1, 1);
  1985. FormFactor = Enum.FormFactor.Custom;
  1986. BottomSurface = Enum.SurfaceType.Smooth;
  1987. Name = "SphereParticle";
  1988. Create'SpecialMesh'{
  1989. Scale = Vector3.new(0, 0, 0);
  1990. MeshType = Enum.MeshType.Sphere;
  1991. };
  1992. };
  1993.  
  1994. -- if theres a character, get a body part from it
  1995. local function GetBodyPart(name)
  1996. local character = Character or GetCharacter(Tool)
  1997. if character then
  1998. local object = character:FindFirstChild(name)
  1999. if object then
  2000. return object
  2001. end
  2002. end
  2003. return nil
  2004. end
  2005.  
  2006. local function DealDamage(hit,damage)
  2007. local humanoid = GetHumanoid(hit)
  2008. if humanoid then
  2009. local dtag = Create'ObjectValue'{
  2010. Name = tostring(damage);
  2011. Value = humanoid;
  2012. Archivable = false;
  2013. }
  2014. dtag.Parent = DamageBin
  2015. end
  2016. end
  2017.  
  2018. local function MakeMoonArc(start,angle,off)
  2019. local arc = MoonArcTemplate:Clone()
  2020. arc.Archivable = false
  2021. arc.CFrame = start
  2022. * angle
  2023. * CFrame.Angles(
  2024. math.rad(math.random(-arc_angle_variance.x,arc_angle_variance.x)),
  2025. math.rad(math.random(-arc_angle_variance.y,arc_angle_variance.y)),
  2026. math.rad(math.random(-arc_angle_variance.z,arc_angle_variance.z))
  2027. )
  2028. * off
  2029. * CFrame.new(0,0,math.random(-arc_distance_variance*10,arc_distance_variance*10)/10)
  2030.  
  2031.  
  2032. arc.Touched:connect(function(hit)
  2033. if not hit:IsDescendantOf(Character) then
  2034. DealDamage(hit,ArcDamage)
  2035. end
  2036. end)
  2037. arc.Parent = Character
  2038.  
  2039. Spawn(function()
  2040. local MoonArc = arc
  2041. local DecalTop = MoonArc:FindFirstChild("DecalTop")
  2042. local DecalBottom = MoonArc:FindFirstChild("DecalBottom")
  2043. local i = 0
  2044. while i < 1 do
  2045. local n = math.pow(i,arc_decay)
  2046. if DecalTop then DecalTop.Transparency = n end
  2047. if DecalBottom then DecalBottom.Transparency = n end
  2048. MoonArc.CFrame = MoonArc.CFrame * CFrame.new(0,0,-math.pow(1-i,arc_decay)*arc_max_speed)
  2049. i = i + wait()/arc_time
  2050. end
  2051. MoonArc:Destroy()
  2052. end)
  2053. end
  2054.  
  2055. local function MoonIsVisible(Character)
  2056. local dir = Lighting:GetMoonDirection()
  2057. if Vector3.new(0,1,0):Dot(dir) > 0 then
  2058. -- BUG: particles block raycast
  2059. if not Workspace:FindPartOnRay(Ray.new(Handle.Position,dir*999),Character) then
  2060. return true
  2061. end
  2062. end
  2063. return false
  2064. end
  2065.  
  2066. local function SwordTouched(hit)
  2067. if not hit:IsDescendantOf(Character) then
  2068. DealDamage(hit,Damage)
  2069. end
  2070. end
  2071.  
  2072. local toolEquipped = false
  2073. local attackEnabled = true
  2074. local chargedAttackEnabled = false
  2075. local canCharge = true
  2076. -- charging sequence
  2077. local function Charge(Mouse)
  2078. ---- READY CHARGE
  2079. attackEnabled = false
  2080. canCharge = false
  2081. WalkSpeed:Set(0)
  2082.  
  2083. -- make shiny handle
  2084. local ShinyHandle
  2085. do
  2086. ShinyHandle = Handle:Clone()
  2087. ShinyHandle.BrickColor = BrickColor.new("Institutional white")
  2088. ShinyHandle.Archivable = false
  2089. ShinyHandle.Parent = Tool
  2090. local mesh = ShinyHandle:FindFirstChild("Mesh")
  2091. if mesh then mesh.TextureId = "" end
  2092. AttemptJoint(ShinyHandle,Handle)
  2093. end
  2094. -- make sphere, if enabled
  2095. local SphereParticle
  2096. if sphere_enabled then
  2097. SphereParticle = SphereParticleTemplate:Clone()
  2098. SphereParticle.Archivable = false
  2099. SphereParticle.Parent = Tool
  2100. AttemptJoint(SphereParticle,Handle)
  2101. end
  2102.  
  2103. local charging = true
  2104. local charge_level = 0 -- main value; determines charge
  2105. Event.MouseCharge = Mouse.Button1Up:connect(function()
  2106. charging = false
  2107. end)
  2108.  
  2109. Animation:StopAnimations(0)
  2110. Animation.Charge:Play()
  2111.  
  2112. local moon_visible = false
  2113. -- particle thread
  2114. Spawn(function()
  2115. while charging and toolEquipped do
  2116. moon_visible = MoonIsVisible(Character)
  2117. if moon_visible then
  2118. -- spawn particles
  2119. MoonParticle:Spawn()
  2120. SmallParticle:Spawn()
  2121. end
  2122. wait(0.1)
  2123. end
  2124. end)
  2125.  
  2126. ---- CHARGE
  2127. -- fade in charge sound
  2128. Sound.Charge.Pitch = 0.5
  2129. Sound.Charge:Play()
  2130. coroutine.wrap(function()
  2131. Sound:Fade("Charge",0.8,0.5)
  2132. end)()
  2133. -- charge loop
  2134. while charging and toolEquipped do
  2135. local t = wait()
  2136. if moon_visible then
  2137. charge_level = charge_level + t/charge_time
  2138. ShinyHandle.Reflectance = charge_level
  2139. Sound.Charge.Pitch = 0.5 + charge_level*2
  2140.  
  2141. if sphere_enabled then
  2142. local i = ((sphere_magnitude*math.sin(math.pi*charge_level*sphere_radius*sphere_time))/math.pi + charge_level*sphere_radius*sphere_time)/sphere_time
  2143. SphereParticle.Mesh.Scale = Vector3.new(i,i,i)
  2144. end
  2145. end
  2146. if charge_level >= 1 then
  2147. charging = false
  2148. charge_level = 1
  2149. break
  2150. end
  2151. end
  2152.  
  2153. -- fade out charge sound
  2154. coroutine.wrap(function()
  2155. Sound:Fade("Charge",0,0.5)
  2156. Sound.Charge:Stop()
  2157. end)()
  2158.  
  2159. if sphere_enabled then
  2160. -- shrink sphere
  2161. local s = charge_level
  2162. while s > 0 do
  2163. s = s - wait()/0.25
  2164. local i = (1-math.pow(1-s,2))*sphere_radius
  2165. SphereParticle.Mesh.Scale = Vector3.new(i,i,i)
  2166. end
  2167. end
  2168.  
  2169. ---- READY CHARGE ATTACK
  2170. Animation:StopAnimations()
  2171. Animation.DualSword:Play(0.2)
  2172. Disconnect("MouseCharge")
  2173. WalkSpeed:Set(WalkSpeed:GetBase()*charge_walk_mult)
  2174. if sphere_enabled then
  2175. SphereParticle:Destroy()
  2176. end
  2177.  
  2178. -- split shiny handle from normal handle; give to left hand
  2179. KillJoint(ShinyHandle,Handle)
  2180. AttemptJoint(ShinyHandle,GetBodyPart("Left Arm"),nil,CFrame.new(0,-1,-2.25)*CFrame.Angles(0,math.pi,math.pi/2))
  2181. ShinyHandle.Touched:connect(SwordTouched)
  2182.  
  2183. Damage = charged_sword_damage
  2184. ArcDamage = charged_arc_damage
  2185.  
  2186. ---- CHARGE ATTACK
  2187. local attack_level = charge_level
  2188. chargedAttackEnabled = true
  2189. attackEnabled = true
  2190. do -- sword glow indicator
  2191. local i = 1 + (math.pow(1-charge_level,10))
  2192. Handle.Mesh.VertexColor = Vector3.new(i,i,i)
  2193. end
  2194.  
  2195. while attack_level > 0 and toolEquipped do
  2196. attack_level = attack_level - wait()/charge_attack_time
  2197. ShinyHandle.Reflectance = attack_level
  2198. ShinyHandle.Transparency = 1-attack_level
  2199. end
  2200.  
  2201. ---- CHARGE ATTACK END
  2202. chargedAttackEnabled = false
  2203. Animation.DualSword:Stop(0.2)
  2204. WalkSpeed:Reset()
  2205. Damage = sword_damage
  2206. ArcDamage = arc_damage
  2207. ShinyHandle:Destroy()
  2208.  
  2209. ---- COOLDOWN
  2210. local cooldown = charge_level
  2211. while cooldown > 0 do
  2212. cooldown = cooldown - wait()/cooldown_time
  2213. local i = 1 + (math.pow(1-cooldown,10))
  2214. Handle.Mesh.VertexColor = Vector3.new(i,i,i)
  2215. end
  2216. canCharge = true
  2217. end
  2218.  
  2219. local fatigue = 0
  2220. Tool.Equipped:connect(function(Mouse)
  2221. toolEquipped = true
  2222. Character,Humanoid = GetCharacter(Tool)
  2223. if not Character then return end
  2224. Animation:LoadHumanoid(Humanoid)
  2225. WalkSpeed:SetHumanoid(Humanoid)
  2226.  
  2227. local Torso = GetBodyPart("Torso")
  2228.  
  2229. -- Slash Sequencer
  2230. -- basic left-right slash
  2231. -- primary attack
  2232. local SlashSeq = CreateSequencer()
  2233. SlashSeq:SetMinInterval(0)
  2234. SlashSeq:SetResetDelay(1.15,0.8)
  2235. local function add_fatigue()
  2236. local inc = fatigue_increment -- may change, so save it for later
  2237. fatigue = fatigue + inc
  2238. SlashSeq:SetMinInterval(fatigue) -- set as amount of time between slashes
  2239. -- recovery time; dependant on current fatigue
  2240. -- therefore, more fatigue causes longer recovery
  2241. wait(fatigue*rest_factor)
  2242. fatigue = fatigue - inc
  2243. SlashSeq:SetMinInterval(fatigue)
  2244. end
  2245. SlashSeq:SetSequenceMap{
  2246. function()
  2247. if fatigue_enabled then Spawn(add_fatigue) end
  2248. Sound.Slash.Pitch = math.random(1000,1020)/1000
  2249. Sound.Slash:Play()
  2250.  
  2251. Animation.SlashRight:Stop(0)
  2252. Animation.SlashLeft:Play()
  2253. wait(0.25)
  2254. MakeMoonArc(
  2255. Torso.CFrame,
  2256. CFrame.Angles(-math.pi/32,-math.pi/4,0),
  2257. CFrame.new(0,0,-5)
  2258. )
  2259. end;
  2260. function()
  2261. if fatigue_enabled then Spawn(add_fatigue) end
  2262. Sound.Slash.Pitch = math.random(1000,1020)/1000
  2263. Sound.Slash:Play()
  2264.  
  2265. Animation.SlashLeft:Stop(0)
  2266. Animation.SlashRight:Play()
  2267. wait(0.25)
  2268. MakeMoonArc(
  2269. Torso.CFrame,
  2270. CFrame.Angles(math.pi/32,math.pi/6,0),
  2271. CFrame.new(0,0,-4)
  2272. )
  2273. end;
  2274. }
  2275.  
  2276. -- Charged Slash Sequencer
  2277. -- dual-sword forward-side slash
  2278. -- secondary attack
  2279. local ChargedSeq = CreateSequencer()
  2280. ChargedSeq:SetMinInterval(0.1)
  2281. ChargedSeq:SetResetDelay(0.6,0.4)
  2282. ChargedSeq:SetSequenceMap{
  2283. function()
  2284. Sound.Slash.Pitch = math.random(900,920)/1000
  2285. Sound.Slash:Play()
  2286.  
  2287. Animation.SlashSides:Stop(0)
  2288. Animation.SlashForward:Play()
  2289. wait(0.25)
  2290. MakeMoonArc(
  2291. Torso.CFrame,
  2292. CFrame.Angles(math.pi/32,0,math.pi/6),
  2293. CFrame.new(0,0,-5)
  2294. )
  2295. MakeMoonArc(
  2296. Torso.CFrame,
  2297. CFrame.Angles(math.pi/32,0,-math.pi/6),
  2298. CFrame.new(0,0,-5)
  2299. )
  2300. end;
  2301. function()
  2302. Sound.Slash.Pitch = math.random(900,920)/1000
  2303. Sound.Slash:Play()
  2304.  
  2305. Animation.SlashForward:Stop(0)
  2306. Animation.SlashSides:Play()
  2307. wait(0.25)
  2308. MakeMoonArc(
  2309. Torso.CFrame,
  2310. CFrame.Angles(-math.pi/32,-math.pi/2,0),
  2311. CFrame.new(0,0,-5)
  2312. )
  2313. MakeMoonArc(
  2314. Torso.CFrame,
  2315. CFrame.Angles(-math.pi/32,math.pi/2,0),
  2316. CFrame.new(0,0,-5)
  2317. )
  2318. end;
  2319. }
  2320.  
  2321. local ClickThread = CreateThreadID()
  2322. local down = false
  2323. Mouse.Button1Down:connect(function()
  2324. if attackEnabled and GetBodyPart("Right Arm") then
  2325. down = true
  2326. if chargedAttackEnabled then
  2327. ChargedSeq:Activate()
  2328. else
  2329. SlashSeq:Activate()
  2330. if canCharge and GetBodyPart("Left Arm") then
  2331. local cid = ClickThread:Request()
  2332. wait(0.5)
  2333. if ClickThread:Assert(cid) and down then
  2334. Charge(Mouse)
  2335. end
  2336. end
  2337. end
  2338. end
  2339. end)
  2340.  
  2341. Mouse.Button1Up:connect(function()
  2342. down = false
  2343. end)
  2344.  
  2345. Event.Touched = Handle.Touched:connect(SwordTouched)
  2346. end)
  2347.  
  2348. Tool.Unequipped:connect(function()
  2349. toolEquipped = false
  2350. chargedAttackEnabled = false
  2351. attackEnabled = true
  2352. Disconnect("Touched","Lighting")
  2353. Animation:StopAnimations()
  2354. Sound:StopSounds()
  2355. WalkSpeed:Reset()
  2356. Damage = sword_damage
  2357. ArcDamage = arc_damage
  2358. end)
  2359. end))
  2360. Configuration112.Name = "DamageBin"
  2361. Configuration112.Parent = Tool0
  2362. Animation113.Name = "WaveAnim"
  2363. Animation113.Parent = Tool0
  2364. Animation113.AnimationId = "http://www.roblox.com/Asset?ID=55270038"
  2365. LocalScript114.Parent = Tool0
  2366. table.insert(cors,sandbox(LocalScript114,function()
  2367. --Made by Stickmasterluke
  2368.  
  2369.  
  2370. sp=script.Parent
  2371.  
  2372.  
  2373. cooldown=2
  2374. numberemeralds=7
  2375. throwspeed=250
  2376.  
  2377.  
  2378. check=true
  2379. down=false
  2380. equipped=false
  2381. vec=Vector3.new(0,0,0)
  2382. debris=game:GetService("Debris")
  2383.  
  2384. local waveanimation=sp:WaitForChild("WaveAnim")
  2385. local emeraldscript=script:WaitForChild("EmeraldScript")
  2386.  
  2387.  
  2388. function onEquipped(mouse)
  2389. if mouse~=nil then
  2390. equipped=true
  2391. mouse.Icon="rbxasset://textures\\GunCursor.png"
  2392. mouse.Button1Down:connect(function()
  2393. if mouse~=nil and check then
  2394. check=false
  2395. down=true
  2396. mouse.Icon="rbxasset://textures\\GunWaitCursor.png"
  2397. local h=sp.Parent:FindFirstChild("Humanoid")
  2398. local t=sp.Parent:FindFirstChild("Torso")
  2399. if h~=nil and h.Health>0 and t~=nil then
  2400. waveAnim=h:LoadAnimation(waveanimation)
  2401. if waveAnim then
  2402. waveAnim:Play(nil,nil,2)
  2403. delay(.5,function()
  2404. if waveAnim then
  2405. waveAnim:Stop()
  2406. end
  2407. end)
  2408. end
  2409. local summonthem=true
  2410. if emeralds then
  2411. for i,v in ipairs(emeralds) do
  2412. if v and v.Parent==game.Workspace and v:FindFirstChild("Motor") then
  2413. summonthem=false
  2414. end
  2415. end
  2416. end
  2417. if summonthem then
  2418. local sound=sp.Handle:FindFirstChild("SummonSound")
  2419. if sound then
  2420. sound.Pitch=2
  2421. sound:Play()
  2422. end
  2423. emeralds={}
  2424. for i=1,numberemeralds do
  2425. local p=Instance.new("Part")
  2426. p.Name="Emerald"
  2427. p.Transparency=.2
  2428. p.Reflectance=.3
  2429. p.BrickColor=BrickColor.new("Really black")
  2430. p.TopSurface="Smooth"
  2431. p.BottomSurface="Smooth"
  2432. p.Anchored=false
  2433. p.CanCollide=true
  2434. p.Locked=true
  2435. p.formFactor="Custom"
  2436. p.Size=Vector3.new(1,1,1)
  2437. p.Elasticity=0
  2438. p.Friction=1
  2439.  
  2440. local fire=Instance.new("Fire")
  2441. fire.Size=6
  2442. fire.Heat=-20
  2443. fire.Color=Color3.new(1,0,0)
  2444. fire.SecondaryColor=Color3.new(0,0,0)
  2445. fire.Enabled=true
  2446. delay(.5,function()
  2447. if fire then
  2448. fire.Enabled=false
  2449. end
  2450. end)
  2451. fire.Parent=p
  2452.  
  2453. local m=Instance.new("SpecialMesh")
  2454. m.MeshId="http://www.roblox.com/Asset/?id=9756362"
  2455. m.TextureId="http://www.roblox.com/Asset/?id=86330073"
  2456. m.Scale=Vector3.new(1,1,3)
  2457. m.Parent=p
  2458.  
  2459. local ct=Instance.new("ObjectValue")
  2460. ct.Name="creator"
  2461. ct.Value=game.Players.LocalPlayer
  2462. ct.Parent=p
  2463.  
  2464. local s=emeraldscript:clone()
  2465. s.Parent=p
  2466. s.Disabled=false
  2467.  
  2468. local sound=Instance.new("Sound")
  2469. sound.SoundId="http://www.roblox.com/Asset?ID=87015121"
  2470. sound.Pitch=1+math.random()*.5
  2471. sound.Volume=.5
  2472. sound.Parent=p
  2473.  
  2474. local cf=CFrame.new(0,0,0)*CFrame.Angles(0,((i-1)/(numberemeralds-1)-.5)*math.pi*.9,0)*CFrame.new(0,0,-5)*CFrame.Angles(0,math.pi*.5,math.pi*.5)*CFrame.Angles(0,math.pi*.25,0)
  2475. p.CFrame=t.CFrame*cf
  2476. local w=Instance.new("Motor")
  2477. w.Part0=t
  2478. w.Part1=p
  2479. w.C0=cf
  2480. w.Parent=p
  2481.  
  2482. debris:AddItem(p,20)
  2483. table.insert(emeralds,p)
  2484. p.Parent=game.Workspace
  2485. end
  2486. else
  2487. local sound=sp.Handle:FindFirstChild("SummonSound")
  2488. if sound then
  2489. sound.Pitch=4
  2490. sound:Play()
  2491. end
  2492. for i,v in pairs(emeralds) do
  2493. if v and v.Parent==game.Workspace then
  2494. local bf=Instance.new("BodyForce")
  2495. bf.force=Vector3.new(0,196.2*v:GetMass(),0)
  2496. bf.Parent=v
  2497. local weld=v:FindFirstChild("Motor")
  2498. if weld then
  2499. if weld.Part0 then
  2500. vec=(weld.Part1.Position-weld.Part0.Position).unit
  2501. end
  2502. weld:remove()
  2503. end
  2504. v.CFrame=(v.CFrame+vec*3)*CFrame.Angles(0,math.pi*.25,0)*CFrame.Angles(math.pi*.5,0,0)
  2505. v.Velocity=vec*throwspeed
  2506. v.RotVelocity=Vector3.new(0,50,0)
  2507. local fire=v:FindFirstChild("Fire")
  2508. if fire then
  2509. fire.Heat=20
  2510. fire.Enabled=true
  2511. delay(.5,function()
  2512. if fire then
  2513. fire.Enabled=false
  2514. end
  2515. end)
  2516. end
  2517. end
  2518. end
  2519. emeralds=nil
  2520. end
  2521.  
  2522. wait(cooldown)
  2523. if mouse~=nil then
  2524. mouse.Icon="rbxasset://textures\\GunCursor.png"
  2525. end
  2526. end
  2527. check=true
  2528. end
  2529. end)
  2530. mouse.Button1Up:connect(function()
  2531. down=false
  2532. end)
  2533. end
  2534. end
  2535.  
  2536. function onUnequipped()
  2537. equipped=false
  2538. if waveAnim then
  2539. waveAnim:Stop()
  2540. end
  2541. end
  2542.  
  2543. sp.Unequipped:connect(onUnequipped)
  2544. sp.Equipped:connect(onEquipped)
  2545.  
  2546. end))
  2547. Script115.Name = "EmeraldScript"
  2548. Script115.Parent = LocalScript114
  2549. table.insert(cors,sandbox(Script115,function()
  2550. --Made by Stickmasterluke
  2551.  
  2552.  
  2553. sp=script.Parent
  2554.  
  2555.  
  2556. local debris=game:GetService("Debris")
  2557. exploded=false
  2558.  
  2559.  
  2560. function bang(hit)
  2561. if not exploded and hit~=nil and hit.Name~="Effect" and hit.Name~="Handle" then
  2562. local h=hit.Parent:FindFirstChild("Humanoid")
  2563. if h~=nil then
  2564. local ct=sp:FindFirstChild("creator")
  2565. if ct~=nil and ((not game.Players:GetPlayerFromCharacter(hit.Parent)) or game.Players:GetPlayerFromCharacter(hit.Parent)~=ct.Value) then
  2566. for _,v in pairs(h:GetChildren()) do
  2567. if v~=nil and v.className=="ObjectValue" then
  2568. v:remove()
  2569. end
  2570. end
  2571. ct:clone().Parent=h
  2572. h:TakeDamage(sp:FindFirstChild("Motor") and 16 or 26)
  2573. hithuman=true
  2574. end
  2575. end
  2576. if hithuman or not sp:FindFirstChild("Motor") then
  2577. exploded=true
  2578. local sound=sp:FindFirstChild("Sound")
  2579. if sound then
  2580. sound:Play()
  2581. end
  2582. for i=1,math.random(4,8) do
  2583. local p=Instance.new("WedgePart")
  2584. p.Name="EmeraldShard"
  2585. p.Transparency=sp.Transparency
  2586. p.Reflectance=sp.Reflectance
  2587. p.BrickColor=sp.BrickColor
  2588. p.FormFactor="Custom"
  2589. p.Size=Vector3.new(.2,.2,.2)+Vector3.new(math.random(),math.random(),math.random())
  2590. p.TopSurface="Smooth"
  2591. p.BottomSurface="Smooth"
  2592. p.Anchored=false
  2593. if math.random()<.5 then
  2594. p.CanCollide=false
  2595. end
  2596. p.Locked=true
  2597. p.BrickColor=sp.BrickColor
  2598. local rp=Vector3.new(math.random()-.5,math.random()-.5,math.random()-.5)
  2599. p.CFrame=sp.CFrame*CFrame.new(rp*4)*CFrame.Angles(math.random()*6,math.random()*6,math.random()*6)
  2600. p.Velocity=Vector3.new(0,30+(math.random()*30),0)+(rp*math.random(10,40))
  2601. p.RotVelocity=Vector3.new(math.random()-.5,math.random()-.5,math.random()-.5)*10
  2602. debris:AddItem(p,2+(math.random()*4))
  2603. p.Parent=game.Workspace
  2604. end
  2605. sp.Transparency=1
  2606. sp.CanCollide=false
  2607. sp.Anchored=true
  2608. local cf=sp.CFrame
  2609. sp.Size=Vector3.new(0,0,0)
  2610. sp.CFrame=cf
  2611. wait(1)
  2612. if sp then
  2613. sp:remove()
  2614. end
  2615. end
  2616. end
  2617. end
  2618.  
  2619. sp.Touched:connect(bang)
  2620.  
  2621. wait(20)
  2622. sp:remove()
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629. end))
  2630. Script115.Disabled = true
  2631. Part116.Name = "PartHRoundHilt"
  2632. Part116.Parent = Tool0
  2633. Part116.CFrame = CFrame.new(-29.5008965, 1.55616295, -15.0056496, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
  2634. Part116.Orientation = Vector3.new(0, -135, 45)
  2635. Part116.Position = Vector3.new(-29.5008965, 1.55616295, -15.0056496)
  2636. Part116.Rotation = Vector3.new(-180, -45, -135)
  2637. Part116.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  2638. Part116.Size = Vector3.new(1, 1, 1)
  2639. Part116.BottomSurface = Enum.SurfaceType.Smooth
  2640. Part116.BrickColor = BrickColor.new("Really black")
  2641. Part116.CanCollide = false
  2642. Part116.Material = Enum.Material.Neon
  2643. Part116.Reflectance = 0.25
  2644. Part116.TopSurface = Enum.SurfaceType.Smooth
  2645. Part116.brickColor = BrickColor.new("Really black")
  2646. Part116.FormFactor = Enum.FormFactor.Symmetric
  2647. Part116.formFactor = Enum.FormFactor.Symmetric
  2648. SpecialMesh117.Parent = Part116
  2649. SpecialMesh117.MeshId = "rbxasset://fonts/HeadE.mesh"
  2650. SpecialMesh117.Scale = Vector3.new(0.400000006, 0.400000006, 0.400000006)
  2651. SpecialMesh117.MeshType = Enum.MeshType.FileMesh
  2652. Part118.Name = "PartHGold"
  2653. Part118.Parent = Tool0
  2654. Part118.CFrame = CFrame.new(-30.1014862, 0.707132995, -14.4056101, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
  2655. Part118.Orientation = Vector3.new(0, -135, 45)
  2656. Part118.Position = Vector3.new(-30.1014862, 0.707132995, -14.4056101)
  2657. Part118.Rotation = Vector3.new(-180, -45, -135)
  2658. Part118.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  2659. Part118.Size = Vector3.new(1, 1, 1)
  2660. Part118.BottomSurface = Enum.SurfaceType.Smooth
  2661. Part118.BrickColor = BrickColor.new("Really black")
  2662. Part118.CanCollide = false
  2663. Part118.Material = Enum.Material.Neon
  2664. Part118.Reflectance = 0.25
  2665. Part118.TopSurface = Enum.SurfaceType.Smooth
  2666. Part118.brickColor = BrickColor.new("Really black")
  2667. Part118.FormFactor = Enum.FormFactor.Symmetric
  2668. Part118.formFactor = Enum.FormFactor.Symmetric
  2669. SpecialMesh119.Parent = Part118
  2670. SpecialMesh119.MeshId = "rbxasset://fonts/HeadI.mesh"
  2671. SpecialMesh119.Scale = Vector3.new(0.25, 0.125, 0.25)
  2672. SpecialMesh119.MeshType = Enum.MeshType.FileMesh
  2673. Part120.Name = "PartHDiamondHilt"
  2674. Part120.Parent = Tool0
  2675. Part120.CFrame = CFrame.new(-29.5008965, 1.55616295, -15.0056496, 0.707106829, 0.49999994, -0.500000119, 0, 0.707106948, 0.707106709, 0.707106829, -0.49999994, 0.500000119)
  2676. Part120.Orientation = Vector3.new(-45, -45, 0)
  2677. Part120.Position = Vector3.new(-29.5008965, 1.55616295, -15.0056496)
  2678. Part120.Rotation = Vector3.new(-54.7399979, -30, -35.2599983)
  2679. Part120.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  2680. Part120.Size = Vector3.new(1, 1, 1)
  2681. Part120.BottomSurface = Enum.SurfaceType.Smooth
  2682. Part120.BrickColor = BrickColor.new("Really black")
  2683. Part120.CanCollide = false
  2684. Part120.Material = Enum.Material.Neon
  2685. Part120.TopSurface = Enum.SurfaceType.Smooth
  2686. Part120.brickColor = BrickColor.new("Really black")
  2687. Part120.FormFactor = Enum.FormFactor.Symmetric
  2688. Part120.formFactor = Enum.FormFactor.Symmetric
  2689. SpecialMesh121.Parent = Part120
  2690. SpecialMesh121.MeshId = "http://www.roblox.com/Asset/?id=9756362"
  2691. SpecialMesh121.Scale = Vector3.new(0.400000006, 0.400000006, 0.800000012)
  2692. SpecialMesh121.MeshType = Enum.MeshType.FileMesh
  2693. Part122.Name = "PartHDiamondHilt"
  2694. Part122.Parent = Tool0
  2695. Part122.CFrame = CFrame.new(-29.5008965, 1.55616295, -15.0056496, 0.146447062, 0.499999881, -0.853553474, 0.500000179, 0.707106709, 0.50000006, 0.853553295, -0.500000358, -0.146446332)
  2696. Part122.Orientation = Vector3.new(-30, -99.7399979, 35.2599983)
  2697. Part122.Position = Vector3.new(-29.5008965, 1.55616295, -15.0056496)
  2698. Part122.Rotation = Vector3.new(-106.32, -58.5999985, -73.6699982)
  2699. Part122.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  2700. Part122.Size = Vector3.new(1, 1, 1)
  2701. Part122.BottomSurface = Enum.SurfaceType.Smooth
  2702. Part122.BrickColor = BrickColor.new("Really black")
  2703. Part122.CanCollide = false
  2704. Part122.Material = Enum.Material.Neon
  2705. Part122.TopSurface = Enum.SurfaceType.Smooth
  2706. Part122.brickColor = BrickColor.new("Really black")
  2707. Part122.FormFactor = Enum.FormFactor.Symmetric
  2708. Part122.formFactor = Enum.FormFactor.Symmetric
  2709. SpecialMesh123.Parent = Part122
  2710. SpecialMesh123.MeshId = "http://www.roblox.com/Asset/?id=9756362"
  2711. SpecialMesh123.Scale = Vector3.new(0.400000006, 0.400000006, 0.800000012)
  2712. SpecialMesh123.MeshType = Enum.MeshType.FileMesh
  2713. Part124.Name = "PartHDiamondHilt"
  2714. Part124.Parent = Tool0
  2715. Part124.CFrame = CFrame.new(-29.5008965, 1.55616295, -15.0056496, 0.853553295, 0.500000358, 0.146446332, -0.500000179, 0.707106709, 0.50000006, 0.146447062, -0.499999881, 0.853553474)
  2716. Part124.Orientation = Vector3.new(-30, 9.73999977, -35.2599983)
  2717. Part124.Position = Vector3.new(-29.5008965, 1.55616295, -15.0056496)
  2718. Part124.Rotation = Vector3.new(-30.3599987, 8.42000008, -30.3599987)
  2719. Part124.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  2720. Part124.Size = Vector3.new(1, 1, 1)
  2721. Part124.BottomSurface = Enum.SurfaceType.Smooth
  2722. Part124.BrickColor = BrickColor.new("Really black")
  2723. Part124.CanCollide = false
  2724. Part124.Material = Enum.Material.Neon
  2725. Part124.TopSurface = Enum.SurfaceType.Smooth
  2726. Part124.brickColor = BrickColor.new("Really black")
  2727. Part124.FormFactor = Enum.FormFactor.Symmetric
  2728. Part124.formFactor = Enum.FormFactor.Symmetric
  2729. SpecialMesh125.Parent = Part124
  2730. SpecialMesh125.MeshId = "http://www.roblox.com/Asset/?id=9756362"
  2731. SpecialMesh125.Scale = Vector3.new(0.400000006, 0.400000006, 0.800000012)
  2732. SpecialMesh125.MeshType = Enum.MeshType.FileMesh
  2733. Part126.Name = "CancollidePartHandle"
  2734. Part126.Parent = Tool0
  2735. Part126.CFrame = CFrame.new(-29.7010956, 1.273031, -14.8055658, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
  2736. Part126.Orientation = Vector3.new(0, -135, 45)
  2737. Part126.Position = Vector3.new(-29.7010956, 1.273031, -14.8055658)
  2738. Part126.Rotation = Vector3.new(-180, -45, -135)
  2739. Part126.Color = Color3.new(0.972549, 0.972549, 0.972549)
  2740. Part126.Transparency = 1
  2741. Part126.Size = Vector3.new(0.200000003, 1, 0.200000003)
  2742. Part126.BottomSurface = Enum.SurfaceType.Smooth
  2743. Part126.BrickColor = BrickColor.new("Institutional white")
  2744. Part126.Material = Enum.Material.Neon
  2745. Part126.TopSurface = Enum.SurfaceType.Smooth
  2746. Part126.brickColor = BrickColor.new("Institutional white")
  2747. Part126.FormFactor = Enum.FormFactor.Custom
  2748. Part126.formFactor = Enum.FormFactor.Custom
  2749. Part127.Name = "PartBladeBlock"
  2750. Part127.Parent = Tool0
  2751. Part127.CFrame = CFrame.new(-27.1512947, 5.02009106, -17.3556252, -0.707106829, 0.500000298, 0.499999732, 0, 0.707106411, -0.707107246, -0.707106829, -0.500000298, -0.499999732)
  2752. Part127.Orientation = Vector3.new(45, 135, 0)
  2753. Part127.Position = Vector3.new(-27.1512947, 5.02009106, -17.3556252)
  2754. Part127.Rotation = Vector3.new(125.259995, 30, -144.73999)
  2755. Part127.Color = Color3.new(0.972549, 0.972549, 0.972549)
  2756. Part127.Size = Vector3.new(0.200000003, 0.5, 0.400000006)
  2757. Part127.BottomSurface = Enum.SurfaceType.Smooth
  2758. Part127.BrickColor = BrickColor.new("Institutional white")
  2759. Part127.CanCollide = false
  2760. Part127.Material = Enum.Material.Neon
  2761. Part127.TopSurface = Enum.SurfaceType.Smooth
  2762. Part127.brickColor = BrickColor.new("Institutional white")
  2763. Part127.FormFactor = Enum.FormFactor.Custom
  2764. Part127.formFactor = Enum.FormFactor.Custom
  2765. SpecialMesh128.Parent = Part127
  2766. SpecialMesh128.Scale = Vector3.new(1, 1, 0.5)
  2767. SpecialMesh128.MeshType = Enum.MeshType.Wedge
  2768. Camera129.Name = "ThumbnailCamera"
  2769. Camera129.Parent = Tool0
  2770. Camera129.CFrame = CFrame.new(71.4604874, 6.06171608, -27.7961903, 0.106738985, -0.372469544, 0.921885669, -0, 0.927182674, 0.374609649, -0.994287133, -0.0399854518, 0.0989665166)
  2771. Camera129.CoordinateFrame = CFrame.new(71.4604874, 6.06171608, -27.7961903, 0.106738985, -0.372469544, 0.921885669, -0, 0.927182674, 0.374609649, -0.994287133, -0.0399854518, 0.0989665166)
  2772. Camera129.Focus = CFrame.new(69.6167145, 5.31249619, -27.9941235, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  2773. Camera129.focus = CFrame.new(69.6167145, 5.31249619, -27.9941235, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  2774. Part130.Name = "PartHDiamondHilt"
  2775. Part130.Parent = Tool0
  2776. Part130.CFrame = CFrame.new(-29.5008965, 1.55616295, -15.0056496, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
  2777. Part130.Orientation = Vector3.new(0, -135, 45)
  2778. Part130.Position = Vector3.new(-29.5008965, 1.55616295, -15.0056496)
  2779. Part130.Rotation = Vector3.new(-180, -45, -135)
  2780. Part130.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  2781. Part130.Size = Vector3.new(1, 1, 1)
  2782. Part130.BottomSurface = Enum.SurfaceType.Smooth
  2783. Part130.BrickColor = BrickColor.new("Really black")
  2784. Part130.CanCollide = false
  2785. Part130.Material = Enum.Material.Neon
  2786. Part130.TopSurface = Enum.SurfaceType.Smooth
  2787. Part130.brickColor = BrickColor.new("Really black")
  2788. Part130.FormFactor = Enum.FormFactor.Symmetric
  2789. Part130.formFactor = Enum.FormFactor.Symmetric
  2790. SpecialMesh131.Parent = Part130
  2791. SpecialMesh131.MeshId = "http://www.roblox.com/Asset/?id=9756362"
  2792. SpecialMesh131.Scale = Vector3.new(0.400000006, 0.400000006, 0.800000012)
  2793. SpecialMesh131.MeshType = Enum.MeshType.FileMesh
  2794. Part132.Name = "PartFire"
  2795. Part132.Parent = Tool0
  2796. Part132.CFrame = CFrame.new(-29.35149, 1.76795197, -15.1556139, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
  2797. Part132.Orientation = Vector3.new(0, -135, 45)
  2798. Part132.Position = Vector3.new(-29.35149, 1.76795197, -15.1556139)
  2799. Part132.Rotation = Vector3.new(-180, -45, -135)
  2800. Part132.Color = Color3.new(0.972549, 0.972549, 0.972549)
  2801. Part132.Transparency = 1
  2802. Part132.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  2803. Part132.BottomSurface = Enum.SurfaceType.Smooth
  2804. Part132.BrickColor = BrickColor.new("Institutional white")
  2805. Part132.CanCollide = false
  2806. Part132.Material = Enum.Material.Neon
  2807. Part132.TopSurface = Enum.SurfaceType.Smooth
  2808. Part132.brickColor = BrickColor.new("Institutional white")
  2809. Part132.FormFactor = Enum.FormFactor.Custom
  2810. Part132.formFactor = Enum.FormFactor.Custom
  2811. Part133.Name = "PartBladeBlock"
  2812. Part133.Parent = Tool0
  2813. Part133.CFrame = CFrame.new(-28.35149, 3.18207312, -16.1556015, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
  2814. Part133.Orientation = Vector3.new(0, -135, 45)
  2815. Part133.Position = Vector3.new(-28.35149, 3.18207312, -16.1556015)
  2816. Part133.Rotation = Vector3.new(-180, -45, -135)
  2817. Part133.Color = Color3.new(0.972549, 0.972549, 0.972549)
  2818. Part133.Size = Vector3.new(0.400000006, 4.5, 0.200000003)
  2819. Part133.BottomSurface = Enum.SurfaceType.Smooth
  2820. Part133.BrickColor = BrickColor.new("Institutional white")
  2821. Part133.CanCollide = false
  2822. Part133.Material = Enum.Material.Neon
  2823. Part133.TopSurface = Enum.SurfaceType.Smooth
  2824. Part133.brickColor = BrickColor.new("Institutional white")
  2825. Part133.FormFactor = Enum.FormFactor.Custom
  2826. Part133.formFactor = Enum.FormFactor.Custom
  2827. Part134.Name = "PartH"
  2828. Part134.Parent = Tool0
  2829. Part134.CFrame = CFrame.new(-29.800703, 1.13092804, -14.7056637, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
  2830. Part134.Orientation = Vector3.new(0, -135, 45)
  2831. Part134.Position = Vector3.new(-29.800703, 1.13092804, -14.7056637)
  2832. Part134.Rotation = Vector3.new(-180, -45, -135)
  2833. Part134.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  2834. Part134.Size = Vector3.new(1, 1, 1)
  2835. Part134.BottomSurface = Enum.SurfaceType.Smooth
  2836. Part134.BrickColor = BrickColor.new("Really black")
  2837. Part134.CanCollide = false
  2838. Part134.Material = Enum.Material.Neon
  2839. Part134.Reflectance = 0.25
  2840. Part134.TopSurface = Enum.SurfaceType.Smooth
  2841. Part134.brickColor = BrickColor.new("Really black")
  2842. Part134.FormFactor = Enum.FormFactor.Custom
  2843. Part134.formFactor = Enum.FormFactor.Custom
  2844. SpecialMesh135.Parent = Part134
  2845. SpecialMesh135.MeshId = "rbxasset://fonts/HeadJ.mesh"
  2846. SpecialMesh135.Scale = Vector3.new(0.25, 0.800000012, 0.300000012)
  2847. SpecialMesh135.MeshType = Enum.MeshType.FileMesh
  2848. Part136.Name = "PartH"
  2849. Part136.Parent = Tool0
  2850. Part136.CFrame = CFrame.new(-30.0008965, 0.848138988, -14.5056496, -0.49999994, 0.500000119, -0.707106829, 0.707106948, 0.707106709, 0, 0.49999994, -0.500000119, -0.707106829)
  2851. Part136.Orientation = Vector3.new(0, -135, 45)
  2852. Part136.Position = Vector3.new(-30.0008965, 0.848138988, -14.5056496)
  2853. Part136.Rotation = Vector3.new(-180, -45, -135)
  2854. Part136.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  2855. Part136.Size = Vector3.new(1, 1, 1)
  2856. Part136.BottomSurface = Enum.SurfaceType.Smooth
  2857. Part136.BrickColor = BrickColor.new("Really black")
  2858. Part136.CanCollide = false
  2859. Part136.Material = Enum.Material.Neon
  2860. Part136.Reflectance = 0.25
  2861. Part136.TopSurface = Enum.SurfaceType.Smooth
  2862. Part136.brickColor = BrickColor.new("Really black")
  2863. Part136.FormFactor = Enum.FormFactor.Symmetric
  2864. Part136.formFactor = Enum.FormFactor.Symmetric
  2865. SpecialMesh137.Parent = Part136
  2866. SpecialMesh137.MeshId = "rbxasset://fonts/HeadI.mesh"
  2867. SpecialMesh137.Scale = Vector3.new(0.5, 0.25, 0.5)
  2868. SpecialMesh137.MeshType = Enum.MeshType.FileMesh
  2869. Part138.Name = "PartBladeBlock"
  2870. Part138.Parent = Tool0
  2871. Part138.CFrame = CFrame.new(-27.0507126, 4.87911606, -17.4556618, 0.707106829, 0.49999994, -0.500000119, 0, 0.707106948, 0.707106709, 0.707106829, -0.49999994, 0.500000119)
  2872. Part138.Orientation = Vector3.new(-45, -45, 0)
  2873. Part138.Position = Vector3.new(-27.0507126, 4.87911606, -17.4556618)
  2874. Part138.Rotation = Vector3.new(-54.7399979, -30, -35.2599983)
  2875. Part138.Color = Color3.new(0.972549, 0.972549, 0.972549)
  2876. Part138.Size = Vector3.new(0.200000003, 0.5, 0.400000006)
  2877. Part138.BottomSurface = Enum.SurfaceType.Smooth
  2878. Part138.BrickColor = BrickColor.new("Institutional white")
  2879. Part138.CanCollide = false
  2880. Part138.Material = Enum.Material.Neon
  2881. Part138.TopSurface = Enum.SurfaceType.Smooth
  2882. Part138.brickColor = BrickColor.new("Institutional white")
  2883. Part138.FormFactor = Enum.FormFactor.Custom
  2884. Part138.formFactor = Enum.FormFactor.Custom
  2885. SpecialMesh139.Parent = Part138
  2886. SpecialMesh139.Scale = Vector3.new(1, 1, 0.5)
  2887. SpecialMesh139.MeshType = Enum.MeshType.Wedge
  2888. Tool140.Name = "Bomb"
  2889. Tool140.Parent = Part2
  2890. Tool140.TextureId = "http://www.roblox.com/asset/?id=11565733"
  2891. Tool140.Grip = CFrame.new(-0.5, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  2892. Tool140.GripForward = Vector3.new(1, -0, -0)
  2893. Tool140.GripPos = Vector3.new(-0.5, 0, 0)
  2894. Tool140.GripRight = Vector3.new(0, 0, 1)
  2895. Script141.Name = "PelletScript"
  2896. Script141.Parent = Tool140
  2897. table.insert(cors,sandbox(Script141,function()
  2898. local game = game
  2899.  
  2900. FuseSound = Instance.new("Sound")
  2901. FuseSound.SoundId = "http://www.roblox.com/asset/?id=11565378"
  2902. FuseSound.Parent = script.Parent
  2903. FuseSound:Play()
  2904.  
  2905. local total_time = 2 -- seconds
  2906. local cur_time = 0
  2907.  
  2908. function update(frac)
  2909. script.Parent.Fuse.Color = Color3.new(1,1 - frac,0)
  2910. end
  2911.  
  2912.  
  2913. function blowUp()
  2914. local sound = Instance.new("Sound")
  2915. sound.SoundId = "http://www.roblox.com/asset?id=2233908"
  2916. sound.Parent = script.Parent
  2917. sound.Volume = 2
  2918. sound:play()
  2919. explosion = Instance.new("Explosion")
  2920. explosion.BlastRadius = 12
  2921. explosion.BlastPressure = 1000000
  2922. -- find instigator tag
  2923. local creator = script.Parent:findFirstChild("creator")
  2924. if creator ~= nil then
  2925. explosion.Hit:connect(function(part, distance) onPlayerBlownUp(part, distance, creator) end)
  2926. end
  2927.  
  2928. explosion.Position = script.Parent.Position
  2929. explosion.Parent = game.Workspace
  2930. script.Parent.Transparency = 1
  2931. end
  2932.  
  2933. function onPlayerBlownUp(part, distance, creator)
  2934. if part.Name == "Head" then
  2935. local humanoid = part.Parent.Humanoid
  2936. tagHumanoid(humanoid, creator)
  2937. end
  2938. end
  2939.  
  2940. function tagHumanoid(humanoid, creator)
  2941. -- tag does not need to expire iff all explosions lethal
  2942.  
  2943. if creator ~= nil then
  2944. local new_tag = creator:clone()
  2945. new_tag.Parent = humanoid
  2946. end
  2947. end
  2948.  
  2949. function untagHumanoid(humanoid)
  2950. if humanoid ~= nil then
  2951. local tag = humanoid:findFirstChild("creator")
  2952. if tag ~= nil then
  2953. tag.Parent = nil
  2954. end
  2955. end
  2956. end
  2957.  
  2958. while cur_time < total_time do
  2959. update(cur_time / total_time)
  2960. local e,g = wait(.5)
  2961. cur_time = cur_time + e
  2962. end
  2963.  
  2964.  
  2965. blowUp()
  2966. wait(.1)
  2967. script.Parent:remove()
  2968.  
  2969. end))
  2970. Script141.Disabled = true
  2971. Script142.Name = "Slingshot"
  2972. Script142.Parent = Tool140
  2973. table.insert(cors,sandbox(Script142,function()
  2974. local game = game
  2975.  
  2976. Tool = script.Parent
  2977. VELOCITY = 74 -- constant
  2978. loaded=true
  2979.  
  2980. local Pellet = Instance.new("Part")
  2981. Pellet.Name="Snowball"
  2982. Pellet.Locked = true
  2983. Pellet.BackSurface = 0
  2984. Pellet.BottomSurface = 0
  2985. Pellet.FrontSurface = 0
  2986. Pellet.LeftSurface = 0
  2987. Pellet.RightSurface = 0
  2988. Pellet.TopSurface = 0
  2989. Pellet.Shape = 1
  2990. Pellet.Size = Vector3.new(2,2,2)
  2991. Pellet.BrickColor = BrickColor.new(1)
  2992. script.Parent.PelletScript:clone().Parent = Pellet
  2993.  
  2994. local spark = Instance.new("Fire")
  2995. spark.Name = "Fuse"
  2996. spark.Parent = Pellet
  2997.  
  2998. function fire(mouse_pos)
  2999. Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 0.7
  3000. Tool.Parent.Torso["Right Shoulder"].DesiredAngle = 3.6
  3001. wait(.1)
  3002. Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 1
  3003. Tool.Handle.Transparency=1
  3004. Tool.Handle.Fire:play()
  3005.  
  3006. -- find player's head pos
  3007.  
  3008. local vCharacter = Tool.Parent
  3009. local vPlayer = game.Players:playerFromCharacter(vCharacter)
  3010.  
  3011. local head = vCharacter:findFirstChild("Head")
  3012. if head == nil then return end
  3013.  
  3014. local dir = mouse_pos - head.Position
  3015. dir = computeDirection(dir)
  3016.  
  3017. local launch = head.Position + 5 * dir
  3018.  
  3019. local delta = mouse_pos - launch
  3020.  
  3021. local dy = delta.y
  3022.  
  3023. local new_delta = Vector3.new(delta.x, 0, delta.z)
  3024. delta = new_delta
  3025.  
  3026. local dx = delta.magnitude
  3027. local unit_delta = delta.unit
  3028.  
  3029. -- acceleration due to gravity in RBX units
  3030. local g = (-9.81 * 20)
  3031.  
  3032. local theta = computeLaunchAngle( dx, dy, g)
  3033.  
  3034. local vy = math.sin(theta)
  3035. local xz = math.cos(theta)
  3036. local vx = unit_delta.x * xz
  3037. local vz = unit_delta.z * xz
  3038.  
  3039.  
  3040. local missile = Pellet:clone()
  3041.  
  3042.  
  3043. Tool.Handle.Mesh:clone().Parent = missile
  3044.  
  3045.  
  3046. missile.Position = launch
  3047. missile.Velocity = Vector3.new(vx,vy,vz) * VELOCITY
  3048.  
  3049. missile.PelletScript.Disabled = false
  3050.  
  3051. local creator_tag = Instance.new("ObjectValue")
  3052. creator_tag.Value = vCharacter
  3053. creator_tag.Name = "creator"
  3054. creator_tag.Parent = missile
  3055.  
  3056. missile.Parent = game.Workspace
  3057.  
  3058. end
  3059.  
  3060.  
  3061. function computeLaunchAngle(dx,dy,grav)
  3062. -- arcane
  3063. -- http://en.wikipedia.org/wiki/Trajectory_of_a_projectile
  3064.  
  3065. local g = math.abs(grav)
  3066. local inRoot = (VELOCITY*VELOCITY*VELOCITY*VELOCITY) - (g * ((g*dx*dx) + (2*dy*VELOCITY*VELOCITY)))
  3067. if inRoot <= 0 then
  3068. return .25 * math.pi
  3069. end
  3070. local root = math.sqrt(inRoot)
  3071. local inATan1 = ((VELOCITY*VELOCITY) + root) / (g*dx)
  3072.  
  3073. local inATan2 = ((VELOCITY*VELOCITY) - root) / (g*dx)
  3074. local answer1 = math.atan(inATan1)
  3075. local answer2 = math.atan(inATan2)
  3076. if answer1 < answer2 then return answer1 end
  3077. return answer2
  3078. end
  3079.  
  3080. function computeDirection(vec)
  3081. local lenSquared = vec.magnitude * vec.magnitude
  3082. local invSqrt = 1 / math.sqrt(lenSquared)
  3083. return Vector3.new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt)
  3084. end
  3085.  
  3086.  
  3087.  
  3088.  
  3089. Tool.Enabled = true
  3090. function onActivated()
  3091. if not Tool.Enabled then
  3092. return
  3093. end
  3094.  
  3095. Tool.Enabled = false
  3096.  
  3097. local character = Tool.Parent;
  3098. local humanoid = character.Humanoid
  3099. if humanoid == nil then
  3100. print("Humanoid not found")
  3101. return
  3102. end
  3103. if loaded==true then
  3104. loaded=false
  3105. local targetPos = humanoid.TargetPoint
  3106.  
  3107. fire(targetPos)
  3108. wait(0.1)
  3109. Tool.Enabled = true
  3110. elseif loaded==false then
  3111. Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 0.6
  3112. Tool.Parent.Torso["Right Shoulder"].DesiredAngle = -3.6
  3113. wait(0.1)
  3114. Tool.Handle.Transparency=0
  3115. wait(0.1)
  3116. loaded=true
  3117. end
  3118. Tool.Enabled = true
  3119. end
  3120.  
  3121. script.Parent.Activated:connect(onActivated)
  3122.  
  3123. end))
  3124. LocalScript143.Name = "Local Gui"
  3125. LocalScript143.Parent = Tool140
  3126. table.insert(cors,sandbox(LocalScript143,function()
  3127. local game = game
  3128.  
  3129. Tool=script.Parent
  3130.  
  3131. enabled = true
  3132. function onButton1Down(mouse)
  3133. if not enabled then
  3134. return
  3135. end
  3136.  
  3137. enabled = false
  3138. mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
  3139.  
  3140. wait(6.5)
  3141. mouse.Icon = "rbxasset://textures\\GunCursor.png"
  3142. enabled = true
  3143.  
  3144. end
  3145.  
  3146. function onEquippedLocal(mouse)
  3147. if mouse == nil then
  3148. print("Mouse not found")
  3149. return
  3150. end
  3151. mouse.Icon = "rbxasset://textures\\GunCursor.png"
  3152. mouse.Button1Down:connect(function() onButton1Down(mouse) end)
  3153. end
  3154.  
  3155. Tool.Equipped:connect(onEquippedLocal)
  3156. end))
  3157. Part144.Name = "Handle"
  3158. Part144.Parent = Tool140
  3159. Part144.CFrame = CFrame.new(-21.6428413, 5.60557508, 7.73934793, 0, 1, 0, 0, 0, 1, 1, 0, 0)
  3160. Part144.Orientation = Vector3.new(-90, -90, 0)
  3161. Part144.Position = Vector3.new(-21.6428413, 5.60557508, 7.73934793)
  3162. Part144.Rotation = Vector3.new(-90, 0, -90)
  3163. Part144.Color = Color3.new(1, 1, 1)
  3164. Part144.Size = Vector3.new(2, 2, 2)
  3165. Part144.BottomSurface = Enum.SurfaceType.Smooth
  3166. Part144.BrickColor = BrickColor.new("Institutional white")
  3167. Part144.TopSurface = Enum.SurfaceType.Smooth
  3168. Part144.brickColor = BrickColor.new("Institutional white")
  3169. Part144.FormFactor = Enum.FormFactor.Symmetric
  3170. Part144.formFactor = Enum.FormFactor.Symmetric
  3171. SpecialMesh145.Parent = Part144
  3172. SpecialMesh145.MeshId = "rbxasset://fonts/timebomb.mesh"
  3173. SpecialMesh145.MeshType = Enum.MeshType.FileMesh
  3174. Sound146.Name = "Fire"
  3175. Sound146.Parent = Part144
  3176. Sound146.SoundId = "rbxassetid://166423113"
  3177. for i,v in pairs(mas:GetChildren()) do
  3178. v.Parent = workspace
  3179. pcall(function() v:MakeJoints() end)
  3180. end
  3181. mas:Destroy()
  3182. for i,v in pairs(cors) do
  3183. spawn(function()
  3184. pcall(v)
  3185. end)
  3186. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement