copra50

wyvern finally

Sep 24th, 2017
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.21 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  4. local RealPlayer = Player
  5. do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
  6.  
  7. wait(1)
  8.  
  9.  
  10. pcall(function ()
  11. for i,v in pairs(script:GetChildren()) do
  12. if v:IsA('StringValue') then
  13. v.Value = ''
  14. v:Destroy()
  15. end
  16. end)
  17. script.Parent = nil
  18. local _ = game.Players.LocalPlayer
  19. local dawn = false
  20. local up = true
  21. local fromup = 1
  22. local fire = false
  23. local ice = false
  24. local heal = false
  25. local col1 = BrickColor.new("Really black")
  26. local col2 = BrickColor.new("New Yeller")
  27. repeat wait() until _ ~= nil
  28. local mouse = _:GetMouse()
  29. local BlackMagic = Instance.new("Model", workspace)
  30. BlackMagic.Name = ""
  31. length = 3
  32. away = 2
  33. gap = 0
  34. segs = 40
  35. distance = length/3
  36. speed = 1
  37. Wave = 0
  38. part1 = Instance.new("Part")
  39. part1.BrickColor = BrickColor.Green()
  40. part1.Transparency = 0
  41. part1.Locked = true
  42. part1.Size = Vector3.new(1,1,1)
  43. part1.Anchored = true
  44. part1.CanCollide = true
  45. part1.Parent = nil
  46. part1.Name = "Part1"
  47. part1.TopSurface = "Smooth"
  48. part1.BottomSurface = "Smooth"
  49. local Tail = {}
  50. local Tail2 = {}
  51. local part0 = Instance.new("Part")
  52. part0.BrickColor = col1
  53. part0.TopSurface = 0
  54. part0.BottomSurface = 0
  55. part0.Locked = true
  56. part0.FormFactor = "Symmetric"
  57. part0.Size = Vector3.new(3,3,4)
  58. part0.Anchored = true
  59. part0.Shape = 1
  60. part0.CanCollide = true
  61. part0.Parent = nil
  62. part0.Name = "Part0"
  63. local A = Instance.new("SpecialMesh")
  64. A.MeshType = "Brick"
  65. A.Parent = part0
  66. A.Name = "Mesh"
  67. A.Scale = Vector3.new(1.1, 1.1, 1.1)
  68. local part1 = Instance.new("Part")
  69. part1.BrickColor = col2
  70. part1.TopSurface = 0
  71. part1.BottomSurface = 0
  72. part1.Locked = true
  73. part1.FormFactor = "Symmetric"
  74. part1.Size = Vector3.new(1,2,1)
  75. part1.Anchored = true
  76. part1.Shape = 1
  77. part1.CanCollide = true
  78. part1.Parent = nil
  79. part1.Name = "Part1"
  80. local A2 = Instance.new("SpecialMesh")
  81. A2.MeshId = "http://www.roblox.com/asset/?id=0"
  82. A2.Parent = part1
  83. A2.Scale = Vector3.new(3,1,1)
  84. A2.Name = "Mesh"
  85. for p = 1,segs do
  86. Tail[p] = part0:Clone()
  87. Tail[p].Parent = nil
  88. Tail[p].Name = "Part"..p
  89. Tail[p].CFrame = CFrame.new(math.random(-100, 100), math.random(-100, 100), math.random(-100, 100))
  90. Tail[p].Mesh.Scale = Vector3.new(1.1 - (p/1000), 1.4 - (p/1000), 1.1 - (p/1000))
  91. Tail2[p] = part1:Clone()
  92. Tail2[p].Size = Vector3.new(1,2,1)
  93. Tail2[p].BrickColor = col2
  94. Tail2[p].Parent = nil
  95. Tail2[p].Name = "Limb"..p
  96. Tail2[p].CFrame = CFrame.new(math.random(-100, 100), math.random(-100, 100), math.random(-100, 100))
  97. end
  98. for z=26,28 do
  99. Tail[z].Mesh.Scale = Tail[z].Mesh.Scale - Vector3.new(0.1,0.1,0.1)
  100. Tail2[z].Mesh.Scale = Tail2[z].Mesh.Scale - Vector3.new(0.5,0.1,0.1)
  101. end
  102. for z=29,31 do
  103. Tail[z].Mesh.Scale = Tail[z].Mesh.Scale - Vector3.new(0.2,0.2,0.2)
  104. Tail2[z].Mesh.Scale = Tail2[z].Mesh.Scale - Vector3.new(1,0.2,0.2)
  105. end
  106. for z=32,34 do
  107. Tail[z].Mesh.Scale = Tail[z].Mesh.Scale - Vector3.new(0.3,0.3,0.3)
  108. Tail2[z].Mesh.Scale = Tail2[z].Mesh.Scale - Vector3.new(1.5,0.3,0.3)
  109. end
  110. for z=35,37 do
  111. Tail[z].Mesh.Scale = Tail[z].Mesh.Scale - Vector3.new(0.4,0.4,0.4)
  112. Tail2[z].Mesh.Scale = Tail2[z].Mesh.Scale - Vector3.new(2,0.4,0.4)
  113. end
  114. for z=38,40 do
  115. Tail[z].Mesh.Scale = Tail[z].Mesh.Scale - Vector3.new(0.5,0.5,0.5)
  116. Tail2[z].Mesh.Scale = Tail2[z].Mesh.Scale - Vector3.new(2.5,0.5,0.5)
  117. end
  118. limb6 = part1:clone()
  119. limb6.Size = Vector3.new(1,1,1)
  120. limb6.BrickColor = col2
  121. limb6.Name = "Head4"
  122. limb6.Mesh.Scale = Vector3.new(3,4,4)
  123. limb7 = part0:clone()
  124. limb7.Size = Vector3.new(1,2,3)
  125. limb7.BrickColor = col1
  126. limb7.Name = "Head3"
  127. limb7.Mesh.Scale = Vector3.new(1.5,1.5,1.5)
  128. limb8 = part0:clone()
  129. limb8.Size = Vector3.new(1,1,4)
  130. limb8.BrickColor = col2
  131. limb8.Name = ""
  132. limb8.Mesh.Scale = Vector3.new(3.5,3.5,3.5)
  133. limb8.Mesh.MeshType = 'FileMesh'
  134. limb8.Mesh.MeshId = 'http://www.roblox.com/asset/?id=20518365'
  135. limb9 = part0:clone()
  136. limb9.Size = Vector3.new(1,1,4)
  137. limb9.BrickColor = col2
  138. limb9.Name = "horn2"
  139. limb9.Mesh.Scale = Vector3.new(3.5,3.5,3.5)
  140. limb9.Mesh.MeshType = 'FileMesh'
  141. limb9.Mesh.MeshId = 'http://www.roblox.com/asset/?id=20518365'
  142. limb10 = part0:clone()
  143. limb10.Size = Vector3.new(2,2,5)
  144. limb10.BrickColor = col1
  145. limb10.Name = "Head2"
  146. limb10.Mesh.Scale = Vector3.new(1.5,1.5,1.5)
  147. limb11 = part0:clone()
  148. limb11.Size = Vector3.new(1,2,1)
  149. limb11.BrickColor = col1
  150. limb11.Name = "Leg1"
  151. limb11.Mesh.Scale = Vector3.new(1.5,1.5,1.5)
  152. limb12 = part0:clone()
  153. limb12.Size = Vector3.new(1,2,1)
  154. limb12.BrickColor = col1
  155. limb12.Name = "Leg2"
  156. limb12.Mesh.Scale = Vector3.new(1.5,1.5,1.5)
  157. limb13 = part0:clone()
  158. limb13.Size = Vector3.new(1,2,1)
  159. limb13.BrickColor = col1
  160. limb13.Name = "Leg3"
  161. limb13.Mesh.Scale = Vector3.new(1.5,1.5,1.5)
  162. limb14 = part0:clone()
  163. limb14.Size = Vector3.new(1,2,1)
  164. limb14.BrickColor = col1
  165. limb14.Name = "Leg4"
  166. limb14.Mesh.Scale = Vector3.new(1.5,1.5,1.5)
  167. limb15 = part0:clone()
  168. limb15.Size = Vector3.new(1,2,1)
  169. limb15.BrickColor = col1
  170. limb15.Name = "Leg5"
  171. limb15.Mesh.Scale = Vector3.new(1.5,1.5,1.5)
  172. limb16 = part0:clone()
  173. limb16.Size = Vector3.new(1,2,1)
  174. limb16.BrickColor = col1
  175. limb16.Name = "Leg6"
  176. limb16.Mesh.Scale = Vector3.new(1.5,1.5,1.5)
  177. limb17 = part0:clone()
  178. limb17.Size = Vector3.new(1,2,1)
  179. limb17.BrickColor = col1
  180. limb17.Name = "Leg7"
  181. limb17.Mesh.Scale = Vector3.new(1.5,1.5,1.5)
  182. limb18 = part0:clone()
  183. limb18.Size = Vector3.new(1,2,1)
  184. limb18.BrickColor = col1
  185. limb18.Name = "Leg8"
  186. limb18.Mesh.Scale = Vector3.new(1.5,1.5,1.5)
  187. limb41 = part0:clone()
  188. limb41.Size = Vector3.new(1,1,1)
  189. limb41.BrickColor = col2
  190. limb41.Name = "TailEnd"
  191. limb41.Mesh.Scale = Vector3.new(1.5,4,1.5)
  192. limb41.Mesh.MeshType = "FileMesh"
  193. limb41.Mesh.MeshId = "http://www.roblox.com/asset/?id=25212400"
  194. local main = part0:Clone()
  195. main.Name = "Head"
  196. main.Size = Vector3.new(3, 4, 4)
  197. main.Transparency = 0
  198. main.Anchored = true
  199. main.BrickColor = col1
  200. main.TopSurface = 0
  201. main.BottomSurface = 0
  202. pos = Instance.new("BodyVelocity", main)
  203. stay = Instance.new("BodyGyro", main)
  204. pos.maxForce = Vector3.new(100000,100000,100000)
  205. stay.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  206. stay.cframe = CFrame.new(0,0,0)
  207. function onButton1Down(e)
  208. local player = game.Players.LocalPlayer
  209. if player == nil then return end
  210. if player ~= nil then
  211. player.Parent = nil
  212. end
  213. print("trigger")
  214. if main.Parent ~= BlackMagic then
  215. main.Parent = BlackMagic
  216. limb6.Parent = BlackMagic
  217. limb7.Parent = BlackMagic
  218. limb8.Parent = BlackMagic
  219. limb9.Parent = BlackMagic
  220. limb10.Parent = BlackMagic
  221. limb11.Parent = BlackMagic
  222. limb12.Parent = BlackMagic
  223. limb13.Parent = BlackMagic
  224. limb14.Parent = BlackMagic
  225. limb15.Parent = BlackMagic
  226. limb16.Parent = BlackMagic
  227. limb17.Parent = BlackMagic
  228. limb18.Parent = BlackMagic
  229. limb41.Parent = BlackMagic
  230. end
  231. -- find the best cf
  232. me = BlackMagic
  233. workspace.CurrentCamera.CameraSubject = main
  234. workspace.CurrentCamera.CameraType = "Track"
  235. for p = 1,segs do
  236. Tail[p].Parent = me
  237. Tail2[p].Parent = me
  238. end
  239. part1 = Tail[1]
  240. follow = true
  241. while follow do
  242. Wave = Wave + 0.02
  243. distance = length/3
  244. mousehit = mouse.Hit.p
  245. if (main.Position - mousehit).magnitude >speed then
  246. main_mousehit = (main.Position - mousehit).unit*speed
  247. else
  248. main_mousehit = (main.Position - mousehit).unit*1
  249. end
  250. start1 = main.Position-main_mousehit
  251. main.CFrame = CFrame.new(start1.x, start1.y, start1.z)
  252. p1pos = part1.Position
  253. start1_p1pos = (start1 - p1pos).unit
  254. spreadp1 = start1_p1pos*(distance+away)
  255. part1.CFrame = CFrame.new(start1-spreadp1, start1)
  256. main.CFrame=Tail[1].CFrame*CFrame.new(0,0.5,-4)*CFrame.fromEulerAnglesXYZ(-math.pi/5,0,0)
  257. Wave = Wave + 0.02
  258. pc = main.CFrame
  259. starti = main.Position-(pc.lookVector*distance)
  260. pipos = Tail[1].Position
  261. starti_pipos = (starti - pipos).unit
  262. spreadpi = starti_pipos*(distance+gap)
  263. Tail[1].CFrame = CFrame.new(starti-spreadpi, starti) + (part0.CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6)/4
  264. --[[
  265. for i = 1,39 do
  266. wait()
  267. print("p2c = Tail["..i.."].CFrame\
  268. start3 = Tail["..i.."].Position-(p2c.lookVector*distance)\
  269. p3pos = Tail["..(i+1).."].Position\
  270. start3_p3pos = (start3 - p3pos).unit\
  271. spreadp3 = start3_p3pos*(distance+gap)\
  272. Tail["..(i+1).."].CFrame = CFrame.new(start3-spreadp3, start3 - Vector3.new(0,math.sin(Wave*6+"..((i-1)/100)..")/4,0) ) + Vector3.new(0,math.sin(Wave*6+"..((i)/100)..")/4,0)\
  273. " )
  274. end
  275. ]]
  276. p2c = Tail[1].CFrame start3 = Tail[1].Position-(p2c.lookVector*distance) p3pos = Tail[2].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[2].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[1].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0)/4 ) + (Tail[2].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.01)/4
  277. p2c = Tail[2].CFrame start3 = Tail[2].Position-(p2c.lookVector*distance) p3pos = Tail[3].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[3].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[2].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.01)/4 ) + (Tail[3].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.02)/4
  278. p2c = Tail[3].CFrame start3 = Tail[3].Position-(p2c.lookVector*distance) p3pos = Tail[4].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[4].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[3].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.02)/4 ) + (Tail[4].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.03)/4
  279. p2c = Tail[4].CFrame start3 = Tail[4].Position-(p2c.lookVector*distance) p3pos = Tail[5].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[5].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[4].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.03)/4 ) + (Tail[5].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.04)/4
  280. p2c = Tail[5].CFrame start3 = Tail[5].Position-(p2c.lookVector*distance) p3pos = Tail[6].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[6].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[5].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.04)/4 ) + (Tail[6].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.05)/4
  281. p2c = Tail[6].CFrame start3 = Tail[6].Position-(p2c.lookVector*distance) p3pos = Tail[7].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[7].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[6].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.05)/4 ) + (Tail[7].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.06)/4
  282. p2c = Tail[7].CFrame start3 = Tail[7].Position-(p2c.lookVector*distance) p3pos = Tail[8].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[8].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[7].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.06)/4 ) + (Tail[8].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.07)/4
  283. p2c = Tail[8].CFrame start3 = Tail[8].Position-(p2c.lookVector*distance) p3pos = Tail[9].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[9].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[8].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.07)/4 ) + (Tail[9].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.08)/4
  284. p2c = Tail[9].CFrame start3 = Tail[9].Position-(p2c.lookVector*distance) p3pos = Tail[10].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[10].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[9].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.08)/4 ) + (Tail[10].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.09)/4
  285. p2c = Tail[10].CFrame start3 = Tail[10].Position-(p2c.lookVector*distance) p3pos = Tail[11].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[11].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[10].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.09)/4 ) + (Tail[11].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.1)/4
  286. p2c = Tail[11].CFrame start3 = Tail[11].Position-(p2c.lookVector*distance) p3pos = Tail[12].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[12].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[11].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.1)/4 ) + (Tail[12].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.11)/4
  287. p2c = Tail[12].CFrame start3 = Tail[12].Position-(p2c.lookVector*distance) p3pos = Tail[13].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[13].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[12].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.11)/4 ) + (Tail[13].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.12)/4
  288. p2c = Tail[13].CFrame start3 = Tail[13].Position-(p2c.lookVector*distance) p3pos = Tail[14].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[14].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[13].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.12)/4 ) + (Tail[14].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.13)/4
  289. p2c = Tail[14].CFrame start3 = Tail[14].Position-(p2c.lookVector*distance) p3pos = Tail[15].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[15].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[14].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.13)/4 ) + (Tail[15].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.14)/4
  290. p2c = Tail[15].CFrame start3 = Tail[15].Position-(p2c.lookVector*distance) p3pos = Tail[16].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[16].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[15].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.14)/4 ) + (Tail[16].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.15)/4
  291. p2c = Tail[16].CFrame start3 = Tail[16].Position-(p2c.lookVector*distance) p3pos = Tail[17].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[17].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[16].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.15)/4 ) + (Tail[17].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.16)/4
  292. p2c = Tail[17].CFrame start3 = Tail[17].Position-(p2c.lookVector*distance) p3pos = Tail[18].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[18].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[17].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.16)/4 ) + (Tail[18].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.17)/4
  293. p2c = Tail[18].CFrame start3 = Tail[18].Position-(p2c.lookVector*distance) p3pos = Tail[19].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[19].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[18].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.17)/4 ) + (Tail[19].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.18)/4
  294. p2c = Tail[19].CFrame start3 = Tail[19].Position-(p2c.lookVector*distance) p3pos = Tail[20].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[20].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[19].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.18)/4 ) + (Tail[20].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.19)/4
  295. p2c = Tail[20].CFrame start3 = Tail[20].Position-(p2c.lookVector*distance) p3pos = Tail[21].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[21].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[20].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.19)/4 ) + (Tail[21].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.2)/4
  296. p2c = Tail[21].CFrame start3 = Tail[21].Position-(p2c.lookVector*distance) p3pos = Tail[22].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[22].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[21].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.2)/4 ) + (Tail[22].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.21)/4
  297. p2c = Tail[22].CFrame start3 = Tail[22].Position-(p2c.lookVector*distance) p3pos = Tail[23].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[23].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[22].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.21)/4 ) + (Tail[23].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.22)/4
  298. p2c = Tail[23].CFrame start3 = Tail[23].Position-(p2c.lookVector*distance) p3pos = Tail[24].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[24].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[23].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.22)/4 ) + (Tail[24].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.23)/4
  299. p2c = Tail[24].CFrame start3 = Tail[24].Position-(p2c.lookVector*distance) p3pos = Tail[25].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[25].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[24].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.23)/4 ) + (Tail[25].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.24)/4
  300. p2c = Tail[25].CFrame start3 = Tail[25].Position-(p2c.lookVector*distance) p3pos = Tail[26].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[26].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[25].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.24)/4 ) + (Tail[26].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.25)/4
  301. p2c = Tail[26].CFrame start3 = Tail[26].Position-(p2c.lookVector*distance) p3pos = Tail[27].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[27].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[26].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.25)/4 ) + (Tail[27].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.26)/4
  302. p2c = Tail[27].CFrame start3 = Tail[27].Position-(p2c.lookVector*distance) p3pos = Tail[28].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[28].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[27].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.26)/4 ) + (Tail[28].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.27)/4
  303. p2c = Tail[28].CFrame start3 = Tail[28].Position-(p2c.lookVector*distance) p3pos = Tail[29].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[29].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[28].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.27)/4 ) + (Tail[29].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.28)/4
  304. p2c = Tail[29].CFrame start3 = Tail[29].Position-(p2c.lookVector*distance) p3pos = Tail[30].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[30].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[29].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.28)/4 ) + (Tail[30].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.29)/4
  305. p2c = Tail[30].CFrame start3 = Tail[30].Position-(p2c.lookVector*distance) p3pos = Tail[31].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[31].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[30].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.29)/4 ) + (Tail[31].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.3)/4
  306. p2c = Tail[31].CFrame start3 = Tail[31].Position-(p2c.lookVector*distance) p3pos = Tail[32].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[32].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[31].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.3)/4 ) + (Tail[32].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.31)/4
  307. p2c = Tail[32].CFrame start3 = Tail[32].Position-(p2c.lookVector*distance) p3pos = Tail[33].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[33].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[32].CFrame * CFrame.Angles(math.rad(89),0,0)).lookVector * math.sin(Wave*6+0.31)/4 ) + (Tail[33].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.32)/4
  308. p2c = Tail[33].CFrame start3 = Tail[33].Position-(p2c.lookVector*distance) p3pos = Tail[34].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[34].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[33].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.32)/4 ) + (Tail[34].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.33)/4
  309. p2c = Tail[34].CFrame start3 = Tail[34].Position-(p2c.lookVector*distance) p3pos = Tail[35].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[35].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[34].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.33)/4 ) + (Tail[35].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.34)/4
  310. p2c = Tail[35].CFrame start3 = Tail[35].Position-(p2c.lookVector*distance) p3pos = Tail[36].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[36].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[35].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.34)/4 ) + (Tail[36].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.35)/4
  311. p2c = Tail[36].CFrame start3 = Tail[36].Position-(p2c.lookVector*distance) p3pos = Tail[37].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[37].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[36].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.35)/4 ) + (Tail[37].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.36)/4
  312. p2c = Tail[37].CFrame start3 = Tail[37].Position-(p2c.lookVector*distance) p3pos = Tail[38].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[38].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[37].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.36)/4 ) + (Tail[38].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.37)/4
  313. p2c = Tail[38].CFrame start3 = Tail[38].Position-(p2c.lookVector*distance) p3pos = Tail[39].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[39].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[38].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.37)/4 ) + (Tail[39].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.38)/4
  314. p2c = Tail[39].CFrame start3 = Tail[39].Position-(p2c.lookVector*distance) p3pos = Tail[40].Position start3_p3pos = (start3 - p3pos).unit spreadp3 = start3_p3pos*(distance+gap) Tail[40].CFrame = CFrame.new(start3-spreadp3, start3 - (Tail[39].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.38)/4 ) + (Tail[40].CFrame * CFrame.Angles(math.rad(90),0,0)).lookVector * math.sin(Wave*6+0.39)/4
  315. for i=1,40 do
  316. Tail2[i].CFrame = Tail[i].CFrame * CFrame.new(0,2,0) *CFrame.Angles(-3.8,-1.5,2)
  317. end
  318. limb8.CFrame = main.CFrame * CFrame.new(-1,1.5,4)
  319. limb9.CFrame = limb8.CFrame * CFrame.new(2,0,0)
  320. limb10.CFrame = main.CFrame - Vector3.new(0,2,0)
  321. limb10.CFrame = limb10.CFrame * CFrame.Angles(-0.25,0,0)
  322. limb6.CFrame = main.CFrame * CFrame.new(0,-1.5,0)
  323. limb6.CFrame = limb6.CFrame*CFrame.Angles(2,0,0)
  324. limb7.CFrame = limb10.CFrame * CFrame.new(0,1.5,-1)
  325. limb41.CFrame = (Tail[40].CFrame * CFrame.new(0,0,5))* CFrame.Angles(math.rad(90),0,0)
  326. back2 = Tail[10].CFrame
  327. limb11.CFrame = back2 * CFrame.new(1,-2,0) * CFrame.Angles(2.5,0,0)
  328. limb12.CFrame = back2 * CFrame.new(-1,-2,0) * CFrame.Angles(2.5,0,0)
  329. limb13.CFrame = limb11.CFrame * CFrame.new(0,1.5 ,0.8) * CFrame.Angles(-2.2,0,0)
  330. limb14.CFrame = limb12.CFrame * CFrame.new(0,1.5 ,0.8) * CFrame.Angles(-2.2,0,0)
  331. back3 = Tail[25].CFrame
  332. limb15.CFrame = back3 * CFrame.new(1,-2,0) * CFrame.Angles(-2.5,0,0)
  333. limb16.CFrame = back3 * CFrame.new(-1,-2,0) * CFrame.Angles(-2.5,0,0)
  334. limb17.CFrame = limb15.CFrame * CFrame.new(0,0.8 ,-0.8) * CFrame.Angles(-1.5,0,0)
  335. limb18.CFrame = limb16.CFrame * CFrame.new(0,0.8 ,-0.8) * CFrame.Angles(-1.5,0,0)
  336. wait()
  337. end
  338. end
  339. function onButton1Up(mouse)
  340. follow = false
  341. end
  342. function chat()
  343. ChatColor = "Green"
  344. if main ~= nil then
  345. _.Chatted:connect(function(Message)game:GetService("Chat"):Chat(workspace:findFirstChild("").Head,Message,Enum.ChatColor[ChatColor]) end)
  346. end
  347. end
  348. chat()
  349. function keys(key)
  350. key:lower()
  351. if key == "f" then
  352. if fire == false then
  353. fire = true
  354. end
  355. elseif key == "g" then
  356. if ice == false then
  357. ice = true
  358. end
  359. elseif key == "h" then
  360. if heal == false then
  361. heal = true
  362. end
  363. elseif key == "r" then
  364. BlackMagic.Parent = workspace
  365. BlackMagic:MakeJoints()
  366. repeat wait() until BlackMagic ~= nil
  367. BlackMagic.Parent = workspace
  368. BlackMagic:MakeJoints()
  369. main.Parent = BlackMagic
  370. limb6.Parent = BlackMagic
  371. limb7.Parent = BlackMagic
  372. limb8.Parent = BlackMagic
  373. limb9.Parent = BlackMagic
  374. limb10.Parent = BlackMagic
  375. limb11.Parent = BlackMagic
  376. limb12.Parent = BlackMagic
  377. limb13.Parent = BlackMagic
  378. limb14.Parent = BlackMagic
  379. limb15.Parent = BlackMagic
  380. limb16.Parent = BlackMagic
  381. limb17.Parent = BlackMagic
  382. limb18.Parent = BlackMagic
  383. limb41.Parent = BlackMagic
  384. for i=1,40 do
  385. Tail[i].Parent = BlackMagic
  386. Tail2[i].Parent = BlackMagic
  387. end
  388. main.Anchored = true
  389. limb6.Anchored = true
  390. limb7.Anchored = true
  391. limb8.Anchored = true
  392. limb9.Anchored = true
  393. limb10.Anchored = true
  394. limb11.Anchored = true
  395. limb12.Anchored = true
  396. limb13.Anchored = true
  397. limb14.Anchored = true
  398. limb15.Anchored = true
  399. limb16.Anchored = true
  400. limb17.Anchored = true
  401. limb18.Anchored = true
  402. limb41.Anchored = true
  403. for i=1,40 do
  404. Tail[i].Anchored = true
  405. Tail2[i].Anchored = true
  406. end
  407. main.Transparency = 0
  408. limb6.Transparency = 0
  409. limb7.Transparency = 0
  410. limb8.Transparency = 0
  411. limb9.Transparency = 0
  412. limb10.Transparency = 0
  413. limb11.Transparency = 0
  414. limb12.Transparency = 0
  415. limb13.Transparency = 0
  416. limb14.Transparency = 0
  417. limb15.Transparency = 0
  418. limb16.Transparency = 0
  419. limb17.Transparency = 0
  420. limb18.Transparency = 0
  421. limb41.Transparency = 0
  422. for i=1,40 do
  423. Tail[i].Transparency = 0
  424. Tail2[i].Transparency = 0
  425. end
  426. main.BrickColor = col1
  427. limb6.BrickColor = col2
  428. limb7.BrickColor = col1
  429. limb8.BrickColor = col2
  430. limb9.BrickColor = col2
  431. limb10.BrickColor = col1
  432. limb11.BrickColor = col1
  433. limb12.BrickColor = col1
  434. limb13.BrickColor = col1
  435. limb14.BrickColor = col1
  436. limb15.BrickColor = col1
  437. limb16.BrickColor = col1
  438. limb17.BrickColor = col1
  439. limb18.BrickColor = col1
  440. limb41.BrickColor = col2
  441. for i=1,40 do
  442. Tail[i].BrickColor = col1
  443. Tail2[i].BrickColor = col2
  444. end
  445. BlackMagic:MakeJoints()
  446. chat()
  447. end
  448. end
  449. function keyss()
  450. if fire == true then
  451. fire = false
  452. end
  453. if ice == true then
  454. ice = false
  455. end
  456. if heal == true then
  457. heal = false
  458. end
  459. end
  460. mouse.Icon = "rbxasset://textures\\GunCursor.png"
  461. mouse.Button1Down:connect(function() onButton1Down(mouse) end)
  462. mouse.Button1Up:connect(function() onButton1Up(mouse) end)
  463. mouse.KeyDown:connect(keys)
  464. mouse.KeyUp:connect(keyss)
  465. while true do
  466. wait()
  467. for i,v in pairs(BlackMagic:GetChildren()) do
  468. if v.Name ~= "Breeze" and v.Name ~= "Flame" and v.Name ~= "Heal" then
  469. for i,d in pairs(v:GetChildren()) do
  470. if d.ClassName ~= "SpecialMesh" then
  471. d:Destroy()
  472. end
  473. end
  474. end
  475. end
  476. Stuff = Workspace:GetChildren()
  477. for i = 1 , #Stuff do
  478. Stuff2 = Stuff[i]:GetChildren()
  479. for i = 1 , #Stuff2 do
  480. Stuff3 = Stuff2[i]:GetChildren()
  481. for i = 1 , #Stuff3 do
  482. if Stuff3[i].className == "ForceField" then
  483. Stuff3[i]:Destroy()
  484. end
  485. end
  486. if Stuff2[i].className == "ForceField" then
  487. Stuff2[i]:Destroy()
  488. end
  489. end
  490. end
  491. if fire == true then
  492. Flame = Instance.new("Part")
  493. Instance.new("Fire",Flame)
  494. Flame.Parent = BlackMagic
  495. Flame.Anchored = true
  496. Flame.BrickColor = BrickColor.new("Silver")
  497. Flame.CanCollide = false
  498. Flame.Name = "Flame"
  499. Color = math.random(1, 3)
  500. if Color == 1 then
  501. Flame.BrickColor = BrickColor.new(21)
  502. else
  503. if Color == 2 then
  504. Flame.BrickColor = BrickColor.new(24)
  505. end
  506. if Color == 3 then
  507. Flame.BrickColor = BrickColor.new(105)
  508. end
  509. end
  510. Flame.Locked = true
  511. Flame.Shape = "Ball"
  512. Flame.Transparency = 0
  513. Flame.Size = Vector3.new(1, 1, 1)
  514. Flame.TopSurface = "Smooth"
  515. Flame.BottomSurface = "Smooth"
  516. Flame.CFrame = main.CFrame * CFrame.new(math.random(-2, 2), math.random(-2, 2), 0)*CFrame.Angles(math.rad(-90),0,math.rad(180))
  517. FlameMesh = Instance.new("SpecialMesh")
  518. FlameMesh.MeshType = "FileMesh"
  519. FlameMesh.MeshId = "http://www.roblox.com/asset/?id=25212400"
  520. FlameMesh.Parent = Flame
  521. FlameMesh.Scale = Vector3.new(1, 1, 1)
  522. end
  523. if heal == true then
  524. Heal = Instance.new("Part")
  525. local fire = Instance.new("Fire",Heal)
  526. fire.Color = Color3.new(0/255,255/255,0/255)
  527. Heal.Parent = BlackMagic
  528. Heal.Anchored = true
  529. Heal.BrickColor = BrickColor.new("Br. blueish green")
  530. Heal.CanCollide = false
  531. Heal.Name = "Heal"
  532. Color = math.random(1, 3)
  533. if Color == 1 then
  534. Heal.BrickColor = BrickColor.new(28)
  535. else
  536. if Color == 2 then
  537. Heal.BrickColor = BrickColor.new(37)
  538. end
  539. if Color == 3 then
  540. Heal.BrickColor = BrickColor.new(119)
  541. end
  542. end
  543. Heal.Locked = true
  544. Heal.Shape = "Ball"
  545. Heal.Transparency = 0
  546. Heal.Size = Vector3.new(1, 1, 1)
  547. Heal.TopSurface = "Smooth"
  548. Heal.BottomSurface = "Smooth"
  549. Heal.CFrame = main.CFrame * CFrame.new(math.random(-2, 2), math.random(-2, 2), 0)*CFrame.Angles(math.rad(-90),0,math.rad(180))
  550. HealMesh = Instance.new("SpecialMesh")
  551. HealMesh.MeshType = "FileMesh"
  552. HealMesh.MeshId = "http://www.roblox.com/asset/?id=25212400"
  553. HealMesh.Parent = Heal
  554. HealMesh.Scale = Vector3.new(1, 1, 1)
  555. end
  556. if ice == true then
  557. Breeze = Instance.new("Part")
  558. local fire = Instance.new("Fire",Breeze)
  559. fire.Color = Color3.new(0/255,255/255,255/255)
  560. Breeze.Parent = BlackMagic
  561. Breeze.Anchored = true
  562. Breeze.BrickColor = BrickColor.new("White")
  563. Breeze.CanCollide = false
  564. Breeze.Name = "Breeze"
  565. Color = math.random(1, 3)
  566. if Color == 1 then
  567. Breeze.BrickColor = BrickColor.new(23)
  568. else
  569. if Color == 2 then
  570. Breeze.BrickColor = BrickColor.new(42)
  571. end
  572. if Color == 3 then
  573. Breeze.BrickColor = BrickColor.new(43)
  574. end
  575. end
  576. Breeze.Locked = true
  577. Breeze.Shape = "Ball"
  578. Breeze.Transparency = 0
  579. Breeze.Size = Vector3.new(1, 1, 1)
  580. Breeze.TopSurface = "Smooth"
  581. Breeze.BottomSurface = "Smooth"
  582. Breeze.CFrame = main.CFrame * CFrame.new(math.random(-2, 2), math.random(-2, 2), 0)*CFrame.Angles(math.rad(-90),0,math.rad(180))
  583. BreezeMesh = Instance.new("SpecialMesh")
  584. BreezeMesh.MeshType = "FileMesh"
  585. BreezeMesh.MeshId = "http://www.roblox.com/asset/?id=25212400"
  586. BreezeMesh.Parent = Breeze
  587. BreezeMesh.Scale = Vector3.new(1, 1, 1)
  588. end
  589. Stuff = BlackMagic:GetChildren()
  590. for i = 1 , #Stuff do
  591. if Stuff[i].className == "Part" then
  592. if Stuff[i].Name == "Shadow" then
  593. Stuff[i].Transparency = Stuff[i].Transparency + 0.2
  594. if Stuff[i].Transparency >= 1 then
  595. Stuff[i]:Destroy()
  596. end
  597. end
  598. if Stuff[i].Name == "Flame" then
  599. local p = Stuff[i].CFrame * CFrame.new(math.random(-1, 1), math.random(-1, 1), math.random(-1, 1))
  600. Stuff[i].Mesh.Scale = Stuff[i].Mesh.Scale + Vector3.new(1, 1, 1)
  601. pcall(function () Stuff[i].Fire.Size = Stuff[i].Fire.Size + 1 end)
  602. Stuff[i].Transparency = Stuff[i].Transparency + 0.0785
  603. Stuff[i].CFrame = p
  604. Stuff[i].CFrame = Stuff[i].CFrame * CFrame.new(0,math.random(-5, -3),0)
  605. Stuff2 = Workspace:GetChildren()
  606. for ii = 1 , #Stuff2 do
  607. if Stuff2[ii].className == "Part" then
  608. if (Stuff[i].Position-Stuff2[ii].Position).magnitude <= Stuff[i].Mesh.Scale.X then
  609. if Stuff2[ii].Name ~= "Base" then
  610. Stuff2[ii].Anchored = false
  611. Stuff2[ii].Material = "Concrete"
  612. Stuff2[ii].BrickColor = BrickColor.new("Silver")
  613. Stuff2[ii]:BreakJoints()
  614. Stuff2[ii].Reflectance = 0
  615. end
  616. end
  617. end
  618. if Stuff2[ii].className == "Model" and Stuff2[ii].Name ~= "" then
  619. local Torso = Stuff2[ii]:findFirstChild("Torso")
  620. local Humanoid = Stuff2[ii]:findFirstChild("Humanoid")
  621. if Humanoid ~= nil and Torso ~= nil then
  622. if (Stuff[i].Position-Torso.Position).magnitude <= Stuff[i].Mesh.Scale.X then
  623. Humanoid.MaxHealth = 100
  624. Damage = 15
  625. Humanoid:TakeDamage(Damage)
  626. Parts = Humanoid.Parent:GetChildren()
  627. for i = 1 , #Parts do
  628. if Parts[i].className == "Part" then
  629. Parts[i].BrickColor = BrickColor.new("Silver")
  630. Parts[i].Material = "Concrete"
  631. Parts[i].Reflectance = 0
  632. Parts[i].Anchored = false
  633. if Humanoid.Health <= 0 then
  634. Parts[i]:BreakJoints()
  635. end
  636. end
  637. end
  638. end
  639. end
  640. end
  641. end
  642. if Stuff[i].Fire.Size >= 15 then
  643. Stuff[i]:Destroy()
  644. end
  645. end
  646. if Stuff[i].Name == "Breeze" then
  647. local p = Stuff[i].CFrame * CFrame.new(math.random(-1, 1), math.random(-1, 1), math.random(-1, 1))
  648. Stuff[i].Mesh.Scale = Stuff[i].Mesh.Scale + Vector3.new(1, 1, 1)
  649. pcall(function () Stuff[i].Fire.Size = Stuff[i].Fire.Size + 1 end)
  650. Stuff[i].Transparency = Stuff[i].Transparency + 0.0785
  651. Stuff[i].CFrame = p
  652. Stuff[i].CFrame = Stuff[i].CFrame * CFrame.new(0,math.random(-5, -3),0)
  653. Stuff2 = Workspace:GetChildren()
  654. for ii = 1 , #Stuff2 do
  655. if Stuff2[ii].className == "Part" then
  656. if (Stuff[i].Position-Stuff2[ii].Position).magnitude <= Stuff[i].Mesh.Scale.X then
  657. if Stuff2[ii].Name ~= "Base" then
  658. Stuff2[ii].BrickColor = BrickColor.new("Light blue")
  659. Stuff2[ii].Anchored = true
  660. Stuff2[ii].Reflectance = 0.1
  661. Stuff2[ii].Material = "Ice"
  662. end
  663. end
  664. end
  665. if Stuff2[ii].className == "Model" and Stuff2[ii].Name ~= "" then
  666. local Torso = Stuff2[ii]:findFirstChild("Torso")
  667. local Humanoid = Stuff2[ii]:findFirstChild("Humanoid")
  668. if Humanoid ~= nil and Torso ~= nil then
  669. if (Stuff[i].Position-Torso.Position).magnitude <= Stuff[i].Mesh.Scale.X then
  670. Humanoid.MaxHealth = 100
  671. Damage = 10
  672. Humanoid:TakeDamage(Damage)
  673. Parts = Humanoid.Parent:GetChildren()
  674. for i = 1 , #Parts do
  675. if Parts[i].className == "Part" then
  676. Parts[i].BrickColor = BrickColor.new("Light blue")
  677. Parts[i].Anchored = true
  678. Parts[i].Reflectance = 0.1
  679. Parts[i].Material = "Ice"
  680. end
  681. end
  682. end
  683. end
  684. end
  685. end
  686. end
  687. if Stuff[i]:findFirstChild("Fire") ~= nil then
  688. if Stuff[i]:findFirstChild("Fire").Size >= 15 then
  689. Stuff[i]:Destroy()
  690. end
  691. end
  692. if Stuff[i].Name == "Heal" then
  693. local p = Stuff[i].CFrame * CFrame.new(math.random(-1, 1), math.random(-1, 1), math.random(-1, 1))
  694. Stuff[i].Mesh.Scale = Stuff[i].Mesh.Scale + Vector3.new(1, 1, 1)
  695. pcall(function () Stuff[i].Fire.Size = Stuff[i].Fire.Size + 1 end)
  696. Stuff[i].Transparency = Stuff[i].Transparency + 0.0785
  697. Stuff[i].CFrame = p
  698. Stuff[i].CFrame = Stuff[i].CFrame * CFrame.new(0,math.random(-5, -3),0)
  699. Stuff2 = Workspace:GetChildren()
  700. for ii = 1 , #Stuff2 do
  701. if Stuff2[ii].className == "Part" then
  702. if (Stuff[i].Position-Stuff2[ii].Position).magnitude <= Stuff[i].Mesh.Scale.X then
  703. if Stuff2[ii].Name ~= "Base" then
  704. Stuff2[ii].BrickColor = BrickColor.new("Bright green")
  705. Stuff2[ii].Anchored = false
  706. Stuff2[ii].Material = "Grass"
  707. end
  708. end
  709. end
  710. if Stuff2[ii].className == "Model" and Stuff2[ii].Name ~= "" then
  711. local Torso = Stuff2[ii]:findFirstChild("Torso")
  712. local Humanoid = Stuff2[ii]:findFirstChild("Humanoid")
  713. if Humanoid ~= nil and Torso ~= nil then
  714. if (Stuff[i].Position-Torso.Position).magnitude <= Stuff[i].Mesh.Scale.X then
  715. Healness = 10
  716. Humanoid.Health = Humanoid.Health + Healness;
  717. Parts = Humanoid.Parent:GetChildren()
  718. for i = 1 , #Parts do
  719. if Parts[i].className == "Part" then
  720. Parts[i].Anchored = false
  721. Parts[i].Reflectance = 0
  722. Parts[i].Material = "Granite"
  723. end
  724. end
  725. end
  726. end
  727. end
  728. end
  729. end
  730. if Stuff[i]:findFirstChild("Fire") ~= nil then
  731. if Stuff[i]:findFirstChild("Fire").Size >= 20 then
  732. Stuff[i]:Destroy()
  733. end
  734. end
  735. end
  736. end
  737. end
Add Comment
Please, Sign In to add comment