--//====================================================\\-- --|| CREATED BY SHACKLUSTER --\\====================================================//-- wait(0.2) Player = game:GetService("Players").LocalPlayer PlayerGui = Player.PlayerGui Cam = workspace.CurrentCamera Backpack = Player.Backpack Character = Player.Character Humanoid = Character.Humanoid Mouse = Player:GetMouse() RootPart = Character["HumanoidRootPart"] Torso = Character["Torso"] Head = Character["Head"] RightArm = Character["Right Arm"] LeftArm = Character["Left Arm"] RightLeg = Character["Right Leg"] LeftLeg = Character["Left Leg"] RootJoint = RootPart["RootJoint"] Neck = Torso["Neck"] RightShoulder = Torso["Right Shoulder"] LeftShoulder = Torso["Left Shoulder"] RightHip = Torso["Right Hip"] LeftHip = Torso["Left Hip"] local sick = Instance.new("Sound",Character) IT = Instance.new CF = CFrame.new VT = Vector3.new RAD = math.rad C3 = Color3.new UD2 = UDim2.new BRICKC = BrickColor.new ANGLES = CFrame.Angles EULER = CFrame.fromEulerAnglesXYZ COS = math.cos ACOS = math.acos SIN = math.sin ASIN = math.asin ABS = math.abs MRANDOM = math.random FLOOR = math.floor --//=================================\\ --|| USEFUL VALUES --\\=================================// Animation_Speed = 3 Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60) local Speed = 16 local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) local DAMAGEMULTIPLIER = 1 local ANIM = "Idle" local ATTACK = false local EQUIPPED = false local HOLD = false local COMBO = 1 local Rooted = false local SINE = 0 local KEYHOLD = false local CHANGE = 2 / Animation_Speed local WALKINGANIM = false local VALUE1 = false local VALUE2 = false local ROBLOXIDLEANIMATION = IT("Animation") ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation" ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571" --ROBLOXIDLEANIMATION.Parent = Humanoid local WEAPONGUI = IT("ScreenGui", PlayerGui) WEAPONGUI.Name = "Weapon GUI" local Effects = IT("Folder", Character) Effects.Name = "Effects" local ANIMATOR = Humanoid.Animator local ANIMATE = Character.Animate local UNANCHOR = true local FLIGHT = false local BODYPOS = nil local GYRO = nil local FLIGHTRING = nil local PARTICLES = false local WINGS = false local APPLYGYRO = true local DIRECTTURN = false local PHEONIXCOLOR = C3(0.9,0.9,0.9) --//=================================\\ --\\=================================// --//=================================\\ --|| SAZERENOS' ARTIFICIAL HEARTBEAT --\\=================================// ArtificialHB = Instance.new("BindableEvent", script) ArtificialHB.Name = "ArtificialHB" script:WaitForChild("ArtificialHB") frame = Frame_Speed tf = 0 allowframeloss = false tossremainder = false lastframe = tick() script.ArtificialHB:Fire() game:GetService("RunService").Heartbeat:connect(function(s, p) tf = tf + s if tf >= frame then if allowframeloss then script.ArtificialHB:Fire() lastframe = tick() else for i = 1, math.floor(tf / frame) do script.ArtificialHB:Fire() end lastframe = tick() end if tossremainder then tf = 0 else tf = tf - frame * math.floor(tf / frame) end end end) --//=================================\\ --\\=================================// --//=================================\\ --|| SOME FUNCTIONS --\\=================================// function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS) return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS) end function PositiveAngle(NUMBER) if NUMBER >= 0 then NUMBER = 0 end return NUMBER end function NegativeAngle(NUMBER) if NUMBER <= 0 then NUMBER = 0 end return NUMBER end function Swait(NUMBER) if NUMBER == 0 or NUMBER == nil then ArtificialHB.Event:wait() else for i = 1, NUMBER do ArtificialHB.Event:wait() end end end function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET) local NEWMESH = IT(MESH) if MESH == "SpecialMesh" then NEWMESH.MeshType = MESHTYPE if MESHID ~= "nil" and MESHID ~= "" then NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID end if TEXTUREID ~= "nil" and TEXTUREID ~= "" then NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID end end NEWMESH.Offset = OFFSET or VT(0, 0, 0) NEWMESH.Scale = SCALE NEWMESH.Parent = PARENT return NEWMESH end function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR) local NEWPART = IT("Part") NEWPART.formFactor = FORMFACTOR NEWPART.Reflectance = REFLECTANCE NEWPART.Transparency = TRANSPARENCY NEWPART.CanCollide = false NEWPART.Locked = true NEWPART.Anchored = true if ANCHOR == false then NEWPART.Anchored = false end NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR)) NEWPART.Name = NAME NEWPART.Size = SIZE NEWPART.Position = Torso.Position NEWPART.Material = MATERIAL NEWPART:BreakJoints() NEWPART.Parent = PARENT return NEWPART end local function weldBetween(a, b) local weldd = Instance.new("ManualWeld") weldd.Part0 = a weldd.Part1 = b weldd.C0 = CFrame.new() weldd.C1 = b.CFrame:inverse() * a.CFrame weldd.Parent = a return weldd end function QuaternionFromCFrame(cf) local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() local trace = m00 + m11 + m22 if trace > 0 then local s = math.sqrt(1 + trace) local recip = 0.5 / s return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5 else local i = 0 if m11 > m00 then i = 1 end if m22 > (i == 0 and m00 or m11) then i = 2 end if i == 0 then local s = math.sqrt(m00 - m11 - m22 + 1) local recip = 0.5 / s return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip elseif i == 1 then local s = math.sqrt(m11 - m22 - m00 + 1) local recip = 0.5 / s return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip elseif i == 2 then local s = math.sqrt(m22 - m00 - m11 + 1) local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip end end end function QuaternionToCFrame(px, py, pz, x, y, z, w) local xs, ys, zs = x + x, y + y, z + z local wx, wy, wz = w * xs, w * ys, w * zs local xx = x * xs local xy = x * ys local xz = x * zs local yy = y * ys local yz = y * zs local zz = z * zs return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy)) end function QuaternionSlerp(a, b, t) local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4] local startInterp, finishInterp; if cosTheta >= 0.0001 then if (1 - cosTheta) > 0.0001 then local theta = ACOS(cosTheta) local invSinTheta = 1 / SIN(theta) startInterp = SIN((1 - t) * theta) * invSinTheta finishInterp = SIN(t * theta) * invSinTheta else startInterp = 1 - t finishInterp = t end else if (1 + cosTheta) > 0.0001 then local theta = ACOS(-cosTheta) local invSinTheta = 1 / SIN(theta) startInterp = SIN((t - 1) * theta) * invSinTheta finishInterp = SIN(t * theta) * invSinTheta else startInterp = t - 1 finishInterp = t end end return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp end function Clerp(a, b, t) local qa = {QuaternionFromCFrame(a)} local qb = {QuaternionFromCFrame(b)} local ax, ay, az = a.x, a.y, a.z local bx, by, bz = b.x, b.y, b.z local _t = 1 - t return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t)) end function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME) local frame = IT("Frame") frame.BackgroundTransparency = TRANSPARENCY frame.BorderSizePixel = BORDERSIZEPIXEL frame.Position = POSITION frame.Size = SIZE frame.BackgroundColor3 = COLOR frame.BorderColor3 = BORDERCOLOR frame.Name = NAME frame.Parent = PARENT return frame end function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME) local label = IT("TextLabel") label.BackgroundTransparency = 1 label.Size = UD2(1, 0, 1, 0) label.Position = UD2(0, 0, 0, 0) label.TextColor3 = TEXTCOLOR label.TextStrokeTransparency = STROKETRANSPARENCY label.TextTransparency = TRANSPARENCY label.FontSize = TEXTFONTSIZE label.Font = TEXTFONT label.BorderSizePixel = BORDERSIZEPIXEL label.TextScaled = false label.Text = TEXT label.Name = NAME label.Parent = PARENT return label end function NoOutlines(PART) PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10 end function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1) local NEWWELD = IT(TYPE) NEWWELD.Part0 = PART0 NEWWELD.Part1 = PART1 NEWWELD.C0 = C0 NEWWELD.C1 = C1 NEWWELD.Parent = PARENT return NEWWELD end local S = IT("Sound") function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP) local NEWSOUND = nil coroutine.resume(coroutine.create(function() NEWSOUND = S:Clone() NEWSOUND.Parent = PARENT NEWSOUND.Volume = VOLUME NEWSOUND.Pitch = PITCH NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID NEWSOUND:play() if DOESLOOP == true then NEWSOUND.Looped = true else repeat wait(1) until NEWSOUND.Playing == false NEWSOUND:remove() end end)) return NEWSOUND end function CFrameFromTopBack(at, top, back) local right = top:Cross(back) return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z) end --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) function WACKYEFFECT(Table) local TYPE = (Table.EffectType or "Sphere") local SIZE = (Table.Size or VT(1,1,1)) local ENDSIZE = (Table.Size2 or VT(0,0,0)) local TRANSPARENCY = (Table.Transparency or 0) local ENDTRANSPARENCY = (Table.Transparency2 or 1) local CFRAME = (Table.CFrame or Torso.CFrame) local MOVEDIRECTION = (Table.MoveToPos or nil) local ROTATION1 = (Table.RotationX or 0) local ROTATION2 = (Table.RotationY or 0) local ROTATION3 = (Table.RotationZ or 0) local MATERIAL = (Table.Material or "Neon") local COLOR = (Table.Color or C3(1,1,1)) local TIME = (Table.Time or 45) local SOUNDID = (Table.SoundID or nil) local SOUNDPITCH = (Table.SoundPitch or nil) local SOUNDVOLUME = (Table.SoundVolume or nil) coroutine.resume(coroutine.create(function() local PLAYSSOUND = false local SOUND = nil local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true) if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then PLAYSSOUND = true SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false) end EFFECT.Color = COLOR local MSH = nil if TYPE == "Sphere" then MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0)) elseif TYPE == "Block" then MSH = IT("BlockMesh",EFFECT) MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X) elseif TYPE == "Wave" then MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8)) elseif TYPE == "Ring" then MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0)) elseif TYPE == "Slash" then MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0)) elseif TYPE == "Round Slash" then MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0)) elseif TYPE == "Swirl" then MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0)) elseif TYPE == "Skull" then MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0)) elseif TYPE == "Crystal" then MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0)) end if MSH ~= nil then local MOVESPEED = nil if MOVEDIRECTION ~= nil then MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME end local GROWTH = SIZE - ENDSIZE local TRANS = TRANSPARENCY - ENDTRANSPARENCY if TYPE == "Block" then EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))) else EFFECT.CFrame = CFRAME end for LOOP = 1, TIME+1 do Swait() MSH.Scale = MSH.Scale - GROWTH/TIME if TYPE == "Wave" then MSH.Offset = VT(0,0,-MSH.Scale.X/8) end EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME if TYPE == "Block" then EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))) else EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3)) end if MOVEDIRECTION ~= nil then local ORI = EFFECT.Orientation EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED) EFFECT.Orientation = ORI end end if PLAYSSOUND == false then EFFECT:remove() else repeat Swait() until SOUND.Playing == false EFFECT:remove() end else if PLAYSSOUND == false then EFFECT:remove() else repeat Swait() until SOUND.Playing == false EFFECT:remove() end end end)) end function MakeForm(PART,TYPE) if TYPE == "Cyl" then local MSH = IT("CylinderMesh",PART) elseif TYPE == "Ball" then local MSH = IT("SpecialMesh",PART) MSH.MeshType = "Sphere" elseif TYPE == "Wedge" then local MSH = IT("SpecialMesh",PART) MSH.MeshType = "Wedge" end end Debris = game:GetService("Debris") function CastProperRay(StartPos, EndPos, Distance, Ignore) local DIRECTION = CF(StartPos,EndPos).lookVector return Raycast(StartPos, DIRECTION, Distance, Ignore) end function turnto(position) RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0) end local DECAL = IT("Decal",nil) function MagicRing(PART,CFRAME,VARIANT) if VARIANT == "Pheonix" or VARIANT == "Sun" or VARIANT == "Fire" then local RING = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "MagicRing", VT(0,0,0),false) local WELD = CreateWeldOrSnapOrMotor("Weld", PART, PART, RING, CFRAME, CF(0, 0, 0)) local MESH = IT("BlockMesh",RING) local BOTTOMTEXTURE = DECAL:Clone() BOTTOMTEXTURE.Parent = RING BOTTOMTEXTURE.Face = "Bottom" BOTTOMTEXTURE.Name = "BottomTexture" local TOPTEXTURE = DECAL:Clone() TOPTEXTURE.Parent = RING TOPTEXTURE.Face = "Top" TOPTEXTURE.Name = "TopTexture" local T = script.RingEmit:Clone() T.Parent = RING local LIGHT = IT("PointLight",RING) if VARIANT == "Pheonix" then BOTTOMTEXTURE.Texture = "http://www.roblox.com/asset/?id=1617574752" TOPTEXTURE.Texture = "http://www.roblox.com/asset/?id=1617575377" T.Color = ColorSequence.new(PHEONIXCOLOR) CreateSound(462809305,RING,5,1,false) elseif VARIANT == "Sun" then BOTTOMTEXTURE.Texture = "http://www.roblox.com/asset/?id=1217786509" TOPTEXTURE.Texture = "http://www.roblox.com/asset/?id=1217788749" T.Color = ColorSequence.new(BRICKC"Bright orange".Color) CreateSound(462809305,RING,5,1,false) LIGHT.Color = BRICKC"Bright orange".Color elseif VARIANT == "Fire" then BOTTOMTEXTURE.Texture = "http://www.roblox.com/asset/?id=1222222911" TOPTEXTURE.Texture = "http://www.roblox.com/asset/?id=1222223218" T.Color = ColorSequence.new(BRICKC"Bright orange".Color) CreateSound(343211019,RING,5,1,false) LIGHT.Color = C3(1,85/255,0) end T.LightEmission = 1 T:Emit(5) Debris:AddItem(T,5) return RING,WELD,MESH end end function AddChildrenToTable(FROM,PARENT,DIST,TABLE) for _, c in pairs(PARENT:GetDescendants()) do if c.ClassName == "Model" then if c ~= Character and c:FindFirstChildOfClass("Humanoid") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) then local HUMANOID = c:FindFirstChildOfClass("Humanoid") local TORSO = (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) if (TORSO.Position - FROM).Magnitude < DIST then table.insert(TABLE,c) end end end end end --//=================================\\ --|| WEAPON CREATION --\\=================================// local GUI = script.NameGui GUI.Parent = RootPart GUI.PlayerToHideFrom = Player GUI.PlayerName.Text = Player.Name local BACKATTACHMENT1 = IT("Attachment",Torso) BACKATTACHMENT1.Position = VT(0.5, 0.5, 0.75) local BACKATTACHMENT2 = IT("Attachment",Torso) BACKATTACHMENT2.Position = VT(-0.5, 0.5, 0.75) local WINGS1 = script.Wing1 local WINGS1B = script.Wing1B local WINGS2 = script.Wing2 local WINGS2B = script.Wing2B WINGS1.Parent = BACKATTACHMENT1 WINGS1B.Parent = BACKATTACHMENT1 WINGS2.Parent = BACKATTACHMENT2 WINGS2B.Parent = BACKATTACHMENT2 local FACEATTACHMENT = IT("Attachment",Head) FACEATTACHMENT.Position = VT(0.167, 0.272, -0.5) FACEATTACHMENT.Orientation = VT(0, 35, 0) local EYE = script.Eye1 EYE.Parent = FACEATTACHMENT local EYE2 = script.Eye2 EYE2.Parent = FACEATTACHMENT Humanoid.Died:connect(function() ATTACK = true end) --//=================================\\ --|| DAMAGING --\\=================================// function ApplyDamage(Humanoid,Damage,TorsoPart,Time,AfterBurn,Variant) local defence = Instance.new("BoolValue",Humanoid.Parent) defence.Name = ("HitBy"..Player.Name) game:GetService("Debris"):AddItem(defence, 0.001) Damage = Damage * DAMAGEMULTIPLIER if Humanoid.Health ~= 0 then local CritChance = MRANDOM(1,100) if Damage > Humanoid.Health then Damage = math.ceil(Humanoid.Health) if Damage == 0 then Damage = 0.1 end end Humanoid.Health = Humanoid.Health - Damage if AfterBurn == true then Afterburn(Humanoid,Time,Damage/5,Variant) end end end function Afterburn(Human,Time,Damage,Variant) coroutine.resume(coroutine.create(function() if Human then if Human.Parent:FindFirstChild("Torso") or Human.Parent:FindFirstChild("UpperTorso") then local Torso = Human.Parent:FindFirstChild("Torso") or Human.Parent:FindFirstChild("UpperTorso") local FIRE = nil if Variant == "Pheonix" then FIRE = script.PheonixBurn:Clone() FIRE.Parent = Torso FIRE.Enabled = true elseif Variant == "Sun" then FIRE = script.SunBurn:Clone() FIRE.Parent = Torso FIRE.Enabled = true elseif Variant == "Fire" then FIRE = script.Burn:Clone() FIRE.Parent = Torso FIRE.Enabled = true end for i = 1, Time do wait(0.5) Human.Health = Human.Health - Damage end wait(0.25) FIRE.Enabled = false Debris:AddItem(FIRE,1.5) end end end)) end function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,AFTERBURN,TIME,VARIANT,DOESCAMSHAKE,CAMVALUES) local CHILDREN = workspace:GetDescendants() for index, CHILD in pairs(CHILDREN) do if CHILD.ClassName == "Model" and CHILD ~= Character then local HUM = CHILD:FindFirstChildOfClass("Humanoid") if HUM then local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso") if TORSO then if (TORSO.Position - POSITION).Magnitude <= RANGE then local DMG = MRANDOM(MINDMG,MAXDMG) ApplyDamage(HUM,DMG,TORSO,TIME,AFTERBURN,VARIANT) if HUM.MaxHealth == math.huge then CHILD:BreakJoints() end if DOESCAMSHAKE == true then local CAMSHAKER = script.CamShake:Clone() CAMSHAKER.Shake.Value = CAMVALUES.SHAKE CAMSHAKER.Timer.Value = CAMVALUES.TIMER CAMSHAKER.DoesFade.Value = CAMVALUES.DOESFADE CAMSHAKER.Parent = CHILD CAMSHAKER.Disabled = false end if FLING > 0 then for _, c in pairs(CHILD:GetChildren()) do if c:IsA("BasePart") then local bv = Instance.new("BodyVelocity") bv.maxForce = Vector3.new(1e9, 1e9, 1e9) bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING bv.Parent = c Debris:AddItem(bv,0.05) end end end end end end end end end --//=================================\\ --|| LAND ATTACKS --\\=================================// function ShootingStar() ATTACK = true Rooted = false local GYRO = IT("BodyGyro",RootPart) GYRO.D = 20 GYRO.P = 4000 GYRO.MaxTorque = VT(0,40000,0) local RING,WELD,MESH = MagicRing(RightArm,CF(0,-1.2,0),"Sun") coroutine.resume(coroutine.create(function() for i = 1, 35 do Swait() MESH.Scale = MESH.Scale + VT(2.6,0,2.6) end end)) for i=0, 1.8, 0.1 / Animation_Speed do GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p) Swait() RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(74)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-74)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.3) * ANGLES(RAD(90), RAD(0), RAD(74)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.1, -0.3) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(165), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed) end coroutine.resume(coroutine.create(function() local POSITION = Mouse.Hit.p local FIREBALL = CreatePart(3, Effects, "Neon", 0, 1, "New Yeller", "Fire", VT(3,3,3)) FIREBALL.CFrame = RightArm.CFrame*CF(0,-3,0) local FIRE = script.SunFireball:Clone() FIRE.Parent = FIREBALL FIRE.Enabled = true local EXPLOSION = script.SunExplosion:Clone() EXPLOSION.Parent = FIREBALL CreateSound(463598785,FIREBALL,5,1,false) local DISTANCE = (RootPart.Position - POSITION).Magnitude local FRAME = CF(VT(POSITION.X+MRANDOM(-45,45)/3,RootPart.Position.Y,POSITION.Z+MRANDOM(-45,45)/3),RootPart.Position+VT(0,145,0))*CF(0,0,-DISTANCE/2) for i = 1, 75 do Swait() FIREBALL.CFrame = Clerp(FIREBALL.CFrame, FRAME, 0.5 / Animation_Speed) end FIREBALL.CFrame = CF(FIREBALL.Position,POSITION) for i = 1, 300 do Swait() FIREBALL.CFrame = FIREBALL.CFrame*CF(0,0,-4) local HITFLOOR,HITPOS = Raycast(FIREBALL.Position, FIREBALL.CFrame.lookVector, 4.2, Character) if HITFLOOR ~= nil then FIRE.Enabled = false EXPLOSION:Emit(500) CreateSound(416328540,FIREBALL,5,1,false) ApplyAoE(FIREBALL.Position,75,25,35,65,true,MRANDOM(5,15),"Sun",true,{SHAKE = 1, TIMER = 6, DOESFADE = true}) WACKYEFFECT({EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(150,150,150), Transparency = 0, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) wait(5) break end end FIREBALL:remove() end)) GYRO:remove() RING.Anchored = true WELD:remove() coroutine.resume(coroutine.create(function() for i = 1, 35 do Swait() MESH.Scale = MESH.Scale - VT(2.6,0,2.6) end RING:remove() end)) ATTACK = false Rooted = false end function PheonixRage() ATTACK = true Rooted = true local A = false local B = false local RING,WELD,MESH = MagicRing(RootPart,CF(0,-3,0),"Pheonix") WELD:remove() RING.Anchored = true coroutine.resume(coroutine.create(function() for i = 1, 45 do Swait() MESH.Scale = MESH.Scale + VT(15,0,15) end end)) coroutine.resume(coroutine.create(function() repeat Swait() RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.5) * ANGLES(RAD(15), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.25, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed) until A == true repeat Swait() RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-35), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-35), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed) until B == true for i = 1, 45 do Swait() MESH.Scale = MESH.Scale - VT(15,0,15) end RING:remove() end)) wait(1) for i = 1, 4 do WACKYEFFECT({EffectType = "Sphere", Size = VT(45,45,45), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.8, CFrame = CF(Torso.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil}) wait(0.5) end A = true ApplyAoE(Torso.Position,80,45,50,35,true,MRANDOM(12,16),"Pheonix",true,{SHAKE = 2, TIMER = 25, DOESFADE = true}) WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(40,40,40), Size2 = VT(140,140,140), Transparency = 0, Transparency2 = 1, CFrame = CF(Torso.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(50,50,50), Size2 = VT(150,150,150), Transparency = 0.5, Transparency2 = 1, CFrame = CF(Torso.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = 462692971, SoundPitch = 0.8, SoundVolume = 6}) local EXPLOSION = script.PheonixExplosion1:Clone() EXPLOSION.Parent = Torso EXPLOSION.Enabled = true local EXPLOSION2 = script.PheonixExplosion2:Clone() EXPLOSION2.Parent = Torso EXPLOSION2.Enabled = true wait(0.3) EXPLOSION.Enabled = false EXPLOSION2.Enabled = false Debris:AddItem(EXPLOSION,5) Debris:AddItem(EXPLOSION2,5) wait(1) B = true ATTACK = false Rooted = false end function Breath() ATTACK = true local POSITION = IT("BodyPosition",RootPart) POSITION.Position = RootPart.CFrame*CF(0,35,35).p POSITION.D = 1250 POSITION.P = 40000 POSITION.maxForce = Vector3.new(math.huge,math.huge,math.huge) WINGS = true local RING,WELD,MESH = MagicRing(Torso,CF(0,0.5,0.6) * ANGLES(RAD(-90), RAD(0), RAD(0)),"Pheonix") coroutine.resume(coroutine.create(function() for i = 1, 20 do Swait() MESH.Scale = MESH.Scale + VT(4,0,4) end end)) for i = 1, 25 do Swait() RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-14.4 * i), RAD(0), RAD(0)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(90)) * LEFTSHOULDERC0, 0.2 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, 0, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed) end local GYRO = IT("BodyGyro",RootPart) GYRO.D = 20 GYRO.P = 4000 GYRO.MaxTorque = VT(0,40000,0) coroutine.resume(coroutine.create(function() repeat Swait() GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p) RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(24)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-24)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.3) * ANGLES(RAD(90), RAD(0), RAD(24)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.1, -0.3) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(165), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) until ATTACK == false POSITION:remove() GYRO:remove() for i = 1, 20 do Swait() MESH.Scale = MESH.Scale - VT(4,0,4) end RING:remove() end)) local RING,WELD,MESH = MagicRing(RightArm,CF(0,-1.2,0) * ANGLES(RAD(0), RAD(180), RAD(0)),"Pheonix") for i = 1, 35 do Swait() MESH.Scale = MESH.Scale + VT(2.6,0,2.6) end wait(0.3) coroutine.resume(coroutine.create(function() local FIREBALL = CreatePart(3, Effects, "Neon", 0, 1, "Cyan", "Flight", VT(5,5,5)) FIREBALL.CFrame = CF(RING.Position,Mouse.Hit.p) local PARTICLES1 = script.PheonixFireball1:Clone() PARTICLES1.Parent = FIREBALL PARTICLES1.Enabled = true local PARTICLES2 = script.PheonixFireball2:Clone() PARTICLES2.Parent = FIREBALL PARTICLES2.Enabled = true CreateSound(463593339,FIREBALL,6,1,false) for i = 1, 250 do Swait() local HIT,HITPOS = Raycast(FIREBALL.Position, FIREBALL.CFrame.lookVector, 2.5, Character) FIREBALL.CFrame = FIREBALL.CFrame*CF(0,0,-2) if HIT then ApplyAoE(FIREBALL.Position,50,45,50,35,true,MRANDOM(12,16),"Pheonix",true,{SHAKE = 2, TIMER = 25, DOESFADE = true}) WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(100,100,100), Transparency = 0, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(120,120,120), Transparency = 0.5, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = 462692971, SoundPitch = 1, SoundVolume = 6}) PARTICLES1.Enabled = false PARTICLES2.Enabled = false local EXPLOSION = script.PheonixExplosion1:Clone() EXPLOSION.Parent = FIREBALL EXPLOSION.Enabled = true local EXPLOSION2 = script.PheonixExplosion2:Clone() EXPLOSION2.Parent = FIREBALL EXPLOSION2.Enabled = true wait(0.3) EXPLOSION.Enabled = false EXPLOSION2.Enabled = false break end end PARTICLES1.Enabled = false PARTICLES2.Enabled = false Debris:AddItem(FIREBALL,7) end)) wait(0.3) coroutine.resume(coroutine.create(function() WELD:remove() RING.Anchored = true for i = 1, 35 do Swait() MESH.Scale = MESH.Scale - VT(2.6,0,2.6) end RING:remove() end)) WINGS = false ATTACK = false end --//=================================\\ --|| MIDFLIGHT ATTACKS --\\=================================// function ThreeShootingStars() ATTACK = true Rooted = false local POS1 = nil local POS2 = nil local POS3 = nil local RING,WELD,MESH = MagicRing(RightArm,CF(0,-1.2,0),"Sun") coroutine.resume(coroutine.create(function() for i = 1, 35 do Swait() MESH.Scale = MESH.Scale + VT(2.6,0,2.6) end end)) coroutine.resume(coroutine.create(function() repeat Swait() if POS1 then coroutine.resume(coroutine.create(function() local POSITION = POS1 local FIREBALL = CreatePart(3, Effects, "Neon", 0, 1, "New Yeller", "Fire", VT(3,3,3)) FIREBALL.CFrame = RightArm.CFrame*CF(0,-3,0) local FIRE = script.SunFireball:Clone() FIRE.Parent = FIREBALL FIRE.Enabled = true local EXPLOSION = script.SunExplosion:Clone() EXPLOSION.Parent = FIREBALL CreateSound(463598785,FIREBALL,5,1,false) local DISTANCE = (RootPart.Position - POSITION).Magnitude local FRAME = CF(VT(POSITION.X+MRANDOM(-45,45)/3,RootPart.Position.Y,POSITION.Z+MRANDOM(-45,45)/3),RootPart.Position+VT(0,45,0))*CF(0,0,-DISTANCE/2) for i = 1, 75 do Swait() FIREBALL.CFrame = Clerp(FIREBALL.CFrame, FRAME, 0.5 / Animation_Speed) end FIREBALL.CFrame = CF(FIREBALL.Position,POSITION) for i = 1, 300 do Swait() FIREBALL.CFrame = FIREBALL.CFrame*CF(0,0,-4) local HITFLOOR,HITPOS = Raycast(FIREBALL.Position, FIREBALL.CFrame.lookVector, 4.2, Character) if HITFLOOR ~= nil then FIRE.Enabled = false EXPLOSION:Emit(500) CreateSound(416328540,FIREBALL,5,1,false) ApplyAoE(FIREBALL.Position,75,25,35,65,true,MRANDOM(5,15),"Sun",true,{SHAKE = 1, TIMER = 6, DOESFADE = true}) WACKYEFFECT({EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(150,150,150), Transparency = 0, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) wait(5) break end end FIREBALL:remove() end)) POS1 = nil end if POS2 then coroutine.resume(coroutine.create(function() local POSITION = POS2 local FIREBALL = CreatePart(3, Effects, "Neon", 0, 1, "New Yeller", "Fire", VT(3,3,3)) FIREBALL.CFrame = RightArm.CFrame*CF(0,-3,0) local FIRE = script.SunFireball:Clone() FIRE.Parent = FIREBALL FIRE.Enabled = true local EXPLOSION = script.SunExplosion:Clone() EXPLOSION.Parent = FIREBALL CreateSound(463598785,FIREBALL,5,1,false) local DISTANCE = (RootPart.Position - POSITION).Magnitude local FRAME = CF(VT(POSITION.X+MRANDOM(-45,45)/3,RootPart.Position.Y,POSITION.Z+MRANDOM(-45,45)/3),RootPart.Position+VT(0,45,0))*CF(0,0,-DISTANCE/2) for i = 1, 75 do Swait() FIREBALL.CFrame = Clerp(FIREBALL.CFrame, FRAME, 0.5 / Animation_Speed) end FIREBALL.CFrame = CF(FIREBALL.Position,POSITION) for i = 1, 300 do Swait() FIREBALL.CFrame = FIREBALL.CFrame*CF(0,0,-4) local HITFLOOR,HITPOS = Raycast(FIREBALL.Position, FIREBALL.CFrame.lookVector, 4.2, Character) if HITFLOOR ~= nil then FIRE.Enabled = false EXPLOSION:Emit(500) CreateSound(416328540,FIREBALL,5,1,false) ApplyAoE(FIREBALL.Position,75,25,35,65,true,MRANDOM(5,15),"Sun",true,{SHAKE = 1, TIMER = 6, DOESFADE = true}) WACKYEFFECT({EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(150,150,150), Transparency = 0, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) wait(5) break end end FIREBALL:remove() end)) POS2 = nil end if POS3 then coroutine.resume(coroutine.create(function() local POSITION = POS3 local FIREBALL = CreatePart(3, Effects, "Neon", 0, 1, "New Yeller", "Fire", VT(3,3,3)) FIREBALL.CFrame = RightArm.CFrame*CF(0,-3,0) local FIRE = script.SunFireball:Clone() FIRE.Parent = FIREBALL FIRE.Enabled = true local EXPLOSION = script.SunExplosion:Clone() EXPLOSION.Parent = FIREBALL CreateSound(463598785,FIREBALL,5,1,false) local DISTANCE = (RootPart.Position - POSITION).Magnitude local FRAME = CF(VT(POSITION.X+MRANDOM(-45,45)/3,RootPart.Position.Y,POSITION.Z+MRANDOM(-45,45)/3),RootPart.Position+VT(0,45,0))*CF(0,0,-DISTANCE/2) for i = 1, 75 do Swait() FIREBALL.CFrame = Clerp(FIREBALL.CFrame, FRAME, 0.5 / Animation_Speed) end FIREBALL.CFrame = CF(FIREBALL.Position,POSITION) for i = 1, 300 do Swait() FIREBALL.CFrame = FIREBALL.CFrame*CF(0,0,-4) local HITFLOOR,HITPOS = Raycast(FIREBALL.Position, FIREBALL.CFrame.lookVector, 4.2, Character) if HITFLOOR ~= nil then FIRE.Enabled = false EXPLOSION:Emit(500) CreateSound(416328540,FIREBALL,5,1,false) ApplyAoE(FIREBALL.Position,75,25,35,65,true,MRANDOM(5,15),"Sun",true,{SHAKE = 1, TIMER = 6, DOESFADE = true}) WACKYEFFECT({EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(150,150,150), Transparency = 0, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) wait(5) break end end FIREBALL:remove() end)) POS3 = nil end RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(74)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-74)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.3) * ANGLES(RAD(90), RAD(0), RAD(74)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.1, -0.3) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(165), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) until ATTACK == false end)) wait(0.4) POS1 = Mouse.Hit.p wait(0.5) POS2 = Mouse.Hit.p wait(0.6) POS3 = Mouse.Hit.p wait(0.3) RING.Anchored = true WELD:remove() coroutine.resume(coroutine.create(function() for i = 1, 35 do Swait() MESH.Scale = MESH.Scale - VT(2.6,0,2.6) end RING:remove() end)) ATTACK = false Rooted = false end function PheonixFlare() ATTACK = true Rooted = false PARTICLES = true coroutine.resume(coroutine.create(function() repeat Swait() RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) until ATTACK == false end)) CreateSound(462676772,Torso,7,1,false) WINGS1.Acceleration = VT(9,0,-12) WINGS1B.Acceleration = VT(9,0,-12) WINGS2.Acceleration = VT(-9,0,-12) WINGS2B.Acceleration = VT(-9,0,-12) wait(0.25) coroutine.resume(coroutine.create(function() local WIND = CreatePart(3, Effects, "Neon", 0, 1, "Cyan", "Flight", VT(0,0,0)) WIND.CFrame = CF(RootPart.Position,Mouse.Hit.p) local PARTICLES = script.Gale:Clone() PARTICLES.Parent = WIND PARTICLES.Enabled = true CreateSound(376218535,WIND,6,1,false) for i = 1, 250 do Swait() local HIT,HITPOS = Raycast(WIND.Position, WIND.CFrame.lookVector, 3, Character) WIND.CFrame = WIND.CFrame*CF(0,0,-2) if HIT then ApplyAoE(WIND.Position,45,10,30,135,false,MRANDOM(12,16),"Nul",true,{SHAKE = 3, TIMER = 7, DOESFADE = true}) CreateSound(260430117,WIND,3,1,false) WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(20,0,20), Size2 = VT(60,8,60), Transparency = 0.9, Transparency2 = 1, CFrame = WIND.CFrame * ANGLES(RAD(90), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.8,0.8,0.8), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(20,0,20), Size2 = VT(60,8,60), Transparency = 0.9, Transparency2 = 1, CFrame = WIND.CFrame * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.8,0.8,0.8), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) break end end PARTICLES.Enabled = false Debris:AddItem(WIND,7) end)) wait(1) CreateSound(462676772,Torso,7,1,false) WINGS1.Acceleration = VT(9,1,4) WINGS1B.Acceleration = VT(9,1,4) WINGS2.Acceleration = VT(-9,1,4) WINGS2B.Acceleration = VT(-9,1,4) wait(0.25) coroutine.resume(coroutine.create(function() local FIREBALL = CreatePart(3, Effects, "Neon", 0, 1, "Cyan", "Flight", VT(5,5,5)) FIREBALL.CFrame = CF(RootPart.Position,Mouse.Hit.p) local PARTICLES1 = script.PheonixFireball1:Clone() PARTICLES1.Parent = FIREBALL PARTICLES1.Enabled = true local PARTICLES2 = script.PheonixFireball2:Clone() PARTICLES2.Parent = FIREBALL PARTICLES2.Enabled = true CreateSound(463593339,FIREBALL,6,1,false) for i = 1, 250 do Swait() local HIT,HITPOS = Raycast(FIREBALL.Position, FIREBALL.CFrame.lookVector, 2.5, Character) FIREBALL.CFrame = FIREBALL.CFrame*CF(0,0,-2) if HIT then ApplyAoE(FIREBALL.Position,70,45,50,35,true,MRANDOM(12,16),"Pheonix",true,{SHAKE = 2, TIMER = 25, DOESFADE = true}) WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(120,120,120), Transparency = 0, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(140,140,140), Transparency = 0.5, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = 462692971, SoundPitch = 1, SoundVolume = 6}) PARTICLES1.Enabled = false PARTICLES2.Enabled = false local EXPLOSION = script.PheonixExplosion1:Clone() EXPLOSION.Parent = FIREBALL EXPLOSION.Enabled = true local EXPLOSION2 = script.PheonixExplosion2:Clone() EXPLOSION2.Parent = FIREBALL EXPLOSION2.Enabled = true wait(0.3) EXPLOSION.Enabled = false EXPLOSION2.Enabled = false break end end PARTICLES1.Enabled = false PARTICLES2.Enabled = false Debris:AddItem(FIREBALL,7) end)) wait(0.5) PARTICLES = false ATTACK = false Rooted = false end function PheonixFireballs() ATTACK = true local POWER = 1 DIRECTTURN = true coroutine.resume(coroutine.create(function() repeat Swait() RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(24)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-24)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.3) * ANGLES(RAD(90), RAD(0), RAD(24)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.1, -0.3) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(165), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) until ATTACK == false end)) local RING1,WELD1,MESH1 = MagicRing(RightArm,CF(0,-1.2,0) * ANGLES(RAD(0), RAD(180), RAD(0)),"Pheonix") local RING2,WELD2,MESH2 = MagicRing(RightArm,CF(0,-1.6,0) * ANGLES(RAD(0), RAD(180), RAD(0)),"Pheonix") for i = 1, 35 do Swait() MESH1.Scale = MESH1.Scale + VT(6,0,6) MESH2.Scale = MESH2.Scale + VT(3,0,3) end repeat wait() POWER = POWER + 1 until KEYHOLD == false if POWER <= 30 then for i = 1, 15 do wait(0.1) coroutine.resume(coroutine.create(function() local FIREBALL = CreatePart(3, Effects, "Neon", 0, 1, "Cyan", "Flight", VT(2,2,2)) FIREBALL.CFrame = CF(RootPart.Position,Mouse.Hit.p) local PARTICLES1 = script.PheonixFireball1:Clone() PARTICLES1.Parent = FIREBALL PARTICLES1.Enabled = true local PARTICLES2 = script.PheonixFireball2:Clone() PARTICLES2.Parent = FIREBALL PARTICLES2.Enabled = true PARTICLES1.Size = NumberSequence.new(3,0) PARTICLES2.Size = NumberSequence.new(3,0) CreateSound(463593339,FIREBALL,6,1,false) for i = 1, 250 do Swait() local HIT,HITPOS = Raycast(FIREBALL.Position, FIREBALL.CFrame.lookVector, 4.5, Character) FIREBALL.CFrame = FIREBALL.CFrame*CF(0,0,-4) if HIT then ApplyAoE(FIREBALL.Position,25,5,15,5,true,MRANDOM(5,6),"Pheonix",true,{SHAKE = 2, TIMER = 25, DOESFADE = true}) WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(50,50,50), Transparency = 0, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(60,60,60), Transparency = 0.5, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = 462692971, SoundPitch = 1, SoundVolume = 6}) PARTICLES1.Enabled = false PARTICLES2.Enabled = false local EXPLOSION = script.PheonixExplosion1:Clone() EXPLOSION.Parent = FIREBALL EXPLOSION.Enabled = true local EXPLOSION2 = script.PheonixExplosion2:Clone() EXPLOSION2.Parent = FIREBALL EXPLOSION2.Enabled = true wait(0.3) EXPLOSION.Enabled = false EXPLOSION2.Enabled = false break end end PARTICLES1.Enabled = false PARTICLES2.Enabled = false Debris:AddItem(FIREBALL,7) end)) end else for E = 1, 5 do local OFFSET = ANGLES(RAD((360/5)*E),RAD((360/5)*E),RAD(0))*CF(0,0,75) coroutine.resume(coroutine.create(function() local FIREBALL = CreatePart(3, Effects, "Neon", 0, 1, "Cyan", "Flight", VT(5,5,5)) FIREBALL.CFrame = CF(RootPart.Position,CF(Mouse.Hit.p,RootPart.Position)*OFFSET.p) local PARTICLES1 = script.PheonixFireball1:Clone() PARTICLES1.Parent = FIREBALL PARTICLES1.Enabled = true local PARTICLES2 = script.PheonixFireball2:Clone() PARTICLES2.Parent = FIREBALL PARTICLES2.Enabled = true CreateSound(463593339,FIREBALL,6,1,false) for i = 1, 650 do Swait() local HIT,HITPOS = Raycast(FIREBALL.Position, FIREBALL.CFrame.lookVector, 2.5, Character) FIREBALL.CFrame = FIREBALL.CFrame*CF(0,0,-2) if HIT then ApplyAoE(FIREBALL.Position,70,45,50,35,true,MRANDOM(12,16),"Pheonix",true,{SHAKE = 2, TIMER = 25, DOESFADE = true}) WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(120,120,120), Transparency = 0, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(140,140,140), Transparency = 0.5, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = 462692971, SoundPitch = 1, SoundVolume = 6}) PARTICLES1.Enabled = false PARTICLES2.Enabled = false local EXPLOSION = script.PheonixExplosion1:Clone() EXPLOSION.Parent = FIREBALL EXPLOSION.Enabled = true local EXPLOSION2 = script.PheonixExplosion2:Clone() EXPLOSION2.Parent = FIREBALL EXPLOSION2.Enabled = true wait(0.3) EXPLOSION.Enabled = false EXPLOSION2.Enabled = false break end end PARTICLES1.Enabled = false PARTICLES2.Enabled = false Debris:AddItem(FIREBALL,7) end)) end end wait(0.5) WELD1:remove() WELD2:remove() RING1.Anchored = true RING2.Anchored = true coroutine.resume(coroutine.create(function() for i = 1, 35 do Swait() MESH1.Scale = MESH1.Scale - VT(6,0,6) MESH2.Scale = MESH2.Scale - VT(3,0,3) end RING1:remove() RING2:remove() end)) DIRECTTURN = false ATTACK = false end function PheonixJump() local DONE = false local STRENGTH = 10 local UP = 5 ATTACK = true DIRECTTURN = true local RING,WELD,MESH = MagicRing(RootPart,CF(0,-3.5,0) * ANGLES(RAD(0), RAD(180), RAD(0)),"Pheonix") for i = 1, 30 do Swait() MESH.Scale = MESH.Scale + VT(12,0,12) RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1.4) * ANGLES(RAD(0), RAD(-5), RAD(-15)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.5 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(15), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.35, -0.25) * ANGLES(RAD(35), RAD(35), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.4) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(90)), 2 / Animation_Speed) end local KEYDOWN = Mouse.KeyDown:connect(function(NEWKEY) if NEWKEY == "w" and VALUE2 == false then coroutine.resume(coroutine.create(function() ApplyAoE(RING.Position,35,15,20,35,true,MRANDOM(12,16),"Pheonix",true,{SHAKE = 2, TIMER = 15, DOESFADE = true}) WACKYEFFECT({EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(50,50,50), Transparency = 0, Transparency2 = 1, CFrame = CF(RING.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(70,70,70), Transparency = 0.5, Transparency2 = 1, CFrame = CF(RING.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = 462692971, SoundPitch = 1.2, SoundVolume = 6}) local EXPLOSION = script.PheonixExplosion1:Clone() EXPLOSION.Parent = RING EXPLOSION.Enabled = true local EXPLOSION2 = script.PheonixExplosion2:Clone() EXPLOSION2.Parent = RING EXPLOSION2.Enabled = true wait(0.3) EXPLOSION.Enabled = false EXPLOSION2.Enabled = false Debris:AddItem(RING,3) end)) CreateSound(462676772,Torso,8,1,false) coroutine.resume(coroutine.create(function() for i = 1, 25 do Swait() ApplyAoE(Torso.Position,15,15,20,75,true,MRANDOM(4,5),"Pheonix",false,{SHAKE = 4, TIMER = 5, DOESFADE = true}) WACKYEFFECT({Time = 10, EffectType = "Wave", Size = VT(45,5,45)/3, Size2 = VT(35,200,35)/5, Transparency = 0.8, Transparency2 = 1, CFrame = Torso.CFrame * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 10, EffectType = "Wave", Size = VT(55,5,55)/3, Size2 = VT(45,200,45)/5, Transparency = 0.8, Transparency2 = 1, CFrame = Torso.CFrame * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil}) RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(65), RAD(0), RAD(28.8*i)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(15)) * RIGHTSHOULDERC0,1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-15), RAD(65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.2 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-15), RAD(-65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.2 / Animation_Speed) end ATTACK = false end)) repeat VALUE2 = true Swait() BODYPOS.Position = RootPart.CFrame*CF(0,UP,-STRENGTH).p if STRENGTH > 4 then STRENGTH = STRENGTH - 0.1 else STRENGTH = 4 end if UP > 0 then UP = UP - 0.15 else UP = 0 end until KEYHOLD == false and STRENGTH < 5 and ATTACK == false DONE = true end end) repeat Swait() if STRENGTH < 40 then STRENGTH = STRENGTH + 0.15 MESH.Scale = MESH.Scale + VT(0.5,0,0.5) end RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1.4) * ANGLES(RAD(0), RAD(-5), RAD(-15)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.5 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(15), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.35, -0.25) * ANGLES(RAD(35), RAD(35), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.4) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(90)), 2 / Animation_Speed) until VALUE2 == true DIRECTTURN = false WELD:remove() RING.Anchored = true local SIZE = MESH.Scale.X coroutine.resume(coroutine.create(function() for i = 1, 30 do Swait() MESH.Scale = MESH.Scale - VT(SIZE,0,SIZE)/30 end RING:remove() end)) repeat wait() until DONE == true KEYDOWN:disconnect() VALUE2 = false end function DragonFirePillar() ATTACK = true local POS = Mouse.Hit.p APPLYGYRO = false local RING,WELD,MESH = MagicRing(RightArm,CF(0,-1.2,0) * ANGLES(RAD(0), RAD(180), RAD(0)),"Fire") coroutine.resume(coroutine.create(function() repeat Swait() GYRO.CFrame = CF(RootPart.Position,POS) RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(24)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-24)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.3) * ANGLES(RAD(90), RAD(0), RAD(24)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.1, -0.3) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(165), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) until ATTACK == false end)) for i = 1, 40 do MESH.Scale = MESH.Scale + VT(4,0,4) Swait() end for i = 1, 6 do WACKYEFFECT({EffectType = "Sphere", Size = VT(35,35,35), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.5, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,85/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) wait(1) end coroutine.resume(coroutine.create(function() coroutine.resume(coroutine.create(function() for i = 1, 30 do Swait() MESH.Scale = MESH.Scale - VT(4,0,4) end RING:remove() end)) WACKYEFFECT({Time = 640, EffectType = "Sphere", Size = VT(15,500,15), Size2 = VT(10,700,10), Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,85/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) for i = 1, 15 do ApplyAoE(POS,35,20,30,15,true,MRANDOM(3,4),"Fire",true,{SHAKE = 5, TIMER = 6, DOESFADE = true}) WACKYEFFECT({Time = 125, EffectType = "Wave", Size = VT(0,5,0), Size2 = VT(250,35,250), Transparency = 0.4, Transparency2 = 1, CFrame = CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-5,5)*2, RotationZ = 0, Material = "Neon", Color = C3(1,85/255,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 4}) WACKYEFFECT({Time = 75, EffectType = "Swirl", Size = VT(20,20,20), Size2 = VT(65,500,65), Transparency = 0.4, Transparency2 = 1, CFrame = CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-5,5)*6, RotationZ = 0, Material = "Neon", Color = C3(1,85/255,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 4}) WACKYEFFECT({Time = 75, EffectType = "Swirl", Size = VT(20,20,20), Size2 = VT(45,600,45), Transparency = 0.4, Transparency2 = 1, CFrame = CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-5,5)*6, RotationZ = 0, Material = "Neon", Color = C3(1,85/255,0), SoundID = 304529688, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 4}) wait(0.6) end end)) APPLYGYRO = true ATTACK = false end function PheonixTornado() ATTACK = true local BUILDUP = true local HITS = {} PARTICLES = true coroutine.resume(coroutine.create(function() repeat Swait() RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) until BUILDUP == false end)) WINGS1.Acceleration = VT(9,0,-12) WINGS1B.Acceleration = VT(9,0,-12) WINGS2.Acceleration = VT(-9,0,-12) WINGS2B.Acceleration = VT(-9,0,-12) wait(1) CreateSound(462676772,Torso,7,1,false) WINGS1.Acceleration = VT(9,1,4) WINGS1B.Acceleration = VT(9,1,4) WINGS2.Acceleration = VT(-9,1,4) WINGS2B.Acceleration = VT(-9,1,4) wait(0.25) AddChildrenToTable(Torso.Position,workspace,35,HITS) WACKYEFFECT({Time = 40, EffectType = "Swirl", Size = VT(50,5,50), Size2 = VT(50,60,50), Transparency = 0.8, Transparency2 = 1, CFrame = Torso.CFrame * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0.8,0.8,0.8), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) BUILDUP = false PARTICLES = false if #HITS > 0 then local BODIES = {} if #HITS == 1 then for i = 1, #HITS do local TORSO = HITS[i]:FindFirstChild("HumanoidRootPart") or HITS[i]:FindFirstChild("Torso") or HITS[i]:FindFirstChild("UpperTorso") local HUM = HITS[i]:FindFirstChildOfClass("Humanoid") if HUM and TORSO then if HUM.Health > 0 then local POSITION = IT("BodyPosition",TORSO) POSITION.Position = RootPart.CFrame*CF(0,45,-35).p POSITION.D = 15 POSITION.P = 4000000 table.insert(BODIES,POSITION) end end end else for i = 1, #HITS do local TORSO = HITS[i]:FindFirstChild("HumanoidRootPart") or HITS[i]:FindFirstChild("Torso") or HITS[i]:FindFirstChild("UpperTorso") local HUM = HITS[i]:FindFirstChildOfClass("Humanoid") if HUM and TORSO then if HUM.Health > 0 then local POSITION = IT("BodyPosition",TORSO) POSITION.Position = RootPart.CFrame*CF(0,35,-35) * ANGLES(RAD(0), RAD((360/#HITS)*i), RAD(0)) * CF(0,0,10).p POSITION.D = 450 POSITION.P = 40000 POSITION.maxForce = Vector3.new(math.huge,math.huge,math.huge) table.insert(BODIES,POSITION) end end end end local POS = RootPart.CFrame*CF(0,35,-35).p wait(1.75) BODYPOS.D = 450 BODYPOS.Position = POS wait(0.5) APPLYGYRO = false local E = 0 CreateSound(1417056081,RootPart,10,0.5,false) for i = 1, 50 do Swait() E = E + 1 WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(45,5,45)/3, Size2 = VT(35,200,35)/5, Transparency = 0.8, Transparency2 = 1, CFrame = Torso.CFrame * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(55,5,55)/3, Size2 = VT(45,200,45)/5, Transparency = 0.8, Transparency2 = 1, CFrame = Torso.CFrame * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil}) RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(-E*10)) * CF(45,0,0) * ANGLES(RAD(65), RAD(0), RAD(0)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(15)) * RIGHTSHOULDERC0,1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-15), RAD(65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.2 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-15), RAD(-65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.2 / Animation_Speed) end local TORNADO = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Tornado", VT(0,0,0)) TORNADO.CFrame = CF(POS) local MESH = CreateMesh("SpecialMesh", TORNADO, "FileMesh", "102638417", "", VT(25,25,25), VT(0,0,0)) local DECAL = IT("Decal",TORNADO) DECAL.Texture = "rbxassetid://559849514" DECAL.Transparency = 1 DECAL.Color3 = BRICKC"Deep orange".Color local LOOP = 0 for i = 1, 250 do Swait() E = E + 1 LOOP = LOOP + 1 if LOOP == 10 then LOOP = 0 ApplyAoE(TORNADO.Position,35,2,2,0,true,MRANDOM(3,4),"Pheonix",true,{SHAKE = 2, TIMER = 4, DOESFADE = true}) end TORNADO.CFrame = CF(POS) * ANGLES(RAD(0), RAD(-E*10), RAD(0)) DECAL.Transparency = DECAL.Transparency - 1/500 WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(45,5,45)/3, Size2 = VT(35,200,35)/5, Transparency = 0.8, Transparency2 = 1, CFrame = Torso.CFrame * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(55,5,55)/3, Size2 = VT(45,200,45)/5, Transparency = 0.9, Transparency2 = 1, CFrame = Torso.CFrame * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil}) RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(-E*10)) * CF(45,0,0) * ANGLES(RAD(65), RAD(0), RAD(0)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(15)) * RIGHTSHOULDERC0,1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-15), RAD(65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.2 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-15), RAD(-65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.2 / Animation_Speed) end for i = 1, #BODIES do BODIES[i]:remove() end coroutine.resume(coroutine.create(function() for i = 1, 25 do Swait() DECAL.Transparency = DECAL.Transparency + 1/50 TORNADO.CFrame = CF(POS) * ANGLES(RAD(0), RAD(-E*10), RAD(0)) end TORNADO:remove() end)) for i = 1, 75 do Swait() E = E + 1 LOOP = LOOP + 1 TORNADO.CFrame = CF(POS) * ANGLES(RAD(0), RAD(-E*15), RAD(0)) DECAL.Transparency = DECAL.Transparency - 1/500 WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(45,5,45)/3, Size2 = VT(35,200,35)/5, Transparency = 0.8, Transparency2 = 1, CFrame = Torso.CFrame * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(55,5,55)/3, Size2 = VT(45,200,45)/5, Transparency = 0.8, Transparency2 = 1, CFrame = Torso.CFrame * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil}) RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(-E*10)) * CF(45-((45/75)*i),0,0) * ANGLES(RAD(65), RAD(0), RAD(0)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(15)) * RIGHTSHOULDERC0,1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-15), RAD(65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.2 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-15), RAD(-65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.2 / Animation_Speed) end BODYPOS.D = 75 end APPLYGYRO = true ATTACK = false end function PheonixNuke() if Mouse.Target ~= nil then ATTACK = true Rooted = false BODYPOS.Position = Mouse.Hit.p+VT(0,6,0) BODYPOS.D = 700 coroutine.resume(coroutine.create(function() repeat Swait() RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) until ATTACK == false end)) wait(1.5) for i = 1, 4 do WACKYEFFECT({EffectType = "Sphere", Size = VT(125,125,125), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.8, CFrame = CF(Torso.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil}) wait(0.7) end PARTICLES = true WINGS1.Acceleration = VT(9,3,4) WINGS1B.Acceleration = VT(9,3,4) WINGS2.Acceleration = VT(-9,3,4) WINGS2B.Acceleration = VT(-9,3,4) wait(2) CreateSound(462676772,Torso,8,1,false) WINGS1.Acceleration = VT(9,-2,-12) WINGS1B.Acceleration = VT(9,-2,-12) WINGS2.Acceleration = VT(-9,-2,-12) WINGS2B.Acceleration = VT(-9,-2,-12) wait(1) for i = 1, 5 do local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 25, Character) ApplyAoE(Torso.Position,240,25,30,165,true,MRANDOM(5,7),"Pheonix",true,{SHAKE = 8, TIMER = 25, DOESFADE = true}) for i = 1, 5 do WACKYEFFECT({Time = 120, EffectType = "Swirl", Size = VT(20,20,20), Size2 = (VT(180,180,180)+(VT(50,50,50)*i))*2, Transparency = 0.8, Transparency2 = 1, CFrame = CF(Torso.Position) * ANGLES(RAD(0), RAD(i*15), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 6+i, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil}) end WACKYEFFECT({Time = 80, EffectType = "Sphere", Size = VT(40,40,40), Size2 = VT(240,240,240)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(Torso.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = 1, SoundVolume = 8}) WACKYEFFECT({Time = 80, EffectType = "Sphere", Size = VT(50,50,50), Size2 = VT(250,250,250)*2, Transparency = 0.5, Transparency2 = 1, CFrame = CF(Torso.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = nil, SoundPitch = 0.7, SoundVolume = 10}) local EXPLOSION = script.PheonixExplosion1:Clone() EXPLOSION.Parent = Torso EXPLOSION.Enabled = true local EXPLOSION2 = script.PheonixExplosion2:Clone() EXPLOSION2.Parent = Torso EXPLOSION2.Enabled = true EXPLOSION.Drag = -5 EXPLOSION2.Drag = -5 EXPLOSION:Emit(100) EXPLOSION2:Emit(100) CreateSound(462692971,Effects,2,1,false) for i = 1, 5 do wait() WACKYEFFECT({Time = 40, EffectType = "Wave", Size = VT(20,0,20), Size2 = (VT(160,6,160)+(VT(50,4,50)*i))*2, Transparency = 0.8, Transparency2 = 1, CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(i*15), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -12+i, RotationZ = 0, Material = "Neon", Color = C3(1,170/255,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) WACKYEFFECT({Time = 40, EffectType = "Wave", Size = VT(20,0,20), Size2 = (VT(180,6,180)+(VT(50,5,50)*i))*2, Transparency = 0.8, Transparency2 = 1, CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(i*15), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -12+i, RotationZ = 0, Material = "Neon", Color = PHEONIXCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil}) end EXPLOSION.Enabled = false EXPLOSION2.Enabled = false Debris:AddItem(EXPLOSION,5) Debris:AddItem(EXPLOSION2,5) wait(0.4) end wait(0.6) PARTICLES = false BODYPOS.D = 75 ATTACK = false Rooted = false end end --//=================================\\ --|| ASSIGN THINGS TO KEYS --\\=================================// function MouseDown(Mouse) if ATTACK == false then end end function MouseUp(Mouse) HOLD = false end function KeyDown(Key) KEYHOLD = true if EQUIPPED == true then if FLIGHT == false then if Key == "z" and ATTACK == false then ShootingStar() end if Key == "b" and ATTACK == false then Breath() end if Key == "c" and ATTACK == false then PheonixRage() end if Key == "q" and ATTACK == false then FLIGHT = true GYRO = IT("BodyGyro",RootPart) GYRO.D = 75 GYRO.P = 40000 GYRO.MaxTorque = VT(40000,40000,40000) GYRO.cframe = CF(RootPart.Position,RootPart.CFrame*CF(0,0,-1).p) BODYPOS = Instance.new("BodyPosition",RootPart) BODYPOS.D = 100 BODYPOS.P = 20000 BODYPOS.maxForce = Vector3.new(math.huge,math.huge,math.huge) BODYPOS.position = RootPart.Position+VT(0,3,0) local RING,WELD,MESH = MagicRing(Torso,CF(0,0.5,1)* ANGLES(RAD(-90), RAD(0), RAD(0)),"Pheonix") FLIGHTRING = RING coroutine.resume(coroutine.create(function() for i = 1, 40 do Swait() MESH.Scale = MESH.Scale + VT(4,0,4) end end)) PheonixJump() end elseif FLIGHT == true then if Key == "z" and ATTACK == false and VALUE2 == false then ThreeShootingStars() end if Key == "b" and ATTACK == false and VALUE2 == false then PheonixFlare() end if Key == "g" and ATTACK == false and VALUE2 == false then DragonFirePillar() end if Key == "v" and ATTACK == false and VALUE2 == false then PheonixTornado() end if Key == "x" and ATTACK == false and VALUE2 == false then PheonixNuke() end if Key == "q" and ATTACK == false and VALUE2 == false then FLIGHT = false coroutine.resume(coroutine.create(function() if FLIGHTRING then local MSH = FLIGHTRING.Mesh local RING = FLIGHTRING for i = 1, 40 do Swait() MSH.Scale = MSH.Scale - VT(4,0,4) end RING:remove() end end)) end if Key == "c" and ATTACK == false and VALUE2 == false then PheonixJump() end if Key == "e" and ATTACK == false and VALUE2 == false then PheonixFireballs()() end if Key == "w" and ATTACK == false and VALUE2 == false then repeat VALUE2 = true Swait() BODYPOS.Position = RootPart.CFrame*CF(0,0,-2.5).p until KEYHOLD == false VALUE2 = false end end end if Key == "f" and ATTACK == false and FLIGHT == false then if EQUIPPED == false then EQUIPPED = true EYE.Enabled = true EYE2.Enabled = true sick:Play() else EQUIPPED = false FLIGHT = false EYE.Enabled = false EYE2.Enabled = false end end if string.byte(Key) == 50 and ATTACK == false then if Speed == 16 then Speed = 45 elseif Speed == 45 then Speed = 16 end end end function KeyUp(Key) KEYHOLD = false end Mouse.Button1Down:connect(function(NEWKEY) MouseDown(NEWKEY) end) Mouse.Button1Up:connect(function(NEWKEY) MouseUp(NEWKEY) end) Mouse.KeyDown:connect(function(NEWKEY) KeyDown(NEWKEY) end) Mouse.KeyUp:connect(function(NEWKEY) KeyUp(NEWKEY) end) --//=================================\\ --\\=================================// function unanchor() if UNANCHOR == true then g = Character:GetChildren() for i = 1, #g do if g[i].ClassName == "Part" then g[i].Anchored = false end end end end --//=================================\\ --|| WRAP THE WHOLE SCRIPT UP --\\=================================// Humanoid.Changed:connect(function(Jump) if Jump == "Jump" and (Disable_Jump == true) then Humanoid.Jump = false end end) local LOOP = 0 local TWIST = true while true do Swait() script.Parent = WEAPONGUI ANIMATE.Parent = nil for _,v in next, Humanoid:GetPlayingAnimationTracks() do v:Stop(); end SINE = SINE + CHANGE local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude local TORSOVERTICALVELOCITY = RootPart.Velocity.y local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character) local WALKSPEEDVALUE = 5 if ANIM == "Walk" and TORSOVELOCITY > 1 and FLIGHT == false then if Humanoid.WalkSpeed <= 20 then RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.05 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * 1 / Animation_Speed) Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed) RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.05 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 0.5 / Animation_Speed) LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.05 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 0.5 / Animation_Speed) else RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / (2*1.3)))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * 1 / Animation_Speed) Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / (2*1.3)))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed) RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE*1.3) - 0.15 * COS(SINE / WALKSPEEDVALUE*(2*1.3)), -0.125 * COS(SINE / WALKSPEEDVALUE*1.3) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE*1.3)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(75 * COS(SINE / WALKSPEEDVALUE*1.3))), 0.5 / Animation_Speed) LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE*1.3) - 0.15 * COS(SINE / WALKSPEEDVALUE*(2*1.3)), 0.125 * COS(SINE / WALKSPEEDVALUE*1.3) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE*1.3)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(75 * COS(SINE / WALKSPEEDVALUE*1.3))), 0.5 / Animation_Speed) end elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) or FLIGHT == true then RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) end if FLIGHT == false then if GYRO ~= nil then GYRO:remove() end if BODYPOS ~= nil then BODYPOS:remove() end if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then ANIM = "Jump" if ATTACK == false then RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed) end elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then ANIM = "Fall" if ATTACK == false then RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed) end elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then ANIM = "Idle" if ATTACK == false then RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(5 + 1 * COS(SINE / 12))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-5 - 1 * COS(SINE / 12))) * LEFTSHOULDERC0, 0.15 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(-74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed) end elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then ANIM = "Walk" if ATTACK == false then if Humanoid.WalkSpeed <= 30 then RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.85 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.85 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed) elseif Humanoid.WalkSpeed > 30 then RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35), RAD(35), RAD(0)) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE*1.3)), RAD(0), RAD(2)) * RIGHTSHOULDERC0, 2 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(35), RAD(-35), RAD(0)) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE*1.3)), RAD(0), RAD(-2)) * LEFTSHOULDERC0, 2 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(6)), 2 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-6)), 2 / Animation_Speed) end end end elseif FLIGHT == true then if APPLYGYRO == true then if VALUE2 == false and DIRECTTURN == false then if GYRO ~= nil then GYRO.MaxTorque = VT(0,40000,0) GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p) end else if GYRO ~= nil then GYRO.MaxTorque = VT(40000,40000,40000) GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p) end end end if VALUE2 == false and ATTACK == false then ANIM = "IdleFlight" RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) elseif VALUE2 == true and ATTACK == false then ANIM = "Flight" RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(65), RAD(0), RAD(0)), 1 / Animation_Speed) Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed) RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(15)) * RIGHTSHOULDERC0,1 / Animation_Speed) LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed) RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-15), RAD(65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.2 / Animation_Speed) LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-15), RAD(-65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.2 / Animation_Speed) end end local ACCEL1 = VT(10,2-(6*COS(SINE / 24)),-4-(2*COS(SINE / 24))) local ACCEL2 = VT(-10,2-(6*COS(SINE / 24)),-4-(2*COS(SINE / 24))) if PARTICLES == false then WINGS1.Acceleration = ACCEL1 WINGS1B.Acceleration = ACCEL1 WINGS2.Acceleration = ACCEL2 WINGS2B.Acceleration = ACCEL2 end if FLIGHT == true or WINGS == true then WINGS1.Enabled = true WINGS1B.Enabled = true WINGS2.Enabled = true WINGS2B.Enabled = true else WINGS1.Enabled = false WINGS1B.Enabled = false WINGS2.Enabled = false WINGS2B.Enabled = false end unanchor() Humanoid.MaxHealth = "inf" Humanoid.Health = "inf" if Rooted == false and FLIGHT == false then Disable_Jump = false Humanoid.WalkSpeed = Speed elseif Rooted == true or FLIGHT == true then Disable_Jump = true Humanoid.WalkSpeed = 0 end sick.SoundId = "rbxassetid://1604456093" sick.EmitterSize = 50 sick.Looped = true if FLIGHT == true then sick.Pitch = 1 sick.Volume = 1.5 LOOP = LOOP + 1 if LOOP >= 10 then local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 15, Character) if HITFLOOR then local DISTANCE = (RootPart.Position - HITPOS).Magnitude local SIZE = (26-DISTANCE)*2 if TWIST == true then TWIST = false WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(SIZE/2,0,SIZE/2), Size2 = VT(SIZE,6,SIZE), Transparency = 0.6, Transparency2 = 1, CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)) * ANGLES(RAD(MRANDOM(-5,5)), RAD(0), RAD(MRANDOM(-5,5))), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(1,(205+35*SIN(SINE / 24))/255,(0.5+0.5*SIN(SINE / 24))), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) else TWIST = true WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(SIZE/2,0,SIZE/2), Size2 = VT(SIZE,6,SIZE), Transparency = 0.6, Transparency2 = 1, CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)) * ANGLES(RAD(MRANDOM(-5,5)), RAD(0), RAD(MRANDOM(-5,5))), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,(205+35*SIN(SINE / 24))/255,(0.5+0.5*SIN(SINE / 24))), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) end LOOP = 0 end end else sick.Pitch = 0.95 sick.Volume = 1 end sick.Playing = EQUIPPED sick.Parent = Character Humanoid.Name = "WarPheonix" Humanoid.DisplayDistanceType = "None" end --//=================================\\ --\\=================================// --//====================================================\\-- --|| END OF SCRIPT --\\====================================================//--