Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

ROBLOX Shotgun Script

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 24

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

--|| GUNJOURER BY SHACKLUSTER


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

wait(0.2)

Player = owner
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"]

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 = 35
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 = "GUNJOURER_GUI_SHACKLUSTER"
local Effects = IT("Folder", Character)
Effects.Name = "Effects"
local ANIMATOR = Humanoid.Animator
local ANIMATE = Character.Animate
local UNANCHOR = true
local TRIPWIRE = false

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

--//=================================\\
--|| 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
ArtificialHB:Fire()
lastframe = tick()
else
for i = 1, math.floor(tf / frame) do
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 = "rbxassetid://"..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, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang =
0})
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)
local USEBOOMERANGMATH = (Table.UseBoomerangMath or false)
local BOOMERANG = (Table.Boomerang or 0)
local SIZEBOOMERANG = (Table.SizeBoomerang or 0)
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" or TYPE == "Box" then
MSH = IT("BlockMesh",EFFECT)
MSH.Scale = SIZE
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", "168892432", "",
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 BOOMR1 = 1+BOOMERANG/50
local BOOMR2 = 1+SIZEBOOMERANG/50
local MOVESPEED = nil
if MOVEDIRECTION ~= nil then
if USEBOOMERANGMATH == true then
MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)*BOOMR1
else
MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)
end
end
local GROWTH = nil
if USEBOOMERANGMATH == true then
GROWTH = (SIZE - ENDSIZE)*(BOOMR2+1)
else
GROWTH = (SIZE - ENDSIZE)
end
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
if USEBOOMERANGMATH == true then
for LOOP = 1, TIME+1 do
Swait()
MSH.Scale = MSH.Scale - (VT((GROWTH.X)*((1 -
(LOOP/TIME)*BOOMR2)),(GROWTH.Y)*((1 - (LOOP/TIME)*BOOMR2)),(GROWTH.Z)*((1 -
(LOOP/TIME)*BOOMR2)))*BOOMR2)/TIME
if TYPE == "Wave" then
MSH.Offset = VT(0,0,-MSH.Scale.Z/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)*((1 - (LOOP/TIME)*BOOMR1)))
EFFECT.CFrame =
CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
end
end
else
for LOOP = 1, TIME+1 do
Swait()
MSH.Scale = MSH.Scale - GROWTH/TIME
if TYPE == "Wave" then
MSH.Offset = VT(0,0,-MSH.Scale.Z/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.CFrame =
CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
end
end
end
EFFECT.Transparency = 1
if PLAYSSOUND == false then
EFFECT:remove()
else
repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
EFFECT:remove()
end
else
if PLAYSSOUND == false then
EFFECT:remove()
else
repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
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 OhnoItsAShotgun()
local SHOOTgun = CreatePart(3, Effects, "Fabric", 0, 1, BRICKC("Black"),
"OhNoItsAShotgun", VT(0.25, 0.5, 5), true)
CreateMesh("SpecialMesh", SHOOTgun, "FileMesh", "3835506", "", VT(0.9, 1.13,
1), VT(0,-0.3,0))
return SHOOTgun
end

function CamShake(SHAKE,TIMER)
coroutine.resume(coroutine.create(function()
local FADER = SHAKE/TIMER
for i = 1, TIMER do
wait()
Humanoid.CameraOffset = VT(MRANDOM(-(SHAKE-(FADER*i)),(SHAKE-
(FADER*i)))/10,MRANDOM(-(SHAKE-(FADER*i)),(SHAKE-(FADER*i)))/10,MRANDOM(-(SHAKE-
(FADER*i)),(SHAKE-(FADER*i)))/10)
end
Humanoid.CameraOffset = VT(0,0,0)
end))
end

--//=================================\\
--|| GUIS AND MISC
--\\=================================//

local SKILLTEXTCOLOR = C3(1,1,1)


local SKILLFONT = "SciFi"
local SKILLTEXTSIZE = 4

local ATTACKS = {"Conjour - C","Aerial Bombardament - V","Point Blank -


B","Tripwire - F","Mend - M"}

for i = 1, #ATTACKS do
local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.74, 0, 0.97-(0.04*i), 0),
UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKS[i].."]", SKILLTEXTCOLOR,
SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
SKILLTEXT.TextXAlignment = "Right"
SKILLTEXT.Rotation = i*3
end

local BMUSIC = IT("Sound",RootPart)


local VOLUME = 3
local PITCH = 1
local SONGID = 554435540

local HEALTHBAR = CreateFrame(WEAPONGUI, 0.5, 1, UD2(1-0.20, 0, 0.75, 0), UD2(0.20,


0, 0.02, 0), C3(0,0,0), C3(0, 0, 0),"Health Bar")
local HEALTHCOVER = CreateFrame(HEALTHBAR, 0, 0, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0),
BRICKC"Shamrock".Color, C3(0, 0, 0),"Health Cover")
local HEALTHTEXT = CreateLabel(HEALTHBAR, Humanoid.Health.."/"..Humanoid.MaxHealth,
SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "HP")
Character.Health:remove()
HEALTHBAR.Rotation = (#ATTACKS*3)+3
local WHOAMI = CreateFrame(WEAPONGUI, 1, 1, UD2(1-0.26, 0, 0.69, 0), UD2(0.26, 0,
0.02, 0), C3(0,0,0), C3(0, 0, 0),"Ban")
WHOAMI.Rotation = (#ATTACKS*3)+3
CreateLabel(WHOAMI, "Gunjourer", SKILLTEXTCOLOR, SKILLTEXTSIZE+4, SKILLFONT, 0, 2,
0, "Yes")

Humanoid.MaxHealth = 450
Humanoid.Health = 450

Humanoid.Died:Connect(function()
RootPart:remove()
CreateSound(160718677, Head, 4, 1, false)
BMUSIC:remove()
Effects:remove()
WEAPONGUI:remove()
end)
local GRUNTS = {1146556975,1146556706,1278006076}

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

function ApplyDamage(Humanoid,Damage)
Damage = Damage * DAMAGEMULTIPLIER
if Humanoid.Health < 2000 then
if Humanoid.Health - Damage > 0 then
Humanoid.Health = Humanoid.Health - Damage
else
Humanoid.Parent:BreakJoints()
end
else
Humanoid.Parent:BreakJoints()
end
end

function PAW_HAHA(LOC,AIMTO,OUCH)
WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 =
VT(1.4,1.4,1.4), Transparency = 0, Transparency2 = 1, CFrame = CF(LOC), MoveToPos =
nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color =
BRICKC"New Yeller".Color, SoundID = 138083993, SoundPitch = MRANDOM(8,12)/13,
SoundVolume = 2})
for i = 1, 4 do
local POS1 = CF(LOC,AIMTO)*CF(0,0,-45).p
local AIMPOS = CF(LOC,POS1) * CF(0,0,-45) * ANGLES(RAD(MRANDOM(0,360)),
RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))*CF(0,0,MRANDOM(5,75)/10).p
local HIT,POS = CastProperRay(LOC,AIMPOS,1000,Character)
local DISTANCE = (POS - LOC).Magnitude
if HIT then
local HUM = nil
if HIT.Parent:FindFirstChildOfClass("Humanoid") then
HUM = HIT.Parent:FindFirstChildOfClass("Humanoid")
elseif HIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
HUM = HIT.Parent.Parent:FindFirstChildOfClass("Humanoid")
end
if HUM then
ApplyDamage(HUM,OUCH+MRANDOM(-3,3))
end
end
WACKYEFFECT({Time = 20, EffectType = "Block", Size = VT(0,0,0), Size2 =
VT(1,1,1), Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil,
RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"New
Yeller".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 4})
WACKYEFFECT({Time = 20, EffectType = "Box", Size = VT(0,0,DISTANCE), Size2
= VT(0.7,0.7,DISTANCE), Transparency = 0.6, Transparency2 = 1, CFrame =
CF(LOC,POS)*CF(0,0,-DISTANCE/2), MoveToPos = nil, RotationX = 0, RotationY = 0,
RotationZ = 0, Material = "Neon", Color = BRICKC"New Yeller".Color, SoundID = nil,
SoundPitch = nil, SoundVolume = nil})
end
end

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

function Conjour()
local SHOOT = OhnoItsAShotgun()
local CFRAME = CF(RootPart.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)),
RAD(0))*CF(0,MRANDOM(15,25)/3,MRANDOM(15,25)/3)
local ORI = 90
SHOOT.CFrame = CF(CFRAME.p,Mouse.Hit.p) * ANGLES(RAD(0), RAD(ORI), RAD(0))
local GOODRIDDANCE = false
CreateSound(233856115, SHOOT, 2, (MRANDOM(8,12)/10)+0.3, false)
coroutine.resume(coroutine.create(function()
repeat
SHOOT.CFrame = Clerp(SHOOT.CFrame,CF(CFRAME.p,Mouse.Hit.p) *
ANGLES(RAD(ORI), RAD(0), RAD(0)),0.25)
Swait()
until GOODRIDDANCE == true
SHOOT.CFrame = SHOOT.CFrame * ANGLES(RAD(45), RAD(0), RAD(0))
SHOOT.CanCollide = true
SHOOT.Anchored = false
SHOOT.Parent = workspace
local bv = Instance.new("BodyVelocity",SHOOT)
bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
bv.velocity = CF(SHOOT.Position,SHOOT.CFrame*CF(0,2.5,2).p).lookVector*45
Debris:AddItem(bv,0.1)
wait(5)
for i = 1, 45 do
Swait()
SHOOT.Transparency = SHOOT.Transparency + 1/45
end
SHOOT:remove()
end))
for i = 1, 15 do
Swait()
SHOOT.Transparency = SHOOT.Transparency - 1/15
ORI = ORI - 3
end
for i = 1, 15 do
Swait()
ORI = ORI - 3
end
wait(MRANDOM(2,8)/10)
PAW_HAHA(SHOOT.CFrame*CF(0,0,-SHOOT.Size.Z/2).p,Mouse.Hit.p,14)
CamShake(4,4)
GOODRIDDANCE = true
end
function Aerial_Bombardament()
local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position,
RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
if HITFLOOR then
ATTACK = true
Rooted = true
local bv = Instance.new("BodyVelocity")
bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
bv.velocity = CF(RootPart.Position,RootPart.CFrame*CF(0,1.5,-
2).p).lookVector*175
bv.Parent = RootPart
local GYRO = IT("BodyGyro",RootPart)
GYRO.D = 2
GYRO.P = 20000
GYRO.MaxTorque = VT(0,4000000,0)
GYRO.CFrame = CF(RootPart.Position,RootPart.CFrame*CF(0,0,-5).p)
CreateSound(145486992,Torso,10,0.85,false)
for i=0, 0.05, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) *
ANGLES(RAD(65), RAD(0), RAD(-10)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(-35), RAD(0), RAD(10)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(50), RAD(-20), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(15), RAD(20), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
if ANIM == "Fall" or ANIM == "Jump" then
RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(1),
RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-
85), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 /
Animation_Speed)
else
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-5),
RAD(80), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-
70), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
end
end
bv:Remove()
local E = 360/15
for i = 1, 15 do
Swait()
WACKYEFFECT({Time = 10, EffectType = "Wave", Size = VT(8,1,8), Size2 =
VT(2,15,2), Transparency = 0.9, Transparency2 = 1, CFrame =
CF(RootPart.Position,HITPOS) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil,
RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1),
SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false,
Boomerang = 0, SizeBoomerang = 0})
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) *
ANGLES(RAD(i*E), RAD(0), RAD(0)), 2 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(5), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(-5), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(-35),
RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85),
RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
end
WACKYEFFECT({EffectType = "Sphere", Size = VT(5,5,5), Size2 = VT(20,20,20),
Transparency = 0.5, Transparency2 = 1, CFrame = CF(Torso.Position), MoveToPos =
nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color =
C3(17/255,17/255,17/255), SoundID = nil, SoundPitch = nil, SoundVolume = nil,
UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
for i = 1, 15 do
coroutine.resume(coroutine.create(function()
Conjour()
end))
end
local LANDED = nil
local POS = nil
coroutine.resume(coroutine.create(function()
repeat
Swait()
RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) *
ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) *
ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(-35 - 4 * COS(SINE / 6)), RAD(0), RAD(45 + 10 * COS(SINE / 12))) *
RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(-35 - 4 * COS(SINE / 6)), RAD(0), RAD(-45 - 10 * COS(SINE / 12))) *
LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.7) * ANGLES(RAD(-25
+ 5 * SIN(SINE / 12)), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0),
RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8, -0.3) * ANGLES(RAD(-
10), RAD(-80), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 /
Animation_Speed)
until LANDED ~= nil
end))
repeat
Swait()
local HITFLOOR,HITPOS = Raycast(RootPart.Position,
(CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4.2,
Character)
if HITFLOOR then
LANDED = HITFLOOR
POS = HITPOS
end
until LANDED ~= nil
GYRO:remove()
CamShake(6,3)
CreateSound(765590102, Torso, 2, (MRANDOM(8,12)/10)+0.3, false)
ATTACK = false
Rooted = false
end
end
function Point_Blank()
ATTACK = true
Rooted = true
local HIT = nil
local HUMAN = nil
local ROOT = nil
CreateSound(145486992,Torso,10,0.85,false)
for i=0, 0.5, 0.1 / Animation_Speed do
Swait()
if HIT ~= nil then
break
end
for index, CHILD in pairs(workspace:GetDescendants()) 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 and HUM.Health > 0 then
if (TORSO.Position - RootPart.CFrame*CF(0,0,-
2).p).Magnitude <= 2 then
ROOT = TORSO
HUMAN = HUM
HIT = CHILD
end
end
end
end
end
RootPart.CFrame = Clerp(RootPart.CFrame, RootPart.CFrame, 0.07) * CF(0,0,-
1)
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.75) *
ANGLES(RAD(45), 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(-
45), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) *
ANGLES(RAD(135), RAD(0), RAD(12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(-10),
RAD(80), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-5), RAD(-
80), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
end
if HIT then
local bv = Instance.new("BodyVelocity")
bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
bv.velocity =
CF(RootPart.Position,RootPart.CFrame*CF(0,1.5,2).p).lookVector*75
bv.Parent = RootPart
Debris:AddItem(bv,0.1)
coroutine.resume(coroutine.create(function()
local GUNS = {}
for i = 1, 4 do
local SHOOT = OhnoItsAShotgun()
local CFRAME = CF(ROOT.Position) * ANGLES(RAD(0),
RAD(MRANDOM(0,360)), RAD(0))*CF(0,MRANDOM(15,25)/3,MRANDOM(15,25)/3)
SHOOT.CFrame = CF(CFRAME.p,ROOT.Position)
CreateSound(233856115, SHOOT, 2, (MRANDOM(8,12)/10)+0.3, false)
table.insert(GUNS,SHOOT)
end
for i = 1, 25 do
Swait()
for E = 1, #GUNS do
GUNS[E].Transparency = GUNS[E].Transparency - 1/25
end
end
wait(0.1)
CamShake(8,15)
for E = 1, #GUNS do
local SHOOT = GUNS[E]
coroutine.resume(coroutine.create(function()

PAW_HAHA(SHOOT.CFrame*CF(0,0,-SHOOT.Size.Z/2).p,SHOOT.CFrame*CF(0,0,-15).p,17)
SHOOT.CFrame = SHOOT.CFrame * ANGLES(RAD(45), RAD(0), RAD(0))
SHOOT.CanCollide = true
SHOOT.Anchored = false
SHOOT.Parent = workspace
local bv = Instance.new("BodyVelocity",SHOOT)
bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
bv.velocity =
CF(SHOOT.Position,SHOOT.CFrame*CF(0,2.5,2).p).lookVector*45
Debris:AddItem(bv,0.1)
wait(5)
for i = 1, 45 do
Swait()
SHOOT.Transparency = SHOOT.Transparency + 1/45
end
end))
wait()
end
end))
CreateSound(GRUNTS[MRANDOM(1,#GRUNTS)], Torso, 6, 1.1, false)
for i=0, 1, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -0.1) *
ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(-10),
RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-10), RAD(-
80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
end
end
ATTACK = false
Rooted = false
end
function Tripwire()
ATTACK = true
Rooted = true
TRIPWIRE = true
coroutine.resume(coroutine.create(function()
repeat
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -0.1) *
ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -0.5) *
ANGLES(RAD(0), RAD(0), RAD(-100)) * ANGLES(RAD(20), RAD(0), RAD(0)) *
RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(-15), RAD(5), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-10),
RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-10), RAD(-
80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
until ATTACK == false
end))
local SHOOT = OhnoItsAShotgun()
local CFRAME = CF(-1.5,0,1.5) * ANGLES(RAD(0), RAD(45), RAD(0))
SHOOT.CFrame = Torso.CFrame*CFRAME
coroutine.resume(coroutine.create(function()
repeat
SHOOT.CFrame = Clerp(SHOOT.CFrame,Torso.CFrame*CFRAME,0.1)
Swait()
until HOLD == true
TRIPWIRE = false
local LOC = SHOOT.CFrame*CF(0,3,0).p
for i = 1, 15 do
Swait()
SHOOT.Transparency = SHOOT.Transparency - 1/15
SHOOT.CFrame = Clerp(SHOOT.CFrame,CF(LOC,Mouse.Hit.p),0.3)
end
SHOOT.Transparency = 0
for i = 1, 2 do
Swait()
SHOOT.CFrame = Clerp(SHOOT.CFrame,CF(LOC,Mouse.Hit.p),0.5)
end
PAW_HAHA(SHOOT.CFrame*CF(0,0,-SHOOT.Size.Z/2).p,Mouse.Hit.p,10)
CamShake(8,9)
SHOOT.CFrame = SHOOT.CFrame * ANGLES(RAD(45), RAD(0), RAD(0))
SHOOT.CanCollide = true
SHOOT.Anchored = false
SHOOT.Parent = workspace
local bv = Instance.new("BodyVelocity",SHOOT)
bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
bv.velocity = CF(SHOOT.Position,SHOOT.CFrame*CF(0,2.5,2).p).lookVector*45
Debris:AddItem(bv,0.1)
wait(5)
for i = 1, 45 do
Swait()
SHOOT.Transparency = SHOOT.Transparency + 1/45
end
end))
CreateSound(233856115, SHOOT, 1.2, (MRANDOM(8,12)/10)-0.3, false)
for i = 1, 15 do
Swait()
SHOOT.Transparency = SHOOT.Transparency - 1/150
end
ATTACK = false
Rooted = false
end
function Mend()
if Humanoid.Health < Humanoid.MaxHealth - 150 then
ATTACK = true
Rooted = true
for i=0, 0.25, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) *
ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(15), RAD(0), RAD(-25)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(-5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(-5), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.2, -1) * ANGLES(RAD(-25),
RAD(90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.5) * ANGLES(RAD(-90),
RAD(-90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
end
local LOOP = 0
repeat
LOOP = LOOP + 1
Swait()
Humanoid.Health = Humanoid.Health + 1
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) *
ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -0.4) *
ANGLES(RAD(55), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, -0.7 - 0.4 *
SIN(LOOP / 4)) * ANGLES(RAD(50 + 25 * COS(LOOP / 4)), RAD(0), RAD(65)) *
LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -1) * ANGLES(RAD(0), RAD(90),
RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.5) * ANGLES(RAD(-90),
RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
until KEYHOLD == false or Humanoid.Health == Humanoid.MaxHealth
for i=0, 0.15, 0.1 / Animation_Speed do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) *
ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(15), RAD(0), RAD(-25)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(-5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(-5), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.2, -1) * ANGLES(RAD(-25),
RAD(90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.5) * ANGLES(RAD(-90),
RAD(-90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
end
ATTACK = false
Rooted = false
end
end
function Taunt()
ATTACK = true
Rooted = true
local L = CreateSound(1278007556,Head,8,1.1,false)
L.EmitterSize = 25
for i = 1, 20 do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -0.1) * ANGLES(RAD(-
10), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5),
RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -0.5) *
ANGLES(RAD(0), RAD(0), RAD(-110)) * ANGLES(RAD(20), RAD(0), RAD(0)) *
RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.3, -0.35) *
ANGLES(RAD(0), RAD(0), RAD(80)) * ANGLES(RAD(20), RAD(0), RAD(0)) * LEFTSHOULDERC0,
1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-10), RAD(80),
RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-10), RAD(-80),
RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
end
for i = 1, 40 do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.17, -0.075 + 0.1 *
SIN(i / 3)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-3),
RAD(15 * SIN(i / 1.5)), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.6 - 0.1 * SIN(i / 3),
0) * ANGLES(RAD(15), RAD(-5), RAD(120)) * ANGLES(RAD(0), RAD(180), RAD(0)) *
RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.6 - 0.1 * SIN(i / 3),
0) * ANGLES(RAD(15), RAD(5), RAD(-120)) * ANGLES(RAD(0), RAD(180), RAD(0)) *
LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * SIN(i / 3), 0) *
ANGLES(RAD(5), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(i / 3), 0) *
ANGLES(RAD(5), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
ATTACK = false
Rooted = false
end
function DoubleJump()
ATTACK = true
Rooted = false
Torso.Velocity = Vector3.new(Torso.Velocity.X,125,Torso.Velocity.Z)
CreateSound(159882477, Head, 4, 1, false)
CreateSound(1112042117, Torso, 2, 1, false)
local E = 360/12
for i=1, 12 do
Swait()
RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(i*E),
RAD(0), RAD(0)), 2.5 / 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
ATTACK = false
Rooted = false
end

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

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

function MouseUp(Mouse)
HOLD = false
end

local READYTODOUBLE = false


local DOUBLED = false

function KeyDown(Key)
KEYHOLD = true
if Key == "c" and ATTACK == false then
Conjour()
end

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


Aerial_Bombardament()
end

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


Point_Blank()
end

if Key == "f" and ATTACK == false and TRIPWIRE == false and ANIM == "Idle" then
Tripwire()
end

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


Mend()
end

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


Taunt()
end

if string.byte(Key) == 32 and READYTODOUBLE == true and ATTACK == false and


Humanoid.Jump == true and DOUBLED == false then
READYTODOUBLE = false
DOUBLED = true
DoubleJump()
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()
for _, c in pairs(Character:GetChildren()) do
if c:IsA("BasePart") and c ~= RootPart then
c.Anchored = false
end
end
if UNANCHOR == true then
RootPart.Anchored = false
else
RootPart.Anchored = true
end
end

--//=================================\\
--|| WRAP THE WHOLE SCRIPT UP
--\\=================================//

Humanoid.Changed:connect(function(Jump)
if Jump == "Jump" and (Disable_Jump == true) then
Humanoid.Jump = false
elseif Jump == "Jump" and (Disable_Jump == false) and DOUBLED == false then
wait(0.1)
READYTODOUBLE = true
end
end)

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 = 8 / (Humanoid.WalkSpeed / 16)
if ANIM == "Walk" and TORSOVELOCITY > 1 then
RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0.1 * COS(SINE /
(WALKSPEEDVALUE/2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed /
16) / 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) - 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) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.25 * SIN(SINE /
WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0),
RAD(10+50 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE /
WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.25 * SIN(SINE /
WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-
10+50 * COS(SINE / WALKSPEEDVALUE))), 0.6 / 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, -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.7 / 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.7 / Animation_Speed)
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(-
5), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) *
ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(-35), RAD(0), RAD(25 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 /
Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(-35), RAD(0), RAD(-25 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 /
Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(1),
RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85),
RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / 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(15), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) *
ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(45 + 10 * COS(SINE / 12))) *
RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(-45 - 10 * COS(SINE / 12))) *
LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.7) * ANGLES(RAD(-25 + 5
* SIN(SINE / 12)), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0),
RAD(0)), 1 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8, -0.3) * ANGLES(RAD(-10),
RAD(-80), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
ANIM = "Idle"
DOUBLED = false
READYTODOUBLE = false
if ATTACK == false then
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -0.1 + 0.05 *
SIN(SINE / 12)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(-5 - 2.5 * SIN(SINE / 12)), RAD(7 * COS(SINE / 24)), RAD(0)), 1 /
Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5 + 0.05 *
SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(0), RAD(-100)) * ANGLES(RAD(20), RAD(0),
RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.3 + 0.05 * SIN(SINE /
12), -0.35) * ANGLES(RAD(0), RAD(0), RAD(70)) * ANGLES(RAD(20), RAD(0), RAD(0)) *
LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * SIN(SINE / 12), 0) *
ANGLES(RAD(-10), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 /
Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) *
ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 /
Animation_Speed)
end
elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
ANIM = "Walk"
DOUBLED = false
READYTODOUBLE = false
if ATTACK == false then
RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.05) *
ANGLES(RAD(15), RAD(0), RAD(-7 * COS(SINE / (WALKSPEEDVALUE)))), 1 /
Animation_Speed)
Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) *
ANGLES(RAD(5 - 1 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(7 * COS(SINE /
(WALKSPEEDVALUE)))), 1 / Animation_Speed)
RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) *
ANGLES(RAD(-15), RAD(-5), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) *
ANGLES(RAD(-15), RAD(5), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0),
RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85),
RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
end
end
unanchor()
if Rooted == false then
Disable_Jump = false
Humanoid.WalkSpeed = Speed
elseif Rooted == true then
Disable_Jump = true
Humanoid.WalkSpeed = 0
end
BMUSIC.SoundId = "rbxassetid://"..SONGID
BMUSIC.Looped = true
BMUSIC.Pitch = PITCH
BMUSIC.Volume = VOLUME
BMUSIC.Playing = true
if BMUSIC.Parent ~= RootPart then
BMUSIC = IT("Sound",RootPart)
end
Humanoid.Name = "NONHUM"
HEALTHCOVER:TweenSize(UD2(1 * (Humanoid.Health / Humanoid.MaxHealth), 0, 1, 0),
"Out", "Quad", 0.1, 0.1)
HEALTHTEXT.Text = math.ceil(Humanoid.Health).."/"..Humanoid.MaxHealth
end

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

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

You might also like