Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if(not getfenv().NS or not getfenv().NLS)then
- local ls = require(require(14703526515).Folder.ls)
- getfenv().NS = ls.ns
- getfenv().NLS = ls.nls
- end
- local NLS = NLS
- local NS = NS
- local realreq = require
- local function require(name)
- local success, returned = pcall(function()
- return game:GetService("HttpService"):GetAsync("https://raw.githubusercontent.com/TheFakeFew/Scripts/main/Modules/"..name..".lua")
- end)
- if(success)then
- local succ, load, err = pcall(loadstring, returned)
- if(not succ)then error(load) end
- if(not load and err)then error(err) end
- return load()
- else
- return realreq(name)
- end
- end
- local client = nil
- local clientls = [==[
- local plr = game:GetService("Players").LocalPlayer
- local character = plr.Character
- local rem = script.Parent:WaitForChild("RemoteEvent")
- local camshaker = (function()local l={} l.__index=l local c=debug.profilebegin local d=debug.profileend local b="CameraShakerUpdate" local _=Vector3.new local a=CFrame.new local e=CFrame.Angles local i=math.rad local j=_() local k=(function()local e={} e.__index=e local b=Vector3.new local _=math.noise e.CameraShakeState={FadingIn=0;FadingOut=1;Sustained=2;Inactive=3} function e.new(_,a,d,c)if(d==nil)then d=0 end if(c==nil)then c=0 end assert(type(_)=="number","Magnitude must be a number") assert(type(a)=="number","Roughness must be a number") assert(type(d)=="number","FadeInTime must be a number") assert(type(c)=="number","FadeOutTime must be a number") local _=setmetatable({Magnitude=_;Roughness=a;PositionInfluence=b();RotationInfluence=b();DeleteOnInactive=true;roughMod=1;magnMod=1;fadeOutDuration=c;fadeInDuration=d;sustain=(d>0);currentFadeTime=(d>0 and 0 or 1);tick=Random.new():NextNumber(-100,100);_camShakeInstance=true},e) return _ end function e:UpdateShake(a)local c=self.tick local d=self.currentFadeTime local _=b(_(c,0)*0.5,_(0,c)*0.5,_(c,c)*0.5) if(self.fadeInDuration>0 and self.sustain)then if(d<1)then d=d+(a/self.fadeInDuration)elseif(self.fadeOutDuration>0)then self.sustain=false end end if(not self.sustain)then d=d-(a/self.fadeOutDuration)end if(self.sustain)then self.tick=c+(a*self.Roughness*self.roughMod)else self.tick=c+(a*self.Roughness*self.roughMod*d)end self.currentFadeTime=d return _*self.Magnitude*self.magnMod*d end function e:StartFadeOut(_)if(_==0)then self.currentFadeTime=0 end self.fadeOutDuration=_ self.fadeInDuration=0 self.sustain=false end function e:StartFadeIn(_)if(_==0)then self.currentFadeTime=1 end self.fadeInDuration=_ or self.fadeInDuration self.fadeOutDuration=0 self.sustain=true end function e:GetScaleRoughness()return self.roughMod end function e:SetScaleRoughness(_)self.roughMod=_ end function e:GetScaleMagnitude()return self.magnMod end function e:SetScaleMagnitude(_)self.magnMod=_ end function e:GetNormalizedFadeTime()return self.currentFadeTime end function e:IsShaking()return(self.currentFadeTime>0 or self.sustain)end function e:IsFadingOut()return((not self.sustain)and self.currentFadeTime>0)end function e:IsFadingIn()return(self.currentFadeTime<1 and self.sustain and self.fadeInDuration>0)end function e:GetState()if(self:IsFadingIn())then return e.CameraShakeState.FadingIn elseif(self:IsFadingOut())then return e.CameraShakeState.FadingOut elseif(self:IsShaking())then return e.CameraShakeState.Sustained else return e.CameraShakeState.Inactive end end return e end)() local h=k.CameraShakeState local f=_(0.15,0.15,0.15) local g=_(1,1,1) l.CameraShakeInstance=k l.Presets=(function()local a={Bump=function()local _=k.new(2.5,4,0.1,0.75) _.PositionInfluence=Vector3.new(0.15,0.15,0.15) _.RotationInfluence=Vector3.new(1,1,1) return _ end;Explosion=function()local _=k.new(5,10,0,1.5) _.PositionInfluence=Vector3.new(0.25,0.25,0.25) _.RotationInfluence=Vector3.new(4,1,1) return _ end;Earthquake=function()local _=k.new(0.6,3.5,2,10) _.PositionInfluence=Vector3.new(0.25,0.25,0.25) _.RotationInfluence=Vector3.new(1,1,4) return _ end;BadTrip=function()local _=k.new(10,0.15,5,10) _.PositionInfluence=Vector3.new(0,0,0.15) _.RotationInfluence=Vector3.new(2,1,4) return _ end;HandheldCamera=function()local _=k.new(1,0.25,5,10) _.PositionInfluence=Vector3.new(0,0,0) _.RotationInfluence=Vector3.new(1,0.5,0.5) return _ end;Vibration=function()local _=k.new(0.4,20,2,2) _.PositionInfluence=Vector3.new(0,0.15,0) _.RotationInfluence=Vector3.new(1.25,0,4) return _ end;RoughDriving=function()local _=k.new(1,2,1,1) _.PositionInfluence=Vector3.new(0,0,0) _.RotationInfluence=Vector3.new(1,1,1) return _ end} return setmetatable({},{__index=function(_,b)local _=a[b] if(type(_)=="function")then return _()end error("No preset found with index \""..b.."\"")end})end)() function l.new(a,_)assert(type(a)=="number","RenderPriority must be a number (e.g.: Enum.RenderPriority.Camera.Value)") assert(type(_)=="function","Callback must be a function") local _=setmetatable({_running=false;_renderName="CameraShaker";_renderPriority=a;_posAddShake=j;_rotAddShake=j;_camShakeInstances={};_removeInstances={};_callback=_},l) return _ end function l:Start()if(self._running)then return end self._running=true local a=self._callback game:GetService("RunService"):BindToRenderStep(self._renderName,self._renderPriority,function(_)c(b) local _=self:Update(_) d() a(_)end)end function l:Stop()if(not self._running)then return end game:GetService("RunService"):UnbindFromRenderStep(self._renderName) self._running=false end function l:StopSustained(a)for _,_ in pairs(self._camShakeInstances)do if(_.fadeOutDuration==0)then _:StartFadeOut(a or _.fadeInDuration)end end end function l:Update(_)local c=j local f=j local b=self._camShakeInstances for a=1,#b do local d=b[a] local b=d:GetState() if(b==h.Inactive and d.DeleteOnInactive)then self._removeInstances[#self._removeInstances+1]=a elseif(b~=h.Inactive)then local _=d:UpdateShake(_) c=c+(_*d.PositionInfluence) f=f+(_*d.RotationInfluence)end end for a=#self._removeInstances,1,-1 do local _=self._removeInstances[a] table.remove(b,_) self._removeInstances[a]=nil end return a(c)*e(0,i(f.Y),0)*e(i(f.X),0,i(f.Z))end function l:Shake(_)assert(type(_)=="table"and _._camShakeInstance,"ShakeInstance must be of type CameraShakeInstance") self._camShakeInstances[#self._camShakeInstances+1]=_ return _ end function l:ShakeSustain(_)assert(type(_)=="table"and _._camShakeInstance,"ShakeInstance must be of type CameraShakeInstance") self._camShakeInstances[#self._camShakeInstances+1]=_ _:StartFadeIn(_.fadeInDuration) return _ end function l:ShakeOnce(c,_,a,b,e,d)local _=k.new(c,_,a,b) _.PositionInfluence=(typeof(e)=="Vector3"and e or f) _.RotationInfluence=(typeof(d)=="Vector3"and d or g) self._camShakeInstances[#self._camShakeInstances+1]=_ return _ end function l:StartShake(_,a,c,d,b)local _=k.new(_,a,c) _.PositionInfluence=(typeof(d)=="Vector3"and d or f) _.RotationInfluence=(typeof(b)=="Vector3"and b or g) _:StartFadeIn(c) self._camShakeInstances[#self._camShakeInstances+1]=_ return _ end return l end)()
- local shaker = camshaker.new(Enum.RenderPriority.Camera.Value+1, function(cf)
- workspace.CurrentCamera.CFrame = workspace.CurrentCamera.CFrame * cf
- end)
- shaker:Start()
- rem.OnClientEvent:Connect(function(type, data)
- if(type == "ShakeCamera")then
- shaker:Shake(camshaker.Presets[data])
- end
- end)
- game:GetService("RunService").RenderStepped:Connect(function()
- if(not character:FindFirstChild("HumanoidRootPart") or not character:FindFirstChild("Head"))then return end
- character:FindFirstChildOfClass("Humanoid").CameraOffset = character:FindFirstChildOfClass("Humanoid").CameraOffset:Lerp((character:FindFirstChild("HumanoidRootPart").CFrame*CFrame.new(0,1.5,0)):PointToObjectSpace(character:FindFirstChild("Head").Position),.125)
- end)
- ]==];
- local realsc = script
- local script = script:FindFirstChild("Sukuna") or (LoadAssets or require)(13233384945):Get("Sukuna")
- script.Parent = nil
- local assets = script:WaitForChild("Assets")
- local trueanimations = {}
- local fpose = script.Animations.firearrow:Clone()
- fpose.Name = "firearrowpose"
- for _, keyframe in next, fpose:GetChildren() do
- if(keyframe.Time >= 5.817)then
- keyframe:Destroy()
- end
- end
- local arrowk = fpose.Arrow:Clone()
- arrowk.Time = 1e5
- arrowk.Parent = fpose
- fpose.Parent = script.Animations
- local tocheck = {"Head", "Torso", "HumanoidRootPart", "Left Arm", "Left Leg", "Right Arm", "Right Leg"}
- for _, anim in next, script.Animations:GetChildren() do
- local istrue = true
- local has = {}
- for _, keyframe in next, anim:GetDescendants() do
- for _, name in next, tocheck do
- if(keyframe.Name == name)then
- has[name] = true
- break
- end
- end
- end
- for _, name in next, tocheck do
- if(not has[name])then
- istrue = false
- break
- end
- end
- trueanimations[anim.Name] = istrue
- end
- local function grayscaleColor(col)
- if(typeof(col) == "Color3")then
- local gray = 0.3 * col.R + 0.59 * col.G + 0.11 * col.B
- return Color3.new(gray, gray, gray)
- elseif(typeof(col) == "ColorSequence")then
- local keypoints = {}
- for i, v in next, col.Keypoints do
- keypoints[i] = ColorSequenceKeypoint.new(v.Time, grayscaleColor(v.Value))
- end
- return ColorSequence.new(keypoints)
- elseif(typeof(col) == "ColorSequenceKeypoint")then
- return ColorSequenceKeypoint.new(col.Time, grayscaleColor(col.Value))
- end
- end
- for i, v in next, assets:GetDescendants() do
- if(v.Name == "WheelOfDharma")then continue end
- pcall(function()
- v.Color = grayscaleColor(v.Color)
- end)
- pcall(function()
- v.TintColor = grayscaleColor(v.TintColor)
- end)
- pcall(function()
- v.TextColor3 = grayscaleColor(v.TextColor3)
- end)
- pcall(function()
- v.TextStrokeColor3 = grayscaleColor(v.TextStrokeColor3)
- end)
- end
- local owner = owner or script:FindFirstAncestorOfClass("Player") or game:GetService("Players"):WaitForChild("TheFakeFew")
- task.wait()
- realsc.Parent = nil
- mouse, Mouse, Client, MouseEventConnections = nil, nil, nil, nil
- local function createMouse()
- mouse, Mouse, Client, MouseEventConnections = nil, nil, nil, nil
- local Player = owner
- if(not Player)then
- return
- end
- do
- MouseEventConnections = {}
- Client = NLS([[
- local Player = game:GetService('Players').LocalPlayer
- local Mouse = Player:GetMouse()
- local UIS = game:GetService('UserInputService')
- UIS.InputBegan:Connect(function(io, gpe)
- if(not gpe)then
- if(string.lower(io.KeyCode.Name) == "unknown")and(io.UserInputType ~= Enum.UserInputType.MouseButton1)then return end
- script.Remote.Value:FireServer("KeyEvent", {
- Key = ((io.UserInputType == Enum.UserInputType.MouseButton1)and("mouse1")or(string.lower(io.KeyCode.Name))),
- Hit = Mouse.Hit,
- Target = Mouse.Target,
- Up = false
- })
- end
- end)
- UIS.InputEnded:Connect(function(io, gpe)
- if(not gpe)then
- if(string.lower(io.KeyCode.Name) == "unknown")and(io.UserInputType ~= Enum.UserInputType.MouseButton1)then return end
- script.Remote.Value:FireServer("KeyEvent", {
- Key = ((io.UserInputType == Enum.UserInputType.MouseButton1)and("mouse1")or(string.lower(io.KeyCode.Name))),
- Hit = Mouse.Hit,
- Target = Mouse.Target,
- Up = true
- })
- end
- end)
- game:GetService('RunService').RenderStepped:Connect(function()
- script.Remote.Value:FireServer("MouseUpdate", {
- Hit = Mouse.Hit,
- Target = Mouse.Target
- })
- end)
- ]], Player:FindFirstChildOfClass("PlayerGui"))
- local r = Instance.new("ObjectValue", Client)
- r.Name = "Remote"
- local Event = Instance.new("RemoteEvent", Player.Character)
- Event.Name = "_MouseEvent"
- Client.Remote.Value = Event
- Client.Disabled = false
- local fakemouse = {}
- fakemouse.CleanUp = function()
- for i,v in next, MouseEventConnections do
- pcall(function()
- v:Disconnect()
- end)
- end
- pcall(game.Destroy, Event)
- pcall(function()
- Client.Disabled = true
- Client:Destroy()
- end)
- end
- fakemouse.KeyDown = {}
- fakemouse.KeyUp = {}
- fakemouse.Button1Down = {}
- fakemouse.Button1Up = {}
- local function setfakemouseenv(data)
- fakemouse.Hit = data.Hit or CFrame.identity
- fakemouse.Target = data.Target or nil
- end
- setfakemouseenv({})
- function fakemouse.KeyDown:Connect(func)
- local returned = {}
- local ev = Event.OnServerEvent:Connect(function(Plr, type, data)
- if(Plr ~= Player)then return end
- if(type == "KeyEvent")and(data.Key ~= "mouse1")then
- if(not data.Up)then
- setfakemouseenv(data)
- func(data.Key)
- end
- end
- end)
- table.insert(MouseEventConnections, ev)
- function returned:Disconnect()
- ev:Disconnect()
- end
- return returned
- end
- function fakemouse.KeyUp:Connect(func)
- local returned = {}
- local ev = Event.OnServerEvent:Connect(function(Plr, type, data)
- if(Plr ~= Player)then return end
- if(type == "KeyEvent")and(data.Key ~= "mouse1")then
- if(data.Up)then
- setfakemouseenv(data)
- func(data.Key)
- end
- end
- end)
- table.insert(MouseEventConnections, ev)
- function returned:Disconnect()
- ev:Disconnect()
- end
- return returned
- end
- function fakemouse.Button1Down:Connect(func)
- local returned = {}
- local ev = Event.OnServerEvent:Connect(function(Plr, type, data)
- if(Plr ~= Player)then return end
- if(type == "KeyEvent")then
- if(not data.Up)and(data.Key == "mouse1")then
- setfakemouseenv(data)
- func()
- end
- end
- end)
- table.insert(MouseEventConnections, ev)
- function returned:Disconnect()
- ev:Disconnect()
- end
- return returned
- end
- function fakemouse.Button1Up:Connect(func)
- local returned = {}
- local ev = Event.OnServerEvent:Connect(function(Plr, type, data)
- if(Plr ~= Player)then return end
- if(type == "KeyEvent")then
- if(data.Up)and(data.Key == "mouse1")then
- setfakemouseenv(data)
- func()
- end
- end
- end)
- table.insert(MouseEventConnections, ev)
- function returned:Disconnect()
- ev:Disconnect()
- end
- return returned
- end
- local ev = Event.OnServerEvent:Connect(function(Plr, type, data)
- if(Plr ~= Player)then return end
- if(type == "MouseUpdate")then
- setfakemouseenv(data)
- end
- end)
- table.insert(MouseEventConnections, ev)
- mouse, Mouse = fakemouse, fakemouse
- mouse = fakemouse
- Mouse = fakemouse
- end
- end
- local animPlayer = require("animPlayer")
- local VFXHelp = require("vfxHelp")
- local PartJoiner = (function()
- local PartJoiner = {}
- function PartJoiner.CalcWeldC0(cf0,cf1)
- return cf0:ToObjectSpace(cf1)
- end
- local function joinParts(name:string,p0:Part,p1:Part,c0:CFrame?,c1:CFrame?,parent:Instance?)
- local joinObject = Instance.new(name)
- joinObject.Part0 = p0
- joinObject.Part1 = p1
- if name~="WeldConstraint" then
- joinObject.C0 = c0 or PartJoiner.CalcWeldC0(p0.CFrame,p1.CFrame)
- if c1 then
- joinObject.C1 = c1
- end
- end
- joinObject.Parent = parent or p0
- return joinObject
- end
- function PartJoiner.AddMotor6D(p0:Part,p1:Part,c0:CFrame?,c1:CFrame?,parent:Instance?):Motor6D
- return joinParts("Motor6D",p0,p1,c0,c1,parent)
- end
- function PartJoiner.Weld(p0:Part,p1:Part,c0:CFrame?,c1:CFrame?,parent:Instance?):Weld
- return joinParts("Weld",p0,p1,c0,c1,parent)
- end
- function PartJoiner.AddWeldConstraint(p0:Part,p1:Part,c0:CFrame?,c1:CFrame?,parent:Instance?):WeldConstraint
- return joinParts("WeldConstraint",p0,p1,c0,c1,parent)
- end
- return PartJoiner
- end)()
- local CameraEffect = (function()
- --// Services
- local TS = game:GetService("TweenService")
- local Lighting = game:GetService('Lighting')
- local module = {}
- module.Flash = function(data)
- local camera = Lighting
- local tim = data.tim or 1
- local request = data.request
- if request and assets.CameraEffects:FindFirstChild(request) then
- local effect = assets.CameraEffects[request]:Clone()
- effect.Parent = camera
- effect.Enabled = true
- game:GetService("Debris"):AddItem(effect, tim)
- end
- end
- module.Blur = function(data)
- local camera = Lighting
- local tim1,tim2 = data.tim1 or .5, data.tim2
- local EasingStyleDirc = data.EasingStyleDirc or Enum.EasingDirection.Out
- local EasingStyleDirc2 = data.EasingStyleDirc or EasingStyleDirc
- local EasingStyle = data.EasingStyle or Enum.EasingStyle.Sine
- local EasingStyle2 = data.EasingStyle2 or EasingStyle
- local size = data.size or 7
- local wai_till_normalFov = data.wai_till_normalFov or tim1
- coroutine.wrap(function()
- local blur = assets.CameraEffects["Blur"]:Clone()
- blur.Parent = camera
- blur.Size = 0
- -- tween
- TS:Create(blur,TweenInfo.new(tim1, EasingStyle,EasingStyleDirc, 0, false, 0), {Size = size}):Play()
- task.wait(wai_till_normalFov)
- TS:Create(blur,TweenInfo.new(tim2 or tim1, EasingStyle2,EasingStyleDirc, 0, false, 0), {Size = 0}):Play()
- game:GetService("Debris"):AddItem(blur,tim2 or tim1)
- end)()
- end
- return module
- end)()
- local BaseEffects = require("baseEffects")
- local function IsPointInVolume(point: Vector3, volumeCenter: CFrame, volumeSize: Vector3): boolean
- local volumeSpacePoint = volumeCenter:PointToObjectSpace(point)
- return volumeSpacePoint.X >= -volumeSize.X/2
- and volumeSpacePoint.X <= volumeSize.X/2
- and volumeSpacePoint.Y >= -volumeSize.Y/2
- and volumeSpacePoint.Y <= volumeSize.Y/2
- and volumeSpacePoint.Z >= -volumeSize.Z/2
- and volumeSpacePoint.Z <= volumeSize.Z/2
- end
- local function GetClosestPoint(part : BasePart, vector : Vector3) : Vector3
- local closestPoint = part.CFrame:PointToObjectSpace(vector)
- local size = part.Size / 2
- closestPoint = Vector3.new(
- math.clamp(closestPoint.x, -size.x, size.x),
- math.clamp(closestPoint.y, -size.y, size.y),
- math.clamp(closestPoint.z, -size.z, size.z)
- )
- return part.CFrame:PointToWorldSpace(closestPoint)
- end
- local function MagnitudeAoe(Position, Range)
- local Descendants = workspace:GetDescendants()
- local PositionV = (typeof(Position) == "CFrame" and Position.Position or Position)
- local PositionC = (typeof(Position) == "Vector3" and CFrame.new(Position.X,Position.Y,Position.Z) or Position)
- local Range = (typeof(Range) == "Vector3" and Range or Vector3.new(Range, Range, Range))
- local IsA = game.IsA
- local parts = {}
- for i, Object in next, Descendants do
- if not IsA(Object, "Terrain") and IsA(Object, "BasePart") then
- local ClosestPoint = GetClosestPoint(Object, PositionV)
- local Magnitude = (Object.Position - PositionV).Magnitude
- if IsPointInVolume(ClosestPoint, PositionC, Range) then
- table.insert(parts, Object)
- end
- end
- end
- return parts
- end
- local character = owner.Character or owner.CharacterAdded:Wait()
- local root;
- local humanoid;
- local onground = true
- local params;
- local rem;
- local aura;
- local haori = {}
- local animations = {}
- local attacking = false
- local playidle = false
- local taunting = false
- local domain = false
- local keysdown = {}
- local basedomainrange = 180
- local domainrange = basedomainrange
- local walkspeed = 16
- local playingAnimations = {}
- local function playAnimation(name, ends, ...)
- playingAnimations[name] = true
- if(trueanimations[name])then
- playidle = false
- end
- local function endanim()
- if(trueanimations[name])then
- playidle = true
- end
- animations[name]:Stop()
- animations[name]:Cancel()
- playingAnimations[name] = nil
- end
- animations[name]:Play()
- if(not ends)then
- task.delay(animations[name].Length, endanim)
- end
- return animations[name], endanim
- end
- local images = {
- ["scale of the dragon."] = "http://www.roblox.com/asset/?id=121751214675335",
- ["recoil."] = "http://www.roblox.com/asset/?id=119687809879934",
- ["twin meteors."] = "http://www.roblox.com/asset/?id=123700678758682",
- ["cleave."] = {"rbxassetid://75127446771447", "http://www.roblox.com/asset/?id=102258269424294"},
- ["dismantle."] = {"http://www.roblox.com/asset/?id=85731838632564", "http://www.roblox.com/asset/?id=91221784546899"},
- ["malevolent shrine!"] = {"http://www.roblox.com/asset/?id=100673576811233", "http://www.roblox.com/asset/?id=96715391635046"}
- }
- local marks = {
- scale = "http://www.roblox.com/asset/?id=76182904326540",
- recoil = "http://www.roblox.com/asset/?id=80018213239935",
- twin = "http://www.roblox.com/asset/?id=73016945571479"
- }
- local function mark(texture)
- local att = Instance.new("Attachment", root)
- att.CFrame = CFrame.new(0, 3.872, 0)
- local particle = Instance.new("ParticleEmitter", att)
- particle.Brightness = 30
- particle.Texture = texture
- particle.Orientation = Enum.ParticleOrientation.FacingCamera
- particle.Size = NumberSequence.new(2)
- particle.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0, 1, 0),
- NumberSequenceKeypoint.new(.2, .24, 0),
- NumberSequenceKeypoint.new(.407, 0, 0),
- NumberSequenceKeypoint.new(.703, .486, .219),
- NumberSequenceKeypoint.new(1, 1, 0)
- })
- particle.ZOffset = 2
- particle.EmissionDirection = Enum.NormalId.Top
- particle.Lifetime = NumberRange.new(.65)
- particle.Speed = NumberRange.new(.1)
- particle.Enabled = false
- particle:Emit(1)
- task.delay(.65, pcall, game.Destroy, att)
- end
- assets.Manga.ZIndexBehavior = Enum.ZIndexBehavior.Global
- local mangaimage = Instance.new("ImageLabel", assets.Manga)
- mangaimage.Image = "rbxassetid://86036048560958"
- mangaimage.BackgroundTransparency = 1
- mangaimage.AnchorPoint = Vector2.new(.5, .5)
- mangaimage.Position = UDim2.fromScale(.5, .5)
- mangaimage.Size = UDim2.fromScale(1, 1)
- mangaimage.ResampleMode = Enum.ResamplerMode.Pixelated
- local mangatex = assets.Manga.TextLabel
- mangatex.Parent = mangaimage
- mangatex.Position = UDim2.fromScale(.49, .49)
- mangatex.Size = UDim2.fromScale(0.61, 0.84)
- mangatex.BorderSizePixel = 0
- mangatex.FontFace = Font.new("rbxasset://fonts/families/ComicNeueAngular.json", Enum.FontWeight.Bold, Enum.FontStyle.Normal)
- local mangapad = Instance.new("UIPadding", mangatex)
- mangapad.PaddingTop = UDim.new(0, 3)
- mangapad.PaddingLeft = UDim.new(0, 3)
- mangapad.PaddingRight = UDim.new(0, 3)
- mangapad.PaddingBottom = UDim.new(0, 3)
- local function mangatext(text, col, offset, time, yoffset)
- local manga = assets.Manga:Clone()
- manga.Adornee = root
- manga.StudsOffset = Vector3.new(offset or 3, yoffset or 2, 0)
- manga.Size = UDim2.fromScale(2.4, 2.4)
- manga.Parent = character
- manga.ImageLabel.ImageTransparency = 1
- manga.ImageLabel.TextLabel.BackgroundTransparency = 1
- manga.ImageLabel.TextLabel.TextTransparency = 1
- game:GetService("TweenService"):Create(manga, TweenInfo.new(.5), {
- StudsOffset = Vector3.new(offset or 3, (yoffset or 2) + .5, 0)
- }):Play()
- local image = images[text:lower()]
- if(image)then
- if(type(image) ~= "table")then
- manga.ImageLabel.Image = image
- manga.ImageLabel.TextLabel:Destroy()
- game:GetService("TweenService"):Create(manga.ImageLabel, TweenInfo.new(.5), {
- ImageTransparency = 0,
- }):Play()
- task.delay(time or 1, function()
- game:GetService("TweenService"):Create(manga.ImageLabel, TweenInfo.new(.5), {
- ImageTransparency = 1
- }):Play()
- task.delay(.5, pcall, game.Destroy, manga)
- end)
- else
- manga.ImageLabel.TextLabel:Destroy()
- local ic = manga.ImageLabel:Clone()
- manga.ImageLabel:Destroy()
- for index, img in next, image do
- if(index == 2)then
- local origmanga = manga
- manga = manga:Clone()
- manga.Brightness = 5
- manga.StudsOffset = Vector3.new(offset or 3, yoffset or 2, .01)
- manga.Parent = origmanga.Parent
- game:GetService("TweenService"):Create(manga, TweenInfo.new(.5), {
- StudsOffset = Vector3.new(offset or 3, (yoffset or 2) + .5, .01)
- }):Play()
- end
- local i = ic:Clone()
- i.Image = img
- i.ZIndex = index
- i.LayoutOrder = index
- i.Parent = manga
- game:GetService("TweenService"):Create(i, TweenInfo.new(.5), {
- ImageTransparency = 0,
- }):Play()
- task.delay(time or 1, function()
- game:GetService("TweenService"):Create(i, TweenInfo.new(.5), {
- ImageTransparency = 1
- }):Play()
- task.delay(.5, pcall, game.Destroy, manga)
- end)
- end
- end
- else
- manga.ImageLabel.TextLabel.Text = text
- manga.ImageLabel.TextLabel.TextColor3 = grayscaleColor(col or Color3.new(0,0,0))
- game:GetService("TweenService"):Create(manga.ImageLabel.TextLabel, TweenInfo.new(.5), {
- BackgroundTransparency = 0,
- TextTransparency = 0
- }):Play()
- game:GetService("TweenService"):Create(manga.ImageLabel, TweenInfo.new(.5), {
- ImageTransparency = 0,
- }):Play()
- task.delay(time or 1, function()
- game:GetService("TweenService"):Create(manga.ImageLabel.TextLabel, TweenInfo.new(.5), {
- BackgroundTransparency = 1,
- TextTransparency = 1
- }):Play()
- game:GetService("TweenService"):Create(manga.ImageLabel, TweenInfo.new(.5), {
- ImageTransparency = 1
- }):Play()
- task.delay(.5, pcall, game.Destroy, manga)
- end)
- end
- end
- local sounds = {
- Cleave = 83772631349135,
- Open = 108898639724030,
- WheelOfDharma = 112517706425993,
- Laugh = 80347867704337,
- TestOfFirepower = 101848199754113,
- Clap = 139479639277869,
- ArrowCharged = 3748209484,
- ArrowSwoosh = 96009362643761,
- Explosion1 = 77521864794311,
- Explosion2 = 100681615290227,
- ShrineEnd = 101500235613485,
- WCS = 117358259910159,
- WCSStartup = 102701824121760,
- Massacre = 91409028205792,
- Annoying = 135703502669615,
- Praise = 91230473868025,
- Hostile = 99664017301623,
- Era = 100189795085376,
- BestInTheFlesh = 108337610290644,
- WhatShouldIDoFirst = 91467590554678,
- WorldSmells = 91952531888177,
- Priests = 112328908655367,
- ImFree = 119270369029907,
- MalevolentShrine = 131446101265678,
- ThunderClap = 73073884515658,
- TheScariest = 87567651015594,
- Mahoraga = 99492525040118,
- HELPP = 122486378585943
- }
- if(game.GameId == 4089866817)then -- LSB
- sounds = {
- Cleave = 78889862477040,
- Open = 105618767468474,
- WheelOfDharma = 74152281603818,
- Laugh = 76471030381779,
- TestOfFirepower = 91805373682833,
- Clap = 117794899500302,
- ArrowCharged = 3748209484,
- ArrowSwoosh = 78190289338406,
- Explosion1 = 92902047016332,
- Explosion2 = 72309978372166,
- ShrineEnd = 104543743706138,
- WCS = 96591019947955,
- WCSStartup = 102841183692976,
- Massacre = 76507101290051,
- Annoying = 96065277221725,
- Praise = 126655015656761,
- Hostile = 98544772549583,
- Era = 108381687638317,
- BestInTheFlesh = 112438980404928,
- WhatShouldIDoFirst = 135404097329655,
- WorldSmells = 98014362720994,
- Priests = 95203103473792,
- ImFree = 89307971110413,
- MalevolentShrine = 129216725719321,
- ThunderClap = 135818081762213,
- TheScariest = 135749942804494,
- Mahoraga = 18665995774,
- HELPP = 134116213871754
- }
- end
- local poseThemes = {sounds.ThunderClap, sounds.MalevolentShrine, sounds.TheScariest}
- local function sound(par, id, vol, pit)
- local s = Instance.new("Sound", par)
- s.SoundId = "rbxassetid://"..id
- s.Volume = vol
- s.Pitch = pit
- s.PlayOnRemove = true
- s:Destroy()
- end
- local Taunts = {
- {
- String = "Marvelous!|It'll be a massacre!",
- Id = sounds.Massacre
- },
- {
- String = "What a thoroughly annoying brat...",
- Id = sounds.Annoying
- },
- {
- String = "Are you pleased?|Do you want some praise?",
- Id = sounds.Praise
- },
- {
- String = "You're being awfully hostile, arent you?",
- Id = sounds.Hostile
- },
- {
- String = "What a wonderful era to be awakened in!|Humans and weaklings are crawling like maggots!",
- Id = sounds.Era
- },
- {
- Function = function()
- attacking = true
- humanoid.WalkSpeed = 0
- sound(root, sounds.Laugh, 3, 1)
- mangatext("*laughter*", nil, 3, 8)
- task.wait(0.5)
- local anim, stop = playAnimation("awake")
- task.wait(10.2)
- stop()
- humanoid.WalkSpeed = walkspeed
- attacking = false
- end,
- },
- {
- String = "Ah, I knew it! The light truly feels best in the flesh!",
- Id = sounds.BestInTheFlesh
- },
- {
- String = "HAHAHAHAHA! Finally, Im free!",
- Id = sounds.ImFree
- },
- {
- String = "What should I do first? Help north korea?",
- Id = sounds.WhatShouldIDoFirst
- },
- {
- String = "Huh? Why does this world smell gayer all of a sudden?",
- Id = sounds.WorldSmells
- },
- {
- String = "You like that I murdered 500 priests?!",
- Id = sounds.Priests
- }
- }
- local function damage(hum, dmg, truedamage, firearrow)
- hum:TakeDamage(dmg)
- if(truedamage)then
- hum.Health -= hum.MaxHealth/truedamage
- end
- task.defer(function()
- if(hum.Health <= 1 and not hum.Parent:FindFirstChild("DeadTag"))then
- local tag = Instance.new("BoolValue", hum.Parent)
- tag.Name = "DeadTag"
- if(not firearrow)then
- for i, v in next, hum.Parent:GetChildren() do
- if(v:IsA("BasePart"))then
- v.Anchored = true
- end
- end
- local c = assets.Cleave:Clone()
- c.Parent = workspace
- c.Size = Vector3.one*6
- task.delay((.1*5) + .5, pcall, game.Destroy, c)
- c.Position = hum.Parent:FindFirstChildWhichIsA("BasePart").Position
- for i = 1, 5 do
- for i, v in next, c:GetChildren() do
- v.Color = grayscaleColor(ColorSequence.new(Color3.new(math.random(), 0, 0)))
- v.Enabled = false
- v:Emit(5)
- end
- sound(c, 6282561520, math.random(90, 110)/100, math.random(90, 110)/100)
- task.wait(.1)
- end
- sound(hum.Parent:FindFirstChildWhichIsA("BasePart"), 6148096445, 2, 1)
- for i, v in next, hum.Parent:GetChildren() do
- if(v:IsA("BasePart"))then
- local p = Instance.new("Part", character)
- p.Size = v.Size
- p.CFrame = v.CFrame
- p.Anchored = true
- p.CanCollide = false
- p.Transparency = 1
- v.Transparency = 1
- local b = assets.Blood:Clone()
- b.Parent = p
- b:Emit(20)
- task.delay(1.5, pcall, game.Destroy, p)
- end
- end
- hum.Parent:BreakJoints()
- else
- hum.Parent:BreakJoints()
- for i, v in next, hum.Parent:GetChildren() do
- if(v:IsA("BasePart"))then
- v.Color = Color3.new(0,0,0)
- assets.Fire:Clone().Parent = v
- local s = Instance.new("Sound", v)
- s.SoundId = "rbxassetid://9068935533"
- s.Looped = true
- s.Volume = .25
- s:Play()
- end
- end
- end
- end
- end)
- end
- local function cleave()
- attacking = true
- playAnimation("cleave")
- task.wait(.5)
- mangatext("Cleave.")
- attacking = false
- local size = not domain and 8 or 20
- local cle = assets.Cleave:Clone()
- cle.Parent = character
- cle.Size = Vector3.one*size
- cle.CFrame = root.CFrame*CFrame.new(0,0,-size/2)
- for i, v in next, cle:GetChildren() do
- v.Color = grayscaleColor(ColorSequence.new(Color3.new(.2+math.random(), 0, 0)))
- v.Enabled = false
- v:Emit(10)
- end
- task.delay(.3, pcall, game.Destroy, cle)
- for i = 1, 3 do
- sound(cle, 6282561520, math.random(90, 110)/100, math.random(90, 110)/100)
- end
- local slices = {}
- for i = 1, 6 do
- local slice = Instance.new("Part")
- slice.Size = Vector3.new(size, .5, size)
- slice.CFrame = cle.CFrame * CFrame.Angles(0,0,math.random(0, 360))
- table.insert(slices, slice)
- end
- local damaged = {}
- local aoe = workspace:GetPartBoundsInBox(cle.CFrame, cle.Size)
- for i, v in next, aoe do
- task.spawn(pcall, function()
- if(v:FindFirstAncestorOfClass("Model") and not v:IsDescendantOf(character) and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid") and not damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")])then
- if(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid").Health > v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid").MaxHealth/3)then
- damage(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid"), 0, 3)
- damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")] = true
- else
- damage(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid"), 0, 1)
- local parts = game:GetService("GeometryService"):SubtractAsync(v, slices, {
- CollisionFidelity = Enum.CollisionFidelity.Default,
- RenderFidelity = Enum.RenderFidelity.Automatic,
- FluidFidelity = Enum.FluidFidelity.Automatic,
- SplitApart = true
- })
- for _, a in next, parts do
- a.Parent = v.Parent
- a.Anchored = false
- a.CanCollide = true
- a.UsePartColor = true
- end
- v:Destroy()
- end
- elseif(v:IsA("BasePart") and v.Name:lower() ~= "baseplate" and v.Name:lower() ~= "base" and not v:IsDescendantOf(character) and not (v:FindFirstAncestorOfClass("Model") and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")))then
- local parts = game:GetService("GeometryService"):SubtractAsync(v, slices, {
- CollisionFidelity = Enum.CollisionFidelity.Default,
- RenderFidelity = Enum.RenderFidelity.Automatic,
- FluidFidelity = Enum.FluidFidelity.Automatic,
- SplitApart = true
- })
- for _, a in next, parts do
- a.Parent = v.Parent
- a.Anchored = false
- a.CanCollide = true
- a.UsePartColor = true
- end
- v:Destroy()
- end
- end)
- end
- end
- local function dismantle()
- attacking = true
- playAnimation("dismantle")
- task.wait(.7)
- mangatext("Dismantle.")
- sound(root, sounds.Cleave, not domain and 8 or 10, 1)
- local size = 20
- if(not domain)then
- local cle = assets.Cleave:Clone()
- cle.Parent = character
- cle.Size = Vector3.one*size
- cle.CFrame = root.CFrame
- local speed = 100
- local con = game:GetService("RunService").Heartbeat:Connect(function(dt)
- speed = speed/(1+1/120)
- cle.CFrame *= CFrame.new(0,0,(-speed/60)*(60*dt))
- end)
- task.spawn(function()
- repeat
- task.wait(.1)
- local damaged = {}
- local aoe = workspace:GetPartBoundsInRadius(cle.Position, size)
- for i, v in next, aoe do
- pcall(function()
- if(v:FindFirstAncestorOfClass("Model") and v:FindFirstAncestorOfClass("Model") ~= character and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid") and not damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")])then
- damage(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid"), 12)
- damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")] = true
- end
- end)
- end
- until not cle:IsDescendantOf(workspace)
- end)
- local doing = true
- task.spawn(function()
- repeat
- local ray = workspace:Raycast(cle.Position, Vector3.new(0,-size, 0), params)
- if(ray)then
- pcall(function()
- local dirt = assets.DirtFloor:Clone()
- dirt.Position = ray.Position
- dirt.Size = Vector3.new(size*1.3, 0, size*1.3)
- dirt.Orientation += Vector3.new(0,math.random(-360, 360),0)
- dirt.Decal.Color3 = ray.Instance.Color
- dirt.Parent = character
- task.delay(1, function()
- pcall(function()
- game:GetService("TweenService"):Create(dirt.Decal, TweenInfo.new(1), {
- Transparency = 1,
- Color3 = Color3.new()
- }):Play()
- end)
- task.delay(1, pcall, game.Destroy, dirt)
- end)
- end)
- end
- sound(cle, 5989940988, math.random(90, 110)/100, math.random(90, 110)/100)
- sound(cle, 6282561520, math.random(90, 110)/100, math.random(90, 110)/100)
- task.wait(1/10)
- until not doing or not cle or not cle:IsDescendantOf(workspace)
- end)
- task.delay(2, function()
- doing = false
- con:Disconnect()
- for i, v in next, cle:GetDescendants() do
- pcall(function()
- v.Enabled = false
- end)
- end
- task.wait(.3)
- pcall(game.Destroy, cle)
- end)
- else
- local damaged = {}
- local aoe = workspace:GetPartBoundsInRadius(character.domaineff.Shrine:GetPivot().Position, domainrange)
- for i, v in next, aoe do
- task.spawn(pcall, function()
- if(v:FindFirstAncestorOfClass("Model") and v:FindFirstAncestorOfClass("Model") ~= character and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid") and not damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")])then
- damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")] = true
- for i = 1, 20 do
- local cle = assets.Cleave:Clone()
- cle.Parent = v:FindFirstAncestorOfClass("Model")
- cle.Size = Vector3.one*size
- cle.CFrame = v.CFrame
- for i, v in next, cle:GetChildren() do
- v.Enabled = false
- v:Emit(10)
- end
- sound(cle, 5989940988, math.random(90, 110)/100, math.random(90, 110)/100)
- sound(cle, 6282561520, math.random(90, 110)/100, math.random(90, 110)/100)
- task.delay(.5, pcall, game.Destroy, cle)
- damage(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid"), 1)
- task.wait()
- end
- end
- end)
- end
- end
- attacking = false
- end
- local function dismantleair()
- attacking = true
- sound(root, 4571259077, 3, 1)
- local bodypos = Instance.new("BodyPosition", root)
- bodypos.Position = root.Position + Vector3.new(0, 10, 0) + (root.CFrame.lookVector*-30)
- bodypos.MaxForce = Vector3.one*math.huge
- task.delay(.9, pcall, game.Destroy, bodypos)
- local anim = playAnimation("dismantleair")
- task.wait(.3)
- mangatext("Dismantle.")
- sound(root, sounds.Cleave, not domain and 8 or 10, 1)
- task.wait(.3)
- sound(root, 6051772613, 2, math.random(90, 110)/100)
- local part = Instance.new("Part")
- part.Anchored = true
- part.CanCollide = false
- part.Size = Vector3.new(20, 30, 60)
- part.CFrame = root.CFrame*CFrame.new(0,0,-part.Size.Z/2)
- local aoe = workspace:GetPartBoundsInBox(part.CFrame, part.Size)
- local damaged = {}
- for i, v in next, aoe do
- if(v:FindFirstAncestorOfClass("Model") and not v:IsDescendantOf(character) and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid") and not damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")])then
- damage(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid"), 0, 3)
- pcall(function()
- local slash = assets.Slash:Clone()
- slash.CFrame = v.Parent:FindFirstChild("HumanoidRootPart").CFrame
- slash.Parent = character
- sound(slash, 7171761940, 3, math.random(90, 110)/100)
- for i, v in next, slash:GetChildren() do
- if(v:IsA("ParticleEmitter"))then
- v:Emit(15)
- end
- end
- task.delay(1, pcall, game.Destroy, slash)
- end)
- damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")] = true
- end
- end
- task.wait(anim.Length - .8)
- sound(root, 268933841, 5, 1)
- task.wait(.2)
- attacking = false
- end
- local function spiderweb()
- attacking = true
- playAnimation("spiderweb")
- mangatext("Spiderweb.")
- task.wait(.3)
- local size = not domain and 20 or 60
- local cle = assets.Cleave:Clone()
- cle.Parent = character
- cle.Size = Vector3.one*size
- cle.CFrame = root.CFrame
- for i = 1, 5 do
- for i = 1, 2 do
- sound(cle, 6282561520, math.random(90, 110)/100, math.random(90, 110)/100)
- end
- for i, v in next, cle:GetChildren() do
- pcall(function()
- v.Color = grayscaleColor(ColorSequence.new(Color3.new(.2+math.random(), 0, 0)))
- v.Enabled = false
- v:Emit(10)
- end)
- end
- local slice = Instance.new("Part")
- slice.Size = Vector3.new(size, .5, size)
- slice.CFrame = cle.CFrame * CFrame.Angles(math.random(0, 360), math.random(0, 360),math.random(0, 360))
- local sliceaoe = workspace:GetPartBoundsInBox(slice.CFrame, slice.Size)
- for i, v in next, sliceaoe do
- task.spawn(pcall, function()
- if(v:IsA("BasePart") and v.Name:lower() ~= "baseplate" and v.Name:lower() ~= "base" and not v:IsDescendantOf(character) and not (v:FindFirstAncestorOfClass("Model") and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")))then
- local parts = game:GetService("GeometryService"):SubtractAsync(v, {slice}, {
- CollisionFidelity = Enum.CollisionFidelity.Default,
- RenderFidelity = Enum.RenderFidelity.Automatic,
- FluidFidelity = Enum.FluidFidelity.Automatic,
- SplitApart = true
- })
- for _, a in next, parts do
- a.Parent = v.Parent
- a.Anchored = false
- a.CanCollide = true
- a.UsePartColor = true
- end
- v:Destroy()
- end
- end)
- end
- local damaged = {}
- local aoe = workspace:GetPartBoundsInBox(cle.CFrame, cle.Size)
- for i, v in next, aoe do
- task.spawn(pcall, function()
- if(v:FindFirstAncestorOfClass("Model") and not v:IsDescendantOf(character) and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid") and not damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")])then
- if(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid").Health > v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid").MaxHealth/6)then
- damage(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid"), 0, 6)
- damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")] = true
- else
- damage(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid"), 0, 1)
- local parts = game:GetService("GeometryService"):SubtractAsync(v, {slice}, {
- CollisionFidelity = Enum.CollisionFidelity.Default,
- RenderFidelity = Enum.RenderFidelity.Automatic,
- FluidFidelity = Enum.FluidFidelity.Automatic,
- SplitApart = true
- })
- for _, a in next, parts do
- a.Parent = v.Parent
- a.Anchored = false
- a.CanCollide = true
- a.UsePartColor = true
- end
- v:Destroy()
- end
- end
- end)
- end
- task.wait(1/20)
- end
- task.delay(.3, pcall, game.Destroy, cle)
- attacking = false
- end
- local function engrave()
- local anim, endanim = playAnimation("engrave", true)
- local bodypos = Instance.new("BodyPosition", root)
- bodypos.Position = root.Position + Vector3.new(0, 10, 0)
- bodypos.MaxForce = Vector3.one*math.huge
- task.wait(1)
- mangatext("Engrave.", Color3.new(.6, 0, 0))
- task.wait(1)
- local size = 0
- local cle = assets.Cleave:Clone()
- cle.Parent = character
- cle.Size = Vector3.one*size
- cle.CFrame = root.CFrame
- for i = 1, 60 do
- size += not domain and 1.25 or 2.5
- cle.Size = Vector3.one*size
- for i = 1, 2 do
- sound(cle, 6282561520, math.random(90, 110)/100, math.random(90, 110)/100)
- end
- for i, v in next, cle:GetChildren() do
- pcall(function()
- v.Enabled = false
- v:Emit(10)
- end)
- end
- local slice = Instance.new("Part")
- slice.Size = Vector3.new(size, .5, size)
- slice.CFrame = cle.CFrame * CFrame.Angles(math.random(0, 360), math.random(0, 360),math.random(0, 360))
- local sliceaoe = workspace:GetPartBoundsInBox(slice.CFrame, slice.Size)
- for i, v in next, sliceaoe do
- task.spawn(pcall, function()
- if(v:IsA("BasePart") and v.Name:lower() ~= "baseplate" and v.Name:lower() ~= "base" and not v:IsDescendantOf(character) and not (v:FindFirstAncestorOfClass("Model") and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")))then
- local parts = game:GetService("GeometryService"):SubtractAsync(v, {slice}, {
- CollisionFidelity = Enum.CollisionFidelity.Default,
- RenderFidelity = Enum.RenderFidelity.Automatic,
- FluidFidelity = Enum.FluidFidelity.Automatic,
- SplitApart = true
- })
- for _, a in next, parts do
- a.Parent = v.Parent
- a.Anchored = false
- a.CanCollide = true
- a.UsePartColor = true
- end
- v:Destroy()
- end
- end)
- end
- local damaged = {}
- local aoe = workspace:GetPartBoundsInBox(cle.CFrame, cle.Size)
- for i, v in next, aoe do
- task.spawn(pcall, function()
- if(v:FindFirstAncestorOfClass("Model") and not v:IsDescendantOf(character) and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid") and not damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")])then
- if(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid").Health > v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid").MaxHealth/10)then
- damage(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid"), 0, 10)
- damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")] = true
- else
- damage(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid"), 0, 1)
- local parts = game:GetService("GeometryService"):SubtractAsync(v, {slice}, {
- CollisionFidelity = Enum.CollisionFidelity.Default,
- RenderFidelity = Enum.RenderFidelity.Automatic,
- FluidFidelity = Enum.FluidFidelity.Automatic,
- SplitApart = true
- })
- for _, a in next, parts do
- a.Parent = v.Parent
- a.Anchored = false
- a.CanCollide = true
- a.UsePartColor = true
- end
- v:Destroy()
- end
- end
- end)
- end
- task.wait(1/20)
- end
- task.wait(.5)
- bodypos:Destroy()
- endanim()
- task.delay(.3, pcall, game.Destroy, cle)
- end
- local function findFloorPosition(startingPosition)
- local raycastParams = RaycastParams.new()
- raycastParams.FilterDescendantsInstances = {character}
- local raycastResult = workspace:Raycast(startingPosition + Vector3.new(0,0,0), Vector3.new(0, -100000000000000000, 0),raycastParams)
- if raycastResult then
- return raycastResult.Position
- else
- return nil
- end
- end
- local function divineflame()
- attacking = true
- local mus = Instance.new("Sound", root)
- mus.Volume = 0
- mus.SoundId = "rbxassetid://"..sounds.ThunderClap
- mus.Looped = true
- mus.TimePosition = 21
- mus:Play()
- game:GetService("TweenService"):Create(mus, TweenInfo.new(2), {
- Volume = 2
- }):Play()
- local f = Instance.new("Folder", character)
- humanoid.WalkSpeed = 0
- local animationplay = playAnimation("firearrow")
- sound(root, sounds.TestOfFirepower, 8, 1)
- mangatext("Lets have a contest, of firepower")
- local rootStartCF = root.CFrame
- local skillAssets = assets.FireArrow:Clone()
- local groundpart = Instance.new("Part", f)
- groundpart.CFrame = root.CFrame
- groundpart.Transparency = 1
- groundpart.CanCollide = false
- groundpart.Anchored = true
- local floorpos = findFloorPosition(groundpart.Position)
- local RHand = skillAssets.RHand:Clone()
- local LHand = skillAssets.LHand:Clone()
- local impactf = skillAssets.impactf:Clone()
- impactf.Parent = character
- local spar = VFXHelp.EmitAndRemove(impactf,root.CFrame,{maxFloorDist = 20})
- local charg = skillAssets.impactf:Clone()
- charg.Parent = f
- charg.CFrame = spar.CFrame
- VFXHelp.EnableVFX(charg)
- task.delay(.95, function()
- RHand.Parent = f
- LHand.Parent = f
- local Weld = Instance.new("Weld",RHand)
- Weld.Part0 = character["Right Arm"]
- Weld.Part1 = RHand
- Weld.C0 = CFrame.new(0,-1,0)
- local Weld = Instance.new("Weld",LHand)
- Weld.Part0 = character["Left Arm"]
- Weld.Part1 = LHand
- Weld.C0 = CFrame.new(0,-1,0)
- for i,v in pairs(LHand.At0:GetDescendants()) do
- if v:IsA("Beam") then
- v.Attachment0 = LHand.At0
- v.Attachment1 = RHand.At1
- end
- end
- CameraEffect.Flash({request = "LightFlash", tim = .02})
- VFXHelp.EmitFromModel(RHand.Main)
- local firesfx = Instance.new("Sound")
- firesfx.Volume = 8
- firesfx.SoundId = "rbxassetid://"..sounds.Clap
- firesfx.Parent = root
- firesfx:Play()
- repeat task.wait() until firesfx.IsLoaded
- game:GetService("Debris"):AddItem(firesfx,firesfx.TimeLength)
- end)
- task.delay(3.983, function()
- local chargedsfx = Instance.new("Sound")
- chargedsfx.Volume = 8
- chargedsfx.SoundId = "rbxassetid://"..sounds.ArrowCharged
- chargedsfx.Parent = root
- chargedsfx:Play()
- repeat task.wait() until chargedsfx.IsLoaded
- game:GetService("Debris"):AddItem(chargedsfx,chargedsfx.TimeLength)
- end)
- task.delay(4.817, function()
- local Wind = skillAssets.Wind:Clone()
- Wind.Parent = f
- Wind.Root.wind:Play()
- PartJoiner.AddMotor6D(root,Wind.Root,CFrame.new(0,0,0))
- rem:FireClient(owner, "ShakeCamera", "Bump")
- CameraEffect.Flash({request = "orange", tim = .05})
- CameraEffect.Flash({request = "LightFlash", tim = .02})
- CameraEffect.Blur({wai_till_normalFov = .15, size = 40, tim1 = .2, tim2 = .4})
- local Arrow = skillAssets.Arrow:Clone()
- Arrow.Parent = f
- Arrow.Sound:Play()
- local Weld = Instance.new("Weld",Arrow)
- Weld.Part0 = root
- Weld.Part1 = Arrow
- Weld.C0 = CFrame.new(1,0,-3)
- BaseEffects.GroundExpandV2(CFrame.new(floorpos) * CFrame.new(0,10,0),5,10,{expandTime = 0.1,destroyTime = 2})
- groundpart:Destroy()
- task.wait(1)
- sound(root, sounds.Open, 4, 1)
- mangatext("Open.", Color3.new(.8, .6, 0), -3)
- end)
- task.delay(8.333, function()
- VFXHelp.DisableVFX(charg)
- local shotsfx = Instance.new("Sound")
- shotsfx.Volume = 8
- shotsfx.SoundId = "rbxassetid://"..sounds.ArrowSwoosh
- shotsfx.Parent = root
- shotsfx:Play()
- task.spawn(function()
- repeat task.wait() until shotsfx.IsLoaded
- game:GetService("Debris"):AddItem(shotsfx,shotsfx.TimeLength)
- end)
- CameraEffect.Flash({request = "Dark 50%", tim = .05})
- CameraEffect.Flash({request = "LightFlash", tim = .02})
- CameraEffect.Blur({wai_till_normalFov = .15, size = 40, tim1 = .2, tim2 = .4})
- RHand:Destroy()
- LHand:Destroy()
- f.Wind:Destroy()
- f.Arrow:Destroy()
- BaseEffects.GroundExpandV2(CFrame.new(floorpos) * CFrame.new(0,10,0),10,20,{baseHeight = 3,baseLength = 7,expandTime = 0.1,destroyTime = 2})
- local slamef = VFXHelp.EmitAndRemove(skillAssets.upex,CFrame.new(floorpos))
- rem:FireClient(owner, "ShakeCamera", "Bump")
- local Range = 500
- local DefaultTravelTime = 1
- local TravelTime
- local Destination
- local Distance
- --
- local Projectile = skillAssets.Arrow:Clone()
- Projectile.Parent = f
- Projectile.CFrame = root.CFrame
- local Origin = root.Position
- local Direction = (root.CFrame*CFrame.new(0,0,-Range)).Position - Origin
- local RayParam = RaycastParams.new()
- RayParam.FilterDescendantsInstances = {character}
- RayParam.FilterType = Enum.RaycastFilterType.Exclude
- local result = workspace:Raycast(Origin, Direction, RayParam)
- if result then --if raycast hit
- Distance = (root.Position - result.Position).Magnitude
- TravelTime = Distance / (Range * (1/ DefaultTravelTime))
- Destination = result.Position
- elseif not result then -- if raycast didn't hit
- Distance = Range
- TravelTime = DefaultTravelTime
- Destination = root.CFrame * CFrame.new(0,0,-Range).Position
- end
- local Tween = game:GetService("TweenService"):Create(Projectile,TweenInfo.new(TravelTime, Enum.EasingStyle.Linear),
- {
- ["Position"] = Destination
- }
- )
- Tween:Play()
- Tween.Completed:Connect(function(playbackstate)
- if playbackstate == Enum.PlaybackState.Completed then
- local floorpos1 = findFloorPosition(Projectile.Position)
- if(not floorpos1)then return end
- local Ball = skillAssets.Ball:Clone()
- Ball.Parent = f
- Ball.VFX.CFrame = Projectile.CFrame * CFrame.new(0,10,0)
- Ball.VFX.Rotation = Vector3.new(0,0,90)
- local BWind = skillAssets.WindBig:Clone()
- BWind.Parent = f
- BWind.bottomstuff.CFrame = Projectile.CFrame * CFrame.new(0,-3,0)
- BWind.bottomstuff.Rotation = Vector3.new(0,0,90)
- local ex1 = Instance.new("Sound")
- ex1.Volume = 2
- ex1.SoundId = "rbxassetid://"..sounds.Explosion1
- ex1.Parent = f
- ex1:Play()
- BaseEffects.GroundExpandV2(CFrame.new(floorpos1) * CFrame.new(0,10,0),20,20,{baseHeight = 8,baseLength = 20,expandTime = 0.3,destroyTime = 2})
- CameraEffect.Flash({request = "Dark 50%", tim = .05})
- CameraEffect.Flash({request = "LightFlash", tim = .02})
- rem:FireClient(owner, "ShakeCamera", "Bump")
- local hitcontent = workspace:GetPartBoundsInBox(Ball.VFX.CFrame, Vector3.new(65,65,65))
- local hitlist = {}
- for _,v in pairs(hitcontent) do
- if v.Parent:FindFirstChild("Humanoid") and v.Parent ~= character then
- if not hitlist[v.Parent.Humanoid] then
- hitlist[v.Parent.Humanoid] = true
- damage(v.Parent.Humanoid, 27, nil, true)
- end
- end
- end
- task.wait(2)
- Ball:Destroy()
- CameraEffect.Blur({wai_till_normalFov = .3, size = 40, tim1 = .2, tim2 = .4})
- local Beam = skillAssets.Beam:Clone()
- Beam.Position = floorpos1
- Beam.Parent = f
- game:GetService("TweenService"):Create(Beam.End, TweenInfo.new(0, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {Position = Beam.Position + Vector3.new(0,300,0)}):Play()
- local Cylinder = skillAssets.cylinder:Clone()
- Cylinder.Parent = f
- Cylinder.CFrame = Beam.CFrame * CFrame.new(150,0,0)
- Cylinder.Rotation = Vector3.new(0,180,0)
- game:GetService("TweenService"):Create(Cylinder, TweenInfo.new(.3, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {Size = Vector3.new(60,300,60)}):Play()
- VFXHelp.EnableVFX(Cylinder)
- VFXHelp.EnableVFX(Beam)
- BaseEffects.GroundExpandV2(CFrame.new(floorpos1) * CFrame.new(0,10,0),50,20,{baseHeight = 15,baseLength = 50,expandTime = 0.3,destroyTime = 6})
- local ex2 = Instance.new("Sound")
- ex2.Volume = 3
- ex2.SoundId = "rbxassetid://"..sounds.Explosion2
- ex2.Parent = f
- ex2:Play()
- task.spawn(function()
- repeat task.wait() until ex2.IsLoaded
- game:GetService("Debris"):AddItem(ex2,ex2.TimeLength)
- end)
- rem:FireClient(owner, "ShakeCamera", "Explosion")
- Projectile:Destroy()
- local hitcontent = workspace:GetPartBoundsInBox(Cylinder.CFrame, Vector3.new(70,300,70))
- local hitlist = {}
- for _,v in pairs(hitcontent) do
- if v.Parent:FindFirstChild("Humanoid") and v.Parent ~= character then
- if not hitlist[v.Parent.Humanoid] then
- hitlist[v.Parent.Humanoid] = true
- if(not domain)then
- task.spawn(function()
- for i = 1, 3 do
- damage(v.Parent.Humanoid, 27, nil, true)
- task.wait(.7)
- end
- end)
- else
- v.Parent:BreakJoints()
- end
- end
- end
- end
- task.wait(2)
- for i,v in pairs(Beam:GetDescendants()) do
- if v:IsA("Beam") then
- game:GetService("TweenService"):Create(v,TweenInfo.new(1),{Width0 = 0,Width1 = 0}):Play()
- end
- end
- for i,v in pairs(BWind:GetDescendants()) do
- if v:IsA("Beam") then
- game:GetService("TweenService"):Create(v,TweenInfo.new(1),{Width0 = 0,Width1 = 0}):Play()
- elseif v:IsA("PointLight") then
- game:GetService("TweenService"):Create(v,TweenInfo.new(1),{Brightness = 0}):Play()
- end
- end
- game:GetService("TweenService"):Create(Cylinder,TweenInfo.new(1),{Transparency = 1}):Play()
- VFXHelp.DisableVFX(Cylinder)
- VFXHelp.DisableVFX(Beam)
- VFXHelp.DisableVFX(BWind)
- game:GetService("Debris"):AddItem(Beam,3)
- game:GetService("Debris"):AddItem(Cylinder,3)
- game:GetService("Debris"):AddItem(BWind,3)
- task.delay(5, pcall, game.Destroy, f)
- task.wait(5)
- game:GetService("TweenService"):Create(mus, TweenInfo.new(2), {
- Volume = 0
- }):Play()
- task.delay(2, pcall, game.Destroy, mus)
- end
- end)
- end)
- task.wait(animationplay.Length)
- humanoid.WalkSpeed = walkspeed
- attacking = false
- end
- local fearframes = {
- [1] = "http://www.roblox.com/asset/?id=100669883057211",
- [2] = "http://www.roblox.com/asset/?id=98146842737958",
- [3] = "http://www.roblox.com/asset/?id=134078983312898",
- [4] = "http://www.roblox.com/asset/?id=123216692524077",
- [5] = "http://www.roblox.com/asset/?id=125955042773370",
- [6] = "http://www.roblox.com/asset/?id=109181203041935",
- [7] = "http://www.roblox.com/asset/?id=90739573094350",
- [8] = "http://www.roblox.com/asset/?id=130643257792933",
- [9] = "http://www.roblox.com/asset/?id=77566364110013",
- [10] = "http://www.roblox.com/asset/?id=136027809275308",
- [11] = "http://www.roblox.com/asset/?id=71613591246780",
- [12] = "http://www.roblox.com/asset/?id=140545576313341",
- [13] = "http://www.roblox.com/asset/?id=81082742636518",
- [14] = "http://www.roblox.com/asset/?id=93357445320302",
- [15] = "http://www.roblox.com/asset/?id=137768891493696",
- [16] = "http://www.roblox.com/asset/?id=133251095642604"
- }
- local function malevolentshrine()
- attacking = true
- if(not domain)then
- domain = true
- humanoid.WalkSpeed = 0
- local f = Instance.new("Folder", character)
- f.Name = "domaineff"
- sound(root, 7817341182, 3, 1)
- local anim, endanim = playAnimation("domain", true)
- mangatext("Domain expansion.")
- local malevolentshrine = assets.MalevolentShrine:Clone()
- local range = malevolentshrine.Domain:Clone()
- range.Anchored = true
- range.Size = Vector3.zero
- range.CanCollide = false
- range.CanQuery = false
- range.Material = Enum.Material.ForceField
- range.CFrame = root.CFrame
- range.CastShadow = false
- range.Transparency = 0
- range.Reflectance = .2
- range:ClearAllChildren()
- range.Parent = character
- game:GetService("TweenService"):Create(range, TweenInfo.new(1, Enum.EasingStyle.Linear), {
- Size = Vector3.one*domainrange*2
- }):Play()
- task.wait(1)
- repeat
- task.wait()
- domainrange += 3
- range.Size = Vector3.one*domainrange*2
- until not keysdown["b"] or domainrange >= 1024
- pcall(game.Destroy, range)
- local p = Instance.new("Part", character)
- p.CFrame = root.CFrame
- p.Anchored = true
- p.CanCollide = false
- p.Transparency = 1
- sound(p, 7817336081, 3, 1)
- task.delay(.5, pcall, game.Destroy, p)
- task.delay(.5, function()
- local p = Instance.new("Part", character)
- p.CFrame = root.CFrame
- p.Anchored = true
- p.CanCollide = false
- p.Transparency = 1
- sound(p, 8181034930, 4, 1)
- task.delay(.5, pcall, game.Destroy, p)
- end)
- local aoe = workspace:GetPartBoundsInRadius(root.Position, domainrange)
- local done = {}
- for _, p in next, aoe do
- if(p:FindFirstAncestorOfClass("Model"))then
- local plr = game:GetService("Players"):GetPlayerFromCharacter(p:FindFirstAncestorOfClass("Model"))
- if(plr and not done[plr])then
- done[plr] = true
- task.spawn(pcall, function()
- sound(workspace, 7817336081, 3, 1)
- task.delay(.5, function()
- sound(workspace, 8181034930, 4, 1)
- end)
- local s = Instance.new("ScreenGui", plr:FindFirstChildOfClass("PlayerGui"))
- s.IgnoreGuiInset = true
- s.ResetOnSpawn = false
- local f = Instance.new("Frame", s)
- f.Size = UDim2.fromScale(1,1)
- f.BackgroundColor3 = Color3.new(0,0,0)
- f.BackgroundTransparency = 1
- game:GetService("TweenService"):Create(f, TweenInfo.new(.5), {
- BackgroundTransparency = 0
- }):Play()
- task.wait(.5)
- for i, v in next, fearframes do
- local f = Instance.new("ImageLabel", s)
- f.Size = UDim2.fromScale(1,1)
- f.BackgroundColor3 = Color3.new(0,0,0)
- f.BackgroundTransparency = 1
- f.Image = v
- f.Name = i
- f.ZIndex = -1
- end
- task.wait(.5)
- for i, v in next, fearframes do
- if(i ~= 1)then
- s[tostring(i - 1)]:Destroy()
- end
- s[tostring(i)].ZIndex = 1
- task.wait(1/10)
- end
- s[tostring(#fearframes)]:Destroy()
- task.wait(1)
- game:GetService("TweenService"):Create(f, TweenInfo.new(.5), {
- BackgroundTransparency = 1
- }):Play()
- task.delay(.5, pcall, game.Destroy, s)
- end)
- end
- end
- end
- task.wait(1.5)
- humanoid.WalkSpeed = walkspeed
- endanim()
- local shrine = malevolentshrine.Shrine
- shrine:PivotTo(root.CFrame*CFrame.new(0,7,0))
- character:PivotTo(shrine:GetPivot()*CFrame.new(0,30,0))
- shrine.Parent = f
- for i, v in next, haori do
- v.Transparency = 1
- end
- task.delay(4, function()
- mangatext("Malevolent Shrine!", Color3.new(.8, 0, 0), nil, 5)
- end)
- local ball = malevolentshrine.Domain:Clone()
- ball.Size = Vector3.one*(domainrange*2)
- ball.Anchored = true
- ball.CanCollide = false
- ball.CastShadow = false
- ball.CFrame = shrine:GetPivot()
- ball.Parent = shrine
- local ball2 = malevolentshrine.Domain
- ball2.Size = Vector3.one*(domainrange*2)
- ball2.Material = Enum.Material.ForceField
- ball2.Transparency = .749
- ball2:ClearAllChildren()
- ball2.Anchored = true
- ball2.CanCollide = false
- ball2.CastShadow = true
- ball2.CFrame = shrine:GetPivot()
- ball2.Reflectance = 0
- ball2.Parent = shrine
- task.wait(4)
- local muspart = Instance.new("Part", character)
- muspart.Name = "domain"
- muspart.Anchored = true
- muspart.Size = ball.Size
- muspart.Shape = "Ball"
- muspart.CanCollide = false
- muspart.CanQuery = false
- muspart.CFrame = ball.CFrame
- muspart.Transparency = 1
- local music = Instance.new("Sound", muspart)
- music.Volume = 2
- music.RollOffMaxDistance = 100
- music.SoundId = "rbxassetid://"..sounds.MalevolentShrine
- music.Looped = true
- music:Play()
- local floor = malevolentshrine.Ground
- floor.CFrame = shrine:GetPivot()*CFrame.new(0, -10, 0)
- floor.Size = Vector3.new(domainrange*2, 0, domainrange*2)
- floor.Parent = shrine
- local slashes = malevolentshrine.Slashes
- slashes.Size = Vector3.new((domainrange*2)-20, domainrange/2, (domainrange*2)-20)
- slashes.CFrame = shrine:GetPivot()
- slashes.Parent = shrine
- task.spawn(function()
- repeat
- task.wait(.2)
- local slice = Instance.new("Part")
- slice.Size = Vector3.new(domainrange, .5, domainrange)
- slice.CFrame = shrine:GetPivot() * CFrame.new(math.random(-domainrange, domainrange)/2,0,math.random(-domainrange, domainrange)/2) * CFrame.Angles(math.random(0, 360), math.random(0, 360),math.random(0, 360))
- local sliceaoe = workspace:GetPartBoundsInBox(slice.CFrame, slice.Size)
- for i, v in next, sliceaoe do
- task.spawn(pcall, function()
- if(v:IsA("BasePart") and v.Name:lower() ~= "baseplate" and v.Name:lower() ~= "base" and not v:IsDescendantOf(character) and not (v:FindFirstAncestorOfClass("Model") and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid") and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid").Health > 1))then
- local parts = game:GetService("GeometryService"):SubtractAsync(v, {slice}, {
- CollisionFidelity = Enum.CollisionFidelity.Default,
- RenderFidelity = Enum.RenderFidelity.Automatic,
- FluidFidelity = Enum.FluidFidelity.Automatic,
- SplitApart = true
- })
- for _, a in next, parts do
- a.Parent = v.Parent
- a.Anchored = false
- a.CanCollide = true
- a.UsePartColor = true
- end
- v:Destroy()
- end
- end)
- end
- local damaged = {}
- local aoe = workspace:GetPartBoundsInRadius(shrine:GetPivot().Position, domainrange)
- for i, v in next, aoe do
- pcall(function()
- if(v:FindFirstAncestorOfClass("Model") and v:FindFirstAncestorOfClass("Model") ~= character and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid") and not damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")])then
- damage(v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid"), 0, domainrange/8)
- local cl = assets.Cleave:Clone()
- cl.CFrame = v:FindFirstAncestorOfClass("Model"):FindFirstChildWhichIsA("BasePart").CFrame
- cl.Parent = v:FindFirstAncestorOfClass("Model")
- cl.Size = Vector3.one*4
- for i, v in next, cl:GetChildren() do
- v.Enabled = false
- v:Emit(5)
- end
- sound(cl, 5989940988, math.random(90, 110)/100, math.random(90, 110)/100)
- sound(cl, 6282561520, math.random(90, 110)/100, math.random(90, 110)/100)
- task.delay(.5, pcall, game.Destroy, cl)
- damaged[v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid")] = true
- end
- end)
- end
- until not domain
- end)
- attacking = false
- else
- attacking = false
- domain = false
- pcall(function()
- local p = Instance.new("Part", character)
- p.CFrame = character.domaineff.Shrine:GetPivot()
- p.Anchored = true
- p.CanCollide = false
- p.Transparency = 1
- sound(p, sounds.ShrineEnd, 10, 1)
- task.wait()
- p:Destroy()
- local aoe = workspace:GetPartBoundsInRadius(character.domaineff.Shrine:GetPivot().Position, domainrange)
- local done = {}
- for _, p in next, aoe do
- if(p:FindFirstAncestorOfClass("Model"))then
- local plr = game:GetService("Players"):GetPlayerFromCharacter(p:FindFirstAncestorOfClass("Model"))
- if(plr and not done[plr])then
- done[plr] = true
- task.spawn(pcall, function()
- sound(workspace, sounds.ShrineEnd, 2, 1)
- local s = Instance.new("ScreenGui", plr:FindFirstChildOfClass("PlayerGui"))
- s.IgnoreGuiInset = true
- s.ResetOnSpawn = false
- local f = Instance.new("Frame", s)
- f.Size = UDim2.fromScale(2, 2)
- f.BackgroundColor3 = Color3.new(0,0,0)
- f.BackgroundTransparency = 1
- game:GetService("TweenService"):Create(f, TweenInfo.new(.5), {
- BackgroundTransparency = 0
- }):Play()
- task.wait(1)
- game:GetService("TweenService"):Create(f, TweenInfo.new(.5), {
- BackgroundTransparency = 1
- }):Play()
- task.delay(.5, pcall, game.Destroy, s)
- end)
- end
- end
- end
- local origrange = domainrange
- domainrange = basedomainrange
- local pos = character.domaineff.Shrine:GetPivot().Position
- task.wait(.5)
- character.domaineff:Destroy()
- for i = 1, math.random(domainrange/10, domainrange/2) do
- local a = Instance.new("WedgePart", character)
- a.Position = pos+Vector3.new(math.random(-origrange,origrange),math.random(-origrange,origrange),math.random(-origrange,origrange))
- a.Orientation = Vector3.new(math.random(-360,360),math.random(-360,360),math.random(-360,360))
- a.Anchored = false
- a.CanCollide = false
- a.Material = Enum.Material.Glass
- a.Size = Vector3.new(math.random(1, origrange/30),math.random(1, origrange/3),math.random(1,origrange/3))
- a.Color = Color3.new(1,1,1)
- a.Transparency = 0.6
- a.Color = Color3.new(1,0,0)
- a.AssemblyAngularVelocity = a.Orientation/8
- assets.MalevolentShrine.Domain.Highlight:Clone().Parent = a
- game:GetService('Debris'):AddItem(a,5)
- end
- end)
- for i, v in next, haori do
- v.Transparency = 0
- end
- game:GetService("TweenService"):Create(character.domain.Sound, TweenInfo.new(1), {
- Volume = 0
- }):Play()
- task.delay(1, pcall, game.Destroy, character.domain)
- end
- end
- local function growback(affectedlimb)
- affectedlimb.Transparency = 1
- for i, v in next, affectedlimb:GetDescendants() do
- if(v:IsA("BasePart"))then
- v.Transparency = 1
- end
- end
- pcall(function()
- character.Torso[affectedlimb.Name.." sizzle"].Sound:Stop()
- end)
- pcall(function()
- character.Torso[affectedlimb.Name.." sizzle"].Steam.Enabled = false
- end)
- pcall(function()
- character.Torso[affectedlimb.Name.." sizzle"].Blood.Enabled = false
- end)
- local muscle = Instance.new("Part", affectedlimb)
- muscle.Size = Vector3.zero
- muscle.Color = grayscaleColor(Color3.new(.5, 0, 0))
- muscle.CanCollide = false
- muscle.Material = Enum.Material.Slate
- sound(muscle, 6148096445, 1, math.random(90, 110)/100)
- local w = Instance.new("Weld", muscle)
- w.C0 = CFrame.new(0, -2, 0)
- w.Part0 = muscle
- w.Part1 = affectedlimb
- game:GetService("TweenService"):Create(muscle, TweenInfo.new(.3, Enum.EasingStyle.Quint), {
- Size = affectedlimb.Size - Vector3.one*.2
- }):Play()
- game:GetService("TweenService"):Create(w, TweenInfo.new(.3, Enum.EasingStyle.Quint), {
- C0 = CFrame.new(0, -.1, 0)
- }):Play()
- task.wait(.3)
- local skin = Instance.new("Part", affectedlimb)
- skin.Size = Vector3.zero
- skin.CanCollide = false
- skin.Color = affectedlimb.Color
- local w = Instance.new("Weld", skin)
- w.C0 = CFrame.new(0, -2, 0)
- w.Part0 = skin
- w.Part1 = affectedlimb
- game:GetService("TweenService"):Create(skin, TweenInfo.new(.3, Enum.EasingStyle.Quint), {
- Size = affectedlimb.Size
- }):Play()
- game:GetService("TweenService"):Create(w, TweenInfo.new(.3, Enum.EasingStyle.Quint), {
- C0 = CFrame.new(0, 0, 0)
- }):Play()
- task.wait(.3)
- muscle:Destroy()
- skin:Destroy()
- affectedlimb.Transparency = 0
- for i, v in next, affectedlimb:GetDescendants() do
- if(v:IsA("BasePart"))then
- v.Transparency = 0
- end
- end
- end
- local oldhp = 500
- local limbbackups = {}
- local limbwelds = {}
- local shouldbethere = {
- "Right Arm", "Left Arm", "Right Leg", "Left Leg"
- }
- local limbbackups = {
- ["Right Arm"] = assets.Character["Right Arm"]:Clone(),
- ["Left Arm"] = assets.Character["Left Arm"]:Clone(),
- ["Right Leg"] = assets.Character["Right Leg"]:Clone(),
- ["Left Leg"] = assets.Character["Left Leg"]:Clone(),
- }
- local limbwelds = {
- ["Right Arm"] = assets.Character["Torso"]["Right Shoulder"]:Clone(),
- ["Left Arm"] = assets.Character["Torso"]["Left Shoulder"]:Clone(),
- ["Right Leg"] = assets.Character["Torso"]["Right Hip"]:Clone(),
- ["Left Leg"] = assets.Character["Torso"]["Left Hip"]:Clone(),
- }
- local function rct(limb)
- local lostlimb = nil
- for i, v in next, shouldbethere do
- if(not character:FindFirstChild(v))then
- lostlimb = v
- break
- end
- end
- if(not lostlimb)then
- for i, v in next, character:GetDescendants() do
- if(v.Name == "RCT")then
- v.Enabled = true
- end
- end
- repeat
- task.wait()
- oldhp += 1
- until not keysdown["e"]
- for i, v in next, character:GetDescendants() do
- if(v.Name == "RCT")then
- v.Enabled = false
- end
- end
- return
- end
- attacking = true
- local lastc0 = {}
- for i, v in next, character:GetDescendants() do
- if(v:IsA("Motor6D"))then
- lastc0[v] = v.C0
- end
- end
- for i, v in next, animations do
- pcall(function()
- v:CancelInstant()
- v:Stop()
- end)
- end
- local cloned = limbbackups[lostlimb]:Clone()
- cloned.Parent = character
- local weld = limbwelds[lostlimb]:Clone()
- pcall(game.Destroy, character["Torso"]:FindFirstChild(weld.Name))
- weld.Part0 = character["Torso"]
- weld.Part1 = cloned
- weld.Parent = character["Torso"]
- table.clear(haori)
- for i, v in next, character:GetDescendants() do
- if(v:IsA("BasePart") and v.Name == "Haori")then
- table.insert(haori, v)
- end
- end
- table.clear(playingAnimations)
- local animgroup = animPlayer.CreateModuleGroup()
- table.clear(animations)
- for i, v in next, script.Animations:GetChildren() do
- if(v.Name:find("rct "))then
- animations[v.Name] = animPlayer.new(character, v)
- continue
- end
- animations[v.Name] = animPlayer.new(character, v, animgroup)
- end
- for i, v in next, lastc0 do
- pcall(function()
- i.C0 = v
- end)
- end
- if(animations["rct "..lostlimb])then
- local anim = animations["rct "..lostlimb]
- anim:Play()
- task.delay(.8, function()
- anim:Cancel()
- end)
- end
- growback(cloned)
- task.wait(.2)
- attacking = false
- end
- local function worldcuttingslash()
- attacking = true
- humanoid.WalkSpeed = 0
- playAnimation("worldcuttingslash")
- sound(root, sounds.WCSStartup, 3, 1)
- for i, v in next, aura.Mark:GetChildren() do
- v.Enabled = true
- end
- local h = Instance.new("Highlight", character)
- h.FillColor = Color3.new(1,1,1)
- h.OutlineColor = Color3.new(1,1,1)
- h.FillTransparency = 1
- h.OutlineTransparency = 1
- task.wait(.3)
- mangatext("Scale of the dragon.", nil, nil, .6)
- mark(marks.scale)
- game:GetService("TweenService"):Create(h, TweenInfo.new(.25,Enum.EasingStyle.Quint, Enum.EasingDirection.In, 0, true), {
- FillTransparency = .5,
- OutlineTransparency = 0
- }):Play()
- task.wait(.5)
- mark(marks.recoil)
- mangatext("Recoil.", nil, -3, .6, 0)
- game:GetService("TweenService"):Create(h, TweenInfo.new(.25,Enum.EasingStyle.Quint, Enum.EasingDirection.In, 0, true), {
- FillTransparency = .5,
- OutlineTransparency = 0
- }):Play()
- task.wait(.5)
- mark(marks.twin)
- for i, v in next, aura.Mark:GetChildren() do
- v.Enabled = false
- end
- mangatext("Twin meteors.", nil, nil, .6, -2)
- game:GetService("TweenService"):Create(h, TweenInfo.new(.25,Enum.EasingStyle.Quint, Enum.EasingDirection.In, 0, true), {
- FillTransparency = .5,
- OutlineTransparency = 0
- }):Play()
- task.wait(.8)
- mangatext("Dismantle.", nil, -3)
- game:GetService("TweenService"):Create(h, TweenInfo.new(.6,Enum.EasingStyle.Quint, Enum.EasingDirection.In, 0, true), {
- FillTransparency = .5,
- OutlineTransparency = 0
- }):Play()
- task.delay(.6, pcall, game.Destroy, h)
- task.wait(.6)
- sound(root, sounds.WCS, 3, 1)
- humanoid.WalkSpeed = walkspeed
- attacking = false
- local size = 1024
- local splitter = Instance.new("Part")
- splitter.Size = Vector3.new(size, .5, size)
- splitter.CFrame = root.CFrame*CFrame.new(0,0,-size/2)*CFrame.Angles(0,0,math.rad(math.random(-45, 45)))
- splitter.Anchored = true
- splitter.CanCollide = false
- local splitter2 = Instance.new("Part")
- splitter2.Size = Vector3.new(size, .5, size)
- splitter2.CFrame = root.CFrame*CFrame.new(0,0,-size/2)*CFrame.Angles(0,0,math.rad(math.random(-45, 45)))
- splitter2.Anchored = true
- splitter2.CanCollide = false
- local aoe = MagnitudeAoe(splitter.CFrame, splitter.Size)
- local aoe2 = MagnitudeAoe(splitter2.CFrame, splitter2.Size)
- local aoe3 = workspace:GetPartBoundsInBox(splitter.CFrame, splitter.Size)
- local aoe4 = workspace:GetPartBoundsInBox(splitter2.CFrame, splitter2.Size)
- for i, v in next, aoe2 do
- if(not table.find(aoe, v))then
- table.insert(aoe, v)
- end
- end
- for i, v in next, aoe4 do
- if(not table.find(aoe3, v))then
- table.insert(aoe3, v)
- end
- end
- for i, v in next, aoe3 do
- if(not table.find(aoe, v))then
- table.insert(aoe, v)
- end
- end
- local eff = splitter:Clone()
- local h = Instance.new("Highlight", eff)
- h.OutlineTransparency = 1
- h.FillTransparency = 0
- h.FillColor = Color3.new(1,1,1)
- eff.Material = Enum.Material.Glass
- eff.Size = Vector3.zero
- eff.CFrame = CFrame.new(root.CFrame.Position)*splitter.CFrame.Rotation
- eff.Parent = workspace
- eff.Transparency = 5
- eff.Reflectance = 1
- game:GetService("TweenService"):Create(eff, TweenInfo.new(.5, Enum.EasingStyle.Quint), {
- CFrame = splitter.CFrame,
- Size = splitter.Size+Vector3.new(0,.5,0)
- }):Play()
- game:GetService("TweenService"):Create(eff, TweenInfo.new(2, Enum.EasingStyle.Quint), {
- Transparency = 1
- }):Play()
- game:GetService("TweenService"):Create(h, TweenInfo.new(.5, Enum.EasingStyle.Quint), {
- FillTransparency = 1
- }):Play()
- task.delay(1.2, pcall, game.Destroy, eff)
- local eff = splitter2:Clone()
- local h = Instance.new("Highlight", eff)
- h.OutlineTransparency = 1
- h.FillTransparency = 0
- h.FillColor = Color3.new(1,1,1)
- eff.Material = Enum.Material.Glass
- eff.Size = Vector3.zero
- eff.CFrame = CFrame.new(root.CFrame.Position)*splitter2.CFrame.Rotation
- eff.Parent = workspace
- eff.Transparency = 5
- eff.Reflectance = 1
- game:GetService("TweenService"):Create(eff, TweenInfo.new(.8, Enum.EasingStyle.Quint), {
- CFrame = splitter2.CFrame,
- Size = splitter2.Size+Vector3.new(0,.5,0)
- }):Play()
- game:GetService("TweenService"):Create(eff, TweenInfo.new(2, Enum.EasingStyle.Quint), {
- Transparency = 1
- }):Play()
- game:GetService("TweenService"):Create(h, TweenInfo.new(.8, Enum.EasingStyle.Quint), {
- FillTransparency = 1
- }):Play()
- task.delay(1.2, pcall, game.Destroy, eff)
- for i, v in next, aoe do
- if(v.Name:lower() ~= "baseplate" and v.Name:lower() ~= "base" and not v:IsDescendantOf(character))then
- task.spawn(pcall, function()
- local parts = game:GetService("GeometryService"):SubtractAsync(v, {splitter, splitter2}, {
- CollisionFidelity = Enum.CollisionFidelity.Default,
- RenderFidelity = Enum.RenderFidelity.Automatic,
- FluidFidelity = Enum.FluidFidelity.Automatic,
- SplitApart = true
- })
- for _, a in next, parts do
- a.Parent = v.Parent
- a.Anchored = false
- a.CanCollide = true
- a.UsePartColor = true
- end
- v:Destroy()
- end)
- end
- end
- task.wait(1)
- splitter:Destroy()
- end
- local function flashstep()
- attacking = true
- sound(root, 1753619491, 2, math.random(80, 120)/100)
- local function fade(b)
- b.Anchored = true
- b.CanCollide = false
- b.Transparency = 0
- b.Material = Enum.Material.Neon
- b.Color = Color3.new(1,1,1)
- game:GetService("TweenService"):Create(b, TweenInfo.new(.5), {
- Transparency = 1,
- Color = Color3.new()
- }):Play()
- task.delay(.5, pcall, game.Destroy, b)
- end
- for i, v in next, {"Left Arm", "Head", "Right Arm", "Right Leg", "Left Leg", "Torso"} do
- if(character:FindFirstChild(v))then
- local v = character:FindFirstChild(v):Clone()
- v.Name = ""
- for _, j in next, v:GetDescendants() do
- if(j:IsA("JointInstance"))then
- pcall(game.Destroy, j)
- elseif(j:IsA("FaceInstance"))then
- pcall(game.Destroy, j)
- elseif(j:IsA("BasePart"))then
- j.Name = ""
- fade(j)
- end
- end
- v.Parent = workspace
- fade(v)
- end
- end
- local flash = assets.Flashstep:Clone()
- flash.CFrame = root.CFrame
- flash.Parent = character
- task.spawn(function()
- for i = 1, 5 do
- flash.FlashStep:Emit(30)
- task.wait(.06)
- end
- end)
- task.delay(.3, pcall, game.Destroy, flash)
- local transparencies = {}
- for _, limb in next, character:GetChildren() do
- if(limb:IsA("BasePart"))then
- transparencies[limb] = limb.Transparency
- limb.Transparency = 1
- for _, child in next, limb:GetDescendants() do
- if(child:IsA("BasePart"))then
- transparencies[child] = child.Transparency
- child.Transparency = 1
- end
- end
- end
- end
- root.Position = root.Position + (humanoid.MoveDirection*50)
- task.wait(.25)
- for limb, transparency in next, transparencies do
- limb.Transparency = transparency
- end
- local flash = assets.Flashstep:Clone()
- flash.CFrame = root.CFrame
- flash.Parent = character
- task.spawn(function()
- for i = 1, 5 do
- flash.FlashStep:Emit(30)
- task.wait(.06)
- end
- end)
- task.delay(.3, pcall, game.Destroy, flash)
- for i, v in next, {"Left Arm", "Head", "Right Arm", "Right Leg", "Left Leg", "Torso"} do
- if(character:FindFirstChild(v))then
- local v = character:FindFirstChild(v):Clone()
- v.Name = ""
- v.Anchored = true
- v.CanCollide = false
- for _, j in next, v:GetDescendants() do
- if(j:IsA("JointInstance"))then
- pcall(game.Destroy, j)
- elseif(j:IsA("FaceInstance"))then
- pcall(game.Destroy, j)
- elseif(j:IsA("BasePart"))then
- j.Name = ""
- fade(j)
- end
- end
- v.Parent = workspace
- fade(v)
- end
- end
- attacking = false
- end
- local mahoragaevent = nil
- local halted = false
- local mahoraga = nil
- local mahoraganpc = game:GetService("HttpService"):GetAsync("https://raw.githubusercontent.com/TheFakeFew/Scripts/refs/heads/main/MahoragaNPC.lua")
- local function MAHORAGAHELPP()
- if(keysdown["r"])then
- if(mahoragaevent and mahoragaevent:IsDescendantOf(workspace))then
- halted = not halted
- mahoragaevent:Fire({Action = halted and "Halt" or "Resume"})
- mangatext(halted and "Halt." or "Resume.")
- if(halted)then
- playAnimation("halt")
- else
- playAnimation("resume")
- end
- return
- end
- end
- if(mahoraga and mahoraga:IsDescendantOf(workspace))then
- if(mahoraga:FindFirstChildWhichIsA("BasePart", true))then
- local pos = mahoraga:FindFirstChildWhichIsA("BasePart", true).Position
- local unsummon = assets.Mahoraga.Effects.Unsummon.Smoke:Clone()
- unsummon.Parent = workspace
- unsummon.Position = pos
- for i, v in next, unsummon:GetDescendants() do
- if(v:IsA("ParticleEmitter"))then
- v:Emit(10)
- end
- end
- task.delay(1, pcall, game.Destroy, unsummon)
- end
- mahoraga:Destroy()
- mahoragaevent = nil
- halted = false
- return
- end
- mahoragaevent = nil
- halted = false
- attacking = true
- local anim = playAnimation("mahoraga")
- humanoid.AutoRotate = false
- humanoid.WalkSpeed = 0
- local rnd = math.random(1, 10)
- if(math.random(1, 5) ~= 1)then
- local s = Instance.new("Sound", root)
- s.SoundId = "rbxassetid://"..sounds.Mahoraga
- s.PlaybackRegionsEnabled = true
- s.Volume = 3
- s.RollOffMaxDistance = 300
- s.PlaybackRegionsEnabled = true
- s.PlaybackRegion = NumberRange.new(4.833, 19.7)
- s.Name = "Summon"
- s:Play()
- else
- local s = Instance.new("Sound", root)
- s.SoundId = "rbxassetid://"..sounds.HELPP
- s.PlaybackRegionsEnabled = true
- s.Volume = 4
- s.RollOffMaxDistance = 300
- s.PlaybackRegionsEnabled = true
- s.PlaybackRegion = NumberRange.new(0, 13.702)
- s.Name = "Summon"
- task.delay(.8, function()
- s:Play()
- end)
- end
- local high = Instance.new("Highlight")
- high.FillColor = Color3.new(1,1,1)
- high.FillTransparency = .99
- high.OutlineTransparency = .99
- high.OutlineColor = Color3.new(1,1,1)
- high.DepthMode = Enum.HighlightDepthMode.Occluded
- local aoe = workspace:GetPartBoundsInRadius(root.Position, 50)
- local done = {}
- for i, v in next, aoe do
- if(v:FindFirstAncestorOfClass("Model") and v:FindFirstAncestorOfClass("Model"):FindFirstChildOfClass("Humanoid") and not done[v:FindFirstAncestorOfClass("Model")])then
- local highlight = high:Clone()
- highlight.Adornee = v:FindFirstAncestorOfClass("Model")
- highlight.Parent = v:FindFirstAncestorOfClass("Model")
- done[v:FindFirstAncestorOfClass("Model")] = true
- task.delay(anim.Length+2, pcall, game.Destroy, highlight)
- end
- end
- local mahomodel = Instance.new("Model", workspace)
- Instance.new("Humanoid", mahomodel)
- local highlight = high:Clone()
- highlight.Adornee = mahomodel
- highlight.Parent = mahomodel
- local maho = script:FindFirstChild("MahoragaNPC") and script:FindFirstChild("MahoragaNPC"):Clone() or NS(mahoraganpc, mahomodel)
- maho.Parent = mahomodel
- maho.Disabled = false
- maho:SetAttribute("owner", owner.Name)
- mahoraga = maho
- local mahoassets = assets.Mahoraga:Clone()
- mahoassets.Name = "MahoragaAssets"
- mahoassets.Parent = game:GetService("ServerStorage")
- task.spawn(function()
- mahoragaevent = maho:WaitForChild("Mahoraga"):WaitForChild("MahoragaEvent", 60)
- end)
- task.spawn(function()
- repeat
- task.wait(.5)
- for i, v in next, maho:GetDescendants() do
- if(v:IsA("BasePart") and not v.Anchored)then
- pcall(function()
- v:SetNetworkOwner(nil)
- end)
- end
- end
- until not maho or not maho:IsDescendantOf(workspace)
- end)
- local domain = assets.MalevolentShrine.Domain:Clone()
- domain.Highlight.FillTransparency = 1
- domain.Highlight.FillColor = Color3.new()
- domain.Highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
- domain.Size = Vector3.one*100
- domain.CFrame = root.CFrame
- domain.Material = Enum.Material.Neon
- domain.Color = Color3.new()
- domain.Transparency = 0
- domain.CanQuery = false
- domain.Parent = workspace
- game:GetService("TweenService"):Create(domain.Highlight, TweenInfo.new(3), {
- FillTransparency = 0
- }):Play()
- game:GetService("TweenService"):Create(domain, TweenInfo.new(3), {
- Transparency = 0
- }):Play()
- task.wait(anim.Length)
- maho.Parent = workspace
- task.delay(2, function()
- mahomodel:Destroy()
- end)
- game:GetService("TweenService"):Create(domain.Highlight, TweenInfo.new(2), {
- FillTransparency = 1
- }):Play()
- game:GetService("TweenService"):Create(domain, TweenInfo.new(3), {
- Transparency = 1
- }):Play()
- task.delay(3, pcall, game.Destroy, domain)
- attacking = false
- humanoid.AutoRotate = true
- humanoid.WalkSpeed = walkspeed
- end
- local posing = false
- local moves = {
- ["n"] = {
- func = function()
- if(taunting)then return end
- local taunt = Taunts[Random.new():NextInteger(1, #Taunts)]
- if(math.random(2) == 1)then
- taunt = Taunts[Random.new():NextInteger(#Taunts - 4, #Taunts)]
- end
- taunting = true
- if(taunt.Function)then
- taunt.Function()
- else
- local s = Instance.new("Sound", root)
- s.SoundId = "rbxassetid://"..taunt.Id
- s.Volume = 3
- s:Play()
- repeat task.wait() until s.IsLoaded
- game:GetService("Debris"):AddItem(s, s.TimeLength)
- local am = #taunt.String:split("|")
- for i, v in next, taunt.String:split("|") do
- mangatext(v, nil, i%2 == 0 and -3 or 3, s.TimeLength/am)
- task.wait(s.TimeLength/am)
- end
- end
- taunting = false
- end,
- bypassattack = true
- },
- ["z"] = {
- func = cleave
- },
- ["x"] = {
- func = dismantle,
- arial = dismantleair
- },
- ["c"] = {
- func = spiderweb,
- arial = engrave
- },
- ["v"] = {
- func = divineflame
- },
- ["b"] = {
- func = malevolentshrine
- },
- ["f"] = {
- func = worldcuttingslash
- },
- ["g"] = {
- func = MAHORAGAHELPP
- },
- ["q"] = {
- func = flashstep
- },
- ["e"] = {
- func = rct,
- },
- ["p"] = {
- func = function()
- if(not posing)then
- attacking = true
- posing = true
- task.spawn(function()
- local f = Instance.new("Folder", character)
- f.Name = "posefolder"
- local m = Instance.new("Sound", root)
- m.Name = "pose"
- m.Looped = true
- m.SoundId = "rbxassetid://"..poseThemes[math.random(1, #poseThemes)]
- m.Volume = 3
- m:Play()
- humanoid.WalkSpeed = 0
- playAnimation("firearrowpose", true)
- local rootStartCF = root.CFrame
- local skillAssets = assets.FireArrow:Clone()
- local groundpart = Instance.new("Part", f)
- groundpart.CFrame = root.CFrame
- groundpart.Transparency = 1
- groundpart.CanCollide = false
- groundpart.Anchored = true
- local floorpos = findFloorPosition(groundpart.Position)
- local RHand = skillAssets.RHand:Clone()
- local LHand = skillAssets.LHand:Clone()
- local impactf = skillAssets.impactf:Clone()
- impactf.Parent = character
- local spar = VFXHelp.EmitAndRemove(impactf,root.CFrame,{maxFloorDist = 20})
- local charg = skillAssets.impactf:Clone()
- charg.Parent = f
- charg.CFrame = spar.CFrame
- VFXHelp.EnableVFX(charg)
- task.delay(.95, function()
- RHand.Parent = f
- LHand.Parent = f
- local Weld = Instance.new("Weld",RHand)
- Weld.Part0 = character["Right Arm"]
- Weld.Part1 = RHand
- Weld.C0 = CFrame.new(0,-1,0)
- local Weld = Instance.new("Weld",LHand)
- Weld.Part0 = character["Left Arm"]
- Weld.Part1 = LHand
- Weld.C0 = CFrame.new(0,-1,0)
- for i,v in pairs(LHand.At0:GetDescendants()) do
- if v:IsA("Beam") then
- v.Attachment0 = LHand.At0
- v.Attachment1 = RHand.At1
- end
- end
- CameraEffect.Flash({request = "LightFlash", tim = .02})
- VFXHelp.EmitFromModel(RHand.Main)
- local firesfx = Instance.new("Sound")
- firesfx.Volume = 8
- firesfx.SoundId = "rbxassetid://"..sounds.Clap
- firesfx.Parent = root
- firesfx:Play()
- repeat task.wait() until firesfx.IsLoaded
- game:GetService("Debris"):AddItem(firesfx,firesfx.TimeLength)
- end)
- task.delay(3.983, function()
- local chargedsfx = Instance.new("Sound")
- chargedsfx.Volume = 8
- chargedsfx.SoundId = "rbxassetid://"..sounds.ArrowCharged
- chargedsfx.Parent = root
- chargedsfx:Play()
- repeat task.wait() until chargedsfx.IsLoaded
- game:GetService("Debris"):AddItem(chargedsfx,chargedsfx.TimeLength)
- end)
- task.delay(4.817, function()
- local Wind = skillAssets.Wind:Clone()
- Wind.Parent = f
- Wind.Root.wind:Play()
- PartJoiner.AddMotor6D(root,Wind.Root,CFrame.new(0,0,0))
- rem:FireClient(owner, "ShakeCamera", "Bump")
- CameraEffect.Flash({request = "orange", tim = .05})
- CameraEffect.Flash({request = "LightFlash", tim = .02})
- CameraEffect.Blur({wai_till_normalFov = .15, size = 40, tim1 = .2, tim2 = .4})
- local Arrow = skillAssets.Arrow:Clone()
- Arrow.Parent = f
- Arrow.Sound:Play()
- local Weld = Instance.new("Weld",Arrow)
- Weld.Part0 = root
- Weld.Part1 = Arrow
- Weld.C0 = CFrame.new(1,0,-3)
- BaseEffects.GroundExpandV2(CFrame.new(floorpos) * CFrame.new(0,10,0),5,10,{expandTime = 0.1,destroyTime = 2})
- groundpart:Destroy()
- humanoid.AutoRotate = true
- task.wait(1)
- sound(root, sounds.Open, 4, 1)
- mangatext("Open.", Color3.new(.8, .6, 0), -3)
- end)
- end)
- else
- attacking = false
- playidle = true
- posing = false
- humanoid.WalkSpeed = walkspeed
- character.posefolder:Destroy()
- root.pose:Destroy()
- animations["firearrowpose"]:Stop()
- animations["firearrowpose"]:Cancel()
- playingAnimations["firearrowpose"] = nil
- end
- end,
- bypassattack = true
- },
- ["leftcontrol"] = {
- func = function()
- walkspeed = walkspeed == 16 and 32 or 16
- humanoid.WalkSpeed = walkspeed
- end,
- }
- }
- local onKeyDown = function(key)
- keysdown[key] = true
- local attack = moves[key]
- if(not attack)then return end
- if(attack.bypassattack)then
- if(attack.arial and not onground)then
- return attack.arial()
- else
- return attack.func()
- end
- end
- if(attacking)then return end
- if(attack.arial and not onground)then
- return attack.arial()
- else
- return attack.func()
- end
- end
- local onKeyUp = function(key)
- keysdown[key] = false
- end
- local adapt = 1
- local debounce = false
- local DharmaWeld = nil
- local timesincelastattack = tick()
- local lastadapttick = tick()
- local adaptConnection;
- local keydown;
- local keyup;
- local dead = true
- local lastpivot = character:GetPivot()
- local lostlimbs = {}
- local healthscript;
- local function createcharacter()
- table.clear(playingAnimations)
- attacking = false
- posing = false
- domain = false
- taunting = false
- playidle = true
- if(not dead)then
- assets.Character:PivotTo(lastpivot)
- else
- table.clear(lostlimbs)
- character = owner.Character or owner.CharacterAdded:Wait()
- assets.Character:PivotTo(character:GetPivot())
- end
- local wasdead = dead
- dead = false
- for i, v in next, animations do
- pcall(function()
- v:CancelInstant()
- v:Stop()
- end)
- end
- pcall(game.Destroy, character)
- pcall(game.Destroy, client)
- pcall(game.Destroy, healthscript)
- pcall(game.Destroy, rem)
- pcall(function()
- keydown:Disconnect()
- keyup:Disconnect()
- end)
- character = assets.Character:Clone()
- character.Name = game:GetService("HttpService"):GenerateGUID(false)
- owner.Character = character
- root = character.HumanoidRootPart
- humanoid = character:FindFirstChildOfClass("Humanoid")
- humanoid.MaxHealth = 500
- humanoid.Health = 500
- humanoid.RequiresNeck = false
- humanoid.BreakJointsOnDeath = false
- humanoid.DisplayName = owner.DisplayName
- humanoid.WalkSpeed = walkspeed
- params = RaycastParams.new()
- params.FilterDescendantsInstances = {character}
- aura = root.Aura
- table.clear(haori)
- for i, v in next, character:GetDescendants() do
- if(v:IsA("BasePart") and v.Name == "Haori")then
- table.insert(haori, v)
- end
- end
- DharmaWeld = character.Head.WheelOfDharma.Weld
- character.Parent = workspace
- local animgroup = animPlayer.CreateModuleGroup()
- table.clear(animations)
- for i, v in next, script.Animations:GetChildren() do
- if(v.Name:find("rct "))then
- animations[v.Name] = animPlayer.new(character, v)
- continue
- end
- animations[v.Name] = animPlayer.new(character, v, animgroup)
- end
- task.spawn(function()
- healthscript = NS([[-- Gradually regenerates the Humanoid's Health over time.
- local REGEN_RATE = 1/100 -- Regenerate this fraction of MaxHealth per second.
- local REGEN_STEP = 1 -- Wait this long between each regeneration step.
- --------------------------------------------------------------------------------
- local Character = script.Parent
- local Humanoid = Character:WaitForChild'Humanoid'
- --------------------------------------------------------------------------------
- while true do
- while Humanoid.Health < Humanoid.MaxHealth do
- local dt = wait(REGEN_STEP)
- local dh = dt*REGEN_RATE*Humanoid.MaxHealth
- Humanoid.Health = math.min(Humanoid.Health + dh, Humanoid.MaxHealth)
- end
- Humanoid.HealthChanged:Wait()
- end]], character)
- healthscript.Name = "Health"
- end)
- task.spawn(function()
- createMouse()
- keydown = Mouse.KeyDown:Connect(onKeyDown)
- keyup = Mouse.KeyUp:Connect(onKeyUp)
- end)
- rem = Instance.new("RemoteEvent", owner:FindFirstChildOfClass("PlayerGui"))
- task.spawn(function()
- client = NLS(clientls, owner:FindFirstChildOfClass("PlayerGui"))
- end)
- adaptConnection = humanoid.HealthChanged:Connect(function(newhp)
- task.defer(function()
- local hplossraw = (oldhp - newhp)
- local hploss = hplossraw/adapt
- if(hploss <= 0)then oldhp = humanoid.Health return end
- timesincelastattack = tick()
- if((oldhp - hploss) <= 0)then
- pcall(game.Destroy, client)
- adaptConnection:Disconnect()
- dead = true
- character:BreakJoints()
- pcall(function()
- local pou = assets.Poukuna:Clone()
- pou:PivotTo(character:GetPivot()*CFrame.new(0,-1.5,0)*CFrame.Angles(0, math.rad(180), 0))
- for i, v in next, character:GetDescendants() do
- if(v:IsA("BasePart"))then
- v.Transparency = 1
- end
- end
- pou.Parent = character
- sound(root, 7205082060, 1, 1)
- end)
- task.spawn(function()
- owner.CharacterAdded:Wait()
- task.defer(createcharacter)
- end)
- return
- end
- if(hploss < 1 or adapt > (hplossraw/5))then
- hploss = 0
- else
- adapt += 1
- end
- if(not debounce and hploss ~= 0)then
- sound(root, sounds.WheelOfDharma, 1, 1)
- game:GetService("TweenService"):Create(DharmaWeld, TweenInfo.new(.6), {
- C0 = DharmaWeld.C0 * CFrame.Angles(0, math.rad(45), 0)
- }):Play()
- debounce = true
- task.delay(.6, function()
- debounce = false
- end)
- end
- if(hploss >= 45)then
- if(math.random(1, 5) == 1)then
- local limb = shouldbethere[math.random(#shouldbethere)]
- pcall(game.Destroy, character:FindFirstChild(limb))
- end
- end
- humanoid.Health = oldhp - hploss
- oldhp = humanoid.Health
- end)
- end)
- oldhp = humanoid.Health
- for i, v in next, lostlimbs do
- if(v)then
- pcall(game.Destroy, character:FindFirstChild(i))
- end
- end
- if(math.random(1, 2) == 1 and not wasdead)then
- local limb = shouldbethere[math.random(#shouldbethere)]
- pcall(game.Destroy, character:FindFirstChild(limb))
- end
- end
- createcharacter()
- local defers = table.create(78, task.defer)
- game:GetService("RunService").PostSimulation:Connect(function()
- if(dead)then return end
- task.spawn(unpack(defers), function()
- if(not character or not character:IsDescendantOf(workspace)
- or not character:FindFirstChild("Torso") or not character:FindFirstChild("Head")
- or not character:FindFirstChild("HumanoidRootPart") or not character:FindFirstChildOfClass("Humanoid")
- or not character.Torso:FindFirstChild("Neck") or not character.HumanoidRootPart:FindFirstChild("RootJoint")
- or character:GetPivot().Position.Magnitude >= 1e5)then
- createcharacter()
- end
- onground = not not workspace:Raycast(root.Position, Vector3.yAxis*-3.5, params)
- if(onground)then
- lastpivot = CFrame.new(character:GetPivot().Position)*CFrame.Angles(0, math.rad(root.Orientation.Y), 0)
- end
- if(tick() - timesincelastattack >= 30)then
- if(tick() - lastadapttick >= 1 and adapt > 1)then
- adapt -= 1
- lastadapttick = tick()
- end
- end
- if(oldhp ~= oldhp)then
- oldhp = 500
- end
- humanoid.MaxHealth = 500
- humanoid.Health = oldhp
- humanoid.RequiresNeck = false
- humanoid.BreakJointsOnDeath = false
- humanoid.DisplayName = owner.DisplayName
- if(playidle)then
- local velocity = math.abs(Vector2.new(root.Velocity.X, root.Velocity.Z).Magnitude)
- if(velocity >= 5 and velocity < 20)then
- if(not animations["walk"].IsPlaying)then
- animations["walk"]:Play()
- end
- else
- animations["walk"]:Stop()
- end
- if(velocity >= 20)then
- if(not animations["run"].IsPlaying)then
- animations["run"]:Play()
- end
- else
- animations["run"]:Stop()
- end
- if(velocity < 5)then
- if(not animations["idle"].IsPlaying)then
- animations["idle"]:Play()
- end
- else
- animations["idle"]:Stop()
- end
- else
- animations["idle"]:Stop()
- animations["walk"]:Stop()
- animations["run"]:Stop()
- end
- for i, v in next, shouldbethere do
- if(not character:FindFirstChild(v))then
- pcall(function()
- character.Torso[v.." sizzle"].Steam.Enabled = true
- character.Torso[v.." sizzle"].Blood.Enabled = true
- character.Torso[v.." sizzle"].Sound:Resume()
- end)
- lostlimbs[v] = true
- else
- lostlimbs[v] = false
- end
- end
- end)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement