Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --//====================================================\\--
- --|| 7_qz's Spellcaster.
- --\\====================================================//--
- wait(0.2)
- local RealPlayer = game:GetService("Players"):GetPlayerFromCharacter(script.Parent)
- local FakeMouse = script.FakeMouse:Clone();
- FakeMouse.Parent = RealPlayer.Character;
- script.FakeMouse:Destroy()
- do
- local GUID = {}
- do
- GUID.IDs = {};
- function GUID:new(len)
- local id;
- if(not len)then
- id = (tostring(function() end))
- id = id:gsub("function: ","")
- else
- local function genID(len)
- local newID = ""
- for i = 1,len do
- newID = newID..string.char(math.random(48,90))
- end
- return newID
- end
- repeat id = genID(len) until not GUID.IDs[id]
- local oid = id;
- id = {Trash=function() GUID.IDs[oid]=nil; end;Get=function() return oid; end}
- GUID.IDs[oid]=true;
- end
- return id
- end
- end
- local AHB = Instance.new("BindableEvent")
- local FPS = 30
- local TimeFrame = 0
- local LastFrame = tick()
- local Frame = 1/FPS
- game:service'RunService'.Heartbeat:connect(function(s,p)
- TimeFrame = TimeFrame + s
- if(TimeFrame >= Frame)then
- for i = 1,math.floor(TimeFrame/Frame) do
- AHB:Fire()
- end
- LastFrame=tick()
- TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame)
- end
- end)
- function swait(dur)
- if(dur == 0 or typeof(dur) ~= 'number')then
- AHB.Event:wait()
- else
- for i = 1, dur*FPS do
- AHB.Event:wait()
- end
- end
- end
- local oPlayer = RealPlayer
- local Player = oPlayer
- local loudnesses={}
- script.Parent = Player.Character
- local CoAS = {Actions={}}
- local Event = Instance.new("RemoteEvent")
- Event.Name = "UserInputEvent"
- Event.Parent = Player.Character
- local Func = Instance.new("RemoteFunction")
- Func.Name = "GetClientProperty"
- Func.Parent = Player.Character
- local fakeEvent = function()
- local t = {_fakeEvent=true,Waited={},Connected={}}
- t.Connect = function(self,f)
- local ft={}
- ft={Disconnected=false;disconnect=function(s) if(self.Function==ft)then self.Function=nil end s.Disconnected=true end}
- ft.Disconnect=ft.disconnect
- ft.Func=function(...)
- for id,_ in next, t.Waited do
- t.Waited[id] = true
- end
- return f(...)
- end;
- table.insert(self.Connected,ft)
- return ft;
- end
- t.connect = t.Connect
- t.Wait = function()
- local guid = GUID:new(25)
- local waitingId = guid:Get()
- t.Waited[waitingId]=false
- repeat swait() until t.Waited[waitingId]==true
- t.Waited[waitingId]=nil;
- guid:Trash()
- end
- t.wait = t.Wait
- return t
- end
- local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
- local UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
- local Run = {RenderStepped=fakeEvent()}
- function CoAS:BindAction(name,fun,touch,...)
- CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
- end
- function CoAS:UnbindAction(name)
- CoAS.Actions[name] = nil
- end
- local function te(self,ev,...)
- local t = self[ev]
- if t and t._fakeEvent and t.Connected then
- for i,v in next, t.Connected do
- if(v.Func and not v.Disconnected)then
- v.Func(...)
- else
- t.Connected[i]=nil
- end
- end
- end
- end
- m.TrigEvent = te
- UsIS.TrigEvent = te
- Run.TrigEvent = te
- Event.OnServerEvent:Connect(function(plr,io)
- if plr~=Player then return end
- --[[table.foreach(io,print)
- print'---']]
- if io.Mouse then
- m.Target = io.Target
- m.Hit = io.Hit
- elseif io.KeyEvent then
- m:TrigEvent('Key'..io.KeyEvent,io.Key)
- elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
- if io.UserInputState == Enum.UserInputState.Begin then
- m:TrigEvent("Button1Down")
- else
- m:TrigEvent("Button1Up")
- end
- end
- if(not io.KeyEvent and not io.Mouse)then
- for n,t in pairs(CoAS.Actions) do
- for _,k in pairs(t.Keys) do
- if k==io.KeyCode then
- t.Function(t.Name,io.UserInputState,io)
- end
- end
- end
- if io.UserInputState == Enum.UserInputState.Begin then
- UsIS:TrigEvent("InputBegan",io,false)
- else
- UsIS:TrigEvent("InputEnded",io,false)
- end
- end
- end)
- Func.OnServerInvoke = function(plr,inst,play)
- if plr~=Player then return end
- if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
- loudnesses[inst]=play
- end
- end
- function GetClientProperty(inst,prop)
- if(prop == 'PlaybackLoudness' and loudnesses[inst])then
- return loudnesses[inst]
- elseif(prop == 'PlaybackLoudness')then
- return Func:InvokeClient(Player,'RegSound',inst)
- end
- return Func:InvokeClient(Player,inst,prop)
- end
- local oldGame = game;
- local oldPlayer = Player;
- local fakePlayer = newproxy(true)
- getmetatable(fakePlayer).__index = function(s,i)
- if(i == 'GetMouse')then
- return function() return m; end
- end
- return Player[i]
- end
- getmetatable(fakePlayer).__newindex = function(s,i,v)
- Player[i]=v
- end
- getmetatable(fakePlayer).__call=function(self,...)
- if(self == fakePlayer)then self = Player end
- local wh = {...}
- local name = table.remove(wh,1)
- for i,v in next, wh do
- wh[i]=v
- end
- if(name == 'GetMouse')then
- return m;
- end
- return self(name,unpack(wh))
- end
- getmetatable(fakePlayer).__namecall=function(self,...)
- if(self == fakePlayer)then self = Player end
- local tuple={...}
- local name = table.remove(tuple,#tuple)
- if(name == 'GetMouse')then
- return m;
- else
- return self[name](self,unpack(tuple))
- end
- end
- local oll = LoadLibrary;
- function LoadLibrary(libtard)
- local libtarddestroyed=oll(libtard)
- if(libtard=='RbxUtility')then
- local library={Create=function(obj)
- local inst = Instance.new(obj)
- return function(props)
- for prop,valu in next, props do
- inst[prop]=valu
- end
- return inst
- end
- end}
- setmetatable(library,{__index=libtarddestroyed,__newindex=function(s,i,v) libtarddestroyed[i]=v end})
- return library
- else
- return libtarddestroyed
- end
- end
- local function GetService(s,i)
- local service = s:GetService(i)
- if(i == 'Players')then
- local oldService = service;
- local fakeService = newproxy(true)
- getmetatable(fakeService).__index = function(s,i)
- if(s == fakeService)then s=oldService end
- if(i == 'LocalPlayer' or i == 'localPlayer')then
- return fakePlayer
- elseif(i == 'oPlayer')then
- return oPlayer
- else
- return s[i]
- end
- end
- getmetatable(fakeService).__newindex = function(s,i,v)
- if(s == fakeService)then s=oldService end
- s[i]=v
- end
- getmetatable(fakeService).__call=function(self,...)
- if(self == fakeService)then self = oldService end
- local wh = {...}
- local name = table.remove(wh,1)
- for i,v in next, wh do
- wh[i]=v
- end
- return self(name,unpack(wh))
- end
- getmetatable(fakeService).__namecall=function(self,...)
- if(self == fakeService)then self = oldService end
- local tuple={...}
- local name = table.remove(tuple,#tuple)
- return self[name](self,unpack(tuple))
- end
- getmetatable(fakeService).__metatable = 'gay'
- return fakeService
- elseif(i == 'RunService')then
- local oldService = service;
- local fakeService = newproxy(true)
- getmetatable(fakeService).__index = function(s,i)
- if(s == fakeService)then s=oldService end
- return Run[i] or s[i]
- end
- getmetatable(fakeService).__newindex = function(s,i,v)
- if(s == fakeService)then s=oldService end
- s[i]=v
- end
- getmetatable(fakeService).__call=function(self,...)
- if(self == fakeService)then self = oldService end
- local wh = {...}
- local name = table.remove(wh,1)
- for i,v in next, wh do
- wh[i]=v
- end
- return self(name,unpack(wh))
- end
- getmetatable(fakeService).__namecall=function(self,...)
- if(self == fakeService)then self = oldService end
- local tuple={...}
- local name = table.remove(tuple,#tuple)
- return self[name](self,unpack(tuple))
- end
- getmetatable(fakeService).__metatable = 'gay'
- return fakeService
- elseif(i == 'UserInputService')then
- return UsIS
- elseif(i == 'ContextActionService')then
- return CoAS;
- else
- return service
- end
- end
- local new = Instance.new;
- Instance = {}
- Instance.new = function(inst,obje)
- local lp = GetService(oldGame,'Players').localPlayer
- local instance = new(inst)
- if(inst=='ObjectValue')then
- local fake = newproxy(true)
- getmetatable(fake).__index=function(self,index)
- if(self==fake)then self=instance end
- return self[index]
- end
- getmetatable(fake).__newindex=function(self,index,value)
- if(self==fake)then self=instance end
- if(index=='Value' and typeof(value)~='Instance' and value==fakePlayer)then
- self[index]=oPlayer
- else
- self[index]=value
- end
- end
- getmetatable(fake).__call=function(self,...)
- if(self == fake)then self = instance end
- local wh = {...}
- local name = table.remove(wh,1)
- for i,v in next, wh do
- if(v == fake)then v = instance end
- wh[i]=v
- end
- return self(name,unpack(wh))
- end
- getmetatable(fake). __namecall=function(self,...)
- if(self == fake)then self = instance end
- local tuple={...}
- local name = table.remove(tuple,#tuple)
- return self[name](self,unpack(tuple))
- end
- return fake
- else
- instance.Parent = obje
- return instance;
- end
- end
- local serviceFunctions={
- service=true,
- GetService=true,
- }
- local fakeGame = newproxy(true)
- getmetatable(fakeGame).__index = function(s,i)
- if(s == fakeGame)then s=oldGame end
- local serv = GetService(oldGame,i)
- if serviceFunctions[i] then
- return GetService
- elseif(serv)then
- return serv
- else
- return s[i]
- end
- end
- getmetatable(fakeGame).__newindex = function(s,i,v)
- if(s == fakeGame)then s=oldGame end
- s[i]=v
- end
- getmetatable(fakeGame).__call=function(self,...)
- if(self == fakeGame)then self = oldGame end
- local wh = {...}
- local name = table.remove(wh,1)
- for i,v in next, wh do
- if(v == fakeGame)then v = oldGame end
- wh[i]=v
- end
- if serviceFunctions[name] then
- return GetService(self,unpack(wh))
- else
- return self(name,unpack(wh))
- end
- end
- getmetatable(fakeGame). __namecall=function(self,...)
- if(self == fakeGame)then self = oldGame end
- local tuple={...}
- local name = table.remove(tuple,#tuple)
- local funcToCall=self[name]
- if serviceFunctions[name] then
- return GetService(self,unpack(tuple))
- else
- return self[name](self,unpack(tuple))
- end
- end
- getmetatable(fakeGame).__metatable = 'gay'
- coroutine.wrap(function()
- while true do
- Run:TrigEvent('RenderStepped')
- swait()
- end
- end)()
- game=fakeGame
- UserInputService,ContextActionService = UsIS,CoAS
- end
- wait(1)
- -- Script --
- plr = game:GetService("Players").LocalPlayer
- Player = plr
- char = plr.Character
- hum = char.Humanoid
- mouse = plr:GetMouse()
- local cam = game.Workspace.CurrentCamera
- Camera = cam
- local CamInterrupt = false
- local TwoD = false
- local TargetInfo = {nil, nil}
- cam.CameraType = "Custom"
- t = char.Torso
- h = char.Head
- ra = char["Right Arm"]
- la = char["Left Arm"]
- rl = char["Right Leg"]
- ll = char["Left Leg"]
- tors = char.Torso
- lleg = char["Left Leg"]
- root = char.HumanoidRootPart
- hed = char.Head
- rleg = char["Right Leg"]
- rarm = char["Right Arm"]
- larm = char["Left Arm"]
- radian = math.rad
- random = math.random
- Vec3 = Vector3.new
- Inst = Instance.new
- cFrame = CFrame.new
- Euler = CFrame.fromEulerAnglesXYZ
- vt = Vector3.new
- bc = BrickColor.new
- br = BrickColor.random
- it = Instance.new
- cf = CFrame.new
- local Player_Size = 0
- cam = game.Workspace.CurrentCamera
- CF = CFrame.new
- angles = CFrame.Angles
- attack = false
- Euler = CFrame.fromEulerAnglesXYZ
- Rad = math.rad
- IT = Instance.new
- BrickC = BrickColor.new
- Cos = math.cos
- Acos = math.acos
- Sin = math.sin
- Asin = math.asin
- Abs = math.abs
- Mrandom = math.random
- Floor = math.floor
- IT = Instance.new
- CF = CFrame.new
- VT = Vector3.new
- RAD = math.rad
- C3 = Color3.new
- UD2 = UDim2.new
- BRICKC = BrickColor.new
- ANGLES = CFrame.Angles
- EULER = CFrame.fromEulerAnglesXYZ
- COS = math.cos
- ACOS = math.acos
- SIN = math.sin
- ASIN = math.asin
- ABS = math.abs
- MRANDOM = math.random
- FLOOR = math.floor
- local SINE = 0
- local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
- local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0)
- local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0)
- local ModeOfGlitch = 1
- CF = CFrame.new
- local hed = char.Head
- local root = char.HumanoidRootPart
- local rootj = root.RootJoint
- local tors = char.Torso
- local musics = script.Sounds.Song:Clone()
- musics.Parent = char
- musics.Volume = 3.5
- musics:Play()
- local Anim = "Idle"
- LeftArm=char["Left Arm"]
- LeftLeg=char["Left Leg"]
- RightArm=char["Right Arm"]
- RightLeg=char["Right Leg"]
- LS=tors["Left Shoulder"]
- LH=tors["Left Hip"]
- RS=tors["Right Shoulder"]
- RH=tors["Right Hip"]
- necko = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- necko2 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- LHC0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- LHC1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- RHC0 = cf(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- RHC1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- RootPart = char.HumanoidRootPart
- RootJoint = RootPart.RootJoint
- RootCF = EULER(-1.57, 0, 3.14)
- local Character = char
- local Torso = tors
- local book1 = script.Books.earthbook
- local book2 = script.Books.firebook
- local book3 = script.Books.thunderbook
- local book4 = script.Books.icebook
- local book5 = script.Books.darkbook
- local book6 = script.Books.lightbook
- local book7 = script.Books.lunarbook
- selected = "fire"
- --save shoulders
- RSH, LSH=nil, nil
- --welds
- RW, LW=Instance.new("Weld"), Instance.new("Weld")
- RW.Name="Right Shoulder" LW.Name="Left Shoulder"
- LH=Torso["Left Hip"]
- RH=Torso["Right Hip"]
- TorsoColor=Torso.BrickColor
- function NoOutline(Part)
- Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
- end
- ch=Character
- RSH=ch.Torso["Right Shoulder"]
- LSH=ch.Torso["Left Shoulder"]
- --
- RSH.Parent=nil
- LSH.Parent=nil
- --
- RW.Name="Right Shoulder"
- RW.Part0=ch.Torso
- RW.C0=cf(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5)
- RW.C1=cf(0, 0.5, 0)
- RW.Part1=ch["Right Arm"]
- RW.Parent=ch.Torso
- --
- LW.Name="Left Shoulder"
- LW.Part0=ch.Torso
- LW.C0=cf(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
- LW.C1=cf(0, 0.5, 0)
- LW.Part1=ch["Left Arm"]
- LW.Parent=ch.Torso
- -------------------------------------
- if hum:findFirstChild("Animator")~=nil then
- hum:findFirstChild("Animator").Parent=nil
- end
- if char:findFirstChild("Animate")~=nil then
- char:findFirstChild("Animate").Parent=nil
- end
- -------------------------------------
- -- Needed Functions --
- ------------------
- function swait(num)
- function swait(num)
- if num==0 or num==nil then
- game:service'RunService'.Stepped:wait(0)
- else
- for i=0,num do
- game:service'RunService'.Stepped:wait(0)
- end
- end
- end
- end
- so = function(id,par,vol,pit)
- coroutine.resume(coroutine.create(function()
- local sou = Instance.new("Sound",par or workspace)
- sou.Volume=vol
- sou.Pitch=pit or 1
- sou.SoundId=id
- swait()
- sou:play()
- game:GetService("Debris"):AddItem(sou,6)
- end))
- end
- function clerp(a,b,t)
- local qa = {QuaternionFromCFrame(a)}
- local qb = {QuaternionFromCFrame(b)}
- local ax, ay, az = a.x, a.y, a.z
- local bx, by, bz = b.x, b.y, b.z
- local _t = 1-t
- return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
- end
- function QuaternionFromCFrame(cf)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5/s
- return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
- else
- local i = 0
- if m11 > m00 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00-m11-m22+1)
- local recip = 0.5/s
- return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
- elseif i == 1 then
- local s = math.sqrt(m11-m22-m00+1)
- local recip = 0.5/s
- return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
- elseif i == 2 then
- local s = math.sqrt(m22-m00-m11+1)
- local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
- end
- end
- end
- function QuaternionToCFrame(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w*xs, w*ys, w*zs
- local xx = x*xs
- local xy = x*ys
- local xz = x*zs
- local yy = y*ys
- local yz = y*zs
- local zz = z*zs
- 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))
- end
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
- local startInterp, finishInterp;
- if cosTheta >= 0.0001 then
- if (1 - cosTheta) > 0.0001 then
- local theta = math.acos(cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((1-t)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = 1-t
- finishInterp = t
- end
- else
- if (1+cosTheta) > 0.0001 then
- local theta = math.acos(-cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((t-1)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = t-1
- finishInterp = t
- end
- end
- 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
- end
- function rayCast(Pos, Dir, Max, Ignore) -- Origin Position , Direction, MaxDistance , IgnoreDescendants
- return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
- end
- function aclerp(startCF,endCF,alpha)
- return startCF:lerp(endCF, alpha)
- end
- -- Effect Functions --
- function CreateParta(parent,transparency,reflectance,material,brickcolor)
- local p = Instance.new("Part")
- p.TopSurface = 0
- p.BottomSurface = 0
- p.Parent = parent
- p.Size = Vector3.new(0.1,0.1,0.1)
- p.Transparency = transparency
- p.Reflectance = reflectance
- p.CanCollide = false
- p.Locked = true
- p.BrickColor = brickcolor
- p.Material = material
- return p
- end
- local Create = LoadLibrary("RbxUtility").Create
- CFuncs = {
- ["Part"] = {
- Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
- local Part = Create("Part"){
- Parent = Parent,
- Reflectance = Reflectance,
- Transparency = Transparency,
- CanCollide = false,
- Locked = true,
- BrickColor = BrickColor.new(tostring(BColor)),
- Name = Name,
- Size = Size,
- Material = Material,
- }
- RemoveOutlines(Part)
- return Part
- end;
- };
- ["Mesh"] = {
- Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
- local Msh = Create(Mesh){
- Parent = Part,
- Offset = OffSet,
- Scale = Scale,
- }
- if Mesh == "SpecialMesh" then
- Msh.MeshType = MeshType
- Msh.MeshId = MeshId
- end
- return Msh
- end;
- };
- ["Mesh"] = {
- Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
- local Msh = Create(Mesh){
- Parent = Part,
- Offset = OffSet,
- Scale = Scale,
- }
- if Mesh == "SpecialMesh" then
- Msh.MeshType = MeshType
- Msh.MeshId = MeshId
- end
- return Msh
- end;
- };
- ["Weld"] = {
- Create = function(Parent, Part0, Part1, C0, C1)
- local Weld = Create("Weld"){
- Parent = Parent,
- Part0 = Part0,
- Part1 = Part1,
- C0 = C0,
- C1 = C1,
- }
- return Weld
- end;
- };
- ["Sound"] = {
- Create = function(id, par, vol, pit)
- local S = Create("Sound"){
- Volume = vol,
- Name = "EffectSoundo",
- Pitch = pit or 1,
- SoundId = id,
- Parent = par or workspace,
- }
- S:play()
- game:GetService("Debris"):AddItem(S, 10)
- end;
- };
- ["TimeSound"] = {
- Create = function(id, par, vol, pit, timepos)
- local S = Create("Sound"){
- Volume = vol,
- Name = "EffectSoundo",
- Pitch = pit or 1,
- SoundId = id,
- TimePosition = timepos,
- Parent = par or workspace,
- }
- wait()
- S:play()
- game:GetService("Debris"):AddItem(S, 10)
- end;
- };
- ["EchoSound"] = {
- Create = function(id, par, vol, pit, timepos,delays,echodelay,fedb,dryl)
- local Sas = Create("Sound"){
- Volume = vol,
- Name = "EffectSoundo",
- Pitch = pit or 1,
- SoundId = id,
- TimePosition = timepos,
- Parent = par or workspace,
- }
- local E = Create("EchoSoundEffect"){
- Delay = echodelay,
- Name = "Echo",
- Feedback = fedb,
- DryLevel = dryl,
- Parent = Sas,
- }
- wait()
- Sas:play()
- game:GetService("Debris"):AddItem(Sas, delays)
- end;
- };
- ["LongSound"] = {
- Create = function(id, par, vol, pit)
- local S = Create("Sound"){
- Volume = vol,
- Pitch = pit or 1,
- SoundId = id,
- Parent = par or workspace,
- }
- wait()
- S:play()
- game:GetService("Debris"):AddItem(S, 60)
- end;
- };
- ["ParticleEmitter"] = {
- Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
- local fp = Create("ParticleEmitter"){
- Parent = Parent,
- Color = ColorSequence.new(Color1, Color2),
- LightEmission = LightEmission,
- Size = Size,
- Texture = Texture,
- Transparency = Transparency,
- ZOffset = ZOffset,
- Acceleration = Accel,
- Drag = Drag,
- LockedToPart = LockedToPart,
- VelocityInheritance = VelocityInheritance,
- EmissionDirection = EmissionDirection,
- Enabled = Enabled,
- Lifetime = LifeTime,
- Rate = Rate,
- Rotation = Rotation,
- RotSpeed = RotSpeed,
- Speed = Speed,
- VelocitySpread = VelocitySpread,
- }
- return fp
- end;
- };
- CreateTemplate = {
- };
- }
- New = function(Object, Parent, Name, Data)
- local Object = Instance.new(Object)
- for Index, Value in pairs(Data or {}) do
- Object[Index] = Value
- end
- Object.Parent = Parent
- Object.Name = Name
- return Object
- end
- function ring(type,pos,scale,value)
- local type = type
- local rng = Instance.new("Part", char)
- rng.Anchored = true
- rng.BrickColor = origcolor
- rng.CanCollide = false
- rng.FormFactor = 3
- rng.Name = "Ring"
- rng.Size = Vector3.new(1, 1, 1)
- rng.Transparency = 0
- rng.TopSurface = 0
- rng.BottomSurface = 0
- rng.CFrame = pos
- local rngm = Instance.new("SpecialMesh", rng)
- rngm.MeshId = "http://www.roblox.com/asset/?id=3270017"
- rngm.Scale = scale
- local scaler2 = 1
- if type == "Add" then
- scaler2 = 1*value
- elseif type == "Divide" then
- scaler2 = 1/value
- end
- coroutine.resume(coroutine.create(function()
- for i = 0,10,0.1 do
- swait()
- if type == "Add" then
- scaler2 = scaler2 - 0.01*value
- elseif type == "Divide" then
- scaler2 = scaler2 - 0.01/value
- end
- rng.Transparency = rng.Transparency + 0.01
- rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2, 0)
- end
- rng:Destroy()
- end))
- end
- function wave(type,pos,scale,value)
- local type = type
- local rng = Instance.new("Part", char)
- rng.Anchored = true
- rng.BrickColor = origcolor
- rng.CanCollide = false
- rng.FormFactor = 3
- rng.Name = "Ring"
- rng.Size = Vector3.new(1, 1, 1)
- rng.Transparency = 0
- rng.TopSurface = 0
- rng.BottomSurface = 0
- rng.CFrame = pos
- local rngm = Instance.new("SpecialMesh", rng)
- rngm.MeshId = "http://www.roblox.com/asset/?id=20329976"
- rngm.Scale = scale
- local scaler2 = 1
- if type == "Add" then
- scaler2 = 1*value
- elseif type == "Divide" then
- scaler2 = 1/value
- end
- coroutine.resume(coroutine.create(function()
- for i = 0,10,0.1 do
- swait()
- if type == "Add" then
- scaler2 = scaler2 - 0.01*value
- elseif type == "Divide" then
- scaler2 = scaler2 - 0.01/value
- end
- rng.Transparency = rng.Transparency + 0.01
- rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2, scaler2)
- end
- rng:Destroy()
- end))
- end
- function wind(type,pos,scale,value,speed)
- local type = type
- local rng = Instance.new("Part", char)
- rng.Anchored = true
- rng.BrickColor = origcolor
- rng.CanCollide = false
- rng.FormFactor = 3
- rng.Name = "Ring"
- rng.Size = Vector3.new(1, 1, 1)
- rng.Transparency = 0
- rng.TopSurface = 0
- rng.BottomSurface = 0
- rng.CFrame = pos
- local rngm = Instance.new("SpecialMesh", rng)
- rngm.MeshId = "http://www.roblox.com/asset/?id=1051557"
- rngm.Scale = scale
- local scaler2 = 1
- if type == "Add" then
- scaler2 = 1*value
- elseif type == "Divide" then
- scaler2 = 1/value
- end
- coroutine.resume(coroutine.create(function()
- for i = 0,10,0.1 do
- swait()
- if type == "Add" then
- scaler2 = scaler2 - 0.01*value
- elseif type == "Divide" then
- scaler2 = scaler2 - 0.01/value
- end
- rng.CFrame = rng.CFrame*CFrame.Angles(0,0.025*speed,0)
- rng.Transparency = rng.Transparency + 0.01
- rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2, scaler2)
- end
- rng:Destroy()
- end))
- end
- function groundwind(type,pos,scale,value,speed)
- local type = type
- local rng = Instance.new("Part", char)
- rng.Anchored = true
- rng.BrickColor = origcolor
- rng.CanCollide = false
- rng.FormFactor = 3
- rng.Name = "Ring"
- rng.Size = Vector3.new(1, 1, 1)
- rng.Transparency = 0
- rng.TopSurface = 0
- rng.BottomSurface = 0
- rng.CFrame = pos
- local rngm = Instance.new("SpecialMesh", rng)
- rngm.MeshId = "http://www.roblox.com/asset/?id=1051557"
- rngm.Scale = scale
- local scaler2 = 1
- if type == "Add" then
- scaler2 = 1*value
- elseif type == "Divide" then
- scaler2 = 1/value
- end
- coroutine.resume(coroutine.create(function()
- for i = 0,10,0.1 do
- swait()
- if type == "Add" then
- scaler2 = scaler2 - 0.01*value
- elseif type == "Divide" then
- scaler2 = scaler2 - 0.01/value
- end
- rng.CFrame = rng.CFrame*CFrame.Angles(0,0.025*speed,0)
- rng.Transparency = rng.Transparency + 0.01
- rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2/5, scaler2)
- end
- rng:Destroy()
- end))
- end
- function CameraManager()
- if TwoD and not CamInterrupt then
- if Humanoid.Health > 0 then
- Camera.CameraSubject = Humanoid
- Camera.CameraType = "Scriptable"
- Humanoid.AutoRotate = false
- if Booleans.GyroUse then
- Directer.MaxTorque = Vec3(0, huge, 0)
- else
- Directer.MaxTorque = Vec3(0, 0, 0)
- end
- if TargetInfo[1] ~= nil and TargetInfo[2] ~= nil then
- if Booleans.CamFollow then
- CPart.CFrame = cFrame(RootPart.Position, Vec3(TargetInfo[1].Position.X, RootPart.Position.Y, TargetInfo[1].Position.Z))
- Directer.CFrame = cFrame((RootPart.CFrame * cFrame(0, 0, 10)).p, TargetInfo[1].Position)
- else
- CPart.Position = RootPart.Position
- end
- else
- local ahead = (RootPart.CFrame * cFrame(0, 0, -3)).p
- CPart.CFrame = cFrame(RootPart.Position, Vec3(ahead.X, RootPart.Position.Y, ahead.Z))
- end
- Camera.CFrame = lerp(Camera.CFrame, CPart.CFrame * cFrame(25, 3, 0) * Euler(0, radian(90), 0), 0.2)
- else
- Camera.CameraSubject = Humanoid
- Camera.CameraType = "Custom"
- Controller.Disabled = false
- end
- end
- end
- function sphere(bonuspeed,type,pos,scale,value,color,heart,invert,notaffectbychaosrainbow)
- local type = type
- local rng = Instance.new("Part", char)
- rng.Anchored = true
- rng.BrickColor = color
- rng.CanCollide = false
- rng.FormFactor = 3
- rng.Name = "Ring"
- rng.Material = "Neon"
- rng.Size = Vector3.new(1, 1, 1)
- rng.Transparency = 0
- rng.TopSurface = 0
- rng.BottomSurface = 0
- rng.CFrame = pos
- local rngm = Instance.new("SpecialMesh", rng)
- rngm.MeshType = "Sphere"
- if(heart)then
- rngm.MeshType = Enum.MeshType.FileMesh
- rngm.MeshId = "rbxassetid://105992239"
- rngm.Offset = Vector3.new(0,0,-.25)
- end
- rngm.Scale = scale
- if rainbowmode == true and not notaffectbychaosrainbow then
- rng.Color = Color3.new(r/255,g/255,b/255)
- end
- local scaler2 = 1
- if type == "Add" then
- scaler2 = 1*value
- elseif type == "Divide" then
- scaler2 = 1/value
- end
- coroutine.resume(coroutine.create(function()
- for i = 0,10/bonuspeed,0.1 do
- swait()
- if rainbowmode == true and not notaffectbychaosrainbow then
- rng.Color = Color3.new(r/255,g/255,b/255)
- end
- if type == "Add" then
- scaler2 = scaler2 - 0.01*value/bonuspeed
- elseif type == "Divide" then
- scaler2 = scaler2 - 0.01/value*bonuspeed
- end
- if chaosmode == true and not notaffectbychaosrainbow then
- rng.BrickColor = BrickColor.random()
- end
- if glitchymode then
- local val = math.random(1,255)
- local color = Color3.fromRGB(val,val,val)
- rng.Color = color
- end
- rng.Transparency = rng.Transparency + 0.01*bonuspeed
- if(invert)then
- if(heart)then
- rngm.Scale = rngm.Scale - Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, 0)
- else
- rngm.Scale = rngm.Scale - Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, scaler2*bonuspeed)
- end
- else
- if(heart)then
- rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, 0)
- else
- rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, scaler2*bonuspeed)
- end
- end
- rng.CFrame = pos
- end
- rng:Destroy()
- end))
- end
- function newBezier(startpos, pos2, pos3, endpos, t)
- local A = clerp(startpos, pos2, t)
- local B = clerp(pos2, pos3, t)
- local C = clerp(pos3, endpos, t)
- local lerp1 = clerp(A, B, t)
- local lerp2 = clerp(B, C, t)
- local cubic = clerp(lerp1, lerp2, t)
- return cubic
- end
- function PixelBlock(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos,heart,invert)
- local type = type
- local rng = Instance.new("Part", char)
- rng.Anchored = true
- rng.BrickColor = color
- rng.CanCollide = false
- rng.FormFactor = 3
- rng.Name = "Ring"
- rng.Material = "Neon"
- rng.Size = Vector3.new(1, 1, 1)
- rng.Transparency = 0
- rng.TopSurface = 0
- rng.BottomSurface = 0
- rng.CFrame = pos
- rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
- local rngm = Instance.new("SpecialMesh", rng)
- rngm.MeshType = "Brick"
- if(heart)then
- rngm.MeshType = Enum.MeshType.FileMesh
- rngm.MeshId = "rbxassetid://105992239"
- rngm.Offset = Vector3.new(0,0,-.25)
- end
- rngm.Scale = vt(x1,y1,z1)
- if rainbowmode == true then
- rng.Color = Color3.new(r/255,g/255,b/255)
- end
- local scaler2 = 1
- local speeder = FastSpeed/10
- if type == "Add" then
- scaler2 = 1*value
- elseif type == "Divide" then
- scaler2 = 1/value
- end
- coroutine.resume(coroutine.create(function()
- for i = 0,10/bonuspeed,0.1 do
- swait()
- if rainbowmode == true then
- rng.Color = Color3.new(r/255,g/255,b/255)
- end
- if type == "Add" then
- scaler2 = scaler2 - 0.01*value/bonuspeed
- elseif type == "Divide" then
- scaler2 = scaler2 - 0.01/value*bonuspeed
- end
- if chaosmode == true then
- rng.BrickColor = BrickColor.random()
- end
- if glitchymode then
- local val = math.random(1,255)
- local color = Color3.fromRGB(val,val,val)
- rng.Color = color
- end
- speeder = speeder - 0.01*FastSpeed*bonuspeed/10
- if(invert)then rng.CFrame = rng.CFrame - rng.CFrame.lookVector*speeder*bonuspeed else rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed end
- --rng.Transparency = rng.Transparency + 0.01*bonuspeed
- rngm.Scale = rngm.Scale - Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, scaler2*bonuspeed)
- end
- rng:Destroy()
- end))
- end
- function PixelBlockX(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos)
- local type = type
- local rng = Instance.new("Part", char)
- rng.Anchored = true
- rng.BrickColor = color
- rng.CanCollide = false
- rng.FormFactor = 3
- rng.Name = "Ring"
- rng.Material = "Neon"
- rng.Size = Vector3.new(1, 1, 1)
- rng.Transparency = 0
- rng.TopSurface = 0
- rng.BottomSurface = 0
- rng.CFrame = pos
- rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
- local rngm = Instance.new("SpecialMesh", rng)
- rngm.MeshType = "Brick"
- rngm.Scale = vt(x1,y1,z1)
- if rainbowmode == true then
- rng.Color = Color3.new(r/255,g/255,b/255)
- end
- local scaler2 = 1
- local speeder = FastSpeed/10
- if type == "Add" then
- scaler2 = 1*value
- elseif type == "Divide" then
- scaler2 = 1/value
- end
- coroutine.resume(coroutine.create(function()
- for i = 0,10/bonuspeed,0.1 do
- swait()
- if rainbowmode == true then
- rng.Color = Color3.new(r/255,g/255,b/255)
- end
- if type == "Add" then
- scaler2 = scaler2 - 0.01*value/bonuspeed
- elseif type == "Divide" then
- scaler2 = scaler2 - 0.01/value*bonuspeed
- end
- if chaosmode == true then
- rng.BrickColor = BrickColor.random()
- end
- speeder = speeder - 0.01*FastSpeed*bonuspeed/10
- rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed
- rng.Transparency = rng.Transparency + 0.01*bonuspeed
- rngm.Scale = rngm.Scale - Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, scaler2*bonuspeed)
- end
- rng:Destroy()
- end))
- end
- function PixelBlockNeg(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos,heart,invert)
- local type = type
- local rng = Instance.new("Part", char)
- rng.Anchored = true
- rng.BrickColor = color
- rng.CanCollide = false
- rng.FormFactor = 3
- rng.Name = "Ring"
- rng.Material = "Neon"
- rng.Size = Vector3.new(1, 1, 1)
- rng.Transparency = 0
- rng.TopSurface = 0
- rng.BottomSurface = 0
- rng.CFrame = pos
- rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
- local rngm = Instance.new("SpecialMesh", rng)
- rngm.MeshType = "Brick"
- if(heart)then
- rngm.MeshType = Enum.MeshType.FileMesh
- rngm.MeshId = "rbxassetid://105992239"
- rngm.Offset = Vector3.new(0,0,-.25)
- end
- rngm.Scale = vt(x1,y1,z1)
- if rainbowmode == true then
- rng.Color = Color3.new(r/255,g/255,b/255)
- end
- local scaler2 = 0
- local speeder = FastSpeed/10
- if type == "Add" then
- scaler2 = 1*value
- elseif type == "Divide" then
- scaler2 = 1/value
- end
- coroutine.resume(coroutine.create(function()
- for i = 0,10/bonuspeed,0.1 do
- swait()
- if rainbowmode == true then
- rng.Color = Color3.new(r/255,g/255,b/255)
- end
- if type == "Add" then
- scaler2 = scaler2 - 0.01*value/bonuspeed
- elseif type == "Divide" then
- scaler2 = scaler2 - 0.01/value*bonuspeed
- end
- if chaosmode == true then
- rng.BrickColor = BrickColor.random()
- end
- if glitchymode then
- local val = math.random(1,255)
- local color = Color3.fromRGB(val,val,val)
- rng.Color = color
- end
- speeder = speeder + 0.01*FastSpeed*bonuspeed/10
- rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed
- if(invert)then rng.CFrame = rng.CFrame - rng.CFrame.lookVector*speeder*bonuspeed else rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed end
- --rng.Transparency = rng.Transparency + 0.01*bonuspeed
- rngm.Scale = rngm.Scale - Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, scaler2*bonuspeed)
- end
- rng:Destroy()
- end))
- end
- function sphereMK(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos)
- local type = type
- local rng = Instance.new("Part", char)
- rng.Anchored = true
- rng.BrickColor = color
- rng.CanCollide = false
- rng.FormFactor = 3
- rng.Name = "Ring"
- rng.Material = "Neon"
- rng.Size = Vector3.new(1, 1, 1)
- rng.Transparency = 0
- rng.TopSurface = 0
- rng.BottomSurface = 0
- rng.CFrame = pos
- rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
- local rngm = Instance.new("SpecialMesh", rng)
- rngm.MeshType = "Sphere"
- rngm.Scale = vt(x1,y1,z1)
- if rainbowmode == true then
- rng.Color = Color3.new(r/255,g/255,b/255)
- end
- local scaler2 = 1
- local speeder = FastSpeed
- if type == "Add" then
- scaler2 = 1*value
- elseif type == "Divide" then
- scaler2 = 1/value
- end
- coroutine.resume(coroutine.create(function()
- for i = 0,10/bonuspeed,0.1 do
- swait()
- if rainbowmode == true then
- rng.Color = Color3.new(r/255,g/255,b/255)
- end
- if type == "Add" then
- scaler2 = scaler2 - 0.01*value/bonuspeed
- elseif type == "Divide" then
- scaler2 = scaler2 - 0.01/value*bonuspeed
- end
- if chaosmode == true then
- rng.BrickColor = BrickColor.random()
- end
- if glitchymode then
- local val = math.random(1,255)
- local color = Color3.fromRGB(val,val,val)
- rng.Color = color
- end
- speeder = speeder - 0.01*FastSpeed*bonuspeed
- rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed
- rng.Transparency = rng.Transparency + 0.01*bonuspeed
- rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, 0)
- end
- rng:Destroy()
- end))
- end
- function Pillar(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos)
- local type = type
- local rng = script.Pillar:Clone()
- rng.Parent = workspace["xDivern"]
- rng.Anchored = true
- rng.BrickColor = color
- rng.CanCollide = false
- rng.Name = "Ring"
- rng.Material = "Neon"
- rng.Size = Vector3.new(x1, y1, z1)
- rng.Transparency = 0
- rng.TopSurface = 0
- rng.BottomSurface = 0
- rng.CFrame = pos
- rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
- local scaler2 = 1
- local speeder = FastSpeed
- if type == "Add" then
- scaler2 = 1*value
- elseif type == "Divide" then
- scaler2 = 1/value
- end
- coroutine.resume(coroutine.create(function()
- for i = 0,10/bonuspeed,0.1 do
- swait()
- if type == "Add" then
- scaler2 = scaler2 - 0.01*value/bonuspeed
- elseif type == "Divide" then
- scaler2 = scaler2 - 0.01/value*bonuspeed
- end
- speeder = speeder - 0.01*FastSpeed*bonuspeed
- rng.CFrame = rng.CFrame + Vector3.new(0,0.05,0)
- rng.Transparency = rng.Transparency + 0.01*bonuspeed
- end
- rng:Destroy()
- end))
- end
- function sphere2(bonuspeed,type,pos,scale,value,value2,value3,color)
- local type = type
- local rng = Instance.new("Part", char)
- rng.Anchored = true
- rng.BrickColor = color
- rng.CanCollide = false
- rng.FormFactor = 3
- rng.Name = "Ring"
- rng.Material = "Neon"
- rng.Size = Vector3.new(1, 1, 1)
- rng.Transparency = 0
- rng.TopSurface = 0
- rng.BottomSurface = 0
- rng.CFrame = pos
- local rngm = Instance.new("SpecialMesh", rng)
- rngm.MeshType = "Sphere"
- rngm.Scale = scale
- local scaler2 = 1
- local scaler2b = 1
- local scaler2c = 1
- if type == "Add" then
- scaler2 = 1*value
- scaler2b = 1*value2
- scaler2c = 1*value3
- elseif type == "Divide" then
- scaler2 = 1/value
- scaler2b = 1/value2
- scaler2c = 1/value3
- end
- coroutine.resume(coroutine.create(function()
- for i = 0,10/bonuspeed,0.1 do
- swait()
- if type == "Add" then
- scaler2 = scaler2 - 0.01*value/bonuspeed
- scaler2b = scaler2b - 0.01*value/bonuspeed
- scaler2c = scaler2c - 0.01*value/bonuspeed
- elseif type == "Divide" then
- scaler2 = scaler2 - 0.01/value*bonuspeed
- scaler2b = scaler2b - 0.01/value*bonuspeed
- scaler2c = scaler2c - 0.01/value*bonuspeed
- end
- rng.Transparency = rng.Transparency + 0.01*bonuspeed
- rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2b*bonuspeed, scaler2c*bonuspeed)
- end
- rng:Destroy()
- end))
- end
- function Beamring(col,pos,bonsize,esize,fasten,textr)
- local sa = script.Objects.Ring:Clone()
- sa.Parent = char
- sa.CFrame = pos
- local bem = sa.Beam
- if textr ~= nil then
- bem.Texture = "rbxassetid://" ..textr
- end
- local at1 = sa.a1
- local at2 = sa.a2
- at1.Position = vt(0,0,0.5*esize)
- at2.Position = vt(0,0,-0.5*esize)
- bem.Width0 = 1*esize
- bem.Width1 = 1*esize
- bem.Color = ColorSequence.new(col)
- coroutine.resume(coroutine.create(function()
- local trans = 0
- for i = 0, 99/fasten do
- swait()
- trans = trans + 0.01*fasten
- bem.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,trans,0),NumberSequenceKeypoint.new(1,trans,0)})
- at1.Position = at1.Position + vt(0,0,0.5*bonsize*fasten)
- at2.Position = at2.Position - vt(0,0,0.5*bonsize*fasten)
- bem.Width0 = bem.Width0 + 1*bonsize*fasten
- bem.Width1 = bem.Width1 + 1*bonsize*fasten
- end
- sa:Destroy()
- end))
- end
- function sphereMKCharge(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos)
- local type = type
- local rng = Instance.new("Part", char)
- rng.Anchored = true
- rng.BrickColor = color
- rng.CanCollide = false
- rng.FormFactor = 3
- rng.Name = "Ring"
- rng.Material = "Neon"
- rng.Size = Vector3.new(1, 1, 1)
- rng.Transparency = 1
- rng.TopSurface = 0
- rng.BottomSurface = 0
- rng.CFrame = pos
- rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
- local rngm = Instance.new("SpecialMesh", rng)
- rngm.MeshType = "Sphere"
- rngm.Scale = vt(x1,y1,z1)
- if rainbowmode == true then
- rng.Color = Color3.new(r/255,g/255,b/255)
- end
- local scaler2 = 1
- local speeder = FastSpeed
- if type == "Add" then
- scaler2 = 1*value
- elseif type == "Divide" then
- scaler2 = 1/value
- end
- coroutine.resume(coroutine.create(function()
- for i = 0,10/bonuspeed,0.1 do
- swait()
- if rainbowmode == true then
- rng.Color = Color3.new(r/255,g/255,b/255)
- end
- if type == "Add" then
- scaler2 = scaler2 - 0.01*value/bonuspeed
- elseif type == "Divide" then
- scaler2 = scaler2 - 0.01/value*bonuspeed
- end
- if chaosmode == true then
- rng.BrickColor = BrickColor.random()
- end
- if glitchymode then
- local val = math.random(1,255)
- local color = Color3.fromRGB(val,val,val)
- rng.Color = color
- end
- speeder = speeder - 0.01*FastSpeed*bonuspeed
- rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed
- rng.Transparency = rng.Transparency - 0.01*bonuspeed
- rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, 0)
- end
- rng:Destroy()
- end))
- end
- function dmg(dude)
- if dude.Name ~= Character then
- local bgf = Instance.new("BodyGyro",dude.Head)
- bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(math.rad(-90),0,0)
- local val = Instance.new("BoolValue",dude)
- val.Name = "IsHit"
- local ds = coroutine.wrap(function()
- local torso = dude:FindFirstChild'Torso' or dude:FindFirstChild'UpperTorso'
- for i = 1, 10 do
- sphereMK(1.5,2,"Add",torso.CFrame*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))),1,1,25,-.01,BrickColor.new("White"),0,true)
- end
- dude:WaitForChild("Head"):BreakJoints()
- wait(0.5)
- targetted = nil
- CFuncs["Sound"].Create("rbxassetid://62339698", char, 0.5, 0.3)
- coroutine.resume(coroutine.create(function()
- for i, v in pairs(dude:GetChildren()) do
- if v:IsA("Accessory") then
- v:Destroy()
- end
- if v:IsA("Humanoid") then
- v:Destroy()
- end
- if v:IsA("CharacterMesh") then
- v:Destroy()
- end
- if v:IsA("Model") then
- v:Destroy()
- end
- if v:IsA("Part") or v:IsA("MeshPart") then
- for x, o in pairs(v:GetChildren()) do
- if o:IsA("Decal") then
- o:Destroy()
- end
- end
- coroutine.resume(coroutine.create(function()
- v.Material = "Neon"
- v.CanCollide = false
- local bld = Instance.new("ParticleEmitter",v)
- bld.LightEmission = 1
- bld.Texture = "rbxassetid://284205403"
- bld.Color = ColorSequence.new(Color3.new(1,1,1))
- bld.Rate = 50
- bld.Lifetime = NumberRange.new(1)
- bld.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0.75,0),NumberSequenceKeypoint.new(1,0,0)})
- bld.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(1,1,0)})
- bld.Speed = NumberRange.new(0,0)
- bld.VelocitySpread = 50000
- bld.Rotation = NumberRange.new(-500,500)
- bld.RotSpeed = NumberRange.new(-500,500)
- local sbs = Instance.new("BodyPosition", v)
- sbs.P = 3000
- sbs.D = 1000
- sbs.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
- sbs.position = v.Position + Vector3.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
- v.Color = Color3.new(1,1,1)
- coroutine.resume(coroutine.create(function()
- for i = 0, 49 do
- swait(1)
- v.Transparency = v.Transparency + 0.02
- end
- CFuncs["Sound"].Create("rbxassetid://1192402877", v, 0.25, 1)
- bld.Speed = NumberRange.new(1,5)
- bld.Acceleration = vt(0,10,0)
- wait(0.5)
- bld.Enabled = false
- wait(3)
- v:Destroy()
- dude:Destroy()
- end))
- end))
- end
- end
- end))
- end)
- ds()
- end
- end
- function FindNearestHead(Position, Distance, SinglePlayer)
- if SinglePlayer then
- return (SinglePlayer.Torso.CFrame.p - Position).magnitude < Distance
- end
- local List = {}
- for i, v in pairs(workspace:GetChildren()) do
- if v:IsA("Model") then
- if v:findFirstChild("Head") then
- if v ~= Character then
- if (v.Head.Position - Position).magnitude <= Distance then
- table.insert(List, v)
- end
- end
- end
- end
- end
- return List
- end
- function FaceMouse()
- Cam = workspace.CurrentCamera
- return {
- CFrame.new(char.Torso.Position, Vector3.new(mouse.Hit.p.x, char.Torso.Position.y, mouse.Hit.p.z)),
- Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)
- }
- end
- function FaceMouse2()
- Cam = workspace.CurrentCamera
- return {
- CFrame.new(char.Torso.Position, Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)),
- Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)
- }
- end
- local ModeOfGlitch = 1
- function CreatePart(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
- local Part = Create("Part")({
- Parent = Parent,
- Reflectance = Reflectance,
- Transparency = Transparency,
- CanCollide = false,
- Locked = true,
- BrickColor = BrickColor.new(tostring(BColor)),
- Name = Name,
- Size = Size,
- Material = Material
- })
- Part.CustomPhysicalProperties = PhysicalProperties.new(0.001, 0.001, 0.001, 0.001, 0.001)
- return Part
- end
- function chatfunc(text,color)
- local chat = coroutine.wrap(function()
- if Character:FindFirstChild("TalkingBillBoard")~= nil then
- Character:FindFirstChild("TalkingBillBoard"):destroy()
- end
- local naeeym2 = Instance.new("BillboardGui",Character)
- naeeym2.Size = UDim2.new(0,100,0,40)
- naeeym2.StudsOffset = Vector3.new(0,3,0)
- naeeym2.Adornee = Character.Head
- naeeym2.Name = "TalkingBillBoard"
- local tecks2 = Instance.new("TextLabel",naeeym2)
- tecks2.BackgroundTransparency = 1
- tecks2.BorderSizePixel = 0
- tecks2.Text = ""
- tecks2.Font = "SciFi"
- tecks2.TextSize = 30
- tecks2.TextStrokeTransparency = 0
- tecks2.TextColor3 = color
- tecks2.TextStrokeColor3 = Color3.new(0,0,0)
- tecks2.Size = UDim2.new(1,0,0.5,0)
- local tecks3 = Instance.new("TextLabel",naeeym2)
- tecks3.BackgroundTransparency = 1
- tecks3.BorderSizePixel = 0
- tecks3.Text = ""
- tecks3.Font = "SciFi"
- tecks3.TextSize = 30
- tecks3.TextStrokeTransparency = 0
- tecks3.TextColor3 = Color3.new(0,0,0)
- tecks3.TextStrokeColor3 = color
- tecks3.Size = UDim2.new(1,0,0.5,0)
- coroutine.resume(coroutine.create(function()
- while true do
- swait(1)
- tecks2.Position = UDim2.new(0,math.random(-5,5),0,math.random(-5,5))
- tecks3.Position = UDim2.new(0,math.random(-5,5),0,math.random(-5,5))
- tecks2.Rotation = math.random(-5,5)
- tecks3.Rotation = math.random(-5,5)
- end
- end))
- for i = 1,string.len(text),1 do
- CFuncs["Sound"].Create("rbxassetid://274118116", char, 0.25, 0.115)
- tecks2.Text = string.sub(text,1,i)
- tecks3.Text = string.sub(text,1,i)
- swait(1)
- end
- wait(1)
- local randomrot = math.random(1,2)
- if randomrot == 1 then
- for i = 1, 50 do
- swait()
- tecks2.Rotation = tecks2.Rotation - .75
- tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
- tecks2.TextTransparency = tecks2.TextTransparency + .04
- tecks3.Rotation = tecks2.Rotation + .75
- tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
- tecks3.TextTransparency = tecks2.TextTransparency + .04
- end
- elseif randomrot == 2 then
- for i = 1, 50 do
- swait()
- tecks2.Rotation = tecks2.Rotation + .75
- tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
- tecks2.TextTransparency = tecks2.TextTransparency + .04
- tecks3.Rotation = tecks2.Rotation - .75
- tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
- tecks3.TextTransparency = tecks2.TextTransparency + .04
- end
- end
- naeeym2:Destroy()
- end)
- chat()
- end
- local NewInstance = function(instance,parent,properties)
- local inst = Instance.new(instance,parent)
- if(properties)then
- for i,v in next, properties do
- pcall(function() inst[i] = v end)
- end
- end
- return inst;
- end
- FXFolder = script.Effects
- function CamShake(who,data)
- coroutine.wrap(function()
- if(FXFolder:FindFirstChild'CamShake')then
- local cam = FXFolder.CamShake:Clone()
- cam:WaitForChild'intensity'.Value = data.Intensity or 5
- cam:WaitForChild'duration'.Value = data.Duration or 5
- cam:WaitForChild'speed'.Value = data.Speed or 10;
- if(data.Origin)then NewInstance((typeof(data.Origin) == 'Instance' and "ObjectValue" or typeof(data.Origin) == 'Vector3' and 'Vector3Value' or typeof(data.Origin)=='CFrame' and 'CFrameValue'),cam,{Name='origin',Value=data.Origin}) end
- cam:WaitForChild'rot'.Value = data.Rotation or Vector3.new(1,1,5)
- cam:WaitForChild'pos'.Value = data.Position or Vector3.new(.5,.5,.5)
- cam:WaitForChild'startdist'.Value = data.DropDist or 25;
- cam:WaitForChild'enddist'.Value = data.IneffectiveDist or 150;
- cam.Parent = who
- wait()
- cam.Disabled = false
- end
- end)()
- end
- function CamShakeAll(data)
- for _,v in next, game:service'Players':players() do
- CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,data)
- end
- end
- -- Damage functions --
- DoDamage = true
- function Vanish(person)
- local human = nil
- human = person:FindFirstChildOfClass("Humanoid")
- if human ~= nil then
- game:GetService("Debris"):AddItem(person,5)
- human:Destroy()
- for i,v in pairs(person:GetDescendants()) do
- if v:IsA("Sound") then
- v.Pitch = 0
- v.Volume = 0
- v:Destroy()
- end
- if v:IsA("Shirt") or v:IsA("Pants") or v:IsA("Decal") or v:IsA("Texture") then
- v:Destroy()
- end
- if v:IsA("Part") or v:IsA("MeshPart") then
- coroutine.resume(coroutine.create(function()
- v.Material = "Neon"
- v.Anchored = true
- v.Color = Color3.new(1,1,1)
- for i = 0, 49 do
- swait()
- v.Transparency = v.Transparency + 0.02
- end
- v.Parent = nil
- end))
- end
- end
- end
- end
- function Damagefunc(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
- if DoDamage == true then
- if hit.Parent == nil then
- return
- end
- local h = hit.Parent:FindFirstChildOfClass("Humanoid")
- for _, v in pairs(hit.Parent:children()) do
- if v:IsA("Humanoid") then
- h = v
- end
- end
- if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Head") ~= nil then
- if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
- return
- end
- local c = Create("ObjectValue")({
- Name = "creator",
- Value = game:GetService("Players").LocalPlayer,
- Parent = h
- })
- game:GetService("Debris"):AddItem(c, 0.5)
- if HitSound ~= nil and HitPitch ~= nil then
- CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
- end
- local Damage = math.random(minim, maxim)
- local blocked = false
- local block = hit.Parent:findFirstChild("Block")
- if block ~= nil and block.className == "IntValue" and block.Value > 0 then
- blocked = true
- block.Value = block.Value - 1
- print(block.Value)
- end
- if blocked == false then
- local HitHealth = h.Health
- --h.MaxHealth = 100 let it
- h.Health = h.Health - Damage
- if HitHealth ~= h.Health and HitHealth ~= 0 and 0 >= h.Health and h.Parent.Name ~= "Hologram" then
- --print("gained kill")
- dmg(h.Parent)
- end
- else
- h.Health = h.Health - Damage / 2
- end
- if Type == "Knockdown" then
- local hum = hit.Parent.Humanoid
- hum.PlatformStand = true
- coroutine.resume(coroutine.create(function(HHumanoid)
- swait(1)
- HHumanoid.PlatformStand = false
- end), hum)
- local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
- local bodvol = Create("BodyVelocity")({
- velocity = angle * knockback,
- P = 5000,
- maxForce = Vector3.new(8000, 8000, 8000),
- Parent = hit
- })
- local rl = Create("BodyAngularVelocity")({
- P = 3000,
- maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
- angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
- Parent = hit
- })
- game:GetService("Debris"):AddItem(bodvol, 0.5)
- game:GetService("Debris"):AddItem(rl, 0.5)
- elseif Type == "Normal" then
- local vp = Create("BodyVelocity")({
- P = 500,
- maxForce = Vector3.new(math.huge, 0, math.huge),
- velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
- })
- if knockback > 0 and hit.Parent:FindFirstChild'Head' then
- vp.Parent = hit.Parent.Head
- end
- game:GetService("Debris"):AddItem(vp, 0.5)
- elseif Type == "Up" then
- local bodyVelocity = Create("BodyVelocity")({
- velocity = Vector3.new(0, 20, 0),
- P = 5000,
- maxForce = Vector3.new(8000, 8000, 8000),
- Parent = hit
- })
- game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
- local bodyVelocity = Create("BodyVelocity")({
- velocity = Vector3.new(0, 20, 0),
- P = 5000,
- maxForce = Vector3.new(8000, 8000, 8000),
- Parent = hit
- })
- game:GetService("Debris"):AddItem(bodyVelocity, 1)
- elseif Type == "Leech" then
- local hum = hit.Parent.Humanoid
- if hum ~= nil then
- for i = 0, 2 do
- Effects.Sphere.Create(BrickColor.new("Bright red"), hit.Parent.Torso.CFrame * cn(0, 0, 0) * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 15, 1, 0, 5, 0, 0.02)
- end
- Humanoid.Health = Humanoid.Health + 10
- end
- elseif Type == "Tree" then
- Torpefy(hit.Parent)
- elseif Type == "UpKnock" then
- local hum = hit.Parent.Humanoid
- hum.PlatformStand = true
- if hum ~= nil then
- hitr = true
- end
- coroutine.resume(coroutine.create(function(HHumanoid)
- swait(5)
- HHumanoid.PlatformStand = false
- hitr = false
- end), hum)
- local bodyVelocity = Create("BodyVelocity")({
- velocity = Vector3.new(0, 20, 0),
- P = 5000,
- maxForce = Vector3.new(8000, 8000, 8000),
- Parent = hit
- })
- game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
- local bodyVelocity = Create("BodyVelocity")({
- velocity = Vector3.new(0, 20, 0),
- P = 5000,
- maxForce = Vector3.new(8000, 8000, 8000),
- Parent = hit
- })
- game:GetService("Debris"):AddItem(bodyVelocity, 1)
- elseif Type == "Snare" then
- local bp = Create("BodyPosition")({
- P = 2000,
- D = 100,
- maxForce = Vector3.new(math.huge, math.huge, math.huge),
- position = hit.Parent.Torso.Position,
- Parent = hit.Parent.Torso
- })
- game:GetService("Debris"):AddItem(bp, 1)
- elseif Type == "Slashnare" then
- Effects.Block.Create(BrickColor.new("Pastel Blue"), hit.Parent.Torso.CFrame * cn(0, 0, 0), 15*4, 15*4, 15*4, 3*4, 3*4, 3*4, 0.07)
- for i = 1, math.random(4, 5) do
- Effects.Sphere.Create(BrickColor.new("Teal"), hit.Parent.Torso.CFrame * cn(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)) * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 15, 1, 0, 5, 0, 0.02)
- end
- local bp = Create("BodyPosition")({
- P = 2000,
- D = 100,
- maxForce = Vector3.new(math.huge, math.huge, math.huge),
- position = hit.Parent.Torso.Position,
- Parent = hit.Parent.Torso
- })
- game:GetService("Debris"):AddItem(bp, 1)
- elseif Type == "Burn" then
- local humss = hit.Parent:findFirstChildOfClass("Humanoid")
- humss.PlatformStand = true
- coroutine.resume(coroutine.create(function(HHumanoid)
- swait(60)
- HHumanoid.PlatformStand = false
- end), humss)
- local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
- local bodvol = Create("BodyVelocity")({
- velocity = angle * knockback,
- P = 5000,
- maxForce = Vector3.new(8000, 8000, 8000),
- Parent = hit
- })
- local rl = Create("BodyAngularVelocity")({
- P = 3000,
- maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
- angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
- Parent = hit
- })
- game:GetService("Debris"):AddItem(bodvol, 0.5)
- game:GetService("Debris"):AddItem(rl, 0.5)
- coroutine.resume(coroutine.create(function()
- if hit.Parent:findFirstChild("Torso")then
- local hitoor=hit.Parent:findFirstChild("Torso")
- local da = script.Effects.Flame:Clone()
- da.Parent = hitoor
- da.Enabled = true
- local BURNBABYBURN = Create("Sound"){
- Volume = 1,
- Name = "asdawdwadadw",
- Pitch = 1.2,
- Looped = true,
- SoundId = "rbxassetid://1601946639",
- Parent = hitoor,
- }
- BURNBABYBURN:play()
- for i=1, 150 do
- swait(5)
- humss.Health = humss.Health - .4
- end
- da.Enabled = false
- BURNBABYBURN:Remove()
- game:GetService("Debris"):AddItem(da, 2)
- end
- end))
- elseif Type == "Spike" then
- -- CreateBigIceSword(hit.Parent.Torso.CFrame)
- local bp = Create("BodyPosition")({
- P = 2000,
- D = 100,
- maxForce = Vector3.new(math.huge, math.huge, math.huge),
- position = hit.Parent.Torso.Position,
- Parent = hit.Parent.Torso
- })
- game:GetService("Debris"):AddItem(bp, 1)
- elseif Type == "Freeze" then
- local BodPos = Create("BodyPosition")({
- P = 50000,
- D = 1000,
- maxForce = Vector3.new(math.huge, math.huge, math.huge),
- position = hit.Parent.Torso.Position,
- Parent = hit.Parent.Torso
- })
- local BodGy = Create("BodyGyro")({
- maxTorque = Vector3.new(400000, 400000, 400000) * math.huge,
- P = 20000,
- Parent = hit.Parent.Torso,
- cframe = hit.Parent.Torso.CFrame
- })
- hit.Parent.Torso.Anchored = true
- coroutine.resume(coroutine.create(function(Part)
- swait(1.5)
- Part.Anchored = false
- end), hit.Parent.Torso)
- game:GetService("Debris"):AddItem(BodPos, 3)
- game:GetService("Debris"):AddItem(BodGy, 3)
- end
- local debounce = Create("BoolValue")({
- Name = "DebounceHit",
- Parent = hit.Parent,
- Value = true
- })
- game:GetService("Debris"):AddItem(debounce, Delay)
- c = Instance.new("ObjectValue")
- c.Name = "creator"
- c.Value = Player
- c.Parent = h
- game:GetService("Debris"):AddItem(c, 0.5)
- end
- elseif DoDamage == false then
- print("Damage is disabled")
- end
- end
- function MagniDamage(Part, magni, mindam, maxdam, knock, Type)
- for _, c in pairs(workspace:children()) do
- local hum = c:findFirstChildOfClass("Humanoid")
- if hum ~= nil then
- local head = c:findFirstChild("Head")
- if head ~= nil then
- local targ = head.Position - Part.Position
- local mag = targ.magnitude
- if magni >= mag and c.Name ~= Player.Name then
- Damagefunc(head, head, mindam, maxdam, knock, Type, RootPart, 0.1, "rbxassetid://231917784", 1)
- end
- end
- end
- end
- end
- function MagniDamageWithEffect(Part, magni, mindam, maxdam, knock, Type)
- for _, c in pairs(workspace:children()) do
- local hum = c:findFirstChild("Humanoid")
- if hum ~= nil then
- local head = c:findFirstChild("Torso")
- if head ~= nil then
- local targ = head.Position - Part.Position
- local mag = targ.magnitude
- if magni >= mag and c.Name ~= Player.Name then
- MagicBlock(BrickColor.new("Pastel light blue"),head.CFrame,5,5,5,1,1,1,0.05)
- Damagefunc(head, head, mindam, maxdam, knock, Type, RootPart, 0.1, "rbxassetid://231917784", 1)
- end
- end
- end
- end
- end
- -- Attacks --
- function volcaniceruption()
- attack = true
- hum.WalkSpeed = 2
- chatfunc("I'll make you burnt toast!",Color3.new(1,0,0))
- local volcano = script.Objects.Volcano:Clone()
- volcano.Parent = char
- volcano.Transparency = 1
- volcano.CFrame = root.CFrame + root.CFrame.lookVector*150
- for i = 1,20,0.1 do
- swait()
- RH.C0=clerp(RH.C0,cf(1,-1.1,0)*angles(math.rad(0),math.rad(85),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(0)),.01)
- LH.C0=clerp(LH.C0,cf(-1,-1.1,0)*angles(math.rad(0),math.rad(-85),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(0)),.01)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,.1)*angles(math.rad(0),math.rad(0),math.rad(-25)),.01)
- Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-15),math.rad(0),math.rad(25)),.01)
- RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(175),math.rad(0),math.rad(10)),.02)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*angles(math.rad(175),math.rad(0),math.rad(-10)),.02)
- volcano.Position = Vector3.new(volcano.Position.X,volcano.Position.Y + 0.1, volcano.Position.Z)
- book1.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + 0.5 * math.cos(SINE / 25 + 30), RootPart.Position.Z - math.cos(SINE/17) * 8)
- book3.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + - 1.5 + 0.5 * math.cos(SINE / 25 + 90), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book4.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book2.CFrame = hed.CFrame + root.CFrame.lookVector*4
- book2.Position = Vector3.new(book2.Position.X,book2.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), book2.Position.Z)
- book5.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y + 1.5 + 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book6.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y - 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book7.Position = Vector3.new(RootPart.Position.X - math.cos(SINE/14) * 3, RootPart.Position.Y + 5 + 1* math.cos(SINE / 35), RootPart.Position.Z - math.sin(SINE/14) * 3)
- volcano.Transparency = 1 - (i * 5)/100
- end
- for i = 1,100 do
- swait()
- RH.C0=clerp(RH.C0,cf(1,-1.1,0)*angles(math.rad(0),math.rad(85),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(0)),.01)
- LH.C0=clerp(LH.C0,cf(-1,-1.1,0)*angles(math.rad(0),math.rad(-85),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(0)),.01)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,.1)*angles(math.rad(0),math.rad(0),math.rad(-25)),.01)
- Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-15),math.rad(0),math.rad(25)),.01)
- RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(175),math.rad(0),math.rad(10)),.02)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*angles(math.rad(175),math.rad(0),math.rad(-10)),.02)
- book1.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + 0.5 * math.cos(SINE / 25 + 30), RootPart.Position.Z - math.cos(SINE/17) * 8)
- book3.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + - 1.5 + 0.5 * math.cos(SINE / 25 + 90), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book4.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book2.CFrame = hed.CFrame + root.CFrame.lookVector*4
- book2.Position = Vector3.new(book2.Position.X,book2.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), book2.Position.Z)
- book5.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y + 1.5 + 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book6.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y - 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book7.Position = Vector3.new(RootPart.Position.X - math.cos(SINE/14) * 3, RootPart.Position.Y + 5 + 1* math.cos(SINE / 35), RootPart.Position.Z - math.sin(SINE/14) * 3)
- coroutine.resume(coroutine.create(function()
- local magma = Instance.new("Part",char)
- magma.Position = Vector3.new(volcano.Position.X,volcano.Position.Y + 150, volcano.Position.Z)
- magma.Size = Vector3.new(10,10,10)
- magma.BrickColor = BrickColor.Red()
- magma.Velocity = Vector3.new(math.random(-300,300),math.random(-300,300),math.random(-300,300))
- swait(50)
- for i = 1,100 do
- swait(1)
- MagniDamage(magma, 40, 3,5, 0, "Burn")
- end
- magma:Destroy()
- end))
- end
- volcano:Destroy()
- hum.WalkSpeed = 16
- attack = false
- end
- local Alpha = .1
- function LithosphereSpikes()
- local distlook = 0
- attack = true
- hum.WalkSpeed = 0
- chatfunc("Have fun flopping like a fish.",Color3.new(0.5,0.5,0))
- for i = 1,10 do
- swait()
- RootJoint.C0 = RootJoint.C0:lerp(cf(-0.2,-1.4,-0.5)*angles(math.rad(-36),math.rad(-16.3),math.rad(0))*RootCF,Alpha)
- LH.C0 = LH.C0:lerp(cf(-0.9,0.3,-0.1)*angles(math.rad(17.7),math.rad(15.6),math.rad(-4.9))*angles(math.rad(0),math.rad(-90),math.rad(0)),Alpha)
- RH.C0 = RH.C0:lerp(cf(1.2,-1.2,-0.3)*angles(math.rad(-32.5),math.rad(13.9),math.rad(8.7))*angles(math.rad(0),math.rad(90),math.rad(0)),Alpha)
- LW.C0 = LW.C0:lerp(cf(-1.5,0.3,-0.4)*angles(math.rad(43.5),math.rad(12),math.rad(-11.1)),Alpha)
- RW.C0 = RW.C0:lerp(cf(0.9,0.2,-0.4)*angles(math.rad(41.2),math.rad(0),math.rad(-63.3)),Alpha)
- Torso.Neck.C0 = Torso.Neck.C0:lerp(cf(0.1,0.2,0.4)*angles(math.rad(-29.6),math.rad(16.9),math.rad(9.4))*necko,Alpha)
- book2.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 0.5 * math.cos(SINE / 25 + 60), RootPart.Position.Z - math.cos(SINE/17) * 8)
- book3.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + - 1.5 + 0.5 * math.cos(SINE / 25 + 90), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book4.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book1.CFrame = hed.CFrame + root.CFrame.lookVector*4
- book1.Position = Vector3.new(book1.Position.X,book1.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), book1.Position.Z)
- book5.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y + 1.5 + 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book6.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y - 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book7.Position = Vector3.new(RootPart.Position.X - math.cos(SINE/14) * 3, RootPart.Position.Y + 5 + 1* math.cos(SINE / 35), RootPart.Position.Z - math.sin(SINE/14) * 3)
- coroutine.resume(coroutine.create(function()
- local hite = script.Objects.Spike:Clone()
- hite.Parent = char
- hite.Transparency = 0
- hite.Anchored = true
- hite.CanCollide = false
- hite.CFrame = root.CFrame + root.CFrame.lookVector*(distlook + 10)
- distlook = distlook + 10
- MagniDamage(hite, 10, 30,50, 0, "UpKnock")
- swait(100)
- for i = 1,30 do
- swait()
- hite.Position = hite.Position - Vector3.new(0,0.5,0)
- hite.Transparency = i/30
- end
- hite:Destroy()
- end))
- end
- attack = false
- hum.WalkSpeed = 16
- end
- function Mountain()
- attack = true
- hum.WalkSpeed = 0
- local a = Instance.new("Part",workspace)
- a.Position = Torso.Position - Vector3.new(0,4,0)
- a.Material = "Grass"
- a.BrickColor = BrickColor.new("Earth green")
- a.Anchored = true
- a.Size = Vector3.new(10,1,10)
- CamShakeAll({
- Duration=0.5;
- Intensity=5;
- Position=Vector3.new(2,2,2);
- Rotation=Vector3.new(2,2,6);
- DropDist=1000;
- IneffectiveDist=1000;
- Origin=tors.Position;
- })
- for i = 1,50 do
- swait()
- RootJoint.C0 = RootJoint.C0:lerp(cf(-0.2,-1.4,-0.5)*angles(math.rad(-36),math.rad(-16.3),math.rad(0))*RootCF,Alpha)
- LH.C0 = LH.C0:lerp(cf(-0.9,0.3,-0.1)*angles(math.rad(17.7),math.rad(15.6),math.rad(-4.9))*angles(math.rad(0),math.rad(-90),math.rad(0)),Alpha)
- RH.C0 = RH.C0:lerp(cf(1.2,-1.2,-0.3)*angles(math.rad(-32.5),math.rad(13.9),math.rad(8.7))*angles(math.rad(0),math.rad(90),math.rad(0)),Alpha)
- LW.C0 = LW.C0:lerp(cf(-1.5,0.3,-0.4)*angles(math.rad(43.5),math.rad(12),math.rad(-11.1)),Alpha)
- RW.C0 = RW.C0:lerp(cf(0.9,0.2,-0.4)*angles(math.rad(41.2),math.rad(0),math.rad(-63.3)),Alpha)
- Torso.Neck.C0 = Torso.Neck.C0:lerp(cf(0.1,0.2,0.4)*angles(math.rad(-29.6),math.rad(16.9),math.rad(9.4))*necko,Alpha)
- book2.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 0.5 * math.cos(SINE / 25 + 60), RootPart.Position.Z - math.cos(SINE/17) * 8)
- book3.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + - 1.5 + 0.5 * math.cos(SINE / 25 + 90), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book4.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book1.CFrame = hed.CFrame + root.CFrame.lookVector*4
- book1.Position = Vector3.new(book1.Position.X,book1.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), book1.Position.Z)
- book5.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y + 1.5 + 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book6.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y - 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book7.Position = Vector3.new(RootPart.Position.X - math.cos(SINE/14) * 3, RootPart.Position.Y + 5 + 1* math.cos(SINE / 35), RootPart.Position.Z - math.sin(SINE/14) * 3)
- a.Size = a.Size + Vector3.new(0,2,0)
- end
- attack = false
- hum.WalkSpeed = 16
- end
- function LightningStrike()
- chatfunc("Take it!",Color3.new(1,1,0))
- CFuncs["EchoSound"].Create("rbxassetid://1625448638", root, 4, 1,0,10,0.15,0.5,1)
- swait(30)
- local a = Instance.new("Part",char)
- a.Name = "Direction"
- a.Anchored = true
- a.BrickColor = BrickColor.new("New Yeller")
- a.Material = "Neon"
- a.Transparency = 1
- a.Shape = "Cylinder"
- local ray = Ray.new(
- root.CFrame.p, -- origin
- (mouse.Hit.p - root.CFrame.p).unit * 500 -- direction
- )
- local ignore = char
- local hit, position, normal = workspace:FindPartOnRay(ray, ignore)
- a.BottomSurface = 10
- a.TopSurface = 10
- local distance = (root.CFrame.p - position).magnitude
- a.Size = Vector3.new(distance,1,1)
- a.CFrame = CFrame.new(root.CFrame.p, position) * CFrame.new(1, 1, -distance)
- local ht = Instance.new("Part",char)
- ht.Name = "Hit"
- ht.Anchored = true
- MagniDamage(ht, 20, 10,15, 0, "Burn")
- ht.CanCollide = false
- ht.Transparency = 1
- ht.Size = vt(0.1,0.1,0.1)
- CFuncs["Sound"].Create("rbxassetid://782353443", char, 3, 1)
- CFuncs["Sound"].Create("rbxassetid://763717897", char, 1, 1.35)
- a.CanCollide = false
- ht.Position = a.Position
- sphere2(2,"Add",ht.CFrame,vt(24,24,24),2,2,2,BrickColor.new("New Yeller"))
- sphere2(1,"Add",ht.CFrame,vt(1,100000,1),0.25,0.25,0.25,BrickColor.new("New Yeller"))
- sphere2(1,"Add",ht.CFrame,vt(24,24,24),1,1,1,BrickColor.new("New Yeller"))
- for i = 0, 9 do
- Beamring(Color3.new(1,1,1),ht.CFrame*CFrame.new(0,0,0)*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))),math.random(10,100)/10,0,math.random(1,5),348103573)
- end
- for i, v in pairs(FindNearestHead(ht.CFrame.p, 80)) do
- if v:FindFirstChild('Head') then
- MagniDamage(v.Head, 5, 10,15, 0, "Burn")
- end
- end
- coroutine.resume(coroutine.create(function()
- game:GetService("Debris"):AddItem(a,5)
- game:GetService("Debris"):AddItem(ht,5)
- end))
- end
- function DryFreeze()
- attack = true
- hum.WalkSpeed = 0
- CFuncs["EchoSound"].Create("rbxassetid://1690476035", root, 10, 1,0.1,10,0.15,0.5,1)
- for i = 1,100 do
- swait()
- RH.C0=clerp(RH.C0,cf(1,-1.1,0)*angles(math.rad(0),math.rad(85),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(0)),.01)
- LH.C0=clerp(LH.C0,cf(-1,-1.1,0)*angles(math.rad(0),math.rad(-85),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(0)),.01)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,.1)*angles(math.rad(0),math.rad(0),math.rad(-25)),.01)
- Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-15),math.rad(0),math.rad(25)),.01)
- RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(175),math.rad(0),math.rad(10)),.02)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*angles(math.rad(175),math.rad(0),math.rad(-10)),.02)
- book1.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + 0.5 * math.cos(SINE / 25 + 30), RootPart.Position.Z - math.cos(SINE/17) * 8)
- book2.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 0.5 * math.cos(SINE / 25 + 60), RootPart.Position.Z - math.cos(SINE/17) * 8)
- book3.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + - 1.5 + 0.5 * math.cos(SINE / 25 + 90), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book4.CFrame = hed.CFrame + root.CFrame.lookVector*4
- book4.Position = Vector3.new(book4.Position.X,book4.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), book4.Position.Z)
- book5.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y + 1.5 + 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book6.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y - 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book7.Position = Vector3.new(RootPart.Position.X - math.cos(SINE/14) * 3, RootPart.Position.Y + 5 + 1* math.cos(SINE / 35), RootPart.Position.Z - math.sin(SINE/14) * 3)
- coroutine.resume(coroutine.create(function()
- local icespike = script.Objects.IceSpike:Clone()
- icespike.Parent = char
- icespike.Transparency = 0.1
- icespike.CFrame = root.CFrame * CFrame.new((i-50)/5,-2,0)
- icespike.CFrame = icespike.CFrame + root.CFrame.lookVector*10
- icespike.Orientation = Vector3.new(math.random(-35,35),math.random(85,95),math.random(-35,35))
- MagniDamage(icespike, 5, 10,15, 0, "Freeze")
- swait(100)
- for i = 1,30 do
- swait()
- icespike.Position = icespike.Position - Vector3.new(0,0.5,0)
- icespike.Transparency = i/30
- end
- icespike:Destroy()
- end))
- end
- attack = false
- hum.WalkSpeed = 16
- end
- function DarkPillar() -- some things here are from Spectrum v7.
- chatfunc("The end times are upon us.",Color3.new(0,0,0))
- attack = true
- hum.WalkSpeed = 0
- for i = 1,10,0.1 do
- swait()
- RH.C0=clerp(RH.C0,cf(1,-1.1,0)*angles(math.rad(0),math.rad(85),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(0)),.01)
- LH.C0=clerp(LH.C0,cf(-1,-1.1,0)*angles(math.rad(0),math.rad(-85),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(0)),.01)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,.1)*angles(math.rad(0),math.rad(0),math.rad(-25)),.01)
- Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-15),math.rad(0),math.rad(25)),.01)
- RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(175),math.rad(0),math.rad(10)),.02)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*angles(math.rad(175),math.rad(0),math.rad(-10)),.02)
- book1.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + 0.5 * math.cos(SINE / 25 + 30), RootPart.Position.Z - math.cos(SINE/17) * 8)
- book2.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 0.5 * math.cos(SINE / 25 + 60), RootPart.Position.Z - math.cos(SINE/17) * 8)
- book3.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + - 1.5 + 0.5 * math.cos(SINE / 25 + 90), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book4.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book5.CFrame = hed.CFrame + root.CFrame.lookVector*4
- book5.Position = Vector3.new(book5.Position.X,book5.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), book5.Position.Z)
- book6.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y - 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book7.Position = Vector3.new(RootPart.Position.X - math.cos(SINE/14) * 3, RootPart.Position.Y + 5 + 1* math.cos(SINE / 35), RootPart.Position.Z - math.sin(SINE/14) * 3)
- end
- local keptcolor = BrickColor.Black()
- local pil = script.Objects.Pillar:Clone()
- pil.Parent = char
- pil.CFrame = root.CFrame + root.CFrame.lookVector*15
- pil.Position = pil.Position + Vector3.new(0,3,0)
- pil.Transparency = 0
- MagniDamage(pil, 30, 10,15, 0, "UpKnock")
- local locat = Instance.new("Part", char)
- locat.CanCollide = false
- locat.FormFactor = 3
- locat.Name = "Ring"
- locat.Material = "Neon"
- locat.Size = Vector3.new(1, 1, 1)
- locat.Transparency = 1
- locat.TopSurface = 0
- locat.BottomSurface = 0
- locat.Anchored = true
- locat.CFrame = pil.CFrame*CFrame.new(0,-3,0)
- local poste = 0
- local rotation = 0
- local upperpos = 0
- local rate = 0
- local x = locat
- CFuncs["Sound"].Create("rbxassetid://763717897", char, 1.2, 1)
- CFuncs["Sound"].Create("rbxassetid://1192402877", char, 0.5, 0.75)
- CFuncs["Sound"].Create("rbxassetid://1664711478", char, 1.2, 0.95)
- sphere2(1,"Add",x.CFrame*CFrame.new(0,0,0),vt(5,50000,5),1.5,1,1.5,BrickColor.Black())
- sphere2(2,"Add",x.CFrame*CFrame.new(0,0,0),vt(5,50000,5),1.5,1,1.5,BrickColor.Black())
- sphere2(4,"Add",x.CFrame*CFrame.new(0,0,0),vt(5,50000,5),1.5,1,1.5,BrickColor.Black())
- for i = 0, 99 do
- local dis = CreateParta(char,1,1,"Neon",BrickColor.Black())
- dis.CFrame = root.CFrame*CFrame.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360)))
- local at1 = Instance.new("Attachment",dis)
- at1.Position = vt(-25000,0,0)
- local at2 = Instance.new("Attachment",dis)
- at2.Position = vt(25000,0,0)
- local bv = Instance.new("BodyVelocity")
- bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
- bv.velocity = dis.CFrame.lookVector*math.random(500,2500)
- bv.Parent = dis
- game:GetService("Debris"):AddItem(dis, 10)
- end
- coroutine.resume(coroutine.create(function()
- coroutine.resume(coroutine.create(function()
- local eff = Instance.new("ParticleEmitter",x)
- eff.Texture = "rbxassetid://2273224484"
- eff.LightEmission = 1
- eff.Color = ColorSequence.new(BrickColor.Black().Color)
- eff.Rate = 90000
- eff.Lifetime = NumberRange.new(3,8)
- eff.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,120,0),NumberSequenceKeypoint.new(0.2,25,0),NumberSequenceKeypoint.new(1,0.1,0)})
- eff.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1,0),NumberSequenceKeypoint.new(0.2,0,0),NumberSequenceKeypoint.new(1,1,0)})
- eff.Speed = NumberRange.new(250,1500)
- eff.Drag = 5
- eff.Rotation = NumberRange.new(-500,500)
- eff.VelocitySpread = 9000
- eff.RotSpeed = NumberRange.new(-100,100)
- wait(0.7)
- eff.Enabled = false
- end))
- for i = 0, 154 do
- swait()
- rotation = rotation + 5
- poste = poste + 1
- upperpos = upperpos + rate
- rate = rate + 0.2
- sphere2(8,"Add",x.CFrame*CFrame.Angles(0,math.rad(rotation),0)*CFrame.new(0,upperpos,poste),vt(2.5+upperpos/5,2.5+upperpos/5,2.5+upperpos/5),-0.05,-0.05,-0.05,BrickColor.Black())
- sphere2(8,"Add",x.CFrame*CFrame.Angles(0,math.rad(90+rotation),0)*CFrame.new(0,upperpos,poste),vt(2.5+upperpos/5,2.5+upperpos/5,2.5+upperpos/5),-0.05,-0.05,-0.05,BrickColor.Black())
- sphere2(8,"Add",x.CFrame*CFrame.Angles(0,math.rad(180+rotation),0)*CFrame.new(0,upperpos,poste),vt(2.5+upperpos/5,2.5+upperpos/5,2.5+upperpos/5),-0.05,-0.05,-0.05,BrickColor.Black())
- sphere2(8,"Add",x.CFrame*CFrame.Angles(0,math.rad(270+rotation),0)*CFrame.new(0,upperpos,poste),vt(2.5+upperpos/5,2.5+upperpos/5,2.5+upperpos/5),-0.05,-0.05,-0.05,BrickColor.Black())
- sphere2(8,"Add",x.CFrame*CFrame.Angles(0,math.rad(-rotation),0)*CFrame.new(0,upperpos/2,poste*2),vt(2.5+upperpos/10,2.5+upperpos/10,2.5+upperpos/10),-0.05,-0.05,-0.05,keptcolor)
- sphere2(8,"Add",x.CFrame*CFrame.Angles(0,math.rad(90-rotation),0)*CFrame.new(0,upperpos/2,poste*2),vt(3.5+upperpos/10,3.5+upperpos/10,3.5+upperpos/10),-0.05,-0.05,-0.05,keptcolor)
- sphere2(8,"Add",x.CFrame*CFrame.Angles(0,math.rad(180-rotation),0)*CFrame.new(0,upperpos/2,poste*2),vt(3.5+upperpos/10,3.5+upperpos/10,3.5+upperpos/10),-0.05,-0.05,-0.05,keptcolor)
- sphere2(8,"Add",x.CFrame*CFrame.Angles(0,math.rad(270-rotation),0)*CFrame.new(0,upperpos/2,poste*2),vt(3.5+upperpos/10,3.5+upperpos/10,3.5+upperpos/10),-0.05,-0.05,-0.05,keptcolor)
- end
- wait(6)
- x:Destroy()
- end))
- attack = false
- hum.WalkSpeed = 16
- swait(30)
- for i = 1,30 do
- swait()
- pil.Position = pil.Position - Vector3.new(0,0.5,0)
- pil.Transparency = i/30
- end
- pil:Destroy()
- end
- function Torpefy(plr)
- coroutine.resume(coroutine.create(function()
- tree(plr)
- end))
- end
- function tree(who)
- pcall(function()
- local ded = who
- ded.Humanoid:Remove()
- for i,v in pairs(ded:GetDescendants()) do
- if v:IsA("Part") then
- v.Material = "Grass"
- v.BrickColor = BrickColor.new("Forest green")
- elseif v:IsA("MeshPart") and v.Name ~= "treemesh" then
- v:Remove()
- elseif v:IsA("SpecialMesh") then
- v:Destroy()
- end
- end
- local h1 = ded:FindFirstChild("Head")
- local t1 = ded:FindFirstChild("Torso")
- local ff = ded:FindFirstChildOfClass("ForceField")
- if ff ~= nil then
- ff:Destroy()
- end
- local ra1 = ded:FindFirstChild("Right Arm")
- local la1 = ded:FindFirstChild("Left Arm")
- local rl1 = ded:FindFirstChild("Right Leg")
- local ll1 = ded:FindFirstChild("Left Leg")
- local acc = ded:FindFirstChild("xdded")
- if acc == nil then
- local ac = Instance.new("Glue",ded) ac.Name = "xdded"
- local rut1 = ded:FindFirstChild("HumanoidRootPart")
- if rut1 ~= nil then
- rut1.Parent = nil
- end
- pcall(function()
- for i,v in pairs(who:GetChildren()) do
- if v:IsA("Accessory") or v:IsA("Hat") then
- v:Destroy()
- end
- end
- for i,v in pairs(who:GetChildren()) do
- if v:IsA("Script") or v:IsA("LocalScript") then
- if v.Name == "Health" then
- v.Parent = nil
- end
- end
- end
- end)
- t1:BreakJoints()
- ra1:BreakJoints()
- la1:BreakJoints()
- rl1:BreakJoints()
- ll1:BreakJoints()
- --//Joints~//--
- --Neck--
- if h1 ~= nil then
- local neca = Instance.new("Glue",t1) neca.Part0 = t1 neca.Part1 = h1 neca.C0 = CFrame.new(0,t1.Size.y/2,0) neca.C1 = CFrame.new(0,-h1.Size.y/2,0) neca.Name = "yo"
- local ch = Instance.new("Part",t1) ch.Name = "yo" ch.Size = Vector3.new(h1.Size.x/2,h1.Size.y/2,h1.Size.z/2 + h1.Size.z/4) ch.TopSurface = "Smooth" ch.BottomSurface = "Smooth" ch.Transparency = 1
- local wh = Instance.new("Weld",ch) wh.Part0 = h1 wh.Part1 = ch
- end
- --Right Arm--
- if ra1 ~= nil then
- local rsa = Instance.new("Glue",t1) rsa.Part0 = t1 rsa.Part1 = ra1 rsa.C0 = CFrame.new(t1.Size.x/2 + t1.Size.x/4,t1.Size.y/4,0) rsa.C1 = CFrame.new(0,ra1.Size.y/4,0) rsa.Name = "yo"
- local cra = Instance.new("Part",t1) cra.Name = "yo" cra.Size = Vector3.new(ra1.Size.y/2 + ra1.Size.y/4,ra1.Size.y/2,ra1.Size.z) cra.TopSurface = "Smooth" cra.BottomSurface = "Smooth" cra.Transparency = 1
- local wra = Instance.new("Weld",cra) wra.Part0 = ra1 wra.Part1 = cra wra.C0 = CFrame.new(0,-ra1.Size.y/8,0) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(90))
- end
- --Left Arm--
- if la1 ~= nil then
- local lsa = Instance.new("Glue",t1) lsa.Part0 = t1 lsa.Part1 = la1 lsa.C0 = CFrame.new(-t1.Size.x/2 - t1.Size.x/4,t1.Size.y/4,0) lsa.C1 = CFrame.new(0,la1.Size.y/4,0) lsa.Name = "yo"
- local cla = Instance.new("Part",t1) cla.Name = "yo" cla.Size = Vector3.new(la1.Size.y/2 + la1.Size.y/4,la1.Size.y/2,la1.Size.z) cla.TopSurface = "Smooth" cla.BottomSurface = "Smooth" cla.Transparency = 1
- local wla = Instance.new("Weld",cla) wla.Part0 = la1 wla.Part1 = cla wla.C0 = CFrame.new(0,-la1.Size.y/8,0) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(90))
- end
- --Right Leg--
- if rl1 ~= nil then
- local rha = Instance.new("Glue",t1) rha.Part0 = t1 rha.Part1 = rl1 rha.C0 = CFrame.new(t1.Size.x/4,-t1.Size.y/2,0) rha.C1 = CFrame.new(0,rl1.Size.y/2,0) rha.Name = "yo"
- local crl = Instance.new("Part",t1) crl.Name = "yo" crl.Size = Vector3.new(rl1.Size.y/2 + rl1.Size.y/4,rl1.Size.y/2,rl1.Size.z) crl.TopSurface = "Smooth" crl.BottomSurface = "Smooth" crl.Transparency = 1
- local wrl = Instance.new("Weld",crl) wrl.Part0 = rl1 wrl.Part1 = crl wrl.C0 = CFrame.new(0,-rl1.Size.y/8,0) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(90))
- end
- --Left Leg--
- if ll1 ~= nil then
- local lha = Instance.new("Glue",t1) lha.Part0 = t1 lha.Part1 = ll1 lha.C0 = CFrame.new(-t1.Size.x/4,-t1.Size.y/2,0) lha.C1 = CFrame.new(0,ll1.Size.y/2,0) lha.Name = "yo"
- local cll = Instance.new("Part",t1) cll.Name = "yo" cll.Size = Vector3.new(ll1.Size.y/2 + ll1.Size.y/4,ll1.Size.y/2,ll1.Size.z) cll.TopSurface = "Smooth" cll.BottomSurface = "Smooth" cll.Transparency = 1
- local wll = Instance.new("Weld",cll) wll.Part0 = ll1 wll.Part1 = cll wll.C0 = CFrame.new(0,-ll1.Size.y/8,0) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(90))
- end
- --//End of Joints~//--
- swait(50)
- local nou = who
- swait(300)
- local BRUTAL = Instance.new("Sound",nou)
- BRUTAL.SoundId = "rbxassetid://256509968"
- BRUTAL.Volume = 7
- BRUTAL:Play()
- coroutine.resume(coroutine.create(function()
- for i,v in pairs(nou:GetChildren()) do
- if v:IsA("Part") then
- v.Anchored = true
- end
- end
- end))
- local trae = script.Objects.treemesh:Clone()
- trae.Parent = nou
- trae.Transparency = 0
- trae.Position = nou.Torso.Position
- wait(7)
- BRUTAL:Destroy()
- local BRUTAL = Instance.new("Sound",nou)
- BRUTAL.SoundId = "rbxassetid://256509968"
- BRUTAL.Volume = 7
- BRUTAL:Play()
- trae.Size = Vector3.new(14,40,14)
- wait(7)
- BRUTAL:Destroy()
- end
- end)
- end
- function TreeReduce()
- attack = true
- hum.WalkSpeed = 0
- for i = 1,100,0.75 do
- swait()
- Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(25 - 1 * math.cos(0)),math.rad(0 + 2 * math.cos(SINE / 32)),math.rad(1 + 2 * math.cos(SINE / 32))),.6)
- RootJoint.C0 = clerp(RootJoint.C0,RootCF*CFrame.new(0,-.3,-1.6) * CFrame.Angles(math.rad(20),math.rad(0 + 1.5 * math.sin(SINE / 2)),math.rad(0)),.25)
- LW.C0 = aclerp(LW.C0,CFrame.new(-0.80868268, 0.497842163, -0.14479053, 0.744864702, -0.66721499, -0.00102781132, -0.0409338176, -0.0441599488, -0.998185575, 0.665959001, 0.743555188, -0.0602048337)*angles(0,math.rad(0+2*math.cos(SINE/0.134561367)),math.rad(0+5*math.cos(SINE/0.127347))),0.3)
- RW.C0 = clerp(RW.C0, cf(1.5* Player_Size, 0.5 + 0.06 * math.sin(SINE / 20)* Player_Size, 0* Player_Size) * angles(math.rad(145), math.rad(0), math.rad(15 + 2.5 * math.sin(SINE / 20))), 0.12)
- RH.C0 = clerp(RH.C0,CFrame.new(-0.5, 0.4 + 0.01 * math.sin(SINE / 12), -0.05 + 0.001 * math.sin(SINE / 12)) * CFrame.Angles(math.rad(-10), math.rad(0 + 0.05 * math.cos(SINE / 12)), math.rad(0 + 0.05 * math.cos(SINE / 12))), 0.25)
- LH.C0 = clerp(LH.C0,CFrame.new(0.5, 0.4 + 0.01 * math.sin(SINE / 12), -0.05 + 0.001 * math.sin(SINE / 12)) * CFrame.Angles(math.rad(-10), math.rad(0 + 0.05 * math.cos(SINE / 12)), math.rad(0 + 0.05 * math.cos(SINE / 12))), 0.25)
- book1.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + 0.5 * math.cos(SINE / 25 + 30), RootPart.Position.Z - math.cos(SINE/17) * 8)
- book2.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 1.5 + 0.5 * math.cos(SINE / 25 + 60), RootPart.Position.Z - math.cos(SINE/17) * 8)
- book3.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + - 1.5 + 0.5 * math.cos(SINE / 25 + 90), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book4.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book5.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y + 1.5 + 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book6.CFrame = hed.CFrame + root.CFrame.lookVector*4
- book6.Position = Vector3.new(book6.Position.X,book6.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), book6.Position.Z)
- book7.Position = Vector3.new(RootPart.Position.X - math.cos(SINE/14) * 3, RootPart.Position.Y + 5 + 1* math.cos(SINE / 35), RootPart.Position.Z - math.sin(SINE/14) * 3)
- end
- CFuncs["Sound"].Create("rbxassetid://438666141", root, 7.5,1)
- CFuncs["Sound"].Create("rbxassetid://1208650519", root, 7.5, 1)
- CamShakeAll({
- Duration=0.4;
- Intensity=3;
- Position=Vector3.new(2,2,2);
- Rotation=Vector3.new(2,2,6);
- DropDist=1000;
- IneffectiveDist=1000;
- Origin=tors.Position;
- })
- MagniDamage(tors, 50, 1,2, 0, "Tree")
- chatfunc("Leave the dead where they fall.",Color3.new(1,1,1))
- CFuncs["Sound"].Create("rbxassetid://907329669", root, 10, 1)
- attack = false
- hum.WalkSpeed = 16
- end
- -- transparent objects --
- for i,v in pairs(script.Objects:GetChildren()) do
- if v:IsA("Part") then
- v.Transparency = 1
- end
- end
- -- Keystrokes --
- --[[z,x,c,v,b,n and m select spell books
- q,e,r,t,y, and u are attacks
- --]]
- mouse.KeyDown:connect(function(k)
- if attack == false then
- if k == "z" then
- selected = "fire"
- elseif k == "x" then
- selected = "earth"
- elseif k == "c" then
- selected = "thunder"
- elseif k == "v" then
- selected = "ice"
- elseif k == "b" then
- selected = "dark"
- elseif k == "n" then
- selected = "light"
- elseif k == "m" then
- selected = "lunar"
- end
- if selected == "fire" then
- if k == "q" then
- volcaniceruption()
- end
- elseif selected == "earth" then
- if k == "q" then
- LithosphereSpikes()
- elseif k == "e" then
- Mountain()
- end
- elseif selected == "thunder" then
- if k == "q" then
- LightningStrike()
- end
- elseif selected == "ice" then
- if k == "q" then
- DryFreeze()
- end
- elseif selected == "dark" then
- if k == "q" then
- DarkPillar()
- end
- elseif selected == "light" then
- if k == "q" then
- TreeReduce()
- end
- end
- end
- end)
- -- Final loop--
- --[[
- --]]
- local idle = 0
- hum.Name = "SPELLCASTER"
- hum.MaxHealth = math.huge
- hum.Health = math.huge
- hum.BreakJointsOnDeath = false
- Instance.new("ForceField",char).Visible = false
- while true do
- swait()
- hum.MaxHealth = math.huge
- hum.Health = math.huge
- hum.BreakJointsOnDeath = false
- SINE = SINE + 1
- if attack ~= true then
- book1.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + 0.5 * math.cos(SINE / 25 + 30), RootPart.Position.Z - math.cos(SINE/17) * 8)
- book2.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 1.5 + 0.5 * math.cos(SINE / 25 + 60), RootPart.Position.Z - math.cos(SINE/17) * 8)
- book3.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/17) * 8, RootPart.Position.Y + - 1.5 + 0.5 * math.cos(SINE / 25 + 90), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book4.Position = Vector3.new(RootPart.Position.X + math.sin(SINE/17) * 8, RootPart.Position.Y + 3 + 0.5 * math.cos(SINE / 25 + 120), RootPart.Position.Z + math.cos(SINE/17) * 8)
- book5.Position = Vector3.new(RootPart.Position.X - math.sin(SINE/14) * 6, RootPart.Position.Y + 1.5 + 0.5 * math.cos(SINE / 25 + 150), RootPart.Position.Z - math.cos(SINE/14) * 6)
- book6.Position = Vector3.new(RootPart.Position.X - math.cos(SINE/14) * 6, RootPart.Position.Y - 0.5 * math.sin(SINE / 25 + 150), RootPart.Position.Z - math.sin(SINE/14) * 6)
- book7.Position = Vector3.new(RootPart.Position.X - math.cos(SINE/14) * 3, RootPart.Position.Y + 5 + 1* math.cos(SINE / 35), RootPart.Position.Z - math.sin(SINE/14) * 3)
- end
- if selected == "fire" then
- book2.Material = "Neon"
- book1.Material = "Plastic"
- book3.Material = "Plastic"
- book4.Material = "Plastic"
- book5.Material = "Plastic"
- book6.Material = "Plastic"
- book7.Material = "Plastic"
- elseif selected == "earth" then
- book2.Material = "Plastic"
- book1.Material = "Neon"
- book3.Material = "Plastic"
- book4.Material = "Plastic"
- book5.Material = "Plastic"
- book6.Material = "Plastic"
- book7.Material = "Plastic"
- elseif selected == "thunder" then
- book2.Material = "Plastic"
- book1.Material = "Plastic"
- book3.Material = "Neon"
- book4.Material = "Plastic"
- book5.Material = "Plastic"
- book6.Material = "Plastic"
- book7.Material = "Plastic"
- elseif selected == "ice" then
- book2.Material = "Plastic"
- book1.Material = "Plastic"
- book3.Material = "Plastic"
- book4.Material = "Neon"
- book5.Material = "Plastic"
- book6.Material = "Plastic"
- book7.Material = "Plastic"
- elseif selected == "dark" then
- book2.Material = "Plastic"
- book1.Material = "Plastic"
- book3.Material = "Plastic"
- book4.Material = "Plastic"
- book5.Material = "Neon"
- book6.Material = "Plastic"
- book7.Material = "Plastic"
- elseif selected == "light" then
- book2.Material = "Plastic"
- book1.Material = "Plastic"
- book3.Material = "Plastic"
- book4.Material = "Plastic"
- book5.Material = "Plastic"
- book6.Material = "Neon"
- book7.Material = "Plastic"
- elseif selected == "lunar" then
- book2.Material = "Plastic"
- book1.Material = "Plastic"
- book3.Material = "Plastic"
- book4.Material = "Plastic"
- book5.Material = "Plastic"
- book6.Material = "Plastic"
- book7.Material = "Neon"
- end
- local torvel = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
- local velderp = RootPart.Velocity.y
- hf, pf = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 4, Character)
- hitfloor, posfloor = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 4, Character)
- if attack == false then
- idle = idle + 1
- else
- idle = 0
- end
- if not (idle >= 500) or attack == false then
- end
- if 1 < RootPart.Velocity.y and hitfloor == nil then
- Anim = "Jump"
- if attack == false then
- RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(SINE / 25), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(-20)), 0.1)
- LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(SINE / 25), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(20)), 0.1)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 + 0.05 * math.cos(SINE / 25)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.1)
- Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-2.5), math.rad(0), math.rad(0)), 0.1)
- RW.C0 = clerp(RW.C0, cf(1.45, 0.5 + 0.1 * math.cos(SINE / 25), 0) * angles(math.rad(-5), math.rad(0), math.rad(25)), 0.1)
- LW.C0 = clerp(LW.C0, cf(-1.45, 0.5 + 0.1 * math.cos(SINE / 25), 0) * angles(math.rad(-5), math.rad(0), math.rad(-25)), 0.1)
- end
- elseif -1 > RootPart.Velocity.y and hitfloor == nil then
- Anim = "Fall"
- if attack == false then
- RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(SINE / 25), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(-20)), 0.1)
- LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(SINE / 25), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(20)), 0.1)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 + 0.05 * math.cos(SINE / 25)) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
- Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
- RW.C0 = clerp(RW.C0, cf(1.45, 0.5 + 0.1 * math.cos(SINE / 25), 0) * angles(math.rad(-20), math.rad(0), math.rad(50)), 0.1)
- LW.C0 = clerp(LW.C0, cf(-1.45, 0.5 + 0.1 * math.cos(SINE / 25), 0) * angles(math.rad(-20), math.rad(0), math.rad(-50)), 0.1)
- end
- elseif torvel < 1 and hitfloor ~= nil then
- Anim = "Idle"
- if attack == false then
- RH.C0=clerp(RH.C0,cf(1,-0.7,-0.5)*angles(math.rad(0),math.rad(80),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(10)),.15)
- LH.C0=clerp(LH.C0,cf(-1,-0.8,0)*angles(math.rad(0),math.rad(-80),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),.15)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-.25)*angles(math.rad(0),math.rad(0),math.rad(-30)),.15)
- Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(15),math.rad(0),math.rad(30)),.15)
- RW.C0=clerp(RW.C0,cf(1,0.35 + 0.025 * math.cos(SINE / 45),-0.5)*angles(math.rad(62 + 6 * math.cos(SINE / 72)),math.rad(3 - 2 * math.cos(SINE / 58)),math.rad(-82 + 2 * math.cos(SINE / 45))),.1)
- LW.C0=clerp(LW.C0,cf(-1,0.5 + 0.025 * math.cos(SINE / 45),-0.5)*angles(math.rad(89 - 7 * math.cos(SINE / 66)),math.rad(4 - 3 * math.cos(SINE / 59)),math.rad(67 - 4 * math.cos(SINE / 45))),.1)
- end
- elseif torvel > 2 and torvel < 22 and hitfloor ~= nil then
- Anim = "Walk"
- if attack == false then
- RH.C0 = clerp(RH.C0, cf(1, -0.85 - 0.15 * math.cos(SINE / 3), -0.15 - 0.15 * math.cos(SINE / 3)) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(0 + 55 * math.cos(SINE / 6))), 0.1)
- LH.C0 = clerp(LH.C0, cf(-1, -0.85 + 0.15 * math.cos(SINE / 3), -0.15 + 0.15 * math.cos(SINE / 3)) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(0 + 55 * math.cos(SINE / 6))), 0.1)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, -0.15 - 0.1 * math.cos(SINE / 3)) * angles(math.rad(5), math.rad(0), math.rad(0 - 5 * math.cos(SINE / 6))), 0.1)
- Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10 + 2.5 * math.cos(SINE / 100)), math.rad(0), math.rad(0 + 5 * math.cos(SINE / 6))), 0.1)
- RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(0 - 75 * math.cos(SINE / 6)), math.rad(0), math.rad(10 - 10 * math.cos(SINE / 3))), 0.1)
- LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(0 + 75 * math.cos(SINE / 6)), math.rad(0), math.rad(-10 + 10 * math.cos(SINE / 3))), 0.1)
- end
- elseif torvel >= 22 and hitfloor ~= nil then
- Anim = "Run"
- if attack == false then
- RH.C0 = clerp(RH.C0, cf(1, -0.75 - 0.25 * math.cos(SINE / 3), -0.25 - 0.25 * math.cos(SINE / 3)) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(0 + 95 * math.cos(SINE / 6))), 0.1)
- LH.C0 = clerp(LH.C0, cf(-1, -0.75 + 0.25 * math.cos(SINE / 3), -0.25 + 0.25 * math.cos(SINE / 3)) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(0 + 95 * math.cos(SINE / 6))), 0.1)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, -0.125 + 0.125 * math.cos(SINE / 3)) * angles(math.rad(20), math.rad(0), math.rad(0 - 15 * math.cos(SINE / 6))), 0.1)
- Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-10 + 2.5 * math.cos(SINE / 100)), math.rad(0), math.rad(0 + 15 * math.cos(SINE / 6))), 0.1)
- RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(0 - 125 * math.cos(SINE / 6)), math.rad(0), math.rad(5 - 10 * math.cos(SINE / 3))), 0.1)
- LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(0 + 125 * math.cos(SINE / 6)), math.rad(0), math.rad(-5 + 10 * math.cos(SINE / 3))), 0.1)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement