0% found this document useful (0 votes)
37 views36 pages

Roblox Character Customization Script

The document is a Lua script designed for Roblox, focusing on player character customization and game mechanics. It includes functions for creating parts, meshes, and accessories, as well as managing player stats and animations. The script also implements a heartbeat system for frame updates and various gameplay functionalities like debuffs and buffs.

Uploaded by

tazakawooda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views36 pages

Roblox Character Customization Script

The document is a Lua script designed for Roblox, focusing on player character customization and game mechanics. It includes functions for creating parts, meshes, and accessories, as well as managing player stats and animations. The script also implements a heartbeat system for frame updates and various gameplay functionalities like debuffs and buffs.

Uploaded by

tazakawooda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

--//====================================================\\--

--|| CREATED BY Jeford


--\\====================================================//--

wait(0.2)

Player = game:GetService("Players").LocalPlayer
PlayerGui = [Link]
Cam = [Link]
Backpack = [Link]
Character = [Link]
Humanoid = [Link]
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 = [Link]("Sound",Character)
[Link] = "rbxassetid://434297181"
[Link] = true
[Link] = 1
[Link] = 1
sick:Play()

local FF = [Link]("ForceField",Character)
[Link] = false

IT = [Link]
CF = [Link]
VT = [Link]
RAD = [Link]
C3 = [Link]
UD2 = [Link]
BRICKC = [Link]
ANGLES = [Link]
EULER = [Link]
COS = [Link]
ACOS = [Link]
SIN = [Link]
ASIN = [Link]
ABS = [Link]
MRANDOM = [Link]
FLOOR = [Link]

function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)


local NEWMESH = IT(MESH)
if MESH == "SpecialMesh" then
[Link] = MESHTYPE
if MESHID ~= "nil" and MESHID ~= "" then
[Link] = "[Link]
end
if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
[Link] = "[Link]
end
end
[Link] = OFFSET or VT(0, 0, 0)
[Link] = SCALE
[Link] = PARENT
return NEWMESH
end

function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY,


BRICKCOLOR, NAME, SIZE)
local NEWPART = IT("Part")
[Link] = FORMFACTOR
[Link] = REFLECTANCE
[Link] = TRANSPARENCY
[Link] = false
[Link] = true
[Link] = true
[Link] = BRICKC(tostring(BRICKCOLOR))
[Link] = NAME
[Link] = SIZE
[Link] = [Link]
[Link] = MATERIAL
NEWPART:BreakJoints()
[Link] = PARENT
return NEWPART
end

--//=================================\\
--|| CUSTOMIZATION
--\\=================================//

Class_Name = "Template"
Weapon_Name = "Add-ons"

Custom_Colors = {
Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.

Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.


Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary
bar.
Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.

Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana


bar.
Custom_Color_9 = BRICKC("Institutional white"); --Background for the
secondary mana bar.
Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun
bar.
Custom_Color_11 = BRICKC("Institutional white"); --Background for the health
bar.
Custom_Color_12 = BRICKC("Institutional white"); --Background for the
abilities.
}

Player_Size = 1 --Size of the player.


Animation_Speed = 3
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)

local Speed = 16
local Effects2 = {}

--//=================================\\
--|| END OF CUSTOMIZATION
--\\=================================//

local function weldBetween(a, b)


local weldd = [Link]("ManualWeld")
weldd.Part0 = a
weldd.Part1 = b
weldd.C0 = [Link]()
weldd.C1 = [Link]:inverse() * [Link]
[Link] = a
return weldd
end

function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
local acs = [Link]("Part")
[Link] = false
[Link] = false
[Link] = [Link](0,0,0)
[Link] = [Link]
[Link] = Character
[Link] = color
local meshs = [Link]("SpecialMesh")
[Link] = mesh
[Link] = texture
[Link] = acs
[Link] = scale
[Link] = offset
weldBetween(attachmentpart,acs)
end

function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
if TYPE == "Gem" then
local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part",
VT(0,0,0))
[Link] = false
[Link] = false
[Link] = [Link]
local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "",
SIZE, OFFSET)
weldBetween(PART,acs)
elseif TYPE == "Skull" then
local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part",
VT(0,0,0))
[Link] = false
[Link] = false
[Link] = [Link]
local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "",
SIZE, OFFSET)
weldBetween(PART,acs)
elseif TYPE == "Eye" then
local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part",
VT(0,0,0))
[Link] = false
[Link] = false
[Link] = [Link]
local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE,
OFFSET)
weldBetween(PART,acs)
end
end

local FIREHAND = IT("Attachment",RightArm)


[Link] = VT(0,-1.2,0)

--//=================================\\
--|| USEFUL VALUES
--\\=================================//

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 CO1 = 0
local CO2 = 0
local CO3 = 0
local CO4 = 0
local CHANGEDEFENSE = 0
local CHANGEDAMAGE = 0
local CHANGEMOVEMENT = 0
local ANIM = "Idle"
local ATTACK = false
local EQUIPPED = false
local HOLD = false
local COMBO = 1
local LASTPOINT = nil
local BLCF = nil
local SCFR = nil
local STAGGERHITANIM = false
local STAGGERANIM = false
local STUNANIM = false
local CRITCHANCENUMBER = 0
local IDLENUMBER = 0
local DONUMBER = 0
local HANDIDLE = false
local SINE = 0
local CHANGE = 2 / Animation_Speed
local WALKINGANIM = false
local WALK = 0
local DISABLEJUMPING = false
local HASBEENBLOCKED = false
local STUNDELAYNUMBER = 0
local MANADELAYNUMBER = 0
local SECONDARYMANADELAYNUMBER = 0
local ROBLOXIDLEANIMATION = IT("Animation")
[Link] = "Roblox Idle Animation"
[Link] = "[Link]
--[Link] = Humanoid
local WEAPONGUI = IT("ScreenGui", nil)
[Link] = "Weapon GUI"
local WEAPONTOOL = IT("HopperBin", nil)
[Link] = Weapon_Name
local Weapon = IT("Model")
[Link] = Weapon_Name
local Effects = IT("Folder", Weapon)
[Link] = "Effects"
local ANIMATOR = [Link]
local ANIMATE = [Link]
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235",
"199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221",
"263032252", "263033191"}
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409",
"199149452"}
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109",
"199149119"}
local HITBLOCKSOUNDS = {"199148933", "199148947"}
local UNANCHOR = true
local CIRCLESOUND = "462809305"
local FIREBALL = "463598785"
local EXPLOSION = "416328540"
local RING1 = "462798941"
local RING2 = "462798912"

--//=================================\\
--\\=================================//

--//=================================\\
--|| STATS
--\\=================================//

if Character:FindFirstChild("Stats") ~= nil then


Character:FindFirstChild("Stats").Parent = nil
end

local Stats = IT("Folder", nil)


[Link] = "Stats"
local ChangeStat = IT("Folder", Stats)
[Link] = "ChangeStat"
local Defense = IT("NumberValue", Stats)
[Link] = "Defense"
[Link] = 1
local Movement = IT("NumberValue", Stats)
[Link] = "Movement"
[Link] = 1
local Damage = IT("NumberValue", Stats)
[Link] = "Damage"
[Link] = 1
local Mana = IT("NumberValue", Stats)
[Link] = "Mana"
[Link] = 0
local SecondaryMana = IT("NumberValue", Stats)
[Link] = "SecondaryMana"
[Link] = 0
local CanCrit = IT("BoolValue", Stats)
[Link] = "CanCrit"
[Link] = false
local CritChance = IT("NumberValue", Stats)
[Link] = "CritChance"
[Link] = 20
local CanPenetrateArmor = IT("BoolValue", Stats)
[Link] = "CanPenetrateArmor"
[Link] = false
local AntiTeamKill = IT("BoolValue", Stats)
[Link] = "AntiTeamKill"
[Link] = false
local Rooted = IT("BoolValue", Stats)
[Link] = "Rooted"
[Link] = false
local Block = IT("BoolValue", Stats)
[Link] = "Block"
[Link] = false
local RecentEnemy = IT("ObjectValue", Stats)
[Link] = "RecentEnemy"
[Link] = nil
local StaggerHit = IT("BoolValue", Stats)
[Link] = "StaggerHit"
[Link] = false
local Stagger = IT("BoolValue", Stats)
[Link] = "Stagger"
[Link] = false
local Stun = IT("BoolValue", Stats)
[Link] = "Stun"
[Link] = false
local StunValue = IT("NumberValue", Stats)
[Link] = "StunValue"
[Link] = 0

--//=================================\\
--\\=================================//

--//=================================\\
--|| DEBUFFS / BUFFS
--\\=================================//

local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)


[Link] = "ChangeDefense"
[Link] = 0

local MOVEMENTCHANGE1 = IT("NumberValue", nil)


[Link] = "ChangeMovement"
[Link] = 0

--//=================================\\
--\\=================================//
--//=================================\\
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
--\\=================================//

ArtificialHB = [Link]("BindableEvent", script)


[Link] = "ArtificialHB"

script:WaitForChild("ArtificialHB")

frame = Frame_Speed
tf = 0
allowframeloss = false
tossremainder = false
lastframe = tick()
[Link]:Fire()

game:GetService("RunService").Heartbeat:connect(function(s, p)
tf = tf + s
if tf >= frame then
if allowframeloss then
[Link]:Fire()
lastframe = tick()
else
for i = 1, [Link](tf / frame) do
[Link]:Fire()
end
lastframe = tick()
end
if tossremainder then
tf = 0
else
tf = tf - frame * [Link](tf / frame)
end
end
end)

--//=================================\\
--\\=================================//

--//=================================\\
--|| SOME FUNCTIONS
--\\=================================//

function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)


return workspace:FindPartOnRay([Link](POSITION, [Link] * 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
[Link]:wait()
else
for i = 1, NUMBER do
[Link]:wait()
end
end
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 = [Link](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 = [Link](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 = [Link](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 = [Link](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 [Link](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")
[Link] = TRANSPARENCY
[Link] = BORDERSIZEPIXEL
[Link] = POSITION
[Link] = SIZE
frame.BackgroundColor3 = COLOR
frame.BorderColor3 = BORDERCOLOR
[Link] = NAME
[Link] = PARENT
return frame
end

function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY,


BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
local label = IT("TextLabel")
[Link] = 1
[Link] = UD2(1, 0, 1, 0)
[Link] = UD2(0, 0, 0, 0)
label.TextColor3 = C3(255, 255, 255)
[Link] = STROKETRANSPARENCY
[Link] = TRANSPARENCY
[Link] = TEXTFONTSIZE
[Link] = TEXTFONT
[Link] = BORDERSIZEPIXEL
[Link] = true
[Link] = TEXT
[Link] = NAME
[Link] = PARENT
return label
end

function NoOutlines(PART)
[Link], [Link], [Link], [Link],
[Link], [Link] = 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
[Link] = PARENT
return NEWWELD
end

function CreateSound(ID, PARENT, VOLUME, PITCH)


[Link]([Link](function()
local NEWSOUND = IT("Sound", PARENT)
[Link] = VOLUME
[Link] = PITCH
[Link] = "[Link]
Swait()
NEWSOUND:play()
game:GetService("Debris"):AddItem(NEWSOUND, 10)
end))
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

function CreateWave(inair,size,doesrotate,rotatedirection,waitt,part,offset,color)
local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect",
VT(0,0,0))
local mesh = IT("SpecialMesh",wave)
[Link] = "FileMesh"
[Link] = "[Link]
[Link] = VT(size,size,size)
[Link] = VT(0,0,-size/8)
[Link] = CF([Link]) * CF(0,offset,0) *
ANGLES(RAD(inair),RAD(0),RAD(0))
[Link]([Link](function(PART)
for i = 1, waitt do
Swait()
[Link] = [Link] + VT(size/5,0,size/5)
[Link] = VT(0,0,-([Link].X/8))
if doesrotate == true then
[Link] = [Link] * [Link](0,
rotatedirection, 0)
end
[Link] = [Link] + (0.5/waitt)
if [Link] > 0.99 then
wave:remove()
end
end
end))
end

function CreateSwirl(inair,size,doesrotate,rotatedirection,waitt,part,offset,color)
local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect",
VT(0,0,0))
local mesh = IT("SpecialMesh",wave)
[Link] = "FileMesh"
[Link] = "[Link]
[Link] = VT(size,size,size)
[Link] = CF([Link]) * CF(0,offset,0) *
ANGLES(RAD(inair),RAD(0),RAD(0))
[Link]([Link](function(PART)
for i = 1, waitt do
Swait()
[Link] = [Link] + VT(size/5,0,size/5)
if doesrotate == true then
[Link] = [Link] * [Link](0,
rotatedirection, 0)
end
[Link] = [Link] + (0.5/waitt)
if [Link] > 0.99 then
wave:remove()
end
end
end))
end

function
CreateTornado(inair,size,doesrotate,rotatedirection,waitt,part,offset,color)
local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect",
VT(0,0,0))
local mesh = IT("SpecialMesh",wave)
[Link] = "FileMesh"
[Link] = "[Link]
[Link] = VT(size,size,size)
[Link] = CF([Link]) * CF(0,offset,0) *
ANGLES(RAD(inair),RAD(0),RAD(0))
[Link]([Link](function(PART)
for i = 1, waitt do
Swait()
if doesrotate == true then
[Link] = [Link] * [Link](0,
rotatedirection, 0)
end
[Link] = [Link] + (0.5/waitt)
if [Link] > 0.99 then
[Link] = nil
end
end
end))
return wave
end

function
CreateRing(inair,size,doesrotate,rotatedirection,waitt,part,offset,spin1,spin2,colo
r)
local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect",
VT(0,0,0))
local mesh = IT("SpecialMesh",wave)
[Link] = "FileMesh"
[Link] = "[Link]
[Link] = VT(size,size,size)
[Link] = VT(0,0,0)
[Link] = CF([Link]) * CF(0,offset,0) *
ANGLES(RAD(inair),RAD(0),RAD(0))
[Link]([Link](function(PART)
for i = 1, waitt do
Swait()
[Link] = [Link] + VT(size/5,size/5,size/5)
if doesrotate == true then
[Link] = [Link] *
[Link](spin2, rotatedirection, spin1)
end
[Link] = [Link] + (0.5/waitt)
if [Link] > 0.99 then
wave:remove()
end
end
end))
end

function MagicSphere(size,waitt,part,offset,color)
local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect",
VT(0,0,0))
local mesh = IT("SpecialMesh",wave)
[Link] = "FileMesh"
[Link] = "[Link]
[Link] = VT(size,size,size)
[Link] = VT(0,0,0)
[Link] = CF([Link]) * CF(0,offset,0) *
ANGLES(RAD(0),RAD(0),RAD(0))
[Link]([Link](function(PART)
for i = 1, waitt do
Swait()
[Link] = [Link] + VT(size/5,size/5,size/5)
[Link] = [Link] + (1/waitt)
if [Link] > 0.99 then
wave:remove()
end
end
end))
end

function MagicBlock(size,waitt,part,offset,color)
local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect",
VT(size,size,size))
local mesh = IT("BlockMesh",wave)
[Link] = CF([Link]) * CF(0,offset,0) *
ANGLES(RAD(0),RAD(0),RAD(0))
[Link]([Link](function(PART)
for i = 1, waitt do
Swait()
[Link] = [Link] + VT(size/15,size/15,size/15)
[Link] = CF([Link]) * ANGLES(RAD(MRANDOM(-
360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
[Link] = [Link] + (1/waitt)
if [Link] > 0.99 then
wave:remove()
end
end
end))
end

local EyeSizes={
[Link](0,0.5,0),
[Link](1,0.2,0)
}
local EyeTrans={
[Link](0,0,0),
[Link](1,1,0)
}
local PE=[Link]("ParticleEmitter")
[Link]=0.8
[Link]=[Link](EyeSizes)
[Link]=[Link](EyeTrans)
[Link]=[Link](0,360)
[Link] = false
[Link] = [Link](0,0,0)
[Link] = 0.3
[Link] = 999
[Link] = 90000
[Link] = "Particles"

function
CreateParticles(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
local particle = nil
[Link]([Link](function(PART)
particle = PE:Clone()
Swait()
[Link] = 999
[Link] = art
[Link] = accel
if type == "Fire" then
local EyeSizes={
[Link](0,size,size/2),
[Link](1,size/4,size/8)
}
[Link] = [Link](EyeSizes)
elseif type == "Smoke" then
local EyeSizes={
[Link](0,0.5,0),
[Link](1,5,0.5)
}
[Link] = [Link](EyeSizes)
elseif type == "Solid" then
local EyeSizes={
[Link](0,0.5,0),
[Link](1,0.5,0)
}
[Link] = [Link](EyeSizes)
end
[Link]=[Link](lifetime)
[Link] = drag
if locked == true then
[Link] = true
end
[Link] = [Link](speed,speed,speed)
[Link] = "[Link]
[Link] = isenabledbydefault
[Link] = [Link]([Link](255/255, 176/255, 0))
end))
return particle
end

local Decal = IT("Decal")

function CreateMagicCircle(size,doesrotate,rotatedirection,waitt,cframe,alwaysfade)
local sinkhole = IT("Part")
[Link] = VT(size,0,size)
[Link] = cframe
--[Link] = VT(0,0,0)
[Link] = Effects
[Link] = "Neon"
[Link] = C3(1,0,0)
[Link] = true
[Link] = false
[Link] = 1
local decal = Decal:Clone()
[Link] = sinkhole
[Link] = "Top"
[Link] = "[Link]
local decal2 = Decal:Clone()
[Link] = sinkhole
[Link] = "Bottom"
[Link] = "[Link]
[Link]([Link](function(PART)
for i = 1, waitt do
Swait()
if doesrotate == true then
[Link] = [Link] *
[Link](0, rotatedirection, 0)
end
if alwaysfade == true then
[Link] = [Link] + (1/waitt)
[Link] = [Link] + (1/waitt)
end
if i > waitt-11 and (alwaysfade ~= true) then
[Link] = [Link] + 0.1
[Link] = [Link] + 0.1
end
end
[Link] = nil
end))
return sinkhole
end

function CreateMagicRingTilSize(cframe,size,waitt)
for i = 1, size do
CreateMagicCircle(i/5,false,0,3,cframe,true)
Swait()
end
CreateMagicCircle(size/5,false,0,waitt,cframe,false)
end

--//=================================\\
--\\=================================//

--//=================================\\
--|| WEAPON CREATION
--\\=================================//

if Player_Size ~= 1 then
for _, v in pairs (Weapon:GetChildren()) do
if [Link] == "Motor" or [Link] == "Weld" or [Link] ==
"Snap" then
local p1 = v.Part1
v.Part1 = nil
local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11,
cf12 = v.C1:components()
v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 *
Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
v.Part1 = p1
elseif [Link] == "Part" then
for _, b in pairs (v:GetChildren()) do
if [Link] == "SpecialMesh" or [Link] ==
"BlockMesh" then
[Link] = VT([Link].x * Player_Size, [Link].y *
Player_Size, [Link].z * Player_Size)
end
end
end
end
end

for _, c in pairs(Weapon:GetChildren()) do
if [Link] == "Part" then
[Link] = [Link](0, 0, 0, 0, 0)
end
end

[Link] = Character

[Link]:connect(function()
ATTACK = true
end)

print(Class_Name.." loaded.")

--//=================================\\
--\\=================================//

--//=================================\\
--|| DAMAGE FUNCTIONS
--\\=================================//

function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)


local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really
black", "Effect", VT())
[Link] = CF(CFRAME.p + VT(0, 1.5, 0))
local BODYGYRO = IT("BodyGyro", STATPART)
local BODYPOSITION = IT("BodyPosition", STATPART)
BODYPOSITION.P = 2000
BODYPOSITION.D = 100
[Link] = VT([Link], [Link], [Link])
if LABELTYPE == "Normal" then
[Link] = [Link] + VT(MRANDOM(-2, 2), 6,
MRANDOM(-2, 2))
elseif LABELTYPE == "Debuff" then
[Link] = [Link] + VT(MRANDOM(-2, 2), 8,
MRANDOM(-2, 2))
elseif LABELTYPE == "Interruption" then
[Link] = [Link] + VT(MRANDOM(-2,2), 8,
MRANDOM(-2, 2))
end
game:GetService("Debris"):AddItem(STATPART ,5)
local BILLBOARDGUI = [Link]("BillboardGui", STATPART)
[Link] = STATPART
[Link] = UD2(2.5, 0, 2.5 ,0)
[Link] = VT(-2, 2, 0)
[Link] = false
local TEXTLABEL = [Link]("TextLabel", BILLBOARDGUI)
[Link] = 1
[Link] = UD2(2.5, 0, 2.5, 0)
[Link] = TEXT
[Link] = "SciFi"
[Link]="Size42"
TEXTLABEL.TextColor3 = COLOR
[Link] = 1
[Link] = true
[Link] = true
[Link]([Link](function(THEPART, THEBODYPOSITION,
THETEXTLABEL)
wait(0.2)
for i=1, 5 do
wait()
[Link] = [Link] - VT(0, 0.5 ,0)
end
wait(1.2)
for i=1, 5 do
wait()
[Link] = [Link] +
0.2
[Link] =
[Link] + 0.2
[Link] = [Link] + VT(0, 0.5, 0)
end
[Link] = nil
end),STATPART, BODYPOSITION, TEXTLABEL)
end

--//=================================\\
--|| DAMAGING
--\\=================================//

function dealdamage(hit,min,max,maxstrength,beserk,critrate,critmultiplier)
if [Link]:FindFirstChildOfClass("Humanoid") and
[Link]:FindFirstChild("HitBy"..[Link]) == nil then
local humanoid = [Link]:FindFirstChildOfClass("Humanoid")
local dmg = [Link](min,max)
if [Link] > 0 then
if beserk == true then
[Link] = 0
else
CreateSound("260430060", hit, 1.2, MRANDOM(7, 12) / 10)
[Link] =
[Link]([Link],[Link]).lookVector*5*maxstrength
if [Link](1,100) < critrate+1 then
[Link] = [Link] -
dmg*critmultiplier
StatLabel("Normal", [Link] * CF(0, 0 +
([Link].z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
else
[Link] = [Link] - dmg
StatLabel("Normal", [Link] * CF(0, 0 +
([Link].z - 1), 0), dmg, C3(255/255, 0, 0))
end
local defence = [Link]("BoolValue",[Link])
[Link] = ("HitBy"..[Link])
game:GetService("Debris"):AddItem(defence, 0.5)
end
end
end
end

function killnearest(position,range,maxstrength)
for i,v in ipairs(workspace:GetChildren()) do
local body = v:GetChildren()
for part = 1, #body do
if((body[part].ClassName == "Part" or body[part].ClassName ==
"MeshPart") and v ~= Character) then
if(body[part].Position - position).Magnitude < range then
if [Link] == "Model" then
v:BreakJoints()
end
--[Link](Effects2,
{body[part],"Disappear",0.02,2,2,2,2})
body[part].Velocity =
[Link](position,body[part].Position).lookVector*5*maxstrength
end
end
end
if [Link] == "Part" then
if [Link] == false and ([Link] - position).Magnitude <
range then
--[Link](Effects2,{v,"Disappear",0.02,2,2,2,2})
[Link] =
[Link](position,[Link]).lookVector*5*maxstrength
end
end
end
end

--//=================================\\
--|| ATTACK FUNCTIONS AND STUFF
--\\=================================//

function chatfunc(text,waitt)
local chat = [Link](function()
if Character:FindFirstChild("TalkingBillBoard")~= nil then
Character:FindFirstChild("TalkingBillBoard"):destroy()
end
local naeeym2 = [Link]("BillboardGui",Character)
[Link] = [Link](0,100,0,40)
[Link] = [Link](0,2,0)
[Link] = [Link]
[Link] = "TalkingBillBoard"
[Link] = true
local tecks2 = [Link]("TextLabel",naeeym2)
[Link] = 1
[Link] = 0
[Link] = ""
[Link] = "Fantasy"
[Link] = 30
[Link] = 1
tecks2.TextColor3 = [Link](255/255, 176/255, 0)
tecks2.TextStrokeColor3 = [Link](0,0,0)
[Link] = [Link](1,0,0.5,0)
local tecks3 = [Link]("TextLabel",naeeym2)
[Link] = 1
[Link] = 0
[Link] = ""
[Link] = "Fantasy"
[Link] = 30
[Link] = 1
tecks3.TextColor3 = [Link](255/255, 176/255, 0)
tecks3.TextStrokeColor3 = [Link](0,0,0)
[Link] = [Link](1,0,0.5,0)
for i = 1,[Link](text),1 do
[Link] = [Link](text,1,i)
[Link] = [Link](text,1,i)
wait(0.01)
end
wait(waitt)
naeeym2:Destroy()
end)
chat()
end

function turnto(pos,part)
[Link] = CF([Link],VT(pos.X,[Link].Y,pos.Z))
end

function createfireball(size,enabled)
local FIREBALL = IT("Part",Effects)
[Link] = "Ball"
[Link] = VT(size,size,size)
[Link] = "Neon"
[Link] = BRICKC("Deep orange")
local PARTICLES =
CreateParticles(FIREBALL,VT(0,0,0),2,1,"Fire",enabled,false,size*1.5,5)
return FIREBALL,PARTICLES
end

function Fireball()
ATTACK = true
chatfunc("Sun...",100)
for i=0, 1.5, 0.1 / Animation_Speed do
Swait()
turnto([Link].p,RootPart)
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.4 /
Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size,
0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(-75)), 0.2 /
Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(100)) * RIGHTSHOULDERC0,
0.15 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0,
0.15 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size,
-0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0),
RAD(0)), 0.15 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -
0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0),
RAD(0)), 0.15 / Animation_Speed)
end
local aimpos = [Link].p
CreateSound(CIRCLESOUND, RightArm, 2, 1)
CreateMagicRingTilSize([Link]*CF(0,-1.2,0),35,25)
chatfunc("Comet!",2)
local FIRE,PARTICLES = createfireball(3,true)
CreateSound(FIREBALL, FIRE, 2, 1)
[Link] = [Link]*CF(0,-1.2,0)
local bv = [Link]("BodyVelocity")
[Link] = [Link](1e9, 1e9, 1e9)
[Link] = CF([Link],aimpos).lookVector*50
[Link] = FIRE
[Link] = "MOVE"
local HIT = false
local harm = [Link]:Connect(function(hit)
if HIT == false and [Link] ~= Character and [Link] ~= Weapon
and [Link] ~= Effects then
HIT = true
[Link]([Link](function()
[Link] = true
[Link] = false
[Link] = false
CreateSound(EXPLOSION, FIRE, 10, 1)
local BURST =
CreateParticles(FIRE,VT(0,0,0),2,4,"Fire",false,true,6,85)
BURST:Emit(750)
killnearest([Link],35,75)
for i = 1, 35 do
Swait()
[Link] = [Link] + VT(2,2,2)
[Link] = [Link] + (1/35)
end
Swait(250)
FIRE:remove()
end))
end
end)
ATTACK = false
end

function SolarPunch()
ATTACK = true
for i=0, 0.5, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 *
Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) *
ANGLES(RAD(0), RAD(0), RAD(-25)), 0.15 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size,
0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0),
RAD(15)), 0.15 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0,
0.15 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) *
LEFTSHOULDERC0, 0.2 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size
- 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0),
RAD(95), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-2.5)), 0.15 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size
- 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(-15), RAD(-
75), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
end
local GRAB = nil
local HIT = false
local hitting = [Link]:connect(function(hit)
if GRAB == nil then
if [Link]:FindFirstChild("Humanoid") then
if [Link] ~= 0 then
HIT = true
GRAB = [Link]:FindFirstChild("Torso") or
[Link]:FindFirstChild("UpperTorso")
MagicBlock(1.2,20,GRAB,0,BRICKC("Pearl").Color)
[Link] = true
CreateSound("131237241", GRAB, 3, 1)
end
end
end
end)
for i=0, 1, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 *
Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) *
ANGLES(RAD(0), RAD(0), RAD(55)), 0.15 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size,
0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-
25)), 0.45 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 *
Player_Size, -1 * Player_Size) * ANGLES(RAD(60), RAD(0), RAD(-25)) *
RIGHTSHOULDERC0, 0.15 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) *
LEFTSHOULDERC0, 0.2 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size
- 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0),
RAD(95), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-2.5)), 0.15 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size
- 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(-35), RAD(-
75), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
if HIT == true then
break
end
end
hitting:disconnect()
if GRAB ~= nil then
Rooted = true
local BURST =
CreateParticles(FIREHAND,VT(0,0,0),1,2,"Fire",true,false,1,2)
turnto([Link],GRAB)
[Link] = [Link] * CF(0,0,-4) *
ANGLES(RAD(0),RAD(180),RAD(0))
for i=0, 3, 0.1 / Animation_Speed*4 do
if GRAB ~= nil then
Swait()
turnto([Link],RootPart)
turnto([Link],GRAB)
RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 *
Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-45)),
0.2 / Animation_Speed*8)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.2 /
Animation_Speed*8)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 *
Player_Size, 0.5 * Player_Size, 0.5 * Player_Size) * ANGLES(RAD(90), RAD(0),
RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed*8)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 *
Player_Size, 0.5 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-
30)) * LEFTSHOULDERC0, 0.15 / Animation_Speed*8)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0),
RAD(0), RAD(0)), 0.2 / Animation_Speed*8)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0),
RAD(0), RAD(0)), 0.2 / Animation_Speed*8)
end
end
chatfunc("Solar...",100)
CreateSound(CIRCLESOUND, GRAB, 2, 1)
CreateMagicRingTilSize([Link] * CF(0,0,2) *
ANGLES(RAD(90),RAD(0),RAD(0)),45,75)
[Link] = false
local BURST =
CreateParticles(FIREHAND,VT(0,0,0),1,2,"Fire",false,false,6,25)
for i=0, 1, 0.1 / Animation_Speed*6 do
if GRAB ~= nil then
Swait()
turnto([Link],RootPart)
turnto([Link],GRAB)
RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 *
Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(45)),
0.2 / Animation_Speed*8)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.2 /
Animation_Speed*8)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 *
Player_Size, 0.5 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(90), RAD(0),
RAD(30)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed*8)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 *
Player_Size, 0.5 * Player_Size, 0.5 * Player_Size) * ANGLES(RAD(90), RAD(0),
RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed*8)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0),
RAD(0), RAD(0)), 0.2 / Animation_Speed*3)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0),
RAD(0), RAD(0)), 0.2 / Animation_Speed*3)
end
end
chatfunc("Fist!",2)
if GRAB ~= nil then
CreateSound(EXPLOSION, GRAB, 10, 1)
BURST:Emit(300)
[Link]:BreakJoints()
Swait(150)
end
end
FIREHAND:ClearAllChildren()
GRAB = nil
Rooted = false
HIT = nil
ATTACK = false
end

function SunEruption()
ATTACK = true
Rooted = true
chatfunc("Sun...",100)
for i=0, 1, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0.2 *
Player_Size, -0.1 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) *
ANGLES(RAD(-12.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size,
0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0),
RAD(0)), 0.15 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(5)) * RIGHTSHOULDERC0,
0.15 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-5)) * LEFTSHOULDERC0,
0.15 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size,
-0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-
12.5)), 0.15 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.2 * Player_Size,
-1.2 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0),
RAD(12.5)), 0.15 / Animation_Speed)
end
CreateSound(CIRCLESOUND, LeftLeg, 2, 1)
CreateMagicRingTilSize([Link]*CF(0,-1.2,0),75,25)
chatfunc("Eruption!",2)
local Animation_Speed2 = Animation_Speed/8
for i=0, 1, 0.1 / Animation_Speed2 do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, -0.2 *
Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) *
ANGLES(RAD(25), RAD(0), RAD(0)), 0.15 / Animation_Speed2)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size,
0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0),
RAD(0)), 0.15 / Animation_Speed2)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0,
0.15 / Animation_Speed2)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0,
0.15 / Animation_Speed2)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size,
-0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0),
RAD(25)), 0.15 / Animation_Speed2)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.5 * Player_Size,
-1 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(5), RAD(-
25)), 0.15 / Animation_Speed2)
end
[Link] = true
local FIRE,PARTICLES = createfireball(6,false)
[Link] = [Link]
PARTICLES:remove()
CreateMagicCircle(75,true,-0.01,75,CF([Link]) * CF(0,-1,0),false)
[Link]([Link](function()
[Link] = true
[Link] = false
CreateSound(EXPLOSION, FIRE, 10, 1)
local BURST =
CreateParticles(FIRE,VT(0,0,0),2,4,"Fire",false,true,6,75)
BURST:Emit(750)
local BURST =
CreateParticles(FIRE,VT(0,0,0),2,4,"Fire",false,true,6,55)
BURST:Emit(750)
killnearest([Link],45,75)
local mesh = IT("CylinderMesh",FIRE)
[Link] = VT(1,10000,1)
for i = 1, 35 do
Swait()
[Link] = [Link] + VT(1,1,1)
[Link] = [Link] + (1/35)
end
Swait(250)
FIRE:remove()
end))
[Link] = false
Rooted = false
ATTACK = false
end

function SolarImpact()
ATTACK = true
for i=0, 0.5, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 *
Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) *
ANGLES(RAD(0), RAD(0), RAD(-25)), 0.15 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size,
0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0),
RAD(15)), 0.15 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0,
0.15 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) *
LEFTSHOULDERC0, 0.2 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size
- 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0),
RAD(95), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-2.5)), 0.15 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size
- 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(-15), RAD(-
75), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
end
local GRAB = nil
local HIT = false
local hitting = [Link]:connect(function(hit)
if GRAB == nil then
if [Link]:FindFirstChild("Humanoid") then
if [Link] ~= 0 then
HIT = true
GRAB = [Link]:FindFirstChild("Torso") or
[Link]:FindFirstChild("UpperTorso")
MagicBlock(1.2,20,GRAB,0,BRICKC("Pearl").Color)
[Link] = true
CreateSound("131237241", GRAB, 3, 1)
end
end
end
end)
for i=0, 1, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 *
Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) *
ANGLES(RAD(0), RAD(0), RAD(55)), 0.15 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size,
0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-
25)), 0.45 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 *
Player_Size, -1 * Player_Size) * ANGLES(RAD(60), RAD(0), RAD(-25)) *
RIGHTSHOULDERC0, 0.15 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) *
LEFTSHOULDERC0, 0.2 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size
- 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0),
RAD(95), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-2.5)), 0.15 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size
- 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(-35), RAD(-
75), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
if HIT == true then
break
end
end
hitting:disconnect()
if GRAB ~= nil then
Rooted = true
turnto([Link],GRAB)
[Link] = [Link] * CF(0,0,-6) *
ANGLES(RAD(0),RAD(180),RAD(0))
for i=0, 2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0
* Player_Size, -1.2 * Player_Size) * ANGLES(RAD(65), RAD(0), RAD(0)), 0.2 /
Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 /
Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) *
RIGHTSHOULDERC0, 0.2 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) *
LEFTSHOULDERC0, 0.2 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 *
Player_Size, -1 * Player_Size) * 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 * Player_Size, -0.3 *
Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0),
RAD(0), RAD(0)), 0.2 / Animation_Speed)
end
CreateSound("2767090", Torso, 5, MRANDOM(7, 12) / 10)
CreateWave(0,1.5,true,0.02,150,RootPart,-2,"Deep orange")
CreateWave(0,3,true,-0.02,150,RootPart,-2,"Deep orange")
local bv = [Link]("BodyVelocity")
[Link] = [Link](1e9, 1e9, 1e9)
[Link] = [Link](0,300,0)
[Link] = Torso
[Link] = "DASH"
game:GetService("Debris"):AddItem(bv, 0.5)
[Link]([Link](function()
for i=0, 2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 *
Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)),
0.2 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 /
Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 *
Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0),
RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 *
Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-
20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 *
Player_Size, -0.3 * Player_Size) * 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 * Player_Size, -1 *
Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-
5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
end
end))
Swait(125)
UNANCHOR = false
[Link] = true
chatfunc("Solar...",100)
for i=0, 0.5, 0.1 / Animation_Speed do
Swait()
turnto([Link],RootPart)
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0
* Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.4 /
Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 /
Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) *
RIGHTSHOULDERC0, 0.15 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) *
LEFTSHOULDERC0, 0.15 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 *
Player_Size, -1 * Player_Size) * 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 * Player_Size, -1 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0),
RAD(0), RAD(10)), 0.2 / Animation_Speed)
--HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 *
([Link] / 16) / Animation_Speed)
end
local TRAIL =
CreateParticles(Torso,VT(0,0,0),2,2,"Fire",true,true,6,15)
local A1 = IT("Attachment",Torso)
[Link] = [Link](0, 0.5, 0)
local A2 = IT("Attachment",Torso)
[Link] = [Link](0, -0.5, 0)
local Trail = IT("Trail",Torso)
[Link] = 1
[Link] = true
[Link] = "rbxassetid://945758042"
Trail.Attachment0 = A1
Trail.Attachment1 = A2
[Link] = 0.6
[Link] = 0
[Link] = [Link](0)
[Link] = [Link]([Link]("Deep orange").Color)
CreateMagicRingTilSize([Link] * CF(0,0,2) *
ANGLES(RAD(90),RAD(0),RAD(0)),45,75)
Swait(30)
[Link] = false
for i=0, 3, 0.1 / Animation_Speed do
turnto([Link],RootPart)
RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0
* Player_Size, -1 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 /
Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 /
Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size,
0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) *
ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2
* Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(55)) *
LEFTSHOULDERC0, 0.4 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 *
Player_Size, -1 * Player_Size) * 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 * Player_Size, -0.3 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(5), RAD(0)) * ANGLES(RAD(45),
RAD(0), RAD(10)), 0.2 / Animation_Speed)
end
[Link] = [Link] * CF(0,0,4) *
ANGLES(RAD(0),RAD(180),RAD(0))
chatfunc("Impact!",2)
CreateSound(EXPLOSION, Torso, 10, 1)
killnearest([Link],5,0)
local BURST =
CreateParticles(Torso,VT(0,0,0),2,2,"Fire",false,true,6,25)
BURST:Emit(750)
Swait(150)
Trail:remove()
BURST:remove()
UNANCHOR = true
TRAIL:remove()
end
FIREHAND:ClearAllChildren()
GRAB = nil
Rooted = false
HIT = nil
ATTACK = false
end

function SolarDemise()
Rooted = true
for i=0, 2, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 *
Player_Size, -1.2 * Player_Size) * ANGLES(RAD(65), RAD(0), RAD(0)), 0.2 /
Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size,
0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 /
Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) *
RIGHTSHOULDERC0, 0.2 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) *
LEFTSHOULDERC0, 0.2 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 *
Player_Size, -1 * Player_Size) * 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 * Player_Size, -0.3 * Player_Size,
-1 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0),
RAD(0)), 0.2 / Animation_Speed)
end
CreateSound("2767090", Torso, 5, MRANDOM(7, 12) / 10)
CreateWave(0,3.5,true,0.02,150,RootPart,-2,"Deep orange")
CreateWave(0,5,true,-0.02,150,RootPart,-2,"Deep orange")
local bv = [Link]("BodyVelocity")
[Link] = [Link](1e9, 1e9, 1e9)
[Link] = [Link](0,300,0)
[Link] = Torso
[Link] = "DASH"
game:GetService("Debris"):AddItem(bv, 0.5)
Swait(125)
ATTACK = true
UNANCHOR = false
[Link] = true
for i=0, 1, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0.2 *
Player_Size, -0.1 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) *
ANGLES(RAD(-12.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size,
0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0),
RAD(0)), 0.15 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(5)) * RIGHTSHOULDERC0,
0.15 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 *
Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-5)) * LEFTSHOULDERC0,
0.15 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size,
-0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-
12.5)), 0.15 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.2 * Player_Size,
-1.2 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0),
RAD(12.5)), 0.15 / Animation_Speed)
end
chatfunc("SOLAR...",500)
CreateSound(CIRCLESOUND, Effects, 10, 0.5)
local Animation_Speed2 = Animation_Speed/8
CreateMagicRingTilSize([Link]*CF(0,-4,0),350,750)
chatfunc("FLARES!",5)
for i = 1, 35 do
for i=0, 1, 0.1 / Animation_Speed2 do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size,
0.2 * Player_Size, -0.1 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) *
ANGLES(RAD(-12.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)),
RAD(0), RAD(0)), 0.15 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(5)) *
RIGHTSHOULDERC0, 0.15 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-5)) *
LEFTSHOULDERC0, 0.15 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 *
Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0),
RAD(0), RAD(-12.5)), 0.15 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.2 *
Player_Size, -1.2 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) *
ANGLES(RAD(0), RAD(0), RAD(12.5)), 0.15 / Animation_Speed)
end
local FIRE,PARTICLES = createfireball(7,true)
CreateSound(FIREBALL, FIRE, 2, 1)
[Link] = [Link]*CF(0,-7,0)
local bv = [Link]("BodyVelocity")
[Link] = [Link](1e9, 1e9, 1e9)
[Link] = CF([Link],[Link].p).lookVector*350
[Link] = FIRE
[Link] = "MOVE"
local HIT = false
local harm = [Link]:Connect(function(hit)
if HIT == false and [Link] ~= Character and [Link] ~=
Weapon and [Link] ~= Effects then
HIT = true
[Link]([Link](function()
[Link] = true
[Link] = false
[Link] = false
CreateSound(EXPLOSION, FIRE, 10, 1)
local BURST =
CreateParticles(FIRE,VT(0,0,0),2,4,"Fire",false,true,6,145)
BURST:Emit(750)
killnearest([Link],65,75)
for i = 1, 35 do
Swait()
[Link] = [Link] + VT(3,3,3)
[Link] = [Link] + (1/35)
end
Swait(250)
FIRE:remove()
end))
end
end)
for i=0, 1, 0.1 / Animation_Speed2 do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, -
0.2 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) *
ANGLES(RAD(25), RAD(0), RAD(0)), 0.15 / Animation_Speed2)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)),
RAD(0), RAD(0)), 0.15 / Animation_Speed2)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(25)) *
RIGHTSHOULDERC0, 0.15 / Animation_Speed2)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-25)) *
LEFTSHOULDERC0, 0.15 / Animation_Speed2)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 *
Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0),
RAD(0), RAD(25)), 0.15 / Animation_Speed2)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.5 *
Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0),
RAD(5), RAD(-25)), 0.15 / Animation_Speed2)
end
end
UNANCHOR = true
ATTACK = false
Rooted = false
--ATTACK = false
end

--//=================================\\
--|| ASSIGN THINGS TO KEYS
--\\=================================//

[Link]:connect(function(Jump)
if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
[Link] = false
end
end)

function MouseDown(Mouse)
if ATTACK == false then
end
end

function MouseUp(Mouse)
HOLD = false
end

function KeyDown(Key)
if Rooted == false then
if Key == "q" and ATTACK == false then
Fireball()
end

if Key == "e" and ATTACK == false then


SolarPunch()
end

if Key == "r" and ATTACK == false then


SunEruption()
end

if Key == "f" and ATTACK == false then


SolarImpact()
end

if Key == "x" and ATTACK == false then


SolarDemise()
end

if Key == "7" and ATTACK == false then


CreateSound("907333294", Head, 5, 1.1)
end
if Key == "8" and ATTACK == false then
CreateSound("907333406", Head, 5, 1.1)
end

if Key == "9" and ATTACK == false then


CreateSound("907329293", Head, 5, 1.1)
end
end
end

function KeyUp(Key)
end

Mouse.Button1Down:connect(function(NEWKEY)
MouseDown(NEWKEY)
end)
Mouse.Button1Up:connect(function(NEWKEY)
MouseUp(NEWKEY)
end)
[Link]:connect(function(NEWKEY)
KeyDown(NEWKEY)
end)
[Link]: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
--\\=================================//

[Link]:connect(function(Jump)
if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
[Link] = false
end
end)

[Link] = nil
local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
IDLEANIMATION:Play()
Rooted = false

local eye = IT("Part",Weapon)


[Link] = VT(0.2,0.2,0.2)
[Link] = "Ball"
[Link] = [Link] * CF(0.15,0.2,-0.55)
[Link] = "Neon"
[Link] = BRICKC("Deep orange")
weldBetween(Head,eye)
CreateParticles(eye,VT(1,-5,0),1,1,"Fire",true,true,0.1,0)

local eye = IT("Part",Weapon)


[Link] = VT(0.15,0.15,0.15)
[Link] = "Ball"
[Link] = [Link] * CF(-0.15,0.2,-0.55)
[Link] = BRICKC("Black")
weldBetween(Head,eye)

while true do
Swait()
SINE = SINE + CHANGE
local TORSOVELOCITY = ([Link] * VT(1, 0, 1)).magnitude
local TORSOVERTICALVELOCITY = [Link].y
local LV = [Link]:pointToObjectSpace([Link] - [Link])
local HITFLOOR = Raycast([Link], (CF([Link],
[Link] + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
local WALKSPEEDVALUE = 6 / ([Link] / 16)
if ANIM == "Walk" and TORSOVELOCITY > 1 then
RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.1 * COS(SINE /
(WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) -
[Link].Y / 75, RAD(0)), 0.2 * ([Link] / 16) /
Animation_Speed)
Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 *
Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE /
(WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - [Link].Y / 30), 0.2 *
([Link] / 16) / Animation_Speed)
RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 *
Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE /
WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) -
[Link].Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 *
([Link] / 16) / Animation_Speed)
LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 *
Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE /
WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) +
[Link].Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 *
([Link] / 16) / Animation_Speed)
elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) 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 * Player_Size, -0.5 * Player_Size, 0 *
Player_Size) * 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 * Player_Size, 1 * Player_Size,
0 * Player_Size) * 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 * Player_Size, 1 * Player_Size,
0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0),
RAD(0)), 0.2 / Animation_Speed)
end
if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
ANIM = "Jump"
if ATTACK == false then
RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0
* Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 /
Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 /
Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) *
RIGHTSHOULDERC0, 0.2 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) *
LEFTSHOULDERC0, 0.2 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 *
Player_Size, -0.3 * Player_Size) * 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 * Player_Size, -1 *
Player_Size, -0.3 * Player_Size) * 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 * Player_Size, 0
* Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 /
Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 /
Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(60)) *
RIGHTSHOULDERC0, 0.2 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-60)) *
LEFTSHOULDERC0, 0.2 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 *
Player_Size, 0 * Player_Size) * 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 * Player_Size, -1 *
Player_Size, 0 * Player_Size) * 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 * Player_Size, 0
* Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) *
ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)),
RAD(0), RAD(0)), 0.15 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(12)) *
RIGHTSHOULDERC0, 0.15 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) *
LEFTSHOULDERC0, 0.15 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 *
Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) *
ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 *
Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) *
ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 /
Animation_Speed)
end
elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
ANIM = "Walk"
WALK = WALK + 1 / Animation_Speed
if WALK >= 15 - (5 * ([Link] / 16 / Player_Size)) then
WALK = 0
if WALKINGANIM == true then
WALKINGANIM = false
elseif WALKINGANIM == false then
WALKINGANIM = true
end
end
--RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 *
Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE /
WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) -
[Link].Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 *
([Link] / 16) / Animation_Speed)
--LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 *
Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE /
WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) +
[Link].Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 *
([Link] / 16) / Animation_Speed)
if ATTACK == false then
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0
* Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) *
ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 *
Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)),
RAD(0), RAD(0)), 0.15 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE)),
RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size,
0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)),
RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 *
Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0),
RAD(0), RAD(0)), 0.15 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 *
Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0),
RAD(0), RAD(0)), 0.15 / Animation_Speed)
end
end
if #Effects2>0 then
for e=1,#Effects2 do
if Effects2[e]~=nil then
local Thing=Effects2[e]
if Thing~=nil then
local Part=Thing[1]
local Mode=Thing[2]
local Delay=Thing[3]
local IncX=Thing[4]
local IncY=Thing[5]
local IncZ=Thing[6]
local Part2=Thing[8]
if Thing[1].Transparency<=1 then
if Thing[2]=="Block1" then
Thing[1].CFrame=Thing[1].CFrame
Mesh=Thing[1].Mesh

[Link]=[Link]+VT(Thing[4],Thing[5],Thing[6])

Thing[1].Transparency=Thing[1].Transparency+Thing[3]
elseif Thing[2]=="Cylinder" then
Mesh=Thing[1].Mesh

[Link]=[Link]+VT(Thing[4],Thing[5],Thing[6])

Thing[1].Transparency=Thing[1].Transparency+Thing[3]
elseif Thing[2]=="Blood" then
Mesh=Thing[7]

Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)

[Link]=[Link]+VT(Thing[4],Thing[5],Thing[6])

Thing[1].Transparency=Thing[1].Transparency+Thing[3]
elseif Thing[2]=="Elec" then
Mesh=Thing[1].Mesh

[Link]=[Link]+VT(Thing[7],Thing[8],Thing[9])

Thing[1].Transparency=Thing[1].Transparency+Thing[3]
elseif Thing[2]=="Disappear" then

Thing[1].Transparency=Thing[1].Transparency+Thing[3]
end
else
[Link]=nil
[Link](Effects2,e)
end
end
end
end
end
unanchor()
[Link] = "inf"
[Link] = "inf"
if Rooted == false then
Disable_Jump = false
[Link] = Speed
elseif Rooted == true then
Disable_Jump = true
[Link] = 0
end
if Head:FindFirstChild("face") then
[Link]:remove()
end
end

--//=================================\\
--\\=================================//
--//====================================================\\--
--|| END OF SCRIPT
--\\====================================================//--

You might also like