wamandnj

Untitled

Mar 17th, 2019
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  3. local RealPlayer = Player
  4. do print("FE Compatibility code by Mokiros");InternalData = {}InternalData.RealOwner = owner;InternalData.RealObjs = {};InternalData.SoundLoudness = {};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()}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;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 t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end,__call=function(self,...)local t=rawget(self,"_RealService")if t then return t(...)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 self[t]end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;x.RunService=v({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")setmetatable(x,{__index=function(self,t)return r:GetService(t)or typeof(r[t])=="function"and function(m,...)return r[t](r,...)end or r[t]end,__newindex=s.__newindex,__call=s.__call})game,owner=x,x.Players.LocalPlayer
  5. script.Parent = InternalData.RealOwner.Character
  6. local Event = Instance.new("RemoteEvent");Event.Name = "UserInput";InternalData.Event = Event
  7. local function createObject (connections, index)
  8. local proxy = newproxy (true);local meta = getmetatable (proxy);
  9. local runbind = function (self, i, ...) connections[i]:Fire (...); end;
  10. while (#connections > 0) do connections[table.remove(connections, 1)] = Instance.new ('BindableEvent');end;
  11. meta.__index = function (self, i)
  12. if (i == 'TriggerEvent') then return runbind end;
  13. return connections[i] and connections[i].Event or index[i];
  14. end;
  15. meta.__newindex = index;meta.__metatable = false;return proxy
  16. end;
  17. local Mouse = createObject({"KeyUp","KeyDown","Button1Down","Button1Up"},{["Target"] = nil;["Hit"] = CFrame.new()})
  18. local UserInputService = createObject({"InputBegan","InputEnded"},{})
  19. local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  20. self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  21. end};ContextActionService.UnBindAction = ContextActionService.BindAction
  22. Event.OnServerEvent:Connect(function(FiredBy,Input)
  23. if FiredBy ~= InternalData.RealOwner then return end
  24. if Input.MouseEvent then
  25. Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
  26. elseif Input.Sound then
  27. if InternalData.SoundLoudness[Input.Sound] then InternalData.SoundLoudness[Input.Sound] = Input.Loudness end
  28. else
  29. local Begin = Input.UserInputState == Enum.UserInputState.Begin
  30. if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end
  31. for _,Action in pairs(ContextActionService.Actions) do
  32. for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  33. end
  34. Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  35. end
  36. end)
  37. InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
  38. Event.Parent = NLS([[
  39. local Player = owner;
  40. local Sounds = {};
  41. local Event = script:WaitForChild("UserInput");
  42. local UserInputService = game:GetService("UserInputService");
  43. local Mouse = Player:GetMouse();
  44. local Input = function(Input,gameProcessedEvent)
  45. if gameProcessedEvent then return end
  46. Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  47. end
  48. Event.OnClientEvent:connect(function(Args)
  49. if Args[1] == "NewSound" then table.insert(Sounds,Args[2]) end
  50. end)
  51. UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  52. local Hit,Target
  53. while wait(1/30) do
  54. for x,Sound in pairs(Sounds) do
  55. if Sound.Parent then Event:FireServer({["Sound"]=Sound,["Loudness"]=Sound.PlaybackLoudness}) end
  56. end
  57. if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  58. Hit = Mouse.Hit;Target = Mouse.Target;
  59. Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  60. end
  61. end
  62. ]],InternalData.RealOwner.Character)
  63. end
  64. InternalData.NewOwner = setmetatable({},{
  65. __index = function (self,Index)
  66. local Type = type(InternalData.RealOwner[Index])
  67. if Type == "function" then
  68. if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  69. return function (self)return InternalData["Mouse"] end
  70. end
  71. return function (self,...)return InternalData.RealOwner[Index](InternalData.RealOwner,...) end
  72. elseif Index == "FakePlayer" then
  73. return true
  74. end
  75. return InternalData.RealOwner[Index]
  76. end;
  77. __tostring = function(self) return tostring(InternalData.RealOwner) end
  78. })
  79. --LoadLibrary("RbxUtility").Create
  80. InternalData.LoadLibrary = LoadLibrary;LoadLibrary = function(Library)
  81. if Library == "RbxUtility" then
  82. return setmetatable({},{
  83. __tostring = function() return "RbxUtility" end;
  84. __index = function(self, Index)
  85. if Index:lower() == "create" then
  86. return function(Type)
  87. return function(Data)
  88. Data = Data or {}
  89. local Inst = Instance.new(Type)
  90. for x,y in pairs(Data) do
  91. if InternalData.RealObjs[y] then y = InternalData.RealObjs[y] end
  92. if y == owner then y = InternalData.RealOwner end
  93. Inst[x] = y
  94. end
  95. return Inst
  96. end
  97. end
  98. end
  99. return InternalData.LoadLibrary(Library)[Index]
  100. end
  101. })
  102. end
  103. return InternalData.LoadLibrary(Library)
  104. end
  105. InternalData.RealInstance = Instance;Instance = setmetatable({},{
  106. __index = function (self,Index)
  107. if Index:lower() == 'new' then
  108. return function (Type, Parent)
  109. if Parent == owner then Parent = InternalData.RealOwner end
  110. if InternalData.RealObjs[Parent] then Parent = InternalData.RealObjs[Parent] end
  111. local Real = InternalData.RealInstance.new(Type,Parent)
  112. if not Type then return end
  113. if Type == "BillboardGui" then
  114. local ToReturn = setmetatable({},{
  115. __index = function (self,Index)
  116. if type(Real[Index]) == "function" then
  117. if Index:lower() == "clone" then
  118. return function (self)
  119. local Real = Real:Clone()
  120. local ToReturn = setmetatable({RealObject = Real},{
  121. __index = function (self,Index)
  122. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  123. return Real[Index]
  124. end;
  125. __newindex = function (self,Index,Value)
  126. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  127. if Value == owner then Value = InternalData.RealOwner end
  128. Real[Index] = Value
  129. end;
  130. __tostring = function(self) return tostring(Real) end;
  131. })
  132. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  133. end
  134. end
  135. return function (self,...) return Real[Index](Real,...)end
  136. end
  137. return Real[Index]
  138. end;
  139. __newindex = function (self,Index,Value)
  140. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  141. if Value == owner then Value = InternalData.RealOwner end
  142. Real[Index] = Value
  143. end;
  144. __tostring = function(self) return tostring(Real) end;
  145. })
  146. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  147. elseif Type:lower() == "sound" then
  148. Real.Parent = owner.Character;
  149. local ToReturn = setmetatable({RealObject = Real},{
  150. __index = function (self,Index)
  151. if Index:lower() == "playbackloudness" then
  152. return InternalData.SoundLoudness[Real] or 0
  153. elseif type(Real[Index]) == "function" then
  154. if Index:lower() == "clone" then
  155. return function (self)
  156. local Real = Real:Clone()
  157. local ToReturn = setmetatable({},{
  158. __index = function (self,Index)
  159. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  160. return Real[Index]
  161. end;
  162. __newindex = function (self,Index,Value)
  163. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  164. if Value == owner then Value = InternalData.RealOwner end
  165. Real[Index] = Value
  166. end;
  167. __tostring = function(self) return tostring(Real) end;
  168. })
  169. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  170. end
  171. end
  172. return function (self,...) return Real[Index](Real,...)end
  173. end
  174. return Real[Index]
  175. end;
  176. __newindex = function (self,Index,Value)
  177. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  178. if Value == owner then Value = InternalData.RealOwner end
  179. Real[Index] = Value
  180. end;
  181. __tostring = function(self) return tostring(Real) end;
  182. })
  183. InternalData.RealObjs[ToReturn] = Real;InternalData.SoundLoudness[Real] = 0;repeat wait() until InternalData.Event.Parent InternalData.Event:FireClient(InternalData.RealOwner,{"NewSound",Real}) return ToReturn;
  184. else
  185. local ToReturn = setmetatable({RealObject = Real},{
  186. __index = function (self,Index)
  187. if type(Real[Index]) == "function" then
  188. if Index:lower() == "clone" then
  189. return function (self)
  190. local Real = Real:Clone()
  191. local ToReturn = setmetatable({},{
  192. __index = function (self,Index)
  193. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  194. return Real[Index]
  195. end;
  196. __newindex = function (self,Index,Value)
  197. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  198. if Value == owner then Value = InternalData.RealOwner end
  199. Real[Index] = Value
  200. end;
  201. __tostring = function(self) return tostring(Real) end;
  202. })
  203. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  204. end
  205. end
  206. return function (self,...) return Real[Index](Real,...)end
  207. end
  208. return Real[Index]
  209. end;
  210. __newindex = function (self,Index,Value)
  211. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  212. if Value == owner then Value = InternalData.RealOwner end
  213. Real[Index] = Value
  214. end;
  215. __tostring = function(self) return tostring(Real) end;
  216. })
  217. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  218. end
  219. end
  220. end
  221. return InternalData.RealInstance[Index]
  222. end;
  223. __tostring = function(self) return tostring(InternalData.RealInstance) end;
  224. });
  225. InternalData.RealGame = game;game = setmetatable({},{
  226. __index = function (self,Index)
  227. if InternalData.RealGame[Index] then
  228. local Type = type(InternalData.RealGame[Index])
  229. if Type == "function" then
  230. if Index:lower() == "getservice" or Index:lower() == "service" then
  231. return function (self,Service)
  232. local FakeServices = {
  233. ["players"] = function()
  234. return setmetatable({},{
  235. __index = function (self2,Index2)
  236. local RealService = InternalData.RealGame:GetService(Service)
  237. local Type2 = type(RealService[Index2])
  238. if Type2 == "function" then
  239. return function (self,...) return RealService[Index2](RealService,...)end
  240. else
  241. if Index2:lower() == "localplayer" then return InternalData.NewOwner end
  242. return RealService[Index2]
  243. end
  244. end;
  245. __tostring = function(self) return tostring(InternalData.RealGame:GetService(Service)) end
  246. })
  247. end;
  248. ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
  249. ["userinputservice"] = function() return InternalData["UserInputService"] end;
  250. ["debris"] = function()
  251. return setmetatable({},{
  252. __index = function(self2,Index2)
  253. local RealService = InternalData.RealGame:GetService(Service)
  254. local Type2 = type(RealService[Index2])
  255. if Type2 == "function" then
  256. if Index2:lower() == "additem" then
  257. return function (self,Item,Time)
  258. if InternalData.RealObjs[Item] then Item = InternalData.RealObjs[Item] end
  259. return RealService:AddItem(Item,Time)
  260. end
  261. end
  262. return function (self,...) return RealService[Index2](RealService,...) end
  263. end
  264. return RealService[Index2]
  265. end;
  266. __tostring = function(self) return tostring(InternalData.RealGame:GetService("Debris")) end
  267. })
  268. end;
  269. ["runservice"] = function()
  270. return setmetatable({},{
  271. __index = function(self2,Index2)
  272. local RealService = InternalData.RealGame:GetService(Service)
  273. local Type2 = type(RealService[Index2])
  274. if Type2 == "function" then
  275. return function (self,...) return RealService[Index2](RealService,...) end
  276. else
  277. local RunServices = {
  278. ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return InternalData.RealGame:GetService("RunService").Stepped:Connect(Function) end end;
  279. ["renderstepped"] = function() return RealService["Stepped"] end
  280. }
  281. if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
  282. return RealService[Index2]
  283. end
  284. end;
  285. __tostring = function(self) return tostring(InternalData.RealGame:GetService("RunService")) end
  286. })
  287. end
  288. }
  289. if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
  290. return InternalData.RealGame:GetService(Service)
  291. end
  292. end
  293. return function (self,...) return InternalData.RealGame[Index](InternalData.RealGame,...) end
  294. else
  295. if game:GetService(Index) then return game:GetService(Index) end
  296. return InternalData.RealGame[Index]
  297. end
  298. end
  299. return nil
  300. end;
  301. __tostring = function(self) return tostring(InternalData.game) end
  302. });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete!")
  303.  
  304. --StickJames Script Fixed By basstracker1970
  305. local p = game.Players.LocalPlayer
  306. local char = p.Character
  307. local mouse = p:GetMouse()
  308. local larm = char["Left Arm"]
  309. local rarm = char["Right Arm"]
  310. local lleg = char["Left Leg"]
  311. local rleg = char["Right Leg"]
  312. local hed = char.Head
  313. local Torso = char.Torso
  314. local hitbox = char.Torso
  315. local hum = char.Humanoid
  316. local effect={}
  317. local cam = game.Workspace.CurrentCamera
  318. local root = char.HumanoidRootPart
  319. local deb = false
  320. local shot = 0
  321. local potential = false
  322. local debris=game:service"Debris"
  323. local l = game:GetService("Lighting")
  324. local rs = game:GetService("RunService").RenderStepped
  325. ptz = {0.8, 0.85, 0.9, 0.95, 1, 1.05, 1.1}
  326. math.randomseed(os.time())
  327. for i,v in pairs(char:children()) do
  328. if v:IsA("Accessory") then
  329. v:Destroy()
  330. end
  331. end
  332. char["Body Colors"].HeadColor = BrickColor.new("Really black")
  333. char["Body Colors"].LeftArmColor = BrickColor.new("Really black")
  334. char["Body Colors"].RightArmColor = BrickColor.new("Really black")
  335. char["Body Colors"].TorsoColor = BrickColor.new("Really black")
  336. char["Body Colors"].RightLegColor = BrickColor.new("Really black")
  337. char["Body Colors"].LeftLegColor = BrickColor.new("Really black")
  338. Player=game:GetService("Players").LocalPlayer
  339. Character=Player.Character
  340. PlayerGui=Player.PlayerGui
  341. Backpack=Player.Backpack
  342. Torso=Character.Torso
  343. Head=Character.Head
  344. Humanoid=Character.Humanoid
  345. Mouse=Player:GetMouse()
  346. RootPart = Character.HumanoidRootPart
  347. RootJoint = RootPart.RootJoint
  348. LeftArm=Character["Left Arm"]
  349. LeftLeg=Character["Left Leg"]
  350. RightArm=Character["Right Arm"]
  351. RightLeg=Character["Right Leg"]
  352. LS=Torso["Left Shoulder"]
  353. LH=Torso["Left Hip"]
  354. RS=Torso["Right Shoulder"]
  355. RH=Torso["Right Hip"]
  356. Neck=Torso.Neck
  357. it=Instance.new
  358. vt=Vector3.new
  359. cf=CFrame.new
  360. euler=CFrame.fromEulerAnglesXYZ
  361. angles=CFrame.Angles
  362. local decreaseatk=0
  363. local decreasedef=0
  364. local decreasemvmt=0
  365. local Anim="Idle"
  366. local Effects={}
  367. local armorparts={}
  368. local armorwelds={}
  369. local weaponparts={}
  370. local weaponwelds={}
  371. local necko=euler(0,0,0)*cf(0,1,0)
  372. local attack=false
  373. local jump=false
  374. local start=false
  375. local move=10
  376. local hitfloor,posfloor=nil,nil
  377. local run=Instance.new("NumberValue")
  378. run.Name="DecreaseMvmt"
  379. run.Value=-1.2
  380. local bName="Sthomas"
  381. local MainColor=BrickColor.new("Really black")
  382. local SubColor=BrickColor.new("Really black")
  383. --[[if script:findFirstChild("SiegmundHealth")~=nil then
  384. for _,c in pairs(game.Players:children()) do
  385. d=script.SiegmundHealth:Clone()
  386. d.Parent=c.PlayerGui
  387. end
  388. end]]
  389. RW, LW=Instance.new("Motor"), Instance.new("Motor")
  390. RW.Name="Right Shoulder" LW.Name="Left Shoulder"
  391.  
  392.  
  393.  
  394. function NoOutline(Part)
  395. Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
  396. end
  397. Character.Animate:Remove()
  398.  
  399. Character.Humanoid.Animator:Remove()
  400. local Create = LoadLibrary("RbxUtility").Create
  401.  
  402. ArtificialHB = Create("BindableEvent", script){
  403. Parent = script,
  404. Name = "Heartbeat",
  405. }
  406.  
  407. script:WaitForChild("Heartbeat")
  408.  
  409. frame = 1 / 30
  410. tf = 0
  411. allowframeloss = false
  412. tossremainder = false
  413. lastframe = tick()
  414. script.Heartbeat:Fire()
  415.  
  416. game:GetService("RunService").Heartbeat:connect(function(s, p)
  417. tf = tf + s
  418. if tf >= frame then
  419. if allowframeloss then
  420. script.Heartbeat:Fire()
  421. lastframe = tick()
  422. else
  423. for i = 1, math.floor(tf / frame) do
  424. script.Heartbeat:Fire()
  425. end
  426. lastframe = tick()
  427. end
  428. if tossremainder then
  429. tf = 0
  430. else
  431. tf = tf - frame * math.floor(tf / frame)
  432. end
  433. end
  434. end)
  435.  
  436. function swait(num)
  437. if num == 0 or num == nil then
  438. ArtificialHB.Event:wait()
  439. else
  440. for i = 0, num do
  441. ArtificialHB.Event:wait()
  442. end
  443. end
  444. end
  445.  
  446. --[[frame,t,lastframe = 1/30,0,tick()
  447. allowframeloss = false --if set to true will fire every frame it possibly can. This will result in multiple events happening at the same time whenever delta returns frame*2 or greater.
  448. tossremainder = false --if set to true t will be set to 0 after Fire()-ing.
  449.  
  450. swait = function(dt)
  451. if dt == nil then
  452. dt = frame
  453. elseif dt < frame then
  454. dt = frame
  455. elseif dt > frame then
  456. --round this out into frames
  457. dt = math.floor(dt/frame)
  458. end
  459. local timetomeet = tick() + dt
  460. end]] --maybe later
  461.  
  462. --30hz Pacemaker
  463.  
  464. script:WaitForChild("Heartbeat")
  465.  
  466. frame = 1/30
  467. tf = 0
  468. allowframeloss = false --if set to true will fire every frame it possibly can. This will result in multiple events happening at the same time whenever delta returns frame*2 or greater.
  469. tossremainder = false --if set to true t will be set to 0 after Fire()-ing.
  470. lastframe = tick()
  471. script.Heartbeat:Fire() --ayy lmao
  472.  
  473. game:GetService("RunService").Heartbeat:connect(function(s,p) --herp derp
  474. tf = tf + s
  475. if tf >= frame then
  476. if allowframeloss then
  477. script.Heartbeat:Fire()
  478. lastframe=tick()
  479. else
  480. --print("FIRED "..math.floor(t/frame).." FRAME(S)","REMAINDER "..(t - frame*(math.floor(t/frame))))
  481. for i=1, math.floor(tf/frame) do
  482. script.Heartbeat:Fire()
  483. end
  484. lastframe=tick()
  485. end
  486. if tossremainder then
  487. tf = 0
  488. else
  489. tf = tf - frame * math.floor(tf/frame)
  490. end
  491. end
  492. end)
  493.  
  494. function clerp(a,b,t)
  495. local qa = {QuaternionFromCFrame(a)}
  496. local qb = {QuaternionFromCFrame(b)}
  497. local ax, ay, az = a.x, a.y, a.z
  498. local bx, by, bz = b.x, b.y, b.z
  499. local _t = 1-t
  500. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  501. end
  502.  
  503. function QuaternionFromCFrame(cf)
  504. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  505. local trace = m00 + m11 + m22
  506. if trace > 0 then
  507. local s = math.sqrt(1 + trace)
  508. local recip = 0.5/s
  509. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  510. else
  511. local i = 0
  512. if m11 > m00 then
  513. i = 1
  514. end
  515. if m22 > (i == 0 and m00 or m11) then
  516. i = 2
  517. end
  518. if i == 0 then
  519. local s = math.sqrt(m00-m11-m22+1)
  520. local recip = 0.5/s
  521. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  522. elseif i == 1 then
  523. local s = math.sqrt(m11-m22-m00+1)
  524. local recip = 0.5/s
  525. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  526. elseif i == 2 then
  527. local s = math.sqrt(m22-m00-m11+1)
  528. local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  529. end
  530. end
  531. end
  532.  
  533. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  534. local xs, ys, zs = x + x, y + y, z + z
  535. local wx, wy, wz = w*xs, w*ys, w*zs
  536. local xx = x*xs
  537. local xy = x*ys
  538. local xz = x*zs
  539. local yy = y*ys
  540. local yz = y*zs
  541. local zz = z*zs
  542. return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
  543. end
  544.  
  545. function QuaternionSlerp(a, b, t)
  546. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  547. local startInterp, finishInterp;
  548. if cosTheta >= 0.0001 then
  549. if (1 - cosTheta) > 0.0001 then
  550. local theta = math.acos(cosTheta)
  551. local invSinTheta = 1/math.sin(theta)
  552. startInterp = math.sin((1-t)*theta)*invSinTheta
  553. finishInterp = math.sin(t*theta)*invSinTheta
  554. else
  555. startInterp = 1-t
  556. finishInterp = t
  557. end
  558. else
  559. if (1+cosTheta) > 0.0001 then
  560. local theta = math.acos(-cosTheta)
  561. local invSinTheta = 1/math.sin(theta)
  562. startInterp = math.sin((t-1)*theta)*invSinTheta
  563. finishInterp = math.sin(t*theta)*invSinTheta
  564. else
  565. startInterp = t-1
  566. finishInterp = t
  567. end
  568. end
  569. return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
  570. end
  571.  
  572. function part(formfactor,parent,reflectance,transparency,brickcolor,name,size)
  573. local fp=it("Part")
  574. fp.formFactor=formfactor
  575. fp.Parent=parent
  576. fp.Reflectance=reflectance
  577. fp.Transparency=transparency
  578. fp.CanCollide=false
  579. fp.Locked=true
  580. fp.BrickColor=brickcolor
  581. fp.Name=name
  582. fp.Size=size
  583. NoOutline(fp)
  584. fp.Material="SmoothPlastic"
  585. fp:BreakJoints()
  586. return fp
  587. end
  588.  
  589. function mesh(Mesh,part,meshtype,meshid,offset,scale)
  590. local mesh=it(Mesh)
  591. mesh.Parent=part
  592. if Mesh=="SpecialMesh" then
  593. mesh.MeshType=meshtype
  594. if meshid~="nil" then
  595. mesh.MeshId="http://www.roblox.com/asset/?id="..meshid
  596. end
  597. end
  598. mesh.Offset=offset
  599. mesh.Scale=scale
  600. return mesh
  601. end
  602.  
  603. function weld(parent,part0,part1,c0)
  604. local weld=it("Motor")
  605. weld.Parent=parent
  606. weld.Part0=part0
  607. weld.Part1=part1
  608. weld.C0=c0
  609. return weld
  610. end
  611.  
  612. function gui(GuiType,parent,text,backtrans,backcol,pos,size,image)
  613. local gui=it(GuiType)
  614. gui.Parent=parent
  615. gui.BackgroundTransparency=backtrans
  616. gui.BackgroundColor3=backcol
  617. gui.SizeConstraint="RelativeXY"
  618. gui.Position=pos
  619. gui.Size=size
  620. if GuiType=="TextLabel" then
  621. gui.Text=text
  622. gui.TextXAlignment="Center"
  623. gui.TextYAlignment="Center"
  624. gui.Font="SourceSans"
  625. gui.FontSize="Size14"
  626. gui.TextWrapped=false
  627. gui.TextStrokeTransparency=0
  628. gui.TextColor=BrickColor.new("Really black")
  629. elseif GuiType=="ImageLabel" then
  630. gui.Image="rbxassetid://"..image
  631. gui.ImageColor3=backcol
  632. end
  633. return gui
  634. end
  635.  
  636. local Characte=Instance.new("Model")
  637. Characte.Parent=Character
  638. Characte.Name=bName
  639.  
  640.  
  641. --local Torso=part(0,Character,0,0,MainColor,"Torso",vt(2,2,1))
  642. local Torsoc=part(0,Character,0,0,SubColor,"Torso Copy",vt(2,2,1))
  643. --local LeftArm=part(0,Character,0,0,MainColor,"Left Arm",vt(1,2,1))
  644. local LeftArmc=part(0,Character,0,0,SubColor,"Left Arm Copy",vt(1,2,1))
  645. --local RightArm=part(0,Character,0,0,MainColor,"Right Arm",vt(1,2,1))
  646. local RightArmc=part(0,Character,0,0,SubColor,"Right Arm Copy",vt(1,2,1))
  647. --local LeftLeg=part(0,Character,0,0,MainColor,"Left Leg",vt(1,2,1))
  648. local LeftLegc=part(0,Character,0,0,SubColor,"Left Leg Copy",vt(1,2,1))
  649. --local RightLeg=part(0,Character,0,0,MainColor,"Right Leg",vt(1,2,1))
  650. local RightLegc=part(0,Character,0,0,SubColor,"Right Leg Copy",vt(1,2,1))
  651.  
  652.  
  653. --local Head=part(0,Character,0,0,BrickColor.new("Pastel brown"),"Head",vt(2,1,1))
  654. --[[local Torso=part(0,Character,0,0,MainColor,"Torso",vt(2,2,1))
  655. local Torsoc=part(0,Character,0,0,SubColor,"Torso Copy",vt(2,2,1))
  656. local LeftArm=part(0,Character,0,0,SubColor,"Left Arm",vt(1,2,1))
  657. local LeftArmc=part(0,Character,0,0,MainColor,"Left Arm Copy",vt(1,2,1))
  658. local RightArm=part(0,Character,0,0,SubColor,"Right Arm",vt(1,2,1))
  659. local RightArmc=part(0,Character,0,0,MainColor,"Right Arm Copy",vt(1,2,1))
  660. local LeftLeg=part(0,Character,0,0,SubColor,"Left Leg",vt(1,2,1))
  661. local LeftLegc=part(0,Character,0,0,MainColor,"Left Leg Copy",vt(1,2,1))
  662. local RightLeg=part(0,Character,0,0,SubColor,"Right Leg",vt(1,2,1))
  663. local RightLegc=part(0,Character,0,0,MainColor,"Right Leg Copy",vt(1,2,1))]]
  664. --local RootPart=part(0,Character,0,1,MainColor,"HumanoidRootPart",vt(2,2,1))
  665. local Cape=part(0,Character,0,0,BrickColor.new("Really black"),"Hat",vt())
  666. Head.CanCollide=true
  667. Torso.CanCollide=true
  668. LeftArm.CanCollide=true
  669. RightArm.CanCollide=true
  670. LeftLeg.CanCollide=true
  671. RightLeg.CanCollide=true
  672. RootPart.CanCollide=false
  673. Head.face:Remove()
  674. face=Instance.new("Decal",Head)
  675. face.Face="Front"
  676. --face.Texture="http://www.roblox.com/asset/?id="
  677. face.Texture="http://www.roblox.com/asset/?id="
  678.  
  679. local HMesh=mesh("SpecialMesh",Head,"Head","nil",vt(0,0,0),vt(1.25,1.25,1.25))
  680. local TMsh=mesh("SpecialMesh",Torso,"FileMesh","rbxasset://fonts/leftarm.mesh",vt(0,0,0),vt(1.8,1,.8))
  681. local LAMsh=mesh("SpecialMesh",LeftArm,"FileMesh","rbxasset://fonts/leftarm.mesh",vt(0,0,0),vt(.8,.8,.8))
  682. local RAMsh=mesh("SpecialMesh",RightArm,"FileMesh","rbxasset://fonts/leftarm.mesh",vt(0,0,0),vt(.8,.8,.8))
  683. local LLMsh=mesh("SpecialMesh",LeftLeg,"FileMesh","rbxasset://fonts/leftarm.mesh",vt(0,0,0),vt(.8,1,.8))
  684. local RLMsh=mesh("SpecialMesh",RightLeg,"FileMesh","rbxasset://fonts/leftarm.mesh",vt(0,0,0),vt(.8,1,.8))
  685. local TcMsh=mesh("SpecialMesh",Torsoc,"FileMesh","rbxasset://fonts/leftarm.mesh",vt(0,0,0),vt(-2,-1,-1))
  686. local LAcMsh=mesh("SpecialMesh",LeftArmc,"FileMesh","rbxasset://fonts/leftarm.mesh",vt(0,0,0),vt(-1,-1,-1))
  687. local RAcMsh=mesh("SpecialMesh",RightArmc,"FileMesh","rbxasset://fonts/leftarm.mesh",vt(0,0,0),vt(-1,-1,-1))
  688. local LLcMsh=mesh("SpecialMesh",LeftLegc,"FileMesh","rbxasset://fonts/leftarm.mesh",vt(0,0,0),vt(-1,-1.2,-1))
  689. local RLcMsh=mesh("SpecialMesh",RightLegc,"FileMesh","rbxasset://fonts/leftarm.mesh",vt(0,0,0),vt(-1,-1.2,-1))
  690. TMsh.MeshId="rbxasset://fonts/leftarm.mesh"
  691. LAMsh.MeshId="rbxasset://fonts/leftarm.mesh"
  692. RAMsh.MeshId="rbxasset://fonts/leftarm.mesh"
  693. LLMsh.MeshId="rbxasset://fonts/leftarm.mesh"
  694. RLMsh.MeshId="rbxasset://fonts/leftarm.mesh"
  695. TcMsh.MeshId="rbxasset://fonts/leftarm.mesh"
  696. LAcMsh.MeshId="rbxasset://fonts/leftarm.mesh"
  697. RAcMsh.MeshId="rbxasset://fonts/leftarm.mesh"
  698. LLcMsh.MeshId="rbxasset://fonts/leftarm.mesh"
  699. RLcMsh.MeshId="rbxasset://fonts/leftarm.mesh"
  700. local Cmsh=mesh("SpecialMesh",Cape,"FileMesh","http://www.roblox.com/asset/?id=250281794",vt(0,0,0),vt(1,1,1))
  701.  
  702. --[[local Neck=weld(Torso,Torso,Head,cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0))
  703. Neck.C1=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)]]
  704. local Neck=weld(Torso,Torso,Head,euler(0,0,0)*cf(0,1,0))
  705. Neck.C1=cf(0,-.5,0)
  706. local RW=weld(Torso,Torso,RightArm,cf(1.5,.5,0))
  707. RW.C1=cf(0,.5,0)
  708. local RWc=weld(Torso,RightArm,RightArmc,cf(0,0,0))
  709. local LW=weld(Torso,Torso,LeftArm,cf(-1.5,.5,0))
  710. LW.C1=cf(0,.5,0)
  711. local LWc=weld(Torso,LeftArm,LeftArmc,cf(0,0,0))
  712. local RH=weld(Torso,Torso,RightLeg,cf(.5,-1,0))
  713. RH.C1=cf(0,1,0)
  714. local RHc=weld(Torso,RightLeg,RightLegc,cf(0,0,0))
  715. local LH=weld(Torso,Torso,LeftLeg,cf(-.5,-1,0))
  716. LH.C1=cf(0,1,0)
  717. local LHc=weld(Torso,LeftLeg,LeftLegc,cf(0,0,0))
  718. local RootJoint=weld(Torso,Torso,RootPart,cf(0,0,0))
  719. local RootJointc=weld(Torso,Torso,Torsoc,cf(0,0,0))
  720. --local Cwld=weld(Torso,Cape,Head,euler(0,0,0)*cf(0,2,-.3))
  721. local Cwld=weld(Torso,Cape,Torso,euler(0,0,0)*cf(0,.5,-.3))
  722. --Torso.CFrame=cf(math.random(-5000,5000)/100,math.random(-5000,5000)/100,math.random(-5000,5000)/100)
  723. --Torso.CFrame=cf(0,0,0)
  724. --Torso.CFrame=workspace.Map.BossSpawn.CFrame*cf(0,5,0)
  725.  
  726. local hitbox=part(3,nil,0,1,BrickColor.new("Really black"),"Hitbox",vt(1,1,1))
  727. --hitbox.Anchored=true
  728. local hitbox2=part(3,nil,0,1,BrickColor.new("Really black"),"Hitbox",vt(1,1,1))
  729. hitbox2.Anchored=true
  730. local hitboxCF=cf(0,0,0)
  731.  
  732.  
  733.  
  734. --[[local Humanoid=Instance.new("Humanoid")
  735. Humanoid.Parent=Character
  736. TehHealth=700
  737. --TehHealth=2000
  738. Humanoid.MaxHealth=TehHealth
  739. Humanoid.Health=TehHealth
  740. coroutine.resume(coroutine.create(function()
  741. for i=1,20 do
  742. wait()
  743. Humanoid.Health=Humanoid.MaxHealth
  744. end
  745. Humanoid:TakeDamage(1)
  746. end))]]
  747. local Stats=Instance.new("BoolValue")
  748. Stats.Name="Stats"
  749. Stats.Parent=Character
  750. local Atk=Instance.new("NumberValue")
  751. Atk.Name="Damage"
  752. Atk.Parent=Stats
  753. Atk.Value=1
  754. local Def=Instance.new("NumberValue")
  755. Def.Name="Defense"
  756. Def.Parent=Stats
  757. Def.Value=1
  758. local Mvmt=Instance.new("NumberValue")
  759. Mvmt.Name="Movement"
  760. Mvmt.Parent=Stats
  761. Mvmt.Value=1
  762. local Block=Instance.new("BoolValue")
  763. Block.Name="Block"
  764. Block.Parent=Stats
  765. Block.Value=false
  766. local Stun=Instance.new("NumberValue")
  767. Stun.Name="Stun"
  768. Stun.Parent=Stats
  769. Stun.Value=0
  770. local StunT=Instance.new("NumberValue")
  771. StunT.Name="StunThreshold"
  772. StunT.Parent=Stats
  773. StunT.Value=100
  774. local Rooted=Instance.new("BoolValue")
  775. Rooted.Name="Rooted"
  776. Rooted.Parent=Stats
  777. Rooted.Value=false
  778. local Stunned=Instance.new("BoolValue")
  779. Stunned.Name="Stunned"
  780. Stunned.Parent=Stats
  781. Stunned.Value=false
  782. local Stagger=Instance.new("BoolValue")
  783. Stagger.Name="Stagger"
  784. Stagger.Parent=Stats
  785. Stagger.Value=false
  786. local StaggerHit=Instance.new("BoolValue")
  787. StaggerHit.Name="StaggerHit"
  788. StaggerHit.Parent=Stats
  789. StaggerHit.Value=false
  790. local RecentEnemy=Instance.new("ObjectValue")
  791. RecentEnemy.Name="RecentEnemy"
  792. RecentEnemy.Parent=Stats
  793. RecentEnemy.Value=nil
  794. local Decrease=Instance.new("BoolValue")
  795. Decrease.Name="Decrease"
  796. Decrease.Parent=Stats
  797. Decrease.Value=false
  798. local mana=Instance.new("NumberValue")
  799. mana.Name="Mana"
  800. mana.Parent=Stats
  801. mana.Value=0
  802. local boss=Instance.new("BoolValue")
  803. boss.Name="Boss"
  804. boss.Parent=Stats
  805. boss.Value=true
  806. local alive=Instance.new("BoolValue")
  807. alive.Name="Alive"
  808. alive.Parent=Character
  809. alive.Value=true
  810. local btarget=Instance.new("ObjectValue")
  811. btarget.Name="Target"
  812. btarget.Parent=Stats
  813. btarget.Value=nil
  814. local passive1=Instance.new("NumberValue",Decrease)
  815. passive1.Name="DecreaseAtk"
  816. passive1.Value=-.4
  817. local passive2=Instance.new("NumberValue",Decrease)
  818. passive2.Name="DecreaseDef"
  819. passive2.Value=-.1
  820. local passive3=Instance.new("NumberValue",Decrease)
  821. passive3.Name="DecreaseMvmt"
  822. passive3.Value=.1
  823.  
  824. so = function(id,par,vol,pit)
  825. local sou = Instance.new("Sound",par or workspace)
  826. sou.Volume=1.5
  827. sou.Pitch=pit or 1
  828. sou.SoundId="http://www.roblox.com/asset/?id="..id
  829. --swait()
  830. sou:play()
  831. game:GetService("Debris"):AddItem(sou,6)
  832. end
  833.  
  834. local function CFrameFromTopBack(at, top, back)
  835. local right = top:Cross(back)
  836. return CFrame.new(at.x, at.y, at.z,
  837. right.x, top.x, back.x,
  838. right.y, top.y, back.y,
  839. right.z, top.z, back.z)
  840. end
  841.  
  842. function Triangle(a, b, c)
  843. local edg1 = (c-a):Dot((b-a).unit)
  844. local edg2 = (a-b):Dot((c-b).unit)
  845. local edg3 = (b-c):Dot((a-c).unit)
  846. if edg1 <= (b-a).magnitude and edg1 >= 0 then
  847. a, b, c = a, b, c
  848. elseif edg2 <= (c-b).magnitude and edg2 >= 0 then
  849. a, b, c = b, c, a
  850. elseif edg3 <= (a-c).magnitude and edg3 >= 0 then
  851. a, b, c = c, a, b
  852. else
  853. assert(false, "unreachable")
  854. end
  855.  
  856. local len1 = (c-a):Dot((b-a).unit)
  857. local len2 = (b-a).magnitude - len1
  858. local width = (a + (b-a).unit*len1 - c).magnitude
  859.  
  860. local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit)
  861.  
  862. local list = {}
  863.  
  864. if len1 > 0.01 then
  865. local w1 = Instance.new('WedgePart', m)
  866. w1.Name = "Triangle"
  867. game:GetService("Debris"):AddItem(w1,5)
  868. w1.Material = "SmoothPlastic"
  869. w1.FormFactor = 'Custom'
  870. w1.BrickColor = BrickColor.new("Teal")
  871. w1.Transparency = 0
  872. w1.Reflectance = 0
  873. w1.Material = "SmoothPlastic"
  874. w1.CanCollide = false
  875. NoOutline(w1)
  876. local sz = Vector3.new(0.2, width, len1)
  877. w1.Size = sz
  878. local sp = Instance.new("SpecialMesh",w1)
  879. sp.MeshType = "Wedge"
  880. sp.Scale = Vector3.new(0,1,1) * sz/w1.Size
  881. w1:BreakJoints()
  882. w1.Anchored = true
  883. w1.Parent = workspace
  884. w1.Transparency = 0.7
  885. table.insert(Effects,{w1,"Disappear",.05})
  886. w1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2)
  887. table.insert(list,w1)
  888. end
  889.  
  890. if len2 > 0.01 then
  891. local w2 = Instance.new('WedgePart', m)
  892. w2.Name = "Triangle"
  893. game:GetService("Debris"):AddItem(w2,5)
  894. w2.Material = "SmoothPlastic"
  895. w2.FormFactor = 'Custom'
  896. w2.BrickColor = BrickColor.new("Teal")
  897. w2.Transparency = 0
  898. w2.Reflectance = 0
  899. w2.Material = "SmoothPlastic"
  900. w2.CanCollide = false
  901. NoOutline(w2)
  902. local sz = Vector3.new(0.2, width, len2)
  903. w2.Size = sz
  904. local sp = Instance.new("SpecialMesh",w2)
  905. sp.MeshType = "Wedge"
  906. sp.Scale = Vector3.new(0,1,1) * sz/w2.Size
  907. w2:BreakJoints()
  908. w2.Anchored = true
  909. w2.Parent = workspace
  910. w2.Transparency = 0.7
  911. table.insert(Effects,{w2,"Disappear",.05})
  912. w2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2)
  913. table.insert(list,w2)
  914. end
  915. return unpack(list)
  916. end
  917.  
  918. function MagicBlock(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay,Type)
  919. local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(.2,.2,.2))
  920. prt.Anchored=true
  921. prt.CFrame=cframe
  922. msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
  923. game:GetService("Debris"):AddItem(prt,3)
  924. if Type==1 or Type==nil then
  925. table.insert(Effects,{prt,"Block1",delay,x3,y3,z3,msh})
  926. elseif Type==2 then
  927. table.insert(Effects,{prt,"Block2",delay,x3,y3,z3,msh})
  928. end
  929. end
  930.  
  931. function MagicCircle(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  932. local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(.2,.2,.2))
  933. prt.Anchored=true
  934. prt.CFrame=cframe
  935. local msh=mesh("SpecialMesh",prt,"Sphere","nil",vt(0,0,0),vt(x1,y1,z1))
  936. game:GetService("Debris"):AddItem(prt,3)
  937. table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh})
  938. end
  939.  
  940. function MagicCircle2(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  941. local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(.2,.2,.2))
  942. prt.Anchored=true
  943. prt.CFrame=cframe
  944. local msh=mesh("SpecialMesh",prt,"Sphere","nil",vt(0,0,0),vt(x1,y1,z1))
  945. game:GetService("Debris"):AddItem(prt,3)
  946. table.insert(Effects,{prt,"Cylinder2",delay,x3,y3,z3,msh})
  947. end
  948.  
  949. function MagicRing(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  950. local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5))
  951. prt.Anchored=true
  952. prt.CFrame=cframe*cf(x2,y2,z2)
  953. local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=3270017",vt(0,0,0),vt(x1,y1,z1))
  954. game:GetService("Debris"):AddItem(prt,3)
  955. table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh})
  956. end
  957.  
  958. function MagicCylinder(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  959. local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(.2,.2,.2))
  960. prt.Anchored=true
  961. prt.CFrame=cframe
  962. local msh=mesh("CylinderMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
  963. game:GetService("Debris"):AddItem(prt,3)
  964. table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh})
  965. end
  966.  
  967. function MagicCylinder3(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  968. local prt=part(3,Character,0,0,brickcolor,"Effect",vt(.2,.2,.2))
  969. prt.Anchored=true
  970. prt.CFrame=cframe
  971. local msh=mesh("SpecialMesh",prt,"Head","nil",vt(0,0,0),vt(x1,y1,z1))
  972. game:GetService("Debris"):AddItem(prt,3)
  973. table.insert(Effects,{prt,"Cylinder2",delay,x3,y3,z3,msh})
  974. end
  975.  
  976. function MagicHead(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  977. local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(.2,.2,.2))
  978. prt.Anchored=true
  979. prt.CFrame=cframe
  980. local msh=mesh("SpecialMesh",prt,"Head","nil",vt(0,0,0),vt(x1,y1,z1))
  981. game:GetService("Debris"):AddItem(prt,3)
  982. table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh})
  983. end
  984.  
  985. function ClangEffect(brickcolor,cframe,duration,decrease,size,power)
  986. local prt=part(3,workspace,0,1,brickcolor,"Effect",vt(.2,.2,.2))
  987. prt.Anchored=true
  988. prt.CFrame=cframe
  989. local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(5,5,5))
  990. game:GetService("Debris"):AddItem(prt,3)
  991. table.insert(Effects,{prt,"CylinderClang",duration,decrease,size,power,prt.CFrame,nil})
  992. end
  993.  
  994. function MagicWave(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  995. local prt=part(3,workspace,0,0,brickcolor,"Effect",vt(.2,.2,.2))
  996. prt.Anchored=true
  997. prt.CFrame=cframe
  998. local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=20329976",vt(0,0,0),vt(x1,y1,z1))
  999. game:GetService("Debris"):AddItem(prt,3)
  1000. table.insert(Effects,{prt,"Cylinder",delay,x3,y3,z3,msh})
  1001. end
  1002.  
  1003. --[[local BodGy=Instance.new("BodyGyro")
  1004. BodGy.maxTorque=Vector3.new(0,4e+005,0)
  1005. BodGy.P=2000
  1006. BodGy.D=100
  1007. BodGy.Name="SiegmundGyro"
  1008. CF=RootPart.CFrame
  1009. BodGy.Parent=RootPart
  1010. BodGy.cframe=CF]]
  1011.  
  1012. --[[Neck.C0=euler(0,0,0)*cf(0,3,0)*euler(0,.6,0)*euler(-.2,0,0)
  1013. RootJoint.C0=cf(0,-2,0)*euler(0,.6,0)
  1014. RW.C0=cf(4.5,1.5,0)*euler(-.4,0,.5)*euler(0,0,0)
  1015. RW.C1=cf(0,1.5,0)*euler(0,0,0)
  1016. LW.C0=cf(-4.5,1.5,0)*euler(.2,0,-.5)
  1017. LW.C1=cf(0,1.5,0)*euler(0,0,0)
  1018. RH.C0=cf(1.5,-3,0)*euler(0,-.6,0)*euler(0,0,.1)
  1019. RH.C1=cf(0,3,0)*euler(0,0,0)
  1020. LH.C0=cf(-1.5,-3,0)*euler(0,.6,0)*euler(.1,0,0)
  1021. LH.C1=cf(0,3,0)*euler(0,0,0)]]
  1022.  
  1023. --[[RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(3,0,0.5),.3)
  1024. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(0,0,-1.2),.3)
  1025. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*euler(0.4,0,0),.3)
  1026. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-1)*euler(0,0,0),.3)
  1027. RH.C0=clerp(RH.C0,cf(1,-1,0)*euler(-1.2,1.57,0),.3)
  1028. LH.C0=clerp(LH.C0,cf(-1.1,-.5,-0.5)*euler(-0.2,-1.3,0),.3)]]
  1029. function StartAnim()
  1030. attack=true
  1031. --workspace.CurrentCamera.CameraSubject=Head
  1032. Neck.C0=necko*euler(-1,0,0)
  1033. RootJoint.C0=cf(0,10,0)*euler(3.14,0,0)
  1034. RW.C0=cf(.8,.7,-.8)*euler(2,0,-1.4)*euler(0,0,0)
  1035. RW.C1=cf(0,0.5,0)*euler(0,0,0)
  1036. LW.C0=cf(-.8,0,-.8)*euler(1.4,0,1.4)*euler(0,0,0)
  1037. LW.C1=cf(0,0.5,0)*euler(0,0,0)
  1038. RH.C0=cf(.5,-.4,-.4)*euler(0,1.57,0)*euler(-.1,0,-.2)
  1039. LH.C0=cf(-.5,-.4,-.4)*euler(0,-1.57,0)*euler(-.1,0,.2)
  1040. hitfloor,posfloor=rayCast(RootPart.Position,(CFrame.new(RootPart.Position,RootPart.Position - Vector3.new(0,1,0))).lookVector,10,Character)
  1041. while hitfloor==nil do
  1042. swait()
  1043. end
  1044. for i=0,1,0.05 do
  1045. swait()
  1046. Neck.C0=clerp(Neck.C0,necko*euler(-.4,0,0),.2)
  1047. RootJoint.C0=clerp(RootJoint.C0,cf(0,1,0)*euler(0,0,0),.2)
  1048. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(0,0,1.2),.2)
  1049. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(0,0,-1.2),.2)
  1050. RH.C0=clerp(RH.C0,cf(.5,-1,0)*euler(-1.2,1.57,0),.2)
  1051. LH.C0=clerp(LH.C0,cf(-.6,-.5,-0.5)*euler(-0.2,-1.3,0),.2)
  1052. end
  1053. --MagniDamage(Torso,15,6,8,math.random(20,40),"Knockdown2",Torso,0,1,math.random(8,10),nil,nil,true)
  1054. --[[for i=0,1,0.05 do
  1055. swait()
  1056. Neck.C0=clerp(Neck.C0,necko*euler(-.4,0,0),.3)
  1057. RootJoint.C0=clerp(RootJoint.C0,cf(0,1,0)*euler(0,0,0),.3)
  1058. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(0,0,1.2),.3)
  1059. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(0,0,-1.2),.3)
  1060. RH.C0=clerp(RH.C0,cf(.5,-1,0)*euler(-1.2,1.57,0),.3)
  1061. LH.C0=clerp(LH.C0,cf(-.6,-.5,-0.5)*euler(-0.2,-1.3,0),.3)
  1062. end]]
  1063. attack=false
  1064. end
  1065. --[[RW.C0=cf(1.5,0.5,0)*euler(0,0,1.2)
  1066. LW.C0=cf(-1.5,0.5,0)*euler(0,0,-1.2)
  1067. Neck.C0=necko*euler(-.4,0,0)
  1068. RootJoint.C0=cf(0,1,0)*euler(0,0,0)
  1069. RH.C0=cf(1,-1,0)*euler(-1.2,1.57,0)
  1070. LH.C0=cf(-1.1,-.5,-0.5)*euler(-0.2,-1.3,0)]]
  1071.  
  1072. local BodGy=Instance.new("BodyGyro")
  1073. BodGy.maxTorque=Vector3.new(0,0,0)
  1074. BodGy.P=0
  1075. BodGy.D=0
  1076. BodGy.Name="SJamesGyro"
  1077. CF=RootPart.CFrame
  1078. BodGy.Parent=RootPart
  1079. BodGy.cframe=CF
  1080.  
  1081. wait()
  1082. print("Stick James spawned.")
  1083.  
  1084. function StunAnim()
  1085. attack=true
  1086. Stunned.Value=true
  1087. showDamage(Character,"Stunned","Interrupt")
  1088. local dec=Instance.new("NumberValue",Decrease)
  1089. dec.Name="DecreaseMvmt"
  1090. dec.Value=10
  1091. for i=0,1,0.3 do
  1092. swait()
  1093. Neck.C0=clerp(Neck.C0,necko*euler(-.2,.5,0),.2)
  1094. RootJoint.C0=clerp(RootJoint.C0,euler(-.2,3,0),.2)
  1095. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.2,0,1.3),.2)
  1096. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1097. LW.C0=clerp(LW.C0,cf(-1.2,0.5,-.4)*euler(1,0,.4)*euler(0,-.1,0),.2)
  1098. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1099. RH.C0=clerp(RH.C0,cf(.5,-.6,0)*euler(0,1.57,0)*euler(-.5,0,.3),.25)
  1100. LH.C0=clerp(LH.C0,cf(-.5,-.8,0)*euler(0,-1.57,0)*euler(-.2,0,0),.25)
  1101. end
  1102. for i=0,1,0.3 do
  1103. swait()
  1104. Neck.C0=clerp(Neck.C0,necko*euler(-.3,.5,0),.2)
  1105. RootJoint.C0=clerp(RootJoint.C0,cf(0,0,-.5)*euler(-.8,3,0),.2)
  1106. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.8,0,1.3),.2)
  1107. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1108. LW.C0=clerp(LW.C0,cf(-1.2,0.5,-.4)*euler(1.2,0,.8)*euler(0,-.1,0),.2)
  1109. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1110. RH.C0=clerp(RH.C0,cf(.5,-.6,0)*euler(0,1.57,0)*euler(-.5,0,.6),.25)
  1111. LH.C0=clerp(LH.C0,cf(-.5,-.8,0)*euler(0,-1.57,0)*euler(.1,0,.7),.25)
  1112. end
  1113. for i=0,1,0.3 do
  1114. swait()
  1115. Neck.C0=clerp(Neck.C0,necko*euler(-.3,-1,0),.2)
  1116. RootJoint.C0=clerp(RootJoint.C0,cf(0,0,-2)*euler(-1.57,3,0),.2)
  1117. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.8,0,1.3),.2)
  1118. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1119. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1.2,0,-.8)*euler(0,-.1,0),.2)
  1120. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  1121. RH.C0=clerp(RH.C0,cf(.5,-.6,0)*euler(0,1.57,0)*euler(-.2,0,.6),.25)
  1122. LH.C0=clerp(LH.C0,cf(-.5,-.8,0)*euler(0,-1.57,0)*euler(-.1,0,.3),.25)
  1123. end
  1124. local gairost=Instance.new("BodyGyro")
  1125. gairost.Parent=RootPart
  1126. gairost.maxTorque=Vector3.new(2000,0,2000)
  1127. gairost.P=2000
  1128. gairost.cframe=cf(0,0,0)
  1129. for i=0,1,0.1 do
  1130. swait()
  1131. Neck.C0=clerp(Neck.C0,necko*euler(0,-1.57,0),.3)
  1132. RootJoint.C0=clerp(RootJoint.C0,cf(0,0,-2.5)*euler(-1.57,3.14,0),.3)
  1133. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-1.57,0,1.5)*euler(.2,0,0),.3)
  1134. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1135. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1.5,0,-1.57)*euler(0,0,0),.3)
  1136. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1137. RH.C0=clerp(RH.C0,cf(.5,-1,0)*euler(0,1.57,0)*euler(-.3,.5,0),.3)
  1138. LH.C0=clerp(LH.C0,cf(-.5,-1,0)*euler(0,-1.57,0)*euler(-.1,.2,0),.3)
  1139. end
  1140. for i=1,300 do
  1141. swait()
  1142. gairost.cframe=RootPart.CFrame
  1143. end
  1144. for i=0,1,0.2 do
  1145. swait()
  1146. Stun.Value=0
  1147. gairost.cframe=RootPart.CFrame
  1148. Neck.C0=clerp(Neck.C0,necko*euler(0,.2,0),.3)
  1149. RootJoint.C0=clerp(RootJoint.C0,cf(0,0,-2)*euler(-1,4,0),.3)
  1150. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-1.57,0,1)*euler(.2,-1,0),.3)
  1151. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1152. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1.2,0,.2)*euler(0,0,0),.3)
  1153. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1154. RH.C0=clerp(RH.C0,cf(.5,-1,0)*euler(0,1.57,0)*euler(-.3,.5,.4),.3)
  1155. LH.C0=clerp(LH.C0,cf(-.5,-1,-1)*euler(0,-1.57,0)*euler(-.1,.2,1),.3)
  1156. end
  1157. gairost.Parent=nil
  1158. dec.Parent=nil
  1159. Stun.Value=0
  1160. Stunned.Value=false
  1161. attack=false
  1162. for i=1,10 do
  1163. swait()
  1164. Stun.Value=0
  1165. end
  1166. end
  1167. function HeavyPunch(movement)
  1168. attack=true
  1169. for i=0,1,0.1 do
  1170. swait()
  1171. Neck.C0=clerp(Neck.C0,necko*euler(0,0,0)*euler(0,0,0),.3)
  1172. RootJoint.C0=clerp(RootJoint.C0,euler(0,0,0)*cf(0,0,0),.3)
  1173. RW.C0=clerp(RW.C0,cf(.8,1.2,-.8)*euler(2,0,-1.4)*euler(0,0,0),.3)
  1174. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1175. LW.C0=clerp(LW.C0,cf(-.8,.4,-.8)*euler(1.4,0,1.4)*euler(0,0,0),.3)
  1176. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1177. RH.C0=clerp(RH.C0,cf(.5,-1,-.2)*euler(0,1.57,0)*euler(-.1,-.2,0),.3)
  1178. LH.C0=clerp(LH.C0,cf(-.5,-1,-.2)*euler(0,-1.57,0)*euler(-.1,.2,0),.3)
  1179. end
  1180. for i=0,1,0.1 do
  1181. swait()
  1182. Neck.C0=clerp(Neck.C0,necko*euler(0,1,0)*euler(0,0,0),.3)
  1183. RootJoint.C0=clerp(RootJoint.C0,euler(0,1,0)*cf(0,0,0),.3)
  1184. RW.C0=clerp(RW.C0,cf(1.5,.5,0)*euler(1.8,0,.5)*euler(0,0,0),.3)
  1185. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1186. LW.C0=clerp(LW.C0,cf(-1,.5,-.5)*euler(1,0,1.2)*euler(0,0,0),.3)
  1187. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1188. RH.C0=clerp(RH.C0,cf(.5,-1,0)*euler(0,1.57,0)*euler(-.4,-.2,0),.3)
  1189. LH.C0=clerp(LH.C0,cf(-.5,-1,-.2)*euler(0,-1.57,0)*euler(0,1,0)*euler(0,0,-.1),.3)
  1190. end
  1191. if movement==true then
  1192. Torso.Velocity=RootPart.CFrame.lookVector*150
  1193. else
  1194. Torso.Velocity=RootPart.CFrame.lookVector*40
  1195. end
  1196. so("169445092",RightArm,1,1)
  1197. for i=0,1,0.15 do
  1198. swait()
  1199. if RecentEnemy.Value==nil then
  1200. MagniDamage(RightArm,4,8,10,math.random(20,30),"Normal",RootPart,.2,2,10,nil,nil,false,nil,nil,nil,true)
  1201. end
  1202. Neck.C0=clerp(Neck.C0,necko*euler(0,-1,0)*euler(.2,0,0),.3)
  1203. RootJoint.C0=clerp(RootJoint.C0,euler(0,-1,0)*euler(.5,0,0)*cf(0,0,1),.3)
  1204. RW.C0=clerp(RW.C0,cf(1.5,.5,0)*euler(1.8,0,.5)*euler(0,0,0),.3)
  1205. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1206. LW.C0=clerp(LW.C0,cf(-1.5,.5,0)*euler(.5,0,-1.2)*euler(0,0,0),.3)
  1207. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1208. RH.C0=clerp(RH.C0,cf(.5,-1,0)*euler(0,1.57,0)*euler(-.2,-.4,0)*euler(0,0,-1),.3)
  1209. LH.C0=clerp(LH.C0,cf(-.3,-.9,-.6)*euler(0,-1.57,0)*euler(0,-1,0)*euler(0,0,-.7),.3)
  1210. end
  1211. for i=0,1,0.1 do
  1212. swait()
  1213. Neck.C0=clerp(Neck.C0,necko*euler(0,-1,0)*euler(.2,0,0),.3)
  1214. RootJoint.C0=clerp(RootJoint.C0,euler(0,-1.2,0)*euler(.3,0,0)*cf(0,0,.5),.3)
  1215. RW.C0=clerp(RW.C0,cf(1.5,.5,0)*euler(1,0,.2)*euler(0,0,0),.3)
  1216. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1217. LW.C0=clerp(LW.C0,cf(-1.5,.5,0)*euler(.2,0,-.5)*euler(0,0,0),.3)
  1218. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1219. RH.C0=clerp(RH.C0,cf(.5,-.9,-.5)*euler(0,1.57,0)*euler(-.2,-.4,0)*euler(0,0,-1.2),.3)
  1220. LH.C0=clerp(LH.C0,cf(-.3,-.9,-.6)*euler(0,-1.57,0)*euler(0,-1,0)*euler(0,0,-.5),.3)
  1221. end
  1222. attack=false
  1223. end
  1224.  
  1225. function Punch(movement)
  1226. attack=true
  1227. for i=0,1,0.1 do
  1228. swait()
  1229. Neck.C0=clerp(Neck.C0,necko*euler(0,-.5,0)*euler(-.2,0,0),.3)
  1230. RootJoint.C0=clerp(RootJoint.C0,euler(0,-.5,0)*euler(.1,0,0)*cf(0,.2,0),.3)
  1231. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(.2,0,.8)*euler(0,0,0),.3)
  1232. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1233. LW.C0=clerp(LW.C0,cf(-1.3,0.5,-.2)*euler(1.4,0,.5)*euler(0,0,0),.3)
  1234. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1235. RH.C0=clerp(RH.C0,cf(.6,-.9,-.2)*euler(0,1.57,0)*euler(0,-.5,-.05),.3)
  1236. LH.C0=clerp(LH.C0,cf(-.6,-.8,-.2)*euler(0,-1.57,0)*euler(0,0,.4),.3)
  1237. end
  1238. if movement==true then
  1239. Torso.Velocity=RootPart.CFrame.lookVector*150
  1240. else
  1241. Torso.Velocity=RootPart.CFrame.lookVector*40
  1242. end
  1243. so("169445092",LeftArm,1,1.2)
  1244. for i=0,1,0.1 do
  1245. swait()
  1246. MagniDamage(LeftArm,4,6,8,math.random(15,20),"Normal",RootPart,.2,2,math.random(5,7),nil,nil,false,nil,nil,nil,false)
  1247. --MagniDamage(LeftArm,2,6,8,0,"Normal",RootPart,.3,1,math.random(6,7),nil,nil)
  1248. Neck.C0=clerp(Neck.C0,necko*euler(0,1,0)*euler(-.1,0,0),.3)
  1249. RootJoint.C0=clerp(RootJoint.C0,euler(0,1,0)*euler(.2,0,0)*cf(0,.2,1),.3)
  1250. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.5,0,1)*euler(0,0,0),.3)
  1251. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1252. --LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1.7,0,.2)*euler(0,0,0),.3)
  1253. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  1254. RH.C0=clerp(RH.C0,cf(.6,-.9,-.2)*euler(0,1.57,0)*euler(0,.8,-.3),.3)
  1255. LH.C0=clerp(LH.C0,cf(-.6,-.9,-.2)*euler(0,-1.57,0)*euler(0,1,0),.3)
  1256. if i<.3 then
  1257. LW.C0=clerp(LW.C0,cf(-1.3,0.5,-.2)*euler(1.7,0,-.6)*euler(0,0,0),.3)
  1258. else
  1259. LW.C0=clerp(LW.C0,cf(-1.2,0.5,-.2)*euler(1.7,0,-.3)*euler(0,0,0),.3)
  1260. end
  1261. end
  1262. attack=false
  1263. end
  1264.  
  1265. function ButtonPunch(movement)
  1266. attack=true
  1267. buttonp=true
  1268. for i=0,1,0.1 do
  1269. swait()
  1270. Neck.C0=clerp(Neck.C0,necko*euler(-.4,0,0),.3)
  1271. RootJoint.C0=clerp(RootJoint.C0,cf(0,1,0)*euler(0,0,0),.3)
  1272. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.5,0,.5),.3)
  1273. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.5,0,-.5),.3)
  1274. RH.C0=clerp(RH.C0,cf(.5,-1,0)*euler(-1.2,1.57,0),.3)
  1275. LH.C0=clerp(LH.C0,cf(-.6,-.5,-0.5)*euler(-0.2,-1.3,0),.3)
  1276. end
  1277. so("158149887",Torso,.5,.8)
  1278. if movement==true then
  1279. Torso.Velocity=RootPart.CFrame.lookVector*150
  1280. else
  1281. Torso.Velocity=RootPart.CFrame.lookVector*40
  1282. end
  1283. cef=0
  1284. cef2=0
  1285. for i=0,1,0.1 do
  1286. swait()
  1287. Neck.C0=clerp(Neck.C0,necko*euler(-.4,0,0),.3)
  1288. RootJoint.C0=clerp(RootJoint.C0,cf(0,0,0)*euler(0,0,0),.3)
  1289. RootJoint.C1=cf(0,cef2,0)*euler(cef,0,0)
  1290. cef=cef+.6
  1291. cef2=cef2+.5
  1292. RW.C0=cf(.8,.7,-.8)*euler(2,0,-1.4)*euler(0,0,0)
  1293. RW.C1=cf(0,0.5,0)*euler(0,0,0)
  1294. LW.C0=cf(-.8,0,-.8)*euler(1.4,0,1.4)*euler(0,0,0)
  1295. LW.C1=cf(0,0.5,0)*euler(0,0,0)
  1296. RH.C0=clerp(RH.C0,cf(.5,-.4,-.4)*euler(0,1.57,0)*euler(-.1,0,-.2),.3)
  1297. LH.C0=clerp(LH.C0,cf(-.5,-.4,-.4)*euler(0,-1.57,0)*euler(-.1,0,.2),.3)
  1298. end
  1299. for i=0,1,0.1 do
  1300. swait()
  1301. Neck.C0=clerp(Neck.C0,necko*euler(-.6,0,0)*euler(0,-1,0),.3)
  1302. RootJoint.C0=clerp(RootJoint.C0,cf(0,0,0)*euler(0,-1,0),.3)
  1303. RootJoint.C1=clerp(RootJoint.C1,cf(0,5,0)*euler(.2,0,0),.3)
  1304. RW.C0=cf(1.5,.5,0)*euler(.5,0,.5)*euler(0,0,0)
  1305. RW.C1=cf(0,0.5,0)*euler(0,0,0)
  1306. LW.C0=cf(-1.5,.5,0)*euler(2,0,-1)*euler(0,0,0)
  1307. LW.C1=cf(0,0.5,0)*euler(0,0,0)
  1308. RH.C0=clerp(RH.C0,cf(.5,-.8,-.1)*euler(0,1.57,0)*euler(-.1,0,-.4),.3)
  1309. LH.C0=clerp(LH.C0,cf(-.5,-.8,-.1)*euler(0,-1.57,0)*euler(-.1,0,.4),.3)
  1310. end
  1311. so("169445092",RightArm,1,1)
  1312. for i=0,1,0.05 do
  1313. swait()
  1314. if RecentEnemy.Value==nil then
  1315. MagniDamage(RightArm,5,10,12,math.random(20,30),"Normal",RootPart,.2,2,10,nil,nil,false,nil,nil,nil,true)
  1316. end
  1317. Neck.C0=clerp(Neck.C0,necko*euler(0,.7,0)*euler(-.1,0,0),.3)
  1318. RootJoint.C0=clerp(RootJoint.C0,euler(0,1,0)*euler(.3,0,0)*cf(0,0,1),.3)
  1319. RootJoint.C1=clerp(RootJoint.C1,cf(0,0,0)*euler(0,0,0),.3)
  1320. RW.C0=cf(1.5,.5,0)*euler(.5,0,.5)*euler(0,0,0)
  1321. RW.C1=cf(0,0.5,0)*euler(0,0,0)
  1322. LW.C0=cf(-1.5,.5,0)*euler(2,0,-.8)*euler(0,0,0)
  1323. LW.C1=cf(0,0.5,0)*euler(0,0,0)
  1324. RH.C0=clerp(RH.C0,cf(.5,-.8,-.1)*euler(0,1.57,0)*euler(-.5,-1,0),.3)
  1325. LH.C0=clerp(LH.C0,cf(-.5,-.9,-.3)*euler(0,-1.57,0)*euler(-.1,-1,.1),.3)
  1326. end
  1327. RootJoint.C1=cf(0,0,0)
  1328. buttonp=false
  1329. attack=false
  1330. for i=1,500 do
  1331. swait()
  1332. if buttonp==true then break end
  1333. end
  1334. for _,c in pairs(workspace:children()) do
  1335. if c:findFirstChild("Stats")~=nil then
  1336. if c.Stats:findFirstChild("Boss")~=nil then
  1337. if c.Stats.Boss.Value==true then
  1338. if c.Stats:findFirstChild("Target")~=nil then
  1339. c.Stats.Target.Value=nil
  1340. end
  1341. end
  1342. end
  1343. end
  1344. end
  1345. end
  1346.  
  1347.  
  1348. function DecreaseStat(Model,Stat,Amount,Duration)
  1349. if Model:findFirstChild("Stats")~=nil then
  1350. if Model.Stats[Stat]~=nil then
  1351. Model.Stats[Stat].Value=Model.Stats[Stat].Value-Amount
  1352. d=Instance.new("NumberValue",Model.Stats.Decrease)
  1353. game:GetService("Debris"):AddItem(d,40)
  1354. if Stat=="Damage" then
  1355. d.Name="DecreaseAtk"
  1356. elseif Stat=="Defense" then
  1357. d.Name="DecreaseDef"
  1358. elseif Stat=="Movement" then
  1359. d.Name="DecreaseMvmt"
  1360. end
  1361. if Model:findFirstChild("Torso")~=nil then
  1362. display=""
  1363. if Stat=="Damage" then
  1364. if Amount>0 then
  1365. display="-Damage"
  1366. else
  1367. display="+Damage"
  1368. end
  1369. elseif Stat=="Defense" then
  1370. if Amount>0 then
  1371. display="-Defense"
  1372. else
  1373. display="+Defense"
  1374. end
  1375. elseif Stat=="Movement" then
  1376. if Amount>0 then
  1377. display="-Movement"
  1378. else
  1379. display="+Movement"
  1380. end
  1381. end
  1382. showDamage(Model,display,"Debuff")
  1383. end
  1384. d.Value=Amount
  1385. table.insert(Effects,{Model,"DecreaseStat",Stat,Amount,Duration,d})
  1386. end
  1387. end
  1388. end
  1389.  
  1390. function rayCast(Pos, Dir, Max, Ignore) -- Origin Position , Direction, MaxDistance , IgnoreDescendants
  1391. return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
  1392. end
  1393.  
  1394. --[[function findNearestTorso(pos)
  1395. local list = game.Workspace:children()
  1396. local torso = nil
  1397. local dist = 1000
  1398. local temp = nil
  1399. local human = nil
  1400. local temp2 = nil
  1401. for x = 1, #list do
  1402. temp2 = list[x]
  1403. if (temp2.className == "Model") and (temp2.Name~=bName) then
  1404. temp = temp2:findFirstChild("Torso")
  1405. human = temp2:findFirstChild("Humanoid")
  1406. if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
  1407. if btarget.Value==nil then
  1408. if (temp.Position - pos).magnitude < dist then
  1409. local dohit=true
  1410. if temp2:findFirstChild("Stats")~=nil then if temp2.Stats:findFirstChild("Boss")~=nil then if temp2.Stats.Boss.Value==true then dohit=false end end end
  1411. if temp2:findFirstChild("Alive")==nil then dohit=false end
  1412. if dohit==true then
  1413. torso = temp
  1414. dist = (temp.Position - pos).magnitude
  1415. end
  1416. end
  1417. else
  1418. if btarget.Value.Parent~=nil then
  1419. if btarget.Value:findFirstChild("Torso")~=nil then
  1420. if btarget.Value:findFirstChild("Humanoid")~=nil then
  1421. if btarget.Value.Humanoid.Health<=0 then
  1422. btarget.Value=nil
  1423. end
  1424. end
  1425. if btarget.Value~=nil then
  1426. torso=btarget.Value.Torso
  1427. dist = (torso.Position - pos).magnitude
  1428. end
  1429. end
  1430. else
  1431. btarget.Value=nil
  1432. end
  1433. end
  1434. end
  1435. end
  1436. end
  1437. return torso,dist
  1438. end]]
  1439. findNearestTorso = function(pos)
  1440. local list = (game.Workspace:children())
  1441. local torso = nil
  1442. local dist = 1000
  1443. local temp, human, temp2 = nil, nil, nil
  1444. for x = 1, #list do
  1445. temp2 = list[x]
  1446. if temp2.className == "Model" and temp2.Name ~= Character.Name then
  1447. temp = temp2:findFirstChild("Torso")
  1448. human = temp2:findFirstChild("Humanoid")
  1449. if temp ~= nil and human ~= nil and human.Health > 0 and (temp.Position - pos).magnitude < dist then
  1450. local dohit = true
  1451. if dohit == true then
  1452. torso = temp
  1453. dist = (temp.Position - pos).magnitude
  1454. end
  1455. end
  1456. end
  1457. end
  1458. return torso, dist
  1459. end
  1460. function findRandomTorso(pos)
  1461. local list = game.Workspace:children()
  1462. local torso = nil
  1463. local dist = 1000
  1464. local temp = nil
  1465. local human = nil
  1466. local temp2 = nil
  1467. local list2 = {}
  1468. for x = 1, #list do
  1469. temp2 = list[x]
  1470. if (temp2.className == "Model") and (temp2.Name~="Vanta") then
  1471. temp = temp2:findFirstChild("Torso")
  1472. human = temp2:findFirstChild("Humanoid")
  1473. if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
  1474. if pos.magnitude < dist then
  1475. torso = temp
  1476. table.insert(list2,temp)
  1477. end
  1478. end
  1479. end
  1480. end
  1481. if #list2>0 then
  1482. rand=math.random(1,#list2)
  1483. return list2[rand],dist
  1484. else
  1485. return nil,dist
  1486. end
  1487. end
  1488.  
  1489. Damagefunc=function(hit,minim,maxim,knockback,Type,Property,Delay,KnockbackType,incstun,stagger,staghit,ranged,DecreaseState,DecreaseAmount,Duration,Sound)
  1490. if hit.Parent==nil then
  1491. return
  1492. end
  1493. h=hit.Parent:FindFirstChild("Humanoid")
  1494. for _,v in pairs(hit.Parent:children()) do
  1495. if v:IsA("Humanoid") then
  1496. h=v
  1497. end
  1498. end
  1499. if hit.Parent.Parent:FindFirstChild("Torso")~=nil then
  1500. h=hit.Parent.Parent:FindFirstChild("Humanoid")
  1501. end
  1502. if hit.Parent.className=="Hat" then
  1503. hit=hit.Parent.Parent:findFirstChild("Head")
  1504. end
  1505. if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then
  1506. if hit.Parent:findFirstChild("DebounceHit")~=nil then if hit.Parent.DebounceHit.Value==true then return end end
  1507. if hit.Parent:findFirstChild("Stats")~=nil then if hit.Parent.Stats:findFirstChild("Boss")~=nil then if hit.Parent.Stats.Boss.Value==true then return end end end
  1508. RecentEnemy.Value=hit.Parent
  1509. game:GetService("Debris"):AddItem(c,.5)
  1510. minim=minim*Atk.Value
  1511. maxim=maxim*Atk.Value
  1512. Damage=0
  1513. if minim==maxim or minim>maxim then
  1514. Damage=maxim
  1515. else
  1516. Damage=math.random(minim,maxim)
  1517. end
  1518. blocked=false
  1519. enblock=nil
  1520. Stats=hit.Parent:findFirstChild("Stats")
  1521. if Stats~=nil then
  1522. enblock=Stats:findFirstChild("Block")
  1523. if enblock~=nil then
  1524. if enblock.Value==true then
  1525. blocked=true
  1526. end
  1527. end
  1528. if Stats:findFirstChild("Defense")~=nil then
  1529. Damage=Damage/(Stats.Defense.Value)
  1530. if Damage<=3 and (ranged==false or ranged==nil) and blocked~=true then
  1531. hitnum=math.random(1,3)
  1532. if hitnum==1 then so("169380525",hit,1,math.random(80,120)/100)
  1533. elseif hitnum==2 then so("169380538",hit,1,math.random(80,120)/100)
  1534. elseif hitnum==3 then so("169380528",hit,1,math.random(80,120)/100)
  1535. end
  1536. --[[if hitnum==1 then so("199149321",hit,1,1)
  1537. elseif hitnum==2 then so("199149338",hit,1,1)
  1538. elseif hitnum==3 then so("199149367",hit,1,1)
  1539. elseif hitnum==4 then so("199149409",hit,1,1)
  1540. elseif hitnum==5 then so("199149452",hit,1,1)
  1541. end]]
  1542. elseif ranged==false or ranged==nil and blocked~=true then
  1543. hitnum=math.random(1,3)
  1544. if hitnum==1 then so("169380525",hit,1,math.random(80,120)/100)
  1545. elseif hitnum==2 then so("169380538",hit,1,math.random(80,120)/100)
  1546. elseif hitnum==3 then so("169380528",hit,1,math.random(80,120)/100)
  1547. end
  1548. --[[if hitnum==1 then so("199149137",hit,1,1)
  1549. elseif hitnum==2 then so("199149186",hit,1,1)
  1550. elseif hitnum==3 then so("199149221",hit,1,1)
  1551. elseif hitnum==4 then so("199149235",hit,1,1)
  1552. elseif hitnum==5 then so("199149269",hit,1,1)
  1553. elseif hitnum==6 then so("199149297",hit,1,1)
  1554. end]]
  1555. end
  1556. end
  1557. if Stats:findFirstChild("Stun")~=nil then
  1558. if blocked==true then
  1559. incstun=math.floor(incstun/2)
  1560. end
  1561. Stats.Stun.Value=Stats.Stun.Value+incstun
  1562. end
  1563. if Stats:findFirstChild("Stagger")~=nil then
  1564. if stagger==true then
  1565. Stats.Stagger.Value=true
  1566. end
  1567. end
  1568. end
  1569. if blocked==true then
  1570. showDamage(hit.Parent,"Block","Damage")
  1571. hitnum=math.random(1,2)
  1572. if hitnum==1 then so("199148933",hit,1,1)
  1573. elseif hitnum==2 then so("199148947",hit,1,1)
  1574. end
  1575. enblock.Value=false
  1576. else
  1577. Damage=math.floor(Damage)
  1578. h.Health=h.Health-Damage
  1579. --[[coroutine.resume(coroutine.create(function(Hum,Dam)
  1580. damageFunc:InvokeServer(Hum,Dam)
  1581. end),h,Damage)]]
  1582. showDamage(hit.Parent,Damage,"Damage")
  1583. if DecreaseState~=nil then
  1584. if DecreaseState=="Shatter" then
  1585. DecreaseStat(hit.Parent,"Movement",DecreaseAmount,Duration)
  1586. DecreaseStat(hit.Parent,"Damage",DecreaseAmount,Duration)
  1587. else
  1588. DecreaseStat(hit.Parent,DecreaseState,DecreaseAmount,Duration)
  1589. end
  1590. end
  1591. if Type=="Knockdown" then
  1592. hum=hit.Parent.Humanoid
  1593. hum.PlatformStand=true
  1594. coroutine.resume(coroutine.create(function(HHumanoid)
  1595. swait(1)
  1596. HHumanoid.PlatformStand=false
  1597. end),hum)
  1598. local angle=(hit.Position-(Property.Position+Vector3.new(0,0,0))).unit
  1599. --hit.CFrame=cf(hit.Position,Vector3.new(angle.x,hit.Position.y,angle.z))*CFrame.fromEulerAnglesXYZ(math.pi/4,0,0)
  1600. local bodvol=Instance.new("BodyVelocity")
  1601. bodvol.velocity=angle*knockback
  1602. bodvol.P=5000
  1603. bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003)
  1604. bodvol.Parent=hit
  1605. rl=Instance.new("BodyAngularVelocity")
  1606. rl.P=3000
  1607. rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000
  1608. rl.angularvelocity=Vector3.new(math.random(-10,10),math.random(-10,10),math.random(-10,10))
  1609. rl.Parent=hit
  1610. game:GetService("Debris"):AddItem(bodvol,.5)
  1611. game:GetService("Debris"):AddItem(rl,.5)
  1612. elseif Type=="Shatter" then
  1613. for i=1,10 do
  1614. BreakEffect(BrickColor.new("Cyan"),hit.CFrame,math.random(20,80)/100,math.random(2,10),math.random(20,80)/100)
  1615. end
  1616. elseif Type=="Knockdown2" then
  1617. hum=hit.Parent.Humanoid
  1618. local angle=(hit.Position-(Property.Position+Vector3.new(0,0,0))).unit
  1619. local bodvol=Instance.new("BodyVelocity")
  1620. bodvol.velocity=angle*knockback
  1621. bodvol.P=5000
  1622. bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003)
  1623. bodvol.Parent=hit
  1624. game:GetService("Debris"):AddItem(bodvol,.5)
  1625. elseif Type=="Normal" then
  1626. vp=Instance.new("BodyVelocity")
  1627. vp.P=500
  1628. vp.maxForce=Vector3.new(math.huge,0,math.huge)
  1629. if KnockbackType==1 then
  1630. vp.velocity=Property.CFrame.lookVector*knockback+Property.Velocity/1.05
  1631. elseif KnockbackType==2 then
  1632. vp.velocity=Property.CFrame.lookVector*knockback
  1633. end
  1634. game:GetService("Debris"):AddItem(vp,.5)
  1635. if knockback>0 then
  1636. vp.Parent=hit.Parent.Torso
  1637. end
  1638. end
  1639. end
  1640. debounce=Instance.new("BoolValue")
  1641. debounce.Name="DebounceHit"
  1642. debounce.Parent=hit.Parent
  1643. debounce.Value=true
  1644. game:GetService("Debris"):AddItem(debounce,Delay)
  1645. CRIT=false
  1646. end
  1647. end
  1648.  
  1649. showDamage=function(Char,Dealt,Type)
  1650. m=Instance.new("Model")
  1651. m.Name="Effect"
  1652. c=Instance.new("Part")
  1653. c.Transparency=1
  1654. c.Name="Head"
  1655. c.TopSurface=0
  1656. c.BottomSurface=0
  1657. c.formFactor="Plate"
  1658. c.Size=Vector3.new(1,.4,1)
  1659. b=Instance.new("BillboardGui",c)
  1660. b.Size=UDim2.new(5,0,5,0)
  1661. b.AlwaysOnTop=true
  1662. damgui=gui("TextLabel",b,tostring(Dealt),1,Color3.new(0,0,0),UDim2.new(0,0,0,0),UDim2.new(1,0,1,0))
  1663. if Type=="Damage" then
  1664. damgui.Font="SourceSans"
  1665. if Dealt=="Block" then
  1666. damgui.TextColor3=BrickColor.new("Really black").Color
  1667. elseif Dealt<3 then
  1668. damgui.TextColor3=BrickColor.new("Really black").Color
  1669. elseif Dealt>=3 and Dealt<20 then
  1670. damgui.TextColor3=BrickColor.new("Black").Color
  1671. else
  1672. damgui.TextColor3=BrickColor.new("Really black").Color
  1673. damgui.Font="SourceSansBold"
  1674. end
  1675. elseif Type=="Debuff" then
  1676. damgui.TextColor3=BrickColor.new("Really black").Color
  1677. elseif Type=="Interrupt" then
  1678. damgui.TextColor3=BrickColor.new("Black").Color
  1679. end
  1680. --damgui.FontSize="Size48"
  1681. damgui.TextScaled=true
  1682. ms=Instance.new("CylinderMesh")
  1683. ms.Scale=Vector3.new(1,1,1)
  1684. ms.Parent=c
  1685. c.Reflectance=0
  1686. Instance.new("BodyGyro").Parent=c
  1687. c.Parent=m
  1688. if Char:findFirstChild("Head")~=nil then
  1689. c.CFrame=cf(Char["Head"].CFrame.p+Vector3.new(math.random(-100,100)/100,3,math.random(-100,100)/100))
  1690. elseif Char.Parent:findFirstChild("Head")~=nil then
  1691. c.CFrame=cf(Char.Parent["Head"].CFrame.p+Vector3.new(math.random(-100,100)/100,3,math.random(-100,100)/100))
  1692. end
  1693. f=Instance.new("BodyPosition")
  1694. f.P=2000
  1695. f.D=100
  1696. f.maxForce=Vector3.new(math.huge,math.huge,math.huge)
  1697. if Type=="Damage" then
  1698. f.position=c.Position+Vector3.new(0,3,0)
  1699. elseif Type=="Debuff" or Type=="Interrupt" then
  1700. f.position=c.Position+Vector3.new(0,5,0)
  1701. end
  1702. f.Parent=c
  1703. game:GetService("Debris"):AddItem(m,5)
  1704. table.insert(Effects,{m,"showDamage",damgui,f,10,1,15,50,100})
  1705. c.CanCollide=false
  1706. m.Parent=workspace
  1707. c.CanCollide=false
  1708. end
  1709.  
  1710. function MagniDamage(Part,magni,minim,maxim,knockback,Type,Property,Delay,KnockbackType,incstun,stagger,staghit,ranged,DecreaseState,DecreaseAmount,Duration)
  1711. for _,c in pairs(workspace:children()) do
  1712. local hum=c:findFirstChild("Humanoid")
  1713. if hum~=nil then
  1714. local head=nil
  1715. for _,d in pairs(c:children()) do
  1716. --if d.Name=="Torso" or d.Name=="Head" or d.Name=="HumanoidRootPart" or d.Name=="HitPart" then
  1717. --[[if d.className=="Model" and ranged~=true then
  1718. head=d:findFirstChild("Hitbox")
  1719. if d.Parent==Character then break end
  1720. if head~=nil then
  1721. local targ=head.Position-Part.Position
  1722. local mag=targ.magnitude
  1723. if mag<=magni then
  1724. ref=part(3,workspace,0,1,BrickColor.new("Really black"),"Reference",vt())
  1725. ref.Anchored=true
  1726. ref.CFrame=cf(head.Position)
  1727. game:GetService("Debris"):AddItem(ref,1)
  1728. hitnum=math.random(1,5)
  1729. if hitnum==1 then so("199148971",ref,1,1)
  1730. elseif hitnum==2 then so("199149025",ref,1,1)
  1731. elseif hitnum==3 then so("199149072",ref,1,1)
  1732. elseif hitnum==4 then so("199149109",ref,1,1)
  1733. elseif hitnum==5 then so("199149119",ref,1,1)
  1734. end
  1735. StaggerHit.Value=true
  1736. end
  1737. end
  1738. end]]
  1739. if d.className=="Part" then
  1740. head=d
  1741. if head~=nil then
  1742. local targ=head.Position-Part.Position
  1743. local mag=targ.magnitude
  1744. if mag<=magni and c.Name~=Character then
  1745. if stun==nil then
  1746. stun=math.random(5,10)
  1747. end
  1748. local Rang=nil
  1749. if Ranged==false then
  1750. Rang=true
  1751. end
  1752. local stag=nil
  1753. if shbash==true then
  1754. stag=true
  1755. end
  1756. Damagefunc(head,minim,maxim,knockback,Type,Property,Delay,KnockbackType,incstun,stagger,staghit,ranged,DecreaseState,DecreaseAmount,Duration)
  1757. --Damagefunc(hit,minim,maxim,knockback,Type,Property,Delay,KnockbackType,incstun,stagger,staghit,DecreaseState,DecreaseAmount,Duration)
  1758. end
  1759. end
  1760. end
  1761. end
  1762. end
  1763. end
  1764. end
  1765. local hold = false
  1766. function onKeyDown(key)
  1767. if attack==false then
  1768. if key=="z" then
  1769. ButtonPunch(true)
  1770. elseif key=="x" then
  1771. HeavyPunch(true)
  1772. elseif key=="c" then
  1773. Punch(true)
  1774. elseif key=="v" then
  1775. Punch(false)
  1776. elseif key == "b" then
  1777. HeavyPunch(false)
  1778. elseif key == "n" then
  1779. ButtonPunch(false)
  1780. elseif key == "m" then
  1781. ---DeathImpact()
  1782. elseif key == "f" then
  1783. ---Jump()
  1784. elseif key=="0" and hold == false then
  1785. hold = true
  1786. run.Parent=Decrease
  1787. end
  1788. end
  1789. end
  1790. function onKeyUp(key)
  1791. if attack==false then
  1792. if key=="0" and hold == true then
  1793. hold = false
  1794. run.Parent=nil
  1795. end
  1796. end
  1797. end
  1798. Mouse.KeyDown:connect(onKeyDown)
  1799. Mouse.KeyUp:connect(onKeyUp)
  1800. local stunnum=0
  1801. local animnum=0
  1802. local idle=1
  1803. local animlimit=5
  1804. local target,distance=nil,nil
  1805. local attacking=false
  1806. local stunanim=false
  1807. while Humanoid.Health>0 do
  1808. swait()
  1809. --[[print(target)
  1810. print(distance)]]
  1811. hitbox2.Parent=hitbox.Parent
  1812. hitbox2.Size=hitbox.Size
  1813. hitbox2.CFrame=hitboxCF
  1814. --[[for _,c in pairs(Character:children()) do
  1815. for _,v in pairs(c:children()) do
  1816. if v.className=="BodyGyro" or v.className=="BodyPosition" or v.className=="BodyVelocity" or v.className=="BodyAngularVelocity" then
  1817. if v.Name~="SiegmundGyro" and v.Name~="SiegmundPos" then
  1818. print("dai")
  1819. v.Parent=nil
  1820. end
  1821. end
  1822. end
  1823. end]]
  1824. coroutine.resume(coroutine.create(function()
  1825. if start==false then
  1826. start=true
  1827. --StartAnim()
  1828. end
  1829. end))
  1830. if attack==false then
  1831. BodGy.cframe=cf(Torso.Position,Mouse.Hit.p)
  1832. end
  1833. target,distance=findNearestTorso(Torso.Position)
  1834. --[[if target~=nil then
  1835. if attack==false then
  1836. BodGy.cframe=cf(Torso.Position,target.Position)
  1837. end
  1838. numb1=RootPart.Position.y
  1839. numb2=target.Position.y
  1840. if numb2-numb1>=5 or numb2-numb1<=-5 then
  1841. if distance<=30 then
  1842. if attack==false then
  1843. attackrand=math.random(1,20)
  1844. if attackrand==1 then
  1845. coroutine.resume(coroutine.create(function()
  1846. RecentEnemy.Value=nil
  1847. JumpKick()
  1848. end))
  1849. end
  1850. end
  1851. end
  1852. end
  1853. if distance>30 then --far range
  1854. Humanoid:MoveTo(target.Position)
  1855. run.Parent=Decrease
  1856. if attack==false then
  1857. attackrand=math.random(1,70)
  1858. if attackrand==1 then
  1859. coroutine.resume(coroutine.create(function()
  1860. RecentEnemy.Value=nil
  1861. EnergyBlam()
  1862. --[[d=math.random(1,3)
  1863. if d==1 then
  1864. PunchSlam()
  1865. elseif d==2 then
  1866. SweepCut()
  1867. elseif d==3 then
  1868. MultiKick()
  1869. end
  1870. end))
  1871. --[[coroutine.resume(coroutine.create(function()
  1872. buffdef.Parent=Decrease
  1873. atk=0
  1874. if stompcooldown<=0 then
  1875. atk=3
  1876. else
  1877. atk=math.random(1,2)
  1878. end
  1879. if atk==1 then
  1880. Jump()
  1881. elseif atk==2 then
  1882. GrandeurDash()
  1883. elseif atk==3 then
  1884. DeathImpact()
  1885. end
  1886. buffdef.Parent=nil
  1887. end))
  1888. end
  1889. end
  1890. elseif distance<=30 and distance>=5 then --mid range
  1891. move=distance*3
  1892. Humanoid:MoveTo(target.Position)
  1893. run.Parent=nil
  1894. if attack==false then
  1895. attackrand=math.random(1,20)
  1896. if attackrand==1 then
  1897. coroutine.resume(coroutine.create(function()
  1898. RecentEnemy.Value=nil
  1899. d=math.random(1,3)
  1900. if d==1 then
  1901. PunchSlam()
  1902. elseif d==2 then
  1903. SweepCut()
  1904. elseif d==3 then
  1905. MultiKick()
  1906. end
  1907. end))
  1908. --[[coroutine.resume(coroutine.create(function()
  1909. buffdef.Parent=Decrease
  1910. atk=0
  1911. if stompcooldown<=0 then
  1912. atk=3
  1913. else
  1914. atk=math.random(1,2)
  1915. end
  1916. if atk==1 then
  1917. HeavySlam()
  1918. elseif atk==2 then
  1919. GrandeurDash()
  1920. elseif atk==3 then
  1921. DeathImpact()
  1922. end
  1923. buffdef.Parent=nil
  1924. end))
  1925. end
  1926. end
  1927. else --close range
  1928. move=10
  1929. Humanoid:MoveTo(RootPart.Position)
  1930. run.Parent=nil
  1931. --run.Parent=nil
  1932. if attack==false then
  1933. attackrand=math.random(1,20)
  1934. if attackrand==1 then
  1935. coroutine.resume(coroutine.create(function()
  1936. RecentEnemy.Value=nil
  1937. d=math.random(1,3)
  1938. if d==1 then
  1939. PunchSlam()
  1940. elseif d==2 then
  1941. SweepCut()
  1942. elseif d==3 then
  1943. MultiKick()
  1944. end
  1945. end))
  1946. --[[coroutine.resume(coroutine.create(function()
  1947. buffdef.Parent=Decrease
  1948. HeavyCombo("Stun")
  1949. buffdef.Parent=nil
  1950. end))
  1951. end
  1952. end
  1953. end
  1954. end]]
  1955. if Mvmt.Value<0 or Stun.Value>=100 or attack==true then
  1956. Humanoid.WalkSpeed=0
  1957. if jump==true then
  1958. Humanoid.WalkSpeed=16*Mvmt.Value
  1959. end
  1960. else
  1961. Humanoid.WalkSpeed=16*Mvmt.Value
  1962. end
  1963. if Stun.Value>=100 and stunanim==false then
  1964. coroutine.resume(coroutine.create(function()
  1965. stunanim=true
  1966. while attack==true do
  1967. swait()
  1968. end
  1969. StunAnim()
  1970. Stun.Value=0
  1971. stunanim=false
  1972. end))
  1973. end
  1974. local stunnum2=80
  1975. if stunnum>=stunnum2 then
  1976. if Stun.Value>0 then
  1977. Stun.Value=Stun.Value-1
  1978. end
  1979. stunnum=0
  1980. end
  1981. stunnum=stunnum+1
  1982. local torvel=(RootPart.Velocity*Vector3.new(1,0,1)).magnitude
  1983. local velderp=RootPart.Velocity.y
  1984. hitfloor,posfloor=rayCast(RootPart.Position,(CFrame.new(RootPart.Position,RootPart.Position - Vector3.new(0,1,0))).lookVector,10,Character)
  1985. for _,c in pairs(Decrease:children()) do
  1986. if c:findFirstChild("Duration")~=nil then
  1987. c.Duration.Value=c.Duration.Value-1
  1988. if c.Duration.Value<=0 then
  1989. c.Parent=nil
  1990. end
  1991. end
  1992. if c.Name=="DecreaseAtk" then
  1993. decreaseatk=decreaseatk+c.Value
  1994. elseif c.Name=="DecreaseDef" then
  1995. decreasedef=decreasedef+c.Value
  1996. elseif c.Name=="DecreaseMvmt" then
  1997. decreasemvmt=decreasemvmt+c.Value
  1998. end
  1999. end
  2000. Atk.Value=1-decreaseatk
  2001. if Atk.Value<=0 then
  2002. Atk.Value=0
  2003. end
  2004. Def.Value=1-decreasedef
  2005. if Def.Value<=0 then
  2006. Def.Value=0.01
  2007. end
  2008. Mvmt.Value=1-decreasemvmt
  2009. if Mvmt.Value<=0 then
  2010. Mvmt.Value=0
  2011. end
  2012. decreaseatk=0
  2013. decreasedef=0
  2014. decreasemvmt=0
  2015. AtkVal=Atk.Value*100
  2016. AtkVal=math.floor(AtkVal)
  2017. AtkVal=AtkVal/100
  2018. DefVal=Def.Value*100
  2019. DefVal=math.floor(DefVal)
  2020. DefVal=DefVal/100
  2021. MvmtVal=Mvmt.Value*100
  2022. MvmtVal=math.floor(MvmtVal)
  2023. MvmtVal=MvmtVal/100
  2024. if MvmtVal<=0 then
  2025. MvmtVal=0
  2026. end
  2027. animnum=animnum+1
  2028. if animnum>=animlimit*5 then
  2029. idle=1
  2030. animnum=0
  2031. elseif animnum>=animlimit*4 then
  2032. idle=1
  2033. animnum=0
  2034. elseif animnum>=animlimit*3 then
  2035. idle=4
  2036. elseif animnum>=animlimit*2 then
  2037. idle=3
  2038. elseif animnum>=animlimit*1 then
  2039. idle=2
  2040. end
  2041. if RootPart.Velocity.y > 1 and hitfloor==nil then
  2042. Anim="Jump"
  2043. if attack==false then
  2044. Neck.C0=clerp(Neck.C0,necko*euler(.1,0,0),.3)
  2045. RootJoint.C0=clerp(RootJoint.C0,euler(-.1,0,0),.3)
  2046. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.5,0,1),.3)
  2047. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  2048. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.5,0,-1),.3)
  2049. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  2050. RH.C0=clerp(RH.C0,cf(.5,-1,-.3)*euler(-0.5,1.57,0)*euler(-.2,0,0),.2)
  2051. LH.C0=clerp(LH.C0,cf(-.5,-1,-.3)*euler(-0.5,-1.57,0)*euler(-.2,0,0),.2)
  2052. end
  2053. elseif RootPart.Velocity.y < -1 and hitfloor==nil then
  2054. Anim="Fall"
  2055. if attack==false then
  2056. Neck.C0=clerp(Neck.C0,necko*euler(-.4,0,0),.3)
  2057. RootJoint.C0=clerp(RootJoint.C0,euler(.2,0,0),.3)
  2058. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-.3,0,0.2),.3)
  2059. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  2060. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-.3,0,-0.2),.3)
  2061. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.3)
  2062. RH.C0=clerp(RH.C0,cf(.5,-1,0)*euler(0.4,1.57,0),.2)
  2063. LH.C0=clerp(LH.C0,cf(-.5,-1,0)*euler(-0.2,-1.57,0),.2)
  2064. end
  2065. elseif torvel<1 and hitfloor~=nil then
  2066. Anim="Idle"
  2067. animlimit=15
  2068. if attack==false then
  2069. if idle==1 or idle==2 then
  2070. Neck.C0=clerp(Neck.C0,necko*euler(0,.5,0)*euler(0,0,0),.1)
  2071. RootJoint.C0=clerp(RootJoint.C0,euler(0,.5,0)*cf(0,.4,0),.1)
  2072. RW.C0=clerp(RW.C0,cf(1.3,0.4,.3)*euler(1,0,.2)*euler(0,-.5,0),.1)
  2073. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.1)
  2074. LW.C0=clerp(LW.C0,cf(-1.3,0.5,-.2)*euler(1.4,0,.5)*euler(0,1,0),.1)
  2075. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.1)
  2076. RH.C0=clerp(RH.C0,cf(.6,-.9,0)*euler(0,1.57,0)*euler(0,-.1,-.05),.1)
  2077. LH.C0=clerp(LH.C0,cf(-.7,-.8,-.4)*euler(0,-1.57,0)*euler(0,.5,.1),.1)
  2078. else
  2079. Neck.C0=clerp(Neck.C0,necko*euler(.1,.5,0)*euler(0,0,0),.1)
  2080. RootJoint.C0=clerp(RootJoint.C0,euler(.1,.5,0)*euler(0,0,0)*cf(0,.6,0),.1)
  2081. RW.C0=clerp(RW.C0,cf(1.3,0.4,.3)*euler(.8,0,.4)*euler(0,-.5,0),.1)
  2082. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.1)
  2083. LW.C0=clerp(LW.C0,cf(-1.3,0.5,-.2)*euler(1.6,0,.2)*euler(0,1,0),.1)
  2084. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.1)
  2085. RH.C0=clerp(RH.C0,cf(.7,-.7,-.5)*euler(0,1.57,0)*euler(0,-.1,-.2)*euler(.05,0,0),.1)
  2086. LH.C0=clerp(LH.C0,cf(-.6,-.6,-.8)*euler(0,-1.57,0)*euler(0,.5,.2)*euler(-.1,0,0),.1)
  2087. end
  2088. end
  2089. elseif torvel>2 and torvel<20 and hitfloor~=nil then
  2090. Anim="Walk"
  2091. animlimit=10
  2092. if attack==false then
  2093. if idle==1 or idle==2 then
  2094. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.1)
  2095. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-1.4,0,-.1)*euler(0,0,0),.1)
  2096. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.1)
  2097. RH.C0=clerp(RH.C0,cf(.5,-1,0)*euler(0,1.57,0)*euler(0,0,-.5),.1)
  2098. if idle==1 then
  2099. Neck.C0=clerp(Neck.C0,necko*euler(.05,0,0)*euler(0,0,0),.1)
  2100. RootJoint.C0=clerp(RootJoint.C0,euler(0,0,0)*cf(0,.1,0),.1)
  2101. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(1,0,0)*euler(0,0,0),.1)
  2102. LH.C0=clerp(LH.C0,cf(-.5,-1,0)*euler(0,-1.57,0)*euler(0,0,-1.2),.1)
  2103. elseif idle==2 then
  2104. Neck.C0=clerp(Neck.C0,necko*euler(0,0,0)*euler(0,0,0),.1)
  2105. RootJoint.C0=clerp(RootJoint.C0,euler(.2,0,0)*cf(0,.2,0),.1)
  2106. RW.C0=clerp(RW.C0,cf(1.3,0.5,-.5)*euler(1.2,0,-.5)*euler(0,0,0),.1)
  2107. LH.C0=clerp(LH.C0,cf(-.5,-.9,-.3)*euler(0,-1.57,0)*euler(0,0,0),.1)
  2108. end
  2109. else
  2110. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-1.4,0,.1)*euler(0,0,0),.1)
  2111. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.1)
  2112. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.1)
  2113. LH.C0=clerp(LH.C0,cf(-.5,-1,0)*euler(0,-1.57,0)*euler(0,0,.5),.1)
  2114. if idle==3 then
  2115. Neck.C0=clerp(Neck.C0,necko*euler(.05,0,0)*euler(0,0,0),.1)
  2116. RootJoint.C0=clerp(RootJoint.C0,euler(0,0,0)*cf(0,.1,0),.1)
  2117. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(1,0,0)*euler(0,0,0),.1)
  2118. RH.C0=clerp(RH.C0,cf(.5,-1,0)*euler(0,1.57,0)*euler(0,0,1.2),.1)
  2119. elseif idle==4 then
  2120. Neck.C0=clerp(Neck.C0,necko*euler(0,0,0)*euler(0,0,0),.1)
  2121. RootJoint.C0=clerp(RootJoint.C0,euler(.2,0,0)*cf(0,.2,0),.1)
  2122. LW.C0=clerp(LW.C0,cf(-1.3,0.5,-.5)*euler(1.2,0,.5)*euler(0,0,0),.1)
  2123. RH.C0=clerp(RH.C0,cf(.5,-.9,-.3)*euler(0,1.57,0)*euler(0,0,0),.1)
  2124. end
  2125. end
  2126. end
  2127. elseif torvel>=20 and hitfloor~=nil then
  2128. Anim="Run"
  2129. animlimit=10
  2130. if attack==false then
  2131. if idle==1 or idle==2 then
  2132. Neck.C0=clerp(Neck.C0,necko*euler(.2,0,0)*euler(0,0,0),.2)
  2133. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  2134. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  2135. RH.C0=clerp(RH.C0,cf(.5,-1,0)*euler(0,1.57,0)*euler(-.2,0,-.8),.2)
  2136. if idle==1 then
  2137. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-1,0,.5)*euler(0,0,0),.2)
  2138. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-1,0,-.5)*euler(0,0,0),.2)
  2139. RootJoint.C0=clerp(RootJoint.C0,euler(.4,0,0)*cf(0,.3,0),.2)
  2140. LH.C0=clerp(LH.C0,cf(-.5,-1,0)*euler(0,-1.57,0)*euler(0,0,-1.5),.2)
  2141. elseif idle==2 then
  2142. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-1.2,0,.3)*euler(0,0,0),.2)
  2143. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-1.2,0,-.3)*euler(0,0,0),.2)
  2144. RootJoint.C0=clerp(RootJoint.C0,euler(.5,0,0)*cf(0,.4,0),.1)
  2145. LH.C0=clerp(LH.C0,cf(-.5,-.6,-.5)*euler(0,-1.57,0)*euler(0,0,-.5),.1)
  2146. end
  2147. else
  2148. Neck.C0=clerp(Neck.C0,necko*euler(.2,0,0)*euler(0,0,0),.2)
  2149. RW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  2150. LW.C1=clerp(LW.C1,cf(0,0.5,0)*euler(0,0,0),.2)
  2151. LH.C0=clerp(LH.C0,cf(-.5,-1,0)*euler(0,-1.57,0)*euler(-.2,0,.8),.2)
  2152. if idle==3 then
  2153. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-1,0,.5)*euler(0,0,0),.2)
  2154. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-1,0,-.5)*euler(0,0,0),.2)
  2155. RootJoint.C0=clerp(RootJoint.C0,euler(.4,0,0)*cf(0,.3,0),.2)
  2156. RH.C0=clerp(RH.C0,cf(.5,-1,0)*euler(0,1.57,0)*euler(0,0,1.5),.2)
  2157. elseif idle==4 then
  2158. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*euler(-1.2,0,.3)*euler(0,0,0),.2)
  2159. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*euler(-1.2,0,-.3)*euler(0,0,0),.2)
  2160. RootJoint.C0=clerp(RootJoint.C0,euler(.5,0,0)*cf(0,.4,0),.1)
  2161. RH.C0=clerp(RH.C0,cf(.5,-.6,-.5)*euler(0,1.57,0)*euler(0,0,.5),.1)
  2162. end
  2163. end
  2164. end
  2165. end
  2166. if #Effects>0 then
  2167. --table.insert(Effects,{prt,"Block1",delay})
  2168. for e=1,#Effects do
  2169. if Effects[e]~=nil then
  2170. --for j=1,#Effects[e] do
  2171. local Thing=Effects[e]
  2172. if Thing~=nil then
  2173. local Part=Thing[1]
  2174. local Mode=Thing[2]
  2175. local Delay=Thing[3]
  2176. local IncX=Thing[4]
  2177. local IncY=Thing[5]
  2178. local IncZ=Thing[6]
  2179. if Thing[2]=="DecreaseStat" then
  2180. --table.insert(Effects,{Model,"DecreaseStat",Stat,Amount,Duration,d})
  2181. Thing[5]=Thing[5]-1
  2182. if Thing[5]<=0 then
  2183. if Thing[1]:findFirstChild("Stats")~=nil then
  2184. if Thing[1].Stats:findFirstChild("Decrease")~=nil then
  2185. --Thing[1].Stats[Thing[3]].Value=Thing[1].Stats[Thing[3]].Value+Thing[4]
  2186. end
  2187. end
  2188. Thing[6].Parent=nil
  2189. table.remove(Effects,e)
  2190. end
  2191. end
  2192. if Thing[2]=="CylinderClang" then
  2193. if Thing[3]<=1 then
  2194. Thing[1].CFrame=Thing[1].CFrame*CFrame.new(0,2.5*Thing[5],0)*CFrame.fromEulerAnglesXYZ(Thing[6],0,0)
  2195. Thing[7]=Thing[1].CFrame
  2196. effect("New Yeller",0,Thing[8],Thing[7])
  2197. Thing[8]=Thing[7]
  2198. Thing[3]=Thing[3]+Thing[4]
  2199. else
  2200. Part.Parent=nil
  2201. table.remove(Effects,e)
  2202. end
  2203. end
  2204. if Thing[2]=="showDamage" then
  2205. if Thing[6]<Thing[5] then
  2206. Thing[6]=Thing[6]+1
  2207. elseif Thing[6]<Thing[7] then
  2208. Thing[4].position=Thing[4].position+vt(0,-.2,0)
  2209. Thing[6]=Thing[6]+1
  2210. elseif Thing[6]<Thing[8] then
  2211. Thing[6]=Thing[6]+1
  2212. elseif Thing[6]<Thing[9] then
  2213. Thing[6]=Thing[6]+1
  2214. Thing[4].position=Thing[4].position+vt(0,.2,0)
  2215. Thing[3].TextStrokeTransparency=Thing[3].TextStrokeTransparency+.1
  2216. Thing[3].TextTransparency=Thing[3].TextTransparency+.1
  2217. else
  2218. Thing[1].Parent=nil
  2219. table.remove(Effects,e)
  2220. end
  2221. end
  2222. if Thing[2]~="DecreaseStat" and Thing[2]~="showDamage" then
  2223. if Thing[1].Transparency<=1 then
  2224. if Thing[2]=="Block1" then
  2225. Thing[1].CFrame=Thing[1].CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
  2226. Mesh=Thing[7]
  2227. Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
  2228. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  2229. elseif Thing[2]=="Block2" then
  2230. Thing[1].CFrame=Thing[1].CFrame
  2231. Mesh=Thing[7]
  2232. Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
  2233. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  2234. elseif Thing[2]=="Cylinder" then
  2235. Mesh=Thing[7]
  2236. Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
  2237. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  2238. elseif Thing[2]=="Cylinder2" then
  2239. Mesh=Thing[7]
  2240. Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
  2241. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  2242. if Thing[1].Transparency>=.5 then
  2243. Thing[1].BrickColor=BrickColor.new("Really black")
  2244. end
  2245. elseif Thing[2]=="Blood" then
  2246. Mesh=Thing[7]
  2247. Thing[1].CFrame=Thing[1].CFrame*cf(0,.5,0)
  2248. Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
  2249. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  2250. elseif Thing[2]=="Elec" then
  2251. Mesh=Thing[7]
  2252. Mesh.Scale=Mesh.Scale+vt(Thing[7],Thing[8],Thing[9])
  2253. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  2254. elseif Thing[2]=="Disappear" then
  2255. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  2256. end
  2257. else
  2258. table.remove(Effects,e)
  2259. Thing[1].Parent=nil
  2260. end
  2261. end
  2262. end
  2263. --end
  2264. end
  2265. end
  2266. end
  2267. end
Add Comment
Please, Sign In to add comment