Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if script == nil then return end
- ModelName = "Wanda"
- Player = script:FindFirstChild("Player") ~= nil and script.Player.Value or game:GetService("Players"):FindFirstChild("aidansty1")
- Selected = false
- Connected = false
- Button1Down = false
- CanUse = true
- Spell = 0
- SpellHotkey1 = 0
- SpellHotkey2 = 0
- SpellHotkey3 = 0
- SpellHotkey1Delay = 0
- SpellHotkey2Delay = 0
- SpellHotkey3Delay = 0
- Power = 100
- SpellGui = Instance.new("ScreenGui")
- SpellGui.Name = ModelName
- local Frame = Instance.new("Frame")
- Frame.Name = "Content"
- Frame.Size = UDim2.new(0, 165, 0, 60)
- Frame.Position = UDim2.new(0, 0, 0.5, -60)
- Frame.BackgroundColor3 = Color3.new(1, 1, 1)
- Frame.BorderColor3 = Color3.new(0, 0, 0)
- Frame.Parent = SpellGui
- local TextLabel = Instance.new("TextLabel")
- TextLabel.Name = "Weapon"
- TextLabel.Text = "Weapon: " ..ModelName
- TextLabel.Size = UDim2.new(1, 0, 0, 20)
- TextLabel.Position = UDim2.new(0, 0, 0, 0)
- TextLabel.BackgroundColor3 = Color3.new(1, 0, 0)
- TextLabel.BorderColor3 = Color3.new(0, 0, 0)
- TextLabel.Parent = Frame
- local TextLabel = Instance.new("TextLabel")
- TextLabel.Name = "SpellPrefix"
- TextLabel.Text = " Spell:"
- TextLabel.TextXAlignment = "Left"
- TextLabel.Size = UDim2.new(1, 0, 0, 20)
- TextLabel.Position = UDim2.new(0, 0, 0, 20)
- TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel.BorderColor3 = Color3.new(0, 0, 0)
- TextLabel.Parent = Frame
- local TextLabel = Instance.new("TextLabel")
- TextLabel.Name = "Spell"
- TextLabel.Text = "None"
- TextLabel.TextXAlignment = "Right"
- TextLabel.Size = UDim2.new(1, 0, 0, 20)
- TextLabel.Position = UDim2.new(0, -10, 0, 20)
- TextLabel.BackgroundTransparency = 1
- TextLabel.BorderSizePixel = 0
- TextLabel.Parent = Frame
- local TextLabel = Instance.new("TextLabel")
- TextLabel.Name = "PowerPrefix"
- TextLabel.Text = " Power:"
- TextLabel.TextXAlignment = "Left"
- TextLabel.Size = UDim2.new(1, 0, 0, 20)
- TextLabel.Position = UDim2.new(0, 0, 0, 40)
- TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
- TextLabel.BorderColor3 = Color3.new(0, 0, 0)
- TextLabel.Parent = Frame
- local TextLabel = Instance.new("TextLabel")
- TextLabel.Name = "Power"
- TextLabel.Text = "100"
- TextLabel.TextXAlignment = "Right"
- TextLabel.Size = UDim2.new(1, 0, 0, 20)
- TextLabel.Position = UDim2.new(0, -10, 0, 40)
- TextLabel.BackgroundTransparency = 1
- TextLabel.BorderSizePixel = 0
- TextLabel.Parent = Frame
- function UpdateGui(Format)
- if Selected == false then return end
- if Player:FindFirstChild("PlayerGui") == nil then return end
- if Player.PlayerGui:FindFirstChild(ModelName) == nil then
- SpellGui:Clone().Parent = Player.PlayerGui
- end
- if Spell == 1 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Arefu Slash (1P)"
- elseif Spell == 2 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Arefu Metoria (50P)"
- elseif Spell == 3 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Eccrando Bolt (25P)"
- elseif Spell == 4 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Eccrando Strike (~60P)"
- elseif Spell == 5 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Thius Dae (1P/2ms)"
- elseif Spell == 6 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Thius Heed (1P/2ms)"
- elseif Spell == 7 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Combuscus Phore (75P)"
- elseif Spell == 8 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Combuscus Burn (10P)"
- elseif Spell == 9 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Combuscus Vortex (50P)"
- elseif Spell == 10 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "C. Phore Nexus (100P)"
- elseif Spell == 11 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Kanamla Cysis (2P/1sec)"
- elseif Spell == 12 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Kanamla Tepidift (50P)"
- elseif Spell == 13 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Kanamla Jump (5P)"
- elseif Spell == 14 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Candora Hide (2P/1sec)"
- elseif Spell == 15 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Duraen Control (1P/?ms)"
- elseif Spell == 16 then
- Player.PlayerGui[ModelName].Content.Spell.Text = "Duraen Switch (?P)"
- else
- Player.PlayerGui[ModelName].Content.Spell.Text = "None"
- end
- if Power <= 0 then
- Player.PlayerGui[ModelName].Content.Power.Text = "Overheat (" ..math.abs(Power).. ")"
- else
- Player.PlayerGui[ModelName].Content.Power.Text = Power
- end
- end
- function CheckPlayer()
- if Player.Character == nil then return false end
- if Player.Character:FindFirstChild("Torso") == nil or Player.Character:FindFirstChild("Right Arm") == nil or Player.Character:FindFirstChild("Humanoid") == nil then return false end
- if Player.Character.Humanoid.Health <= 0 then return false end
- return true
- end
- function PlaySound(Name, SoundId, Pitch, Volume, Looped, Parent)
- local NewScript = game:service("InsertService"):LoadAsset(54471119)["QuickScript"]
- NewScript.Name = "PlaySound"
- NewScript.NewSource.Value = [[local Sound = Instance.new("Sound")
- Sound.Name = "]] ..(Name == nil and "Sound" or Name).. [["
- Sound.SoundId = "]] ..(SoundId == nil and "" or SoundId).. [["
- Sound.Pitch = ]] ..(Pitch == nil and 1 or Pitch).. [[
- Sound.Volume = ]] ..(Volume == nil and 1 or Volume).. [[
- Sound.Looped = ]] ..(Looped == true and "true" or "false").. [[
- Sound.Parent = script.Parent
- Sound:Play()
- script:Remove()]]
- NewScript.Debug:Remove()
- NewScript.Parent = Parent
- end
- function SetPartTouched(Function, Parent)
- pcall(function() Parent.TouchConnector:Remove() end)
- local NewScript = game:service("InsertService"):LoadAsset(54471119)["QuickScript"]
- NewScript.Name = "TouchConnector"
- NewScript.NewSource.Value = [[script.Parent.Touched:connect(function(Hit)
- ]] ..Function.. [[
- end)]]
- NewScript.Debug:Remove()
- NewScript.Parent = Parent
- end
- function CreateParts(Parent, Format)
- if Parent == nil then return end
- local Parts = Instance.new("Model")
- Parts.Name = ModelName
- if Format == 1 then
- Parts.Name = Parts.Name.. " (Holstered)"
- end
- Parts.Parent = Parent
- local MasterPart = Instance.new("Part")
- MasterPart.Name = "Handle"
- MasterPart.formFactor = "Custom"
- MasterPart.Size = Vector3.new(0.2, 2, 0.2)
- MasterPart.BrickColor = BrickColor.new("Reddish brown")
- MasterPart.Locked = true
- MasterPart.TopSurface = 0
- MasterPart.BottomSurface = 0
- MasterPart.Parent = Parts
- local Mesh = Instance.new("SpecialMesh", MasterPart)
- local Weld = Instance.new("Weld")
- Weld.Part0 = MasterPart
- if Format == 1 then
- Weld.Part1 = Player.Character:FindFirstChild("Right Leg")
- Weld.C0 = CFrame.new(0, 0.1, -0.55) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
- Weld.C1 = CFrame.new()
- Weld.Parent = MasterPart
- elseif Format == 2 then
- Weld.Part1 = Player.Character:FindFirstChild("Right Arm")
- Weld.C0 = CFrame.new(0, -0.75, 0.9) * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
- Weld.C1 = CFrame.new()
- Weld.Parent = MasterPart
- end
- local Sound = Instance.new("Sound")
- Sound.Name = "Shine"
- Sound.SoundId = "http://www.roblox.com/Asset/?id=2101144"
- Sound.Parent = MasterPart
- local Sound = Sound:Clone()
- Sound.Name = "Bolt"
- Sound.SoundId = "http://www.roblox.com/Asset/?id=2974000"
- Sound.Parent = MasterPart
- local Sound = Sound:Clone()
- Sound.Name = "Impact1"
- Sound.SoundId = "http://www.roblox.com/Asset/?id=10209596"
- Sound.Parent = MasterPart
- local Sound = Sound:Clone()
- Sound.Name = "Charge1"
- Sound.SoundId = "http://www.roblox.com/Asset/?id=1369158"
- Sound.Parent = MasterPart
- local Sound = Sound:Clone()
- Sound.Name = "Charge2"
- Sound.SoundId = "http://www.roblox.com/Asset/?id=2101137"
- Sound.Parent = MasterPart
- local Sound = Sound:Clone()
- Sound.Name = "Charge3"
- Sound.SoundId = "http://www.roblox.com/Asset/?id=2785493"
- Sound.Parent = MasterPart
- local Sound = Sound:Clone()
- Sound.Name = "Charge4"
- Sound.SoundId = "http://www.roblox.com/Asset/?id=35275769"
- Sound.Parent = MasterPart
- local Sound = Sound:Clone()
- Sound.Name = "Fire1"
- Sound.SoundId = "http://www.roblox.com/Asset/?id=10209268"
- Sound.Parent = MasterPart
- local Sound = Sound:Clone()
- Sound.Name = "Fire2"
- Sound.SoundId = "http://www.roblox.com/Asset/?id=13775466"
- Sound.Parent = MasterPart
- local Sound = Sound:Clone()
- Sound.Name = "Fire3"
- Sound.SoundId = "http://www.roblox.com/Asset/?id=2767090"
- Sound.Parent = MasterPart
- local Sound = Sound:Clone()
- Sound.Name = "Fire4"
- Sound.SoundId = "http://www.roblox.com/Asset/?id=2800815"
- Sound.Parent = MasterPart
- local Sound = Sound:Clone()
- Sound.Name = "Fire5"
- Sound.SoundId = "http://www.roblox.com/Asset/?id=2974249"
- Sound.Parent = MasterPart
- local Part = MasterPart:Clone()
- Part.Parent = Parts
- Part.Name = "Source"
- Part.formFactor = "Custom"
- Part.Size = Vector3.new(1, 1, 1)
- Part.Transparency = 1
- Part.BrickColor = BrickColor.new("Really black")
- Part.CanCollide = false
- Part.Mesh.MeshType = "Sphere"
- Part.Mesh.Scale = Vector3.new(1, 1, 1)
- local Weld = Instance.new("Weld")
- Weld.Part0 = Part
- Weld.Part1 = MasterPart
- Weld.C0 = CFrame.new()
- Weld.C1 = CFrame.new(0, 1, 0)
- Weld.Parent = Part
- local Fire = Instance.new("Fire")
- Fire.Enabled = false
- Fire.Parent = Part
- end
- function RemoveParts(Parent, Format)
- if Format == 1 then
- pcall(function() Parent[ModelName.. " (Holstered)"]:Remove() end)
- elseif Format == 2 then
- pcall(function() Parent[ModelName]:Remove() end)
- end
- end
- function SetAngle(Joint, Angle, Character)
- if Character == nil then return false end
- local Joints = {
- Character.Torso:FindFirstChild("Right Shoulder 2"),
- Character.Torso:FindFirstChild("Left Shoulder 2"),
- Character.Torso:FindFirstChild("Right Hip 2"),
- Character.Torso:FindFirstChild("Left Hip 2")
- }
- if Joints[Joint] == nil then return false end
- if Joint == 1 or Joint == 3 then
- Joints[Joint].DesiredAngle = Angle
- end
- if Joint == 2 or Joint == 4 then
- Joints[Joint].DesiredAngle = -Angle
- end
- end
- function ForceAngle(Joint, Angle, Character)
- if Character == nil then return false end
- local Joints = {
- Character.Torso:FindFirstChild("Right Shoulder 2"),
- Character.Torso:FindFirstChild("Left Shoulder 2"),
- Character.Torso:FindFirstChild("Right Hip 2"),
- Character.Torso:FindFirstChild("Left Hip 2")
- }
- if Joints[Joint] == nil then return false end
- if Joint == 1 or Joint == 3 then
- Joints[Joint].DesiredAngle = Angle
- Joints[Joint].CurrentAngle = Angle
- end
- if Joint == 2 or Joint == 4 then
- Joints[Joint].DesiredAngle = -Angle
- Joints[Joint].CurrentAngle = -Angle
- end
- end
- function SetSpeed(Joint, Speed, Character)
- if Character == nil then return false end
- local Joints = {
- Character.Torso:FindFirstChild("Right Shoulder 2"),
- Character.Torso:FindFirstChild("Left Shoulder 2"),
- Character.Torso:FindFirstChild("Right Hip 2"),
- Character.Torso:FindFirstChild("Left Hip 2")
- }
- if Joints[Joint] == nil then return false end
- Joints[Joint].MaxVelocity = Speed
- end
- function DisableLimb(Limb, Character)
- if Character == nil then return false end
- if Character:FindFirstChild("Torso") == nil then return false end
- local Joints = {
- Character.Torso:FindFirstChild("Right Shoulder"),
- Character.Torso:FindFirstChild("Left Shoulder"),
- Character.Torso:FindFirstChild("Right Hip"),
- Character.Torso:FindFirstChild("Left Hip")
- }
- local Limbs = {
- Character:FindFirstChild("Right Arm"),
- Character:FindFirstChild("Left Arm"),
- Character:FindFirstChild("Right Leg"),
- Character:FindFirstChild("Left Leg")
- }
- if Joints[Limb] == nil then return false end
- if Limbs[Limb] == nil then return false end
- local Joint = Instance.new("Motor")
- Joint.Parent = Character.Torso
- Joint.Part0 = Character.Torso
- Joint.Part1 = Limbs[Limb]
- if Limb == 1 then
- Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
- Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
- Joint.Name = "Right Shoulder 2"
- elseif Limb == 2 then
- Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
- Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
- Joint.Name = "Left Shoulder 2"
- elseif Limb == 3 then
- Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
- Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
- Joint.Name = "Right Hip 2"
- elseif Limb == 4 then
- Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
- Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
- Joint.Name = "Left Hip 2"
- end
- Joint.MaxVelocity = Joints[Limb].MaxVelocity
- Joint.CurrentAngle = Joints[Limb].CurrentAngle
- Joint.DesiredAngle = Joints[Limb].DesiredAngle
- Joints[Limb]:Remove()
- end
- function ResetLimbCFrame(Limb, Character)
- if Character == nil then return false end
- if Character.Parent == nil then return false end
- if Character:FindFirstChild("Torso") == nil then return false end
- local Joints = {
- Character.Torso:FindFirstChild("Right Shoulder 2"),
- Character.Torso:FindFirstChild("Left Shoulder 2"),
- Character.Torso:FindFirstChild("Right Hip 2"),
- Character.Torso:FindFirstChild("Left Hip 2")
- }
- local Limbs = {
- Character:FindFirstChild("Right Arm"),
- Character:FindFirstChild("Left Arm"),
- Character:FindFirstChild("Right Leg"),
- Character:FindFirstChild("Left Leg")
- }
- if Joints[Limb] == nil then return false end
- if Limbs[Limb] == nil then return false end
- if Limb == 1 then
- Joints[Limb].C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
- Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
- elseif Limb == 2 then
- Joints[Limb].C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
- Joints[Limb].C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
- elseif Limb == 3 then
- Joints[Limb].C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
- Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
- elseif Limb == 4 then
- Joints[Limb].C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
- Joints[Limb].C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
- end
- end
- function EnableLimb(Limb, Character)
- if Character == nil then return false end
- if Character:FindFirstChild("Torso") == nil then return false end
- local Joints = {
- Character.Torso:FindFirstChild("Right Shoulder 2"),
- Character.Torso:FindFirstChild("Left Shoulder 2"),
- Character.Torso:FindFirstChild("Right Hip 2"),
- Character.Torso:FindFirstChild("Left Hip 2")
- }
- local Limbs = {
- Character:FindFirstChild("Right Arm"),
- Character:FindFirstChild("Left Arm"),
- Character:FindFirstChild("Right Leg"),
- Character:FindFirstChild("Left Leg")
- }
- if Joints[Limb] == nil then return false end
- if Limbs[Limb] == nil then return false end
- if Limb == 1 then
- Joints[Limb].Name = "Right Shoulder"
- elseif Limb == 2 then
- Joints[Limb].Name = "Left Shoulder"
- elseif Limb == 3 then
- Joints[Limb].Name = "Right Hip"
- elseif Limb == 4 then
- Joints[Limb].Name = "Left Hip"
- end
- Animate = Character:FindFirstChild("Animate")
- if Animate == nil then return false end
- Animate = Animate:Clone()
- Character.Animate:Remove()
- Animate.Parent = Character
- end
- function Weld(x, y)
- local Weld = Instance.new("Weld")
- Weld.Part0 = x
- Weld.Part1 = y
- Weld.C0 = x.CFrame:inverse() * CFrame.new(x.Position)
- Weld.C1 = y.CFrame:inverse() * CFrame.new(x.Position)
- Weld.Parent = x
- end
- function TagHumanoid(humanoid)
- local tag = Instance.new("ObjectValue")
- tag.Name = "creator"
- tag.Value = Player
- tag.Parent = humanoid
- end
- function untagHumanoid(humanoid)
- if humanoid ~= nil then
- local tag = humanoid:FindFirstChild("creator")
- if tag ~= nil then
- tag:Remove()
- end
- end
- end
- function onButton1Down(Mouse)
- if Button1Down == true then return end
- Button1Down = true
- if CheckPlayer() == false or Power <= 0 then return end
- if Player.Character == nil then return end
- if Player.Character:FindFirstChild("Humanoid") == nil then return end
- if Player.Character.Humanoid.Health <= 0 then return end
- if Player.Character:FindFirstChild(ModelName) == nil then return end
- if Player.Character[ModelName]:FindFirstChild("Handle") == nil then return end
- if Player.Character[ModelName]:FindFirstChild("Source") == nil then return end
- if CanUse == true then
- if Spell == 1 then
- --Arefu Slash, projectile class. Uses hardened air particles to create razor-sharp projectiles.
- CanUse = false
- while Button1Down == true do
- if Power <= 0 then break end
- coroutine.wrap(function()
- Player.Character[ModelName].Source.Transparency = 0
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Bright green")
- Player.Character[ModelName].Source.Fire.Enabled = true
- Player.Character[ModelName].Source.Fire.Heat = math.random(5, 10)
- Player.Character[ModelName].Source.Fire.Size = math.random(5, 10)
- Player.Character[ModelName].Source.Fire.Color = Color3.new(0, 1, 0)
- Player.Character[ModelName].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
- local Base1 = math.random(25, 150) / 100
- Base1 = Vector3.new(Base1, Base1, Base1)
- local Base2 = math.random(250, 750) / 100
- for i = 0, 1, 0.1 do
- Player.Character[ModelName].Source.Mesh.Scale = Base1 + (Vector3.new(i, i, i) * Base2)
- Player.Character[ModelName].Source.Transparency = i
- wait()
- end
- Player.Character[ModelName].Source.Fire.Enabled = false
- end)()
- PlaySound("Fire2", Player.Character[ModelName].Handle.Fire2.SoundId, 1, 1, false, Player.Character[ModelName].Source)
- Power = Power - 1
- local Air = Instance.new("Part", workspace)
- Air.Name = "Air"
- Air.formFactor = "Custom"
- Air.Size = Vector3.new(0.2, 0.2, 3)
- Air.TopSurface = "Smooth"
- Air.BottomSurface = "Smooth"
- Air.BrickColor = BrickColor.new("Institutional white")
- Air.CanCollide = false
- Air.Anchored = true
- Air.Transparency = math.random(0, 5) / 10
- Air.CFrame = CFrame.new(Mouse.Hit.p + Vector3.new(math.random(-100, 100), math.random(-100, 100), math.random(-100, 100)), Mouse.Hit.p)
- Air:BreakJoints()
- local Mesh = Instance.new("SpecialMesh", Air)
- Mesh.MeshType = "Sphere"
- coroutine.wrap(function()
- local function Break(Source, Children)
- if Source == nil then Source = workspace end
- if Children == nil then Children = {} end
- for _, Part in pairs(Source:GetChildren()) do
- if Part:IsA("BasePart") and Part ~= Air and Part.Parent ~= Air then
- if (Part.Position - Air.Position).magnitude < 5 then
- table.insert(Children, Part)
- if Part.Anchored == false then
- Part.Velocity = (Part.Position - Air.Position).unit * 5
- end
- if math.random(0, 10) == 0 then
- Part:BreakJoints()
- if Part:GetMass() < 250 then
- Part.Anchored = false
- end
- end
- if Part.Parent:FindFirstChild("Humanoid") ~= nil then
- pcall(function()
- Part.Parent.Humanoid:TakeDamage(math.random(0, 3))
- if math.random(0, (1 - Percent) * 5) == 0 then Part.Parent.Humanoid.Sit = true end
- end)
- end
- end
- end
- Break(Part, Children)
- end
- return Children
- end
- while Air.Parent ~= nil do
- Air.CFrame = Air.CFrame * CFrame.new(0, 0, -7.5)
- Break()
- wait()
- end
- end)()
- coroutine.wrap(function()
- wait(3)
- Air:Remove()
- end)()
- wait()
- end
- CanUse = true
- elseif Spell == 2 then
- --Arefu Metoria, projectile class. Uses Meteors.
- if Mouse.Target == nil then return end
- local Position = Mouse.Hit.p
- CanUse = false
- Power = Power - 50
- local Size = math.random(10, 30)
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.Transparency = 0
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Bright green")
- PlaySound("Charge2", Player.Character[ModelName].Handle.Charge2.SoundId, 0.25, 1, false, Player.Character[ModelName].Source)
- local Beam = Instance.new("Part", workspace)
- Beam.Name = "Beam"
- Beam.BrickColor = BrickColor.new("Bright green")
- Beam.TopSurface = 0
- Beam.BottomSurface = 0
- Beam.Size = Vector3.new(1, 1, 1)
- Beam.Transparency = 0.5
- Beam.Anchored = true
- Beam.CanCollide = false
- Beam.CFrame = CFrame.new(Position)
- local Mesh = Instance.new("CylinderMesh", Beam)
- for i = 0, 1, 0.02 do
- local Shine = Instance.new("Part")
- Shine.Name = "Shine"
- Shine.formFactor = "Symmetric"
- Shine.Shape = "Ball"
- Shine.CanCollide = false
- Shine.BrickColor = BrickColor.new("Bright green")
- Shine.TopSurface = 0
- Shine.BottomSurface = 0
- Shine.Size = Vector3.new(1, 1, 1)
- Shine.Transparency = 0.25
- Shine.CFrame = CFrame.new(Player.Character[ModelName].Source.Position + Vector3.new(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)))
- Shine.Parent = workspace
- local BodyPosition = Instance.new("BodyPosition", Shine)
- BodyPosition.D = 7000
- BodyPosition.P = 100000
- BodyPosition.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- BodyPosition.position = Player.Character[ModelName].Source.Position
- coroutine.wrap(function()
- for i = 0, 10 do
- BodyPosition.position = Player.Character[ModelName].Source.Position
- wait()
- end
- Shine:Remove()
- end)()
- Mesh.Scale = Vector3.new(Size * i, 10000, Size * i)
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(i, i, i) * 5
- Player.Character[ModelName].Source.Transparency = (1 - i)
- wait()
- end
- for i = 0, 1, 0.1 do
- Beam.Transparency = i
- Player.Character[ModelName].Source.Transparency = i
- wait()
- end
- Beam:Remove()
- Player.Character[ModelName].Source.Transparency = 1
- wait(0.5)
- local Meteor = Instance.new("Part", workspace)
- Meteor.Name = "Meteor"
- Meteor.BrickColor = BrickColor.new("Bright red")
- Meteor.CanCollide = true
- Meteor.Locked = true
- Meteor.formFactor = "Custom"
- Meteor.Shape = "Ball"
- Meteor.Size = Vector3.new(Size, Size, Size)
- Meteor.RotVelocity = Vector3.new(math.random(-1000, 1000), math.random(-1000, 1000), math.random(-1000, 1000))
- Meteor:BreakJoints()
- Meteor.CFrame = CFrame.new(Position + Vector3.new(0, 1000, 0))
- Meteor.Velocity = Vector3.new(0, -100, 0)
- local Fire = Instance.new("Fire", Meteor)
- Fire.Heat = 0
- Fire.Size = Size
- local Smoke = Instance.new("Smoke", Meteor)
- Smoke.RiseVelocity = 0
- Smoke.Size = Size + 3
- Smoke.Color = Color3.new(50 / 255, 50 / 255, 50 / 255)
- Smoke.Opacity = 0.5
- local Mesh = Instance.new("SpecialMesh", Meteor)
- Mesh.MeshType = "FileMesh"
- Mesh.MeshId = "http://www.roblox.com/Asset/?id=1290033"
- Mesh.TextureId = "http://www.roblox.com/Asset/?id=1290030"
- Mesh.Scale = Meteor.Size-- / 1.5
- Mesh.VertexColor = Vector3.new(1, 0, 0)
- Instance.new("BoolValue", Meteor).Name = "HasHit"
- SetPartTouched([[function Weld(x, y)
- local Weld = Instance.new("Weld")
- Weld.Part0 = x
- Weld.Part1 = y
- Weld.C0 = x.CFrame:inverse() * CFrame.new(x.Position)
- Weld.C1 = y.CFrame:inverse() * CFrame.new(x.Position)
- Weld.Parent = x
- end
- local Meteor = script.Parent
- local Size = Meteor.Size.x * 1.5
- local HasHit = Meteor.HasHit
- if HasHit.Value == true then return end
- if Hit:GetMass() < 500 then
- Hit:BreakJoints()
- return
- end
- HasHit.Value = true
- local OldMeteor = Meteor
- local Meteor = Meteor:Clone()
- Meteor.TouchConnector:Remove()
- Meteor.CFrame = CFrame.new(OldMeteor.Position)
- OldMeteor:Remove()
- Weld(Hit, Meteor)
- Meteor.Parent = workspace
- Meteor.Fire.Heat = 50
- local Sound = Instance.new("Sound", workspace)
- Sound.SoundId = "rbxasset://sounds\\Launching rocket.wav"
- Sound.Pitch = (30 - Meteor.Size.x) / 25
- Sound:Play()
- local Shards = {}
- for i = 0, math.random(10, 30) do
- local Shard = Instance.new("Part", workspace)
- Shard.Name = "Ground Shard"
- Shard.Anchored = true
- Shard.Locked = true
- Shard.BrickColor = Hit.BrickColor
- Shard.Size = Vector3.new(Size + 10, 2, Size)
- Shard.CFrame = CFrame.new(Meteor.Position - Vector3.new(0, Size / 2, 0)) * CFrame.fromEulerAnglesXYZ(0, math.rad(math.random(0, 360)), math.rad(math.random(0, 25)))
- table.insert(Shards, Shard)
- end
- local Shock = Instance.new("Part", workspace)
- Shock.Name = "Shock Ring"
- Shock.formFactor = "Custom"
- Shock.Size = Vector3.new(1, 1, 1)
- Shock.BrickColor = BrickColor.new("Institutional white")
- Shock.Anchored = true
- Shock.CanCollide = false
- local Mesh = Instance.new("SpecialMesh", Shock)
- Mesh.MeshType = "FileMesh"
- Mesh.MeshId = "http://www.roblox.com/Asset/?id=3270017"
- local Tilt1 = math.random(-10, 10)
- local Tilt1 = math.random(-10, 10)
- local Tilt2 = math.random(-10, 10)
- local TiltChance = math.random(1, 3)
- for i = 0, 50 do
- Shock.Mesh.Scale = Vector3.new(i, i, i)
- if TiltChance == 1 then
- Shock.CFrame = CFrame.new(Meteor.Position - Vector3.new(0, Meteor.Size.y / 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + Tilt1), 0, 0)
- elseif TiltChance == 2 then
- Shock.CFrame = CFrame.new(Meteor.Position - Vector3.new(0, Meteor.Size.y / 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(Tilt2), 0)
- elseif TiltChance == 3 then
- Shock.CFrame = CFrame.new(Meteor.Position - Vector3.new(0, Meteor.Size.y / 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + Tilt1), math.rad(Tilt2), 0)
- end
- wait()
- end
- for i = 0, 1, 0.1 do
- Shock.Transparency = i
- wait()
- end
- Shock:Remove()
- wait(math.random(1, 10))
- if Meteor.Parent == nil then return end
- local Explosion = Instance.new("Explosion")
- Explosion.BlastPressure = 100000
- Explosion.Position = Meteor.Position
- Explosion.BlastRadius = Meteor.Size.y * 2
- Explosion.Parent = workspace
- local Sound = Instance.new("Sound", workspace)
- Sound.Name = "Explosion"
- Sound.Pitch = (30 - Size) / 20
- Sound.SoundId = "http://www.roblox.com/Asset/?id=2101148"
- Sound:Play()
- for i = 0, math.random(5, 25) do
- Sound:Play()
- for i = 0, math.random(5, 25) do
- local MeteorChunkSize = math.random(1, 5)
- local MeteorChunk = Meteor:Clone()
- pcall(function() MeteorChunk.Main:Remove() end)
- MeteorChunk.Size = Vector3.new(MeteorChunkSize, MeteorChunkSize, MeteorChunkSize)
- MeteorChunk.Mesh.Scale = Vector3.new(MeteorChunkSize, MeteorChunkSize, MeteorChunkSize)
- MeteorChunk.CanCollide = true
- MeteorChunk.Anchored = false
- MeteorChunk.CFrame = CFrame.new(Meteor.Position + Vector3.new(math.random(-Size / 2, Size / 2), math.random(-Size / 2, Size / 2), math.random(-Size / 2, Size / 2))) * CFrame.fromEulerAnglesXYZ(math.random(0, 360), math.random(0, 360), math.random(0, 360))
- MeteorChunk.Velocity = Vector3.new(math.random(-100, 100), math.random(10, 250), math.random(-100, 100))
- MeteorChunk.RotVelocity = Vector3.new(math.random(-500, 500), math.random(-500, 500), math.random(-500, 500))
- MeteorChunk.Parent = workspace
- coroutine.wrap(function()
- wait(math.random(100, 300) / 100)
- MeteorChunk.Fire.Enabled = false
- MeteorChunk.Smoke.Enabled = false
- wait(math.random(250, 300) / 100)
- MeteorChunk.CanCollide = false
- end)()
- end
- for i = 1, #Shards do
- if Shards[i].Parent ~= nil then
- if math.random(1, 2) == 1 then
- Shards[i]:Remove()
- else
- Shards[i].CanCollide = false
- Shards[i].Anchored = false
- Shards[i].RotVelocity = Vector3.new(math.random(-500, 500), math.random(-500, 500), math.random(-500, 500))
- Shards[i].Velocity = Vector3.new(math.random(-100, 100), math.random(10, 250), math.random(-100, 100))
- end
- end
- end
- Meteor:Remove()]], Meteor)
- CanUse = true
- elseif Spell == 3 then
- --Eccrando Bolt, energy class. Fires a charged bolt of energy gathered in your wand.
- CanUse = false
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.Transparency = 0
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("New Yeller")
- PlaySound("Charge1", Player.Character[ModelName].Handle.Charge1.SoundId, 0.85, 1, false, Player.Character[ModelName].Source)
- for i = 0, 1, 0.075 do
- local Shine = Instance.new("Part")
- Shine.Name = "Shine"
- Shine.formFactor = "Symmetric"
- Shine.Shape = "Ball"
- Shine.CanCollide = false
- Shine.BrickColor = BrickColor.new("New Yeller")
- Shine.TopSurface = 0
- Shine.BottomSurface = 0
- Shine.Size = Vector3.new(1, 1, 1)
- Shine.Transparency = 0.25
- Shine.CFrame = CFrame.new(Player.Character[ModelName].Source.Position + Vector3.new(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)))
- Shine.Parent = workspace
- local BodyPosition = Instance.new("BodyPosition")
- BodyPosition.D = 7000
- BodyPosition.P = 100000
- BodyPosition.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- BodyPosition.position = Player.Character[ModelName].Source.Position
- BodyPosition.Parent = Shine
- coroutine.wrap(function()
- for i = 0, 10 do
- BodyPosition.position = Player.Character[ModelName].Source.Position
- wait()
- end
- Shine:Remove()
- end)()
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(i * 2, i * 2, i * 2)
- wait()
- Power = Power - 1
- end
- for i = 1, 2, 0.075 do
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(i * 2, i * 2, i * 2)
- Power = Power - 1
- wait()
- end
- local First = true
- while Button1Down == true or First == true do
- if Mouse == nil then break end
- if Power < 0 and First == false then break end
- First = false
- Power = Power - 5
- PlaySound("Fire1", Player.Character[ModelName].Handle.Fire1.SoundId, 1, 1, false, Player.Character[ModelName].Source)
- local Explosion = Instance.new("Explosion")
- Explosion.BlastPressure = 500000
- Explosion.BlastRadius = 10
- Explosion.Position = Mouse.Hit.p
- Explosion.Parent = workspace
- for i = 1, math.random(5, 25) do
- local Shine = Instance.new("Part")
- Shine.Name = "Shine"
- Shine.formFactor = "Symmetric"
- Shine.Shape = "Block"
- Shine.CanCollide = false
- Shine.Anchored = true
- Shine.BrickColor = BrickColor.new("New Yeller")
- Shine.TopSurface = 0
- Shine.BottomSurface = 0
- Shine.Size = Vector3.new(1, 1, 1)
- Shine.Transparency = 0.25
- Shine.CFrame = CFrame.new(Mouse.Hit.p)
- Shine.Parent = workspace
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "Brick"
- local random = math.random(3, 10) / 10
- Mesh.Scale = Vector3.new(random, random, random)
- Mesh.Parent = Shine
- coroutine.wrap(function()
- for i = Shine.Transparency, 1, 0.05 do
- Shine.Transparency = i
- Shine.CFrame = CFrame.new(Shine.Position + Vector3.new(math.random(-10, 10) / 10, math.random(-10, 10) / 10, math.random(-10, 10) / 10)) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)))
- wait(math.random(1, 5) / 100)
- end
- Shine:Remove()
- end)()
- end
- for i = 1, math.random(2, 5) do
- local Shine = Instance.new("Part")
- Shine.Name = "Shine"
- Shine.formFactor = "Symmetric"
- Shine.Shape = "Block"
- Shine.CanCollide = false
- Shine.Anchored = true
- Shine.BrickColor = BrickColor.new("New Yeller")
- Shine.TopSurface = 0
- Shine.BottomSurface = 0
- Shine.Size = Vector3.new(1, 1, 1)
- Shine.Transparency = 0.25
- Shine.CFrame = CFrame.new(Mouse.Hit.p + Vector3.new(math.random(-10, 10) / 10, math.random(-10, 10) / 10, math.random(-10, 10) / 10))
- Shine.Parent = workspace
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "Sphere"
- local random = math.random(3, 10) / 10
- Mesh.Scale = Vector3.new(random, random, random)
- Mesh.Parent = Shine
- coroutine.wrap(function()
- for i = Shine.Transparency, 1, 0.05 do
- Shine.Transparency = i
- Shine.Mesh.Scale = Shine.Mesh.Scale + Vector3.new(1, 1, 1)
- wait(math.random(1, 5) / 100)
- end
- Shine:Remove()
- end)()
- end
- local Beam = Instance.new("Part")
- Beam.BrickColor = BrickColor.new("New Yeller")
- Beam.TopSurface = 0
- Beam.BottomSurface = 0
- Beam.Size = Vector3.new(1, 1, 1)
- Beam.Transparency = 0.4
- Beam.Anchored = true
- Beam.CanCollide = false
- Beam.CFrame = CFrame.new((Player.Character[ModelName].Source.Position + Mouse.Hit.p) / 2, Mouse.Hit.p)
- Beam.Parent = workspace
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "Brick"
- Mesh.Scale = Vector3.new(math.random(2, 5) / 10, math.random(2, 5) / 10, (Mouse.Hit.p - Player.Character[ModelName].Source.Position).magnitude)
- Mesh.Parent = Beam
- coroutine.wrap(function()
- wait(0.1)
- for i = Beam.Transparency, 1, 0.05 do
- Beam.Transparency = i
- wait(0.1)
- end
- Beam:Remove()
- end)()
- for i = 0, 1, 0.05 do
- Player.Character[ModelName].Source.Transparency = i
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new((1 - i) * 6.75, (1 - i) * 6.75, (1 - i) * 6.75)
- Power = Power - 1
- wait()
- end
- wait(0.3)
- end
- Player.Character[ModelName].Source.Transparency = 1
- CanUse = true
- elseif Spell == 4 then
- --Eccrando Strike, energy class. Use the clouds to your advantage and fire bolts of lightning at the ground.
- while Button1Down == true do
- while Power <= 25 and Button1Down == true do
- wait()
- end
- if Mouse == nil then break end
- CanUse = false
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.Transparency = 0
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("New Yeller")
- PlaySound("Charge1", Player.Character[ModelName].Handle.Charge1.SoundId, 0.4, 1, false, Player.Character[ModelName].Source)
- for i = 0, 1, 1 / math.random(40, 50) do
- local Shine = Instance.new("Part")
- Shine.Name = "Shine"
- Shine.formFactor = "Symmetric"
- Shine.Shape = "Ball"
- Shine.CanCollide = false
- Shine.BrickColor = BrickColor.new("New Yeller")
- Shine.TopSurface = 0
- Shine.BottomSurface = 0
- Shine.Size = Vector3.new(1, 1, 1)
- Shine.Transparency = 0.25
- Shine.CFrame = CFrame.new(Player.Character[ModelName].Source.Position + Vector3.new(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)))
- Shine.Parent = workspace
- local BodyPosition = Instance.new("BodyPosition")
- BodyPosition.D = 7000
- BodyPosition.P = 100000
- BodyPosition.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- BodyPosition.position = Player.Character[ModelName].Source.Position
- BodyPosition.Parent = Shine
- coroutine.wrap(function()
- for i = 0, 10 do
- BodyPosition.position = Player.Character[ModelName].Source.Position
- wait()
- end
- Shine:Remove()
- end)()
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(i * 8.5, i * 8.5, i * 8.5)
- Power = Power - 1
- wait()
- end
- Power = Power - 10
- if Mouse == nil then break end
- PlaySound("ID", "rbxasset://sounds\\Halloween" ..(math.random(1, 2) == 1 and "Thunder" or "Lightning").. ".wav", math.random(10, 50) / 10, math.random(9, 11) / 10, false, workspace)
- PlaySound("ID", "rbxasset://sounds\\Halloween" ..(math.random(1, 2) == 1 and "Thunder" or "Lightning").. ".wav", math.random(1, 10) / 10, math.random(1, 30) / 10, false, workspace)
- local Explosion = Instance.new("Explosion")
- Explosion.BlastPressure = 1000000
- Explosion.BlastRadius = 25
- Explosion.Position = Mouse.Hit.p
- Explosion.Parent = workspace
- local FinalPosition = Mouse.Hit.p + Vector3.new(math.random(-100, 100), 1000, math.random(-100, 100))
- local Beam = Instance.new("Part")
- Beam.BrickColor = BrickColor.new("New Yeller")
- Beam.TopSurface = 0
- Beam.BottomSurface = 0
- Beam.Size = Vector3.new(1, 1, 1)
- Beam.Transparency = 0.4
- Beam.Anchored = true
- Beam.CanCollide = false
- Beam.CFrame = CFrame.new((FinalPosition + Mouse.Hit.p) / 2, Mouse.Hit.p)
- Beam.Parent = workspace
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "Brick"
- Mesh.Scale = Vector3.new(math.random(40, 50) / 10, math.random(40, 50) / 10, (Mouse.Hit.p - FinalPosition).magnitude + 10)
- Mesh.Parent = Beam
- coroutine.wrap(function()
- wait(0.1)
- for i = Beam.Transparency, 1, 0.05 do
- Beam.Transparency = i
- wait(0.1)
- end
- Beam:Remove()
- end)()
- for i = 0, 1, 0.05 do
- Player.Character[ModelName].Source.Transparency = i
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new((1 - i) * 8, (1 - i) * 8, (1 - i) * 8)
- Power = Power - 1
- wait()
- end
- Player.Character[ModelName].Source.Transparency = 1
- wait(0.1)
- CanUse = true
- end
- elseif Spell == 5 then
- --Thius Dae, health-based class. Seep life from your enemies to save yourself. Works as a general defense against multiple enemies.
- CanUse = false
- Player.Character[ModelName].Source.Mesh.MeshType = "Brick"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.Transparency = 0.25
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Really black")
- Player.Character[ModelName].Handle.Charge4.Looped = true
- Player.Character[ModelName].Handle.Charge4.Volume = 1
- Player.Character[ModelName].Handle.Charge4.Pitch = 1
- Player.Character[ModelName].Handle.Charge4:Play()
- for i = 0, 10 do
- Player.Character[ModelName].Source.Mesh.Scale = Player.Character[ModelName].Source.Mesh.Scale * 1.11
- Player.Character[ModelName].Source.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)))
- wait()
- end
- for i = 0, math.huge, 0.1 do
- if Button1Down == false then break end
- if Player.Character == nil then break end
- if Player.Character:FindFirstChild("Humanoid") == nil then break end
- if Player.Character.Humanoid.Health <= 0 then break end
- if Player.Character:FindFirstChild(ModelName) == nil then break end
- if Player.Character[ModelName]:FindFirstChild("Handle") == nil then break end
- if Player.Character[ModelName]:FindFirstChild("Source") == nil then break end
- if Power <= 0 then break end
- local endstr = string.sub(tostring(i), string.len(tostring(i)), string.len(tostring(i)))
- if endstr == "0" or endstr == "2" or endstr == "4" or endstr == "6" or endstr == "8" then
- Power = Power - 1
- end
- Player.Character[ModelName].Source.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)))
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(math.sin(i) + 3, math.sin(i) + 3, math.sin(i) + 3)
- local Shine = Instance.new("Part")
- Shine.Name = "Shine"
- Shine.formFactor = "Symmetric"
- Shine.Shape = "Block"
- Shine.CanCollide = false
- Shine.Anchored = true
- Shine.BrickColor = BrickColor.new("Really black")
- Shine.TopSurface = 0
- Shine.BottomSurface = 0
- Shine.Size = Vector3.new(1, 1, 1)
- Shine.Transparency = 0.25
- Shine.CFrame = CFrame.new(Player.Character[ModelName].Source.Position)
- Shine.Parent = workspace
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "Brick"
- local random = math.random(3, 10) / 10
- Mesh.Scale = Vector3.new(random, random, random)
- Mesh.Parent = Shine
- coroutine.resume(coroutine.create(function(part)
- for i = 0.25 * 25, 25 do
- part.Transparency = i / 25
- part.CFrame = CFrame.new(part.Position + Vector3.new(math.random(-10, 10) / 10, math.random(-10, 10) / 10, math.random(-10, 10) / 10)) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)))
- wait(math.random(1, 5) / 100)
- end
- part:Remove()
- end), Shine)
- for _, model in pairs(workspace:GetChildren()) do
- if model ~= Player.Character then
- if model:FindFirstChild("Torso") ~= nil and model:FindFirstChild("Humanoid") ~= nil then
- if (Player.Character.Torso.Position - model.Torso.Position).magnitude <= 25 then
- local Beam = Instance.new("Part")
- Beam.BrickColor = BrickColor.new("Really black")
- Beam.TopSurface = 0
- Beam.BottomSurface = 0
- Beam.Size = Vector3.new(1, 1, 1)
- Beam.Transparency = 0.4
- Beam.Anchored = true
- Beam.CanCollide = false
- Beam.CFrame = CFrame.new((Player.Character[ModelName].Source.Position + model.Torso.Position) / 2, model.Torso.Position)
- Beam.Parent = workspace
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "Brick"
- Mesh.Scale = Vector3.new(math.random(2, 5) / 10, math.random(2, 5) / 10, (model.Torso.Position - Player.Character[ModelName].Source.Position).magnitude)
- Mesh.Parent = Beam
- coroutine.resume(coroutine.create(function(part) wait() part:Remove() end), Beam)
- if model.Humanoid.Health > 0 then
- model.Humanoid:TakeDamage(1.25)
- Player.Character.Humanoid.Health = Player.Character.Humanoid.Health + (1.25 / 2)
- elseif model.Humanoid.Health <= 0 then
- model.Humanoid.Health = 0
- model.Humanoid.Name = "HumanoidAbsorbed"
- for _, part in pairs(model:GetChildren()) do
- if part.className == "Part" then
- local position = Instance.new("BodyPosition")
- position.Name = "Thius Dae"
- position.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- position.P = 1000
- position.D = 50
- position.Parent = part
- position.position = Player.Character[ModelName].Source.Position
- coroutine.resume(coroutine.create(function() while position.Parent ~= nil do position.position = Player.Character[ModelName].Source.Position part.CanCollide = false wait() end end))
- coroutine.resume(coroutine.create(function() wait(3.5) position:Remove() end))
- end
- end
- Player.Character.Humanoid.Health = Player.Character.Humanoid.Health + 5
- Power = Power + 25
- Player.Character[ModelName].Handle.Fire4.Looped = false
- Player.Character[ModelName].Handle.Fire4.Volume = 1
- Player.Character[ModelName].Handle.Fire4.Pitch = 1
- Player.Character[ModelName].Handle.Fire4:Play()
- end
- end
- end
- end
- end
- wait()
- end
- for i = 0, 25 do
- Player.Character[ModelName].Source.Mesh.Scale = Player.Character[ModelName].Source.Mesh.Scale / 1.15
- Player.Character[ModelName].Source.Weld.C0 = CFrame.fromEulerAnglesXYZ(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)))
- Player.Character[ModelName].Handle.Charge4.Volume = (25 - i) / 25
- wait()
- end
- Player.Character[ModelName].Handle.Charge4:Stop()
- Player.Character[ModelName].Source.Transparency = 1
- Player.Character[ModelName].Source.Weld.C0 = CFrame.new()
- CanUse = true
- elseif Spell == 6 then
- --Thius Heed, health-based class. Heal people around you and sheild them.
- CanUse = false
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.Transparency = 0.25
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Institutional white")
- Player.Character[ModelName].Source.Fire.Enabled = true
- Player.Character[ModelName].Source.Fire.Heat = 10
- Player.Character[ModelName].Source.Fire.Size = 1
- Player.Character[ModelName].Source.Fire.Color = Color3.new(1, 1, 1)
- Player.Character[ModelName].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
- Player.Character[ModelName].Handle.Shine.Looped = true
- Player.Character[ModelName].Handle.Shine.Volume = 1
- Player.Character[ModelName].Handle.Shine.Pitch = 1
- Player.Character[ModelName].Handle.Shine:Play()
- for i = 0, 5 do
- Player.Character[ModelName].Source.Mesh.Scale = Player.Character[ModelName].Source.Mesh.Scale * 1.2
- Player.Character[ModelName].Source.Fire.Size = Player.Character[ModelName].Source.Fire.Size * 1.2
- wait()
- end
- local heed = Instance.new("ForceField")
- heed.Name = "HeedShield"
- for i = 0, math.huge, 0.1 do
- if Button1Down == false then break end
- if Player.Character == nil then break end
- if Player.Character:FindFirstChild("Humanoid") == nil then break end
- if Player.Character.Humanoid.Health <= 0 then break end
- if Player.Character:FindFirstChild(ModelName) == nil then break end
- if Player.Character[ModelName]:FindFirstChild("Handle") == nil then break end
- if Player.Character[ModelName]:FindFirstChild("Source") == nil then break end
- if Power <= 0 then break end
- local endstr = string.sub(tostring(i), string.len(tostring(i)), string.len(tostring(i)))
- if endstr == "0" or endstr == "2" or endstr == "4" or endstr == "6" or endstr == "8" then
- Power = Power - 1
- end
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(math.sin(i) + 3, math.sin(i) + 3, math.sin(i) + 3)
- Player.Character[ModelName].Source.Fire.Size = math.sin(i) + 10
- Player.Character[ModelName].Source.Fire.Heat = math.sin(i) + 10
- for _, model in pairs(workspace:GetChildren()) do
- if model:FindFirstChild("Torso") ~= nil and model:FindFirstChild("Humanoid") ~= nil then
- if (Player.Character.Torso.Position - model.Torso.Position).magnitude <= 25 then
- local Beam = Instance.new("Part")
- Beam.BrickColor = BrickColor.new("Institutional white")
- Beam.TopSurface = 0
- Beam.BottomSurface = 0
- Beam.Size = Vector3.new(1, 1, 1)
- Beam.Transparency = 0.4
- Beam.Anchored = true
- Beam.CanCollide = false
- Beam.CFrame = CFrame.new((Player.Character[ModelName].Source.Position + model.Torso.Position) / 2, model.Torso.Position)
- Beam.Parent = workspace
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "Brick"
- Mesh.Scale = Vector3.new(math.random(2, 5) / 10, math.random(2, 5) / 10, (model.Torso.Position - Player.Character[ModelName].Source.Position).magnitude)
- Mesh.Parent = Beam
- coroutine.resume(coroutine.create(function(part) wait() part:Remove() end), Beam)
- model.Humanoid.Health = model.Humanoid.Health + 1.25
- heed:Clone().Parent = model
- coroutine.resume(coroutine.create(function(part) wait() part:Remove() end), model.HeedShield)
- end
- end
- end
- wait()
- end
- for i = 0, 25 do
- Player.Character[ModelName].Source.Mesh.Scale = Player.Character[ModelName].Source.Mesh.Scale / 1.15
- Player.Character[ModelName].Source.Fire.Size = Player.Character[ModelName].Source.Fire.Size / 1.15
- Player.Character[ModelName].Source.Fire.Heat = Player.Character[ModelName].Source.Fire.Heat / 1.15
- Player.Character[ModelName].Handle.Shine.Volume = (25 - i) / 25
- wait()
- end
- Player.Character[ModelName].Handle.Shine:Stop()
- Player.Character[ModelName].Source.Transparency = 1
- Player.Character[ModelName].Source.Fire.Enabled = false
- CanUse = true
- elseif Spell == 7 then
- --Combuscus Phore, fire/explosives class. A small explosion with a bit of magic makes to be a spectacular performance.
- CanUse = false
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.Transparency = 0.25
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Really red")
- Player.Character[ModelName].Source.Fire.Enabled = true
- Player.Character[ModelName].Source.Fire.Heat = 10
- Player.Character[ModelName].Source.Fire.Size = 10
- Player.Character[ModelName].Source.Fire.Color = Color3.new(1, 0, 0)
- Player.Character[ModelName].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
- Player.Character[ModelName].Handle.Bolt.Looped = false
- Player.Character[ModelName].Handle.Bolt.Volume = 1
- Player.Character[ModelName].Handle.Bolt.Pitch = 1.5
- Player.Character[ModelName].Handle.Bolt:Play()
- Power = Power - 75
- local Shock = Instance.new("Part")
- Shock.formFactor = "Symmetric"
- Shock.Size = Vector3.new(1, 1, 1)
- Shock.BrickColor = BrickColor.new("Really red")
- Shock.Anchored = true
- Shock.Name = "Shock Ring"
- Shock.CanCollide = false
- Shock.Parent = workspace
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "FileMesh"
- Mesh.MeshId = "http://www.roblox.com/Asset/?id=3270017"
- Mesh.Parent = Shock
- local Tilt1 = math.random(-10, 10)
- local Tilt2 = math.random(-10, 10)
- local TiltChance = math.random(1, 3)
- for i = 0, 25 do
- Player.Character[ModelName].Handle.Bolt.Pitch = Player.Character[ModelName].Handle.Bolt.Pitch - 0.1
- Shock.Mesh.Scale = Vector3.new(i, i, i) * (25 - i)
- if TiltChance == 1 then
- Shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + Tilt1), 0, 0)
- elseif TiltChance == 2 then
- Shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(Tilt2), 0)
- elseif TiltChance == 3 then
- Shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + Tilt1), math.rad(Tilt2), 0)
- end
- Player.Character[ModelName].Source.Mesh.Scale = (Vector3.new(i, i, i) / 5) * (25 - i)
- Player.Character[ModelName].Source.Fire.Size = (i / 5) * (25 - i)
- Player.Character[ModelName].Source.Fire.Heat = (i / 5) * (25 - i)
- for _, model in pairs(workspace:GetChildren()) do
- if model.className == "Part" then
- if (Player.Character.Torso.Position - model.Position).magnitude <= (i * (25 - i)) / 2 and model.Anchored == false then
- model.Velocity = ((model.Position - Player.Character.Torso.Position) * (math.sin(i / 4) * 10)) + Vector3.new(0, 25, 0)
- if math.random(1, 10) == 1 then model:BreakJoints() end
- end
- elseif model.className == "Model" and model ~= Player.Character then
- for _, x in pairs(model:GetChildren()) do
- if x.className == "Part" then
- if (Player.Character.Torso.Position - x.Position).magnitude <= (i * (25 - i)) / 2 and x.Anchored == false then
- x.Velocity = ((x.Position - Player.Character.Torso.Position) * (math.sin(i / 4) * 10)) + Vector3.new(0, 25, 0)
- if math.random(1, 10) == 1 then x:BreakJoints() end
- if model:FindFirstChild("Humanoid") ~= nil then
- model.Humanoid:TakeDamage(10)
- model.Humanoid.Sit = true
- end
- end
- end
- end
- end
- end
- wait(0.03)
- end
- Shock:Remove()
- Player.Character[ModelName].Source.Transparency = 1
- Player.Character[ModelName].Source.Fire.Enabled = false
- CanUse = true
- elseif Spell == 8 then
- --Combuscus Burn, fire/explosives class. Basically, light things on fire.
- CanUse = false
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Really red")
- Player.Character[ModelName].Handle.Fire3.Looped = false
- Player.Character[ModelName].Handle.Fire3.Volume = 1
- Player.Character[ModelName].Handle.Fire3.Pitch = 1
- Player.Character[ModelName].Handle.Fire3:Play()
- Player.Character[ModelName].Handle.Fire4.Looped = false
- Player.Character[ModelName].Handle.Fire4.Volume = 1
- Player.Character[ModelName].Handle.Fire4.Pitch = 1
- Player.Character[ModelName].Handle.Fire4:Play()
- coroutine.resume(coroutine.create(function()
- for i = 0, 1, 0.1 do
- Player.Character[ModelName].Source.Mesh.Scale = (Vector3.new(i, i, i) * 5) + Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.Transparency = i
- wait()
- end
- Player.Character[ModelName].Source.Transparency = 1
- end))
- if Mouse.Target == nil then return end
- if Mouse.Target.Parent == nil then return end
- local function SetFire(target, offset)
- if target == nil then return end
- if offset == nil then offset = Vector3.new(0, 0, 0) end
- if target:getMass() > 3500 then return end
- if target.Name == "CombuscusBurnFire" then return end
- if target:FindFirstChild("CombuscusBurnFire") ~= nil then return end
- if target:FindFirstChild("ForceField") ~= nil then return end
- if target.Parent == nil then return end
- if target.Parent:FindFirstChild("ForceField") ~= nil then return end
- if target.Parent:FindFirstChild("HeedShield") ~= nil then return end
- local check = Instance.new("Model")
- check.Name = "CombuscusBurnFire"
- check.Parent = target
- delay(math.random(0.1, 2), function() if target ~= nil then target.Touched:connect(function(hit) if target:FindFirstChild("CombuscusBurnFire") ~= nil then SetFire(hit) end end) end end)
- local part = Instance.new("Part")
- part.Name = "CombuscusBurnFire"
- part.CanCollide = false
- part.Anchored = true
- part.formFactor = "Symmetric"
- part.Size = Vector3.new(1, 1, 1)
- part.TopSurface = 0
- part.BottomSurface = 0
- part.Transparency = 1
- part.Parent = workspace
- local fire = Instance.new("Fire")
- fire.Color = Color3.new(1, math.random(10, 30) / 100, 0)
- fire.SecondaryColor = Color3.new(1, 1, 1)
- fire.Size = math.random(4, 15)
- fire.Heat = fire.Size + 3
- fire.Parent = part
- local smoke = Instance.new("Smoke")
- smoke.Color = Color3.new(0.5, 0.5, 0.5)
- smoke.Size = fire.Size + 3
- smoke.RiseVelocity = fire.Heat / 5
- smoke.Opacity = math.random(1, 15) / 100
- smoke.Parent = part
- local sound = Instance.new("Sound")
- sound.SoundId = "http://www.roblox.com/Asset/?id=31760113"
- sound.Volume = 1
- sound.Pitch = 1
- sound.Looped = true
- sound.Parent = part
- sound:Play()
- coroutine.resume(coroutine.create(function()
- for i = 1, math.random(100, 1000) do
- if part.Parent == nil then break end
- if target.Parent == nil then break end
- if target.Parent.Parent == nil then break end
- if target:FindFirstChild("CombuscusBurnFire") == nil then break end
- if Player.Character == nil then break end
- if Player.Character:FindFirstChild("Humanoid") == nil then break end
- if Player.Character.Humanoid.Health <= 0 then break end
- part.CFrame = CFrame.new(target.Position + offset)
- if target.Parent:FindFirstChild("Humanoid") ~= nil then
- target.Parent.Humanoid:TakeDamage(0.25)
- end
- if math.random(1, 100) == 1 then target:BreakJoints() end
- if math.random(1, 25) == 1 and target.Anchored == false then target.BrickColor = BrickColor.new("Really black") end
- if math.random(1, 50) == 1 and target.Anchored == false then target.Velocity = target.Velocity + Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)) end
- wait()
- end
- for i = 1, 0, -0.05 do
- sound.Volume = i
- fire.Size = fire.Size / 1.025
- fire.Heat = fire.Heat / 1.01
- fire.Color = Color3.new(1 * i, 0.25 * i, 0)
- fire.SecondaryColor = Color3.new(1 * i, 1 * i, 1 * i)
- smoke.Size = smoke.Size / 1.05
- smoke.RiseVelocity = smoke.RiseVelocity / 1.05
- smoke.Opacity = smoke.Opacity / 1.05
- wait()
- end
- sound:Stop()
- fire.Enabled = false
- smoke.Enabled = false
- if target ~= nil then if target:FindFirstChild("CombuscusBurnFire") ~= nil then target.CombuscusBurnFire:Remove() end end
- wait(3)
- part:Remove()
- end))
- end
- pcall(function() SetFire(Mouse.Target, Mouse.Hit.p - Mouse.Target.Position) end)
- CanUse = true
- elseif Spell == 9 then
- --Combuscus Vortex, fire/explosives class. A tornado in a can.
- CanUse = false
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.Transparency = 0.25
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Really red")
- Player.Character[ModelName].Source.Fire.Enabled = true
- Player.Character[ModelName].Source.Fire.Heat = 10
- Player.Character[ModelName].Source.Fire.Size = 10
- Player.Character[ModelName].Source.Fire.Color = Color3.new(1, 0, 0)
- Player.Character[ModelName].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
- Player.Character[ModelName].Handle.Charge2.Looped = false
- Player.Character[ModelName].Handle.Charge2.Volume = 1
- Player.Character[ModelName].Handle.Charge2.Pitch = 0.125
- Player.Character[ModelName].Handle.Charge2:Play()
- Power = Power - 50
- for i = 0, 75 do
- if math.random(1, 3) == 1 then
- local Shock = Instance.new("Part")
- Shock.formFactor = "Symmetric"
- Shock.Size = Vector3.new(1, 1, 1)
- Shock.BrickColor = BrickColor.new("Really red")
- Shock.Anchored = true
- Shock.Name = "Shock Ring"
- Shock.CanCollide = false
- Shock.Parent = workspace
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "FileMesh"
- Mesh.MeshId = "http://www.roblox.com/Asset/?id=3270017"
- Mesh.Parent = Shock
- coroutine.resume(coroutine.create(function()
- local Tilt1 = math.random(-10, 10)
- local Tilt2 = math.random(-10, 10)
- local TiltChance = math.random(1, 3)
- local RandomSize = math.random(-10, 10)
- for x = 1, 25 do
- Shock.Mesh.Scale = Vector3.new(5 + x, 5 + x, 5 + (x / 5)) + Vector3.new(RandomSize, RandomSize, RandomSize)
- if TiltChance == 1 then
- Shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0) + Vector3.new(0, x, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + (Tilt1 / (25 - x))), 0, 0)
- elseif TiltChance == 2 then
- Shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0) + Vector3.new(0, x, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(Tilt2 / (25 - x)), 0)
- elseif TiltChance == 3 then
- Shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0) + Vector3.new(0, x, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(90 + (Tilt1 / (25 - x))), math.rad(Tilt2 / (25 - x)), 0)
- end
- wait()
- end
- end))
- end
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(i, i, i) / 5
- Player.Character[ModelName].Source.Fire.Size = i / 5
- Player.Character[ModelName].Source.Fire.Heat = i / 5
- for _, model in pairs(workspace:GetChildren()) do
- if model.className == "Part" then
- if (Player.Character.Torso.Position - model.Position).magnitude <= 50 and model.Anchored == false then
- model.CanCollide = false
- model.Transparency = 0.5
- local Position = Instance.new("BodyPosition")
- Position.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- Position.P = 100
- Position.D = 10
- Position.position = Player.Character.Torso.Position + Vector3.new(math.sin(i / (math.random(500, 750) / 100)) * (i / 2) + 4, (i / (math.random(800, 1200) / 100)) + 5, math.cos(i / (math.random(500, 750) / 100)) * (i / 2) + 4)
- Position.Parent = model
- coroutine.resume(coroutine.create(function() wait(0.1) Position:Remove() end))
- if math.random(1, 10) == 1 then model:BreakJoints() end
- end
- elseif model.className == "Model" and model ~= Player.Character then
- for _, x in pairs(model:GetChildren()) do
- if x.className == "Part" then
- if (Player.Character.Torso.Position - x.Position).magnitude <= 50 and x.Anchored == false then
- x.CanCollide = false
- local Position = Instance.new("BodyPosition")
- Position.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- Position.P = 500
- Position.D = 10
- Position.position = Player.Character.Torso.Position + Vector3.new(math.sin(i / (math.random(500, 750) / 100)) * (i / 2) + 4, (i / (math.random(800, 1200) / 100)) + 7.5, math.cos(i / (math.random(500, 750) / 100)) * (i / 2) + 4)
- Position.Parent = x
- coroutine.resume(coroutine.create(function() wait(0.1) Position:Remove() end))
- if math.random(1, 10) == 1 then x:BreakJoints() end
- if model:FindFirstChild("Humanoid") ~= nil then
- model.Humanoid:TakeDamage(10)
- model.Humanoid.Sit = true
- end
- end
- end
- end
- end
- end
- wait(0.03)
- end
- Player.Character[ModelName].Handle.Fire2.Looped = false
- Player.Character[ModelName].Handle.Fire2.Volume = 1
- Player.Character[ModelName].Handle.Fire2.Pitch = 0.3
- Player.Character[ModelName].Handle.Fire2:Play()
- Player.Character[ModelName].Source.Fire.Enabled = false
- for i = 0.25, 1, 0.05 do
- Player.Character[ModelName].Source.Transparency = i
- wait()
- end
- Player.Character[ModelName].Source.Transparency = 1
- CanUse = true
- elseif Spell == 10 then
- --Combuscus Phore Nexus, fire/explosives class. Basically the outcome is similar to that of a nuclear warhead.
- CanUse = false
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.Transparency = 0.25
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Really red")
- Player.Character[ModelName].Source.Fire.Enabled = true
- Player.Character[ModelName].Source.Fire.Heat = 10
- Player.Character[ModelName].Source.Fire.Size = 10
- Player.Character[ModelName].Source.Fire.Color = Color3.new(1, 0, 0)
- Player.Character[ModelName].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
- Player.Character[ModelName].Handle.Fire1.Looped = false
- Player.Character[ModelName].Handle.Fire1.Volume = 1
- Player.Character[ModelName].Handle.Fire1.Pitch = math.random(3, 6) / 10
- local new = Player.Character[ModelName].Handle.Fire1:Clone()
- new.Parent = workspace
- new:Play()
- Player.Character[ModelName].Handle.Charge3.Looped = false
- Player.Character[ModelName].Handle.Charge3.Volume = 1
- Player.Character[ModelName].Handle.Charge3.Pitch = math.random(15, 20) / 10
- local new = Player.Character[ModelName].Handle.Charge3:Clone()
- new.Parent = workspace
- new:Play()
- Player.Character[ModelName].Handle.Fire4.Looped = false
- Player.Character[ModelName].Handle.Fire4.Volume = 1
- Player.Character[ModelName].Handle.Fire4.Pitch = math.random(2, 4) / 10
- local new = Player.Character[ModelName].Handle.Fire4:Clone()
- new.Parent = workspace
- new:Play()
- Power = Power - 100
- local Shock = Instance.new("Part")
- Shock.formFactor = "Symmetric"
- Shock.Size = Vector3.new(1, 1, 1)
- Shock.BrickColor = BrickColor.new("Really red")
- Shock.Anchored = true
- Shock.Name = "Shock Ring"
- Shock.CanCollide = false
- Shock.Parent = workspace
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "FileMesh"
- Mesh.MeshId = "http://www.roblox.com/Asset/?id=3270017"
- Mesh.Parent = Shock
- local Shock2 = Shock:Clone()
- Shock2.Parent = workspace
- local Shock3 = Shock:Clone()
- Shock3.Parent = workspace
- local ShockAngle = CFrame.fromEulerAnglesXYZ(math.rad(90 + math.random(-5, 5)), math.rad(math.random(-5, 5)), math.rad(math.random(-5, 5)))
- local Shock2Angle = CFrame.fromEulerAnglesXYZ(math.rad(90 + math.random(-5, 5)), math.rad(math.random(-5, 5)), math.rad(math.random(-5, 5)))
- local Shock3Angle = CFrame.fromEulerAnglesXYZ(math.rad(90 + math.random(-5, 5)), math.rad(math.random(-5, 5)), math.rad(math.random(-5, 5)))
- local Shock2Size = math.random(2, 3)
- local Shock3Size = math.random(4, 6)
- for i = 0, 500, 10 do
- if string.sub(tostring(i), string.len(tostring(i)), string.len(tostring(i))) == "0" then
- local Shock4 = Instance.new("Part")
- Shock4.formFactor = "Symmetric"
- Shock4.Size = Vector3.new(1, 1, 1)
- Shock4.BrickColor = BrickColor.new("Really red")
- Shock4.Anchored = true
- Shock4.Name = "Shock Ring"
- Shock4.CanCollide = false
- Shock4.Parent = workspace
- Shock4.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 2, 0)) * CFrame.fromEulerAnglesXYZ(math.rad(math.random(-25, 25)), math.rad(math.random(-25, 25)), math.rad(math.random(-25, 25)))
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "FileMesh"
- Mesh.MeshId = "http://www.roblox.com/Asset/?id=20329976"
- Mesh.Parent = Shock4
- coroutine.resume(coroutine.create(function(part)
- for i = 0, 1, 0.05 do
- part.Transparency = i
- part.Mesh.Scale = Vector3.new(i * 25, i * 25, i * 25)
- wait()
- end
- part:Remove()
- end), Shock4)
- end
- Shock.Transparency = i / 500
- Shock2.Transparency = i / 500
- Shock3.Transparency = i / 500
- Player.Character[ModelName].Source.Transparency = i / 250
- Shock.Mesh.Scale = Vector3.new(i, i, i)
- Shock2.Mesh.Scale = Vector3.new(i, i, i) / Shock2Size
- Shock3.Mesh.Scale = Vector3.new(i, i, i) / Shock3Size
- Shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0)) * ShockAngle
- Shock2.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0)) * Shock2Angle
- Shock3.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 3, 0)) * Shock3Angle
- Player.Character[ModelName].Source.Mesh.Scale = (Vector3.new(i, i, i) / 15)
- Player.Character[ModelName].Source.Fire.Size = (i / 15)
- Player.Character[ModelName].Source.Fire.Heat = (i / 15)
- for _, model in pairs(workspace:GetChildren()) do
- if model.className == "Part" then
- if (Player.Character.Torso.Position - model.Position).magnitude <= i / 2 and model.Anchored == false then
- model.Velocity = (model.Position - Player.Character.Torso.Position) * 10 + Vector3.new(0, 25, 0)
- if math.random(1, 10) == 1 then model:BreakJoints() end
- end
- elseif model.className == "Model" and model ~= Player.Character then
- for _, x in pairs(model:GetChildren()) do
- if x.className == "Part" then
- if (Player.Character.Torso.Position - x.Position).magnitude <= i / 2 and x.Anchored == false then
- x.Velocity = (x.Position - Player.Character.Torso.Position) * 10 + Vector3.new(0, 25, 0)
- if math.random(1, 10) == 1 then x:BreakJoints() end
- if model:FindFirstChild("Humanoid") ~= nil then
- model.Humanoid:TakeDamage(10)
- model.Humanoid.Sit = true
- end
- end
- end
- end
- end
- end
- wait(0.03)
- end
- Shock:Remove()
- Shock2:Remove()
- Shock3:Remove()
- Player.Character[ModelName].Source.Transparency = 1
- Player.Character[ModelName].Source.Fire.Enabled = false
- CanUse = true
- elseif Spell == 11 then
- --Kanamla Cysis, object manipulation class. The easiest Spell in it's class allows you to lightly pick things up.
- local target = Mouse.Target
- if target == nil then return end
- if target.Parent == nil then return end
- if target.Anchored == true then return end
- if (target.Position - Player.Character[ModelName].Source.Position).magnitude > 25 then return end
- if game:GetService("Players"):getPlayerFromCharacter(target.Parent) ~= nil then
- if game:GetService("Players"):getPlayerFromCharacter(target.Parent).Character:FindFirstChild("Torso") ~= nil then
- target = game:GetService("Players"):getPlayerFromCharacter(target.Parent).Character.Torso
- if game:GetService("Players"):getPlayerFromCharacter(target.Parent).Character:FindFirstChild("Humanoid") ~= nil then
- game:GetService("Players"):getPlayerFromCharacter(target.Parent).Character.Humanoid.PlatformStand = true
- end
- end
- end
- local position = Instance.new("BodyPosition")
- position.Name = "Cysis"
- position.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- position.P = 1000
- position.D = 50
- position.Parent = target
- position.position = Player.Character[ModelName].Source.Position + ((Mouse.Hit.p - Player.Character[ModelName].Source.Position).unit * 10)
- CanUse = false
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.Transparency = 0.25
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Bright blue")
- Player.Character[ModelName].Source.Fire.Enabled = true
- Player.Character[ModelName].Source.Fire.Heat = 10
- Player.Character[ModelName].Source.Fire.Size = 2
- Player.Character[ModelName].Source.Fire.Color = Color3.new(0, 0, 1)
- Player.Character[ModelName].Source.Fire.SecondaryColor = Color3.new(0.5, 0.5, 1)
- Player.Character[ModelName].Handle.Shine.Looped = false
- Player.Character[ModelName].Handle.Shine.Volume = 1
- Player.Character[ModelName].Handle.Shine.Pitch = 0.75
- Player.Character[ModelName].Handle.Shine:Play()
- for i = 0, math.huge do
- if Button1Down == false then break end
- if Player.Character == nil then break end
- if Player.Character:FindFirstChild("Humanoid") == nil then break end
- if Player.Character.Humanoid.Health <= 0 then break end
- if Player.Character:FindFirstChild(ModelName) == nil then break end
- if Player.Character[ModelName]:FindFirstChild("Handle") == nil then break end
- if Player.Character[ModelName]:FindFirstChild("Source") == nil then break end
- if Power <= 0 then break end
- if string.sub(tostring(i), string.len(tostring(i)), string.len(tostring(i))) == "0" then
- Power = Power - 1
- end
- if target ~= nil and position ~= nil then
- position.position = Player.Character[ModelName].Source.Position + ((Mouse.Hit.p - Player.Character[ModelName].Source.Position).unit * 10)
- end
- wait()
- end
- if position ~= nil then position:Remove() end
- if target ~= nil then
- if target.Parent:FindFirstChild("Humanoid") ~= nil then
- target.Parent.Humanoid.PlatformStand = false
- target.Parent.Humanoid.Sit = true
- end
- end
- for i = 0.25, 1, 0.05 do
- Player.Character[ModelName].Source.Transparency = i
- wait()
- end
- Player.Character[ModelName].Source.Transparency = 1
- Player.Character[ModelName].Source.Fire.Enabled = false
- CanUse = true
- elseif Spell == 12 then
- --Kanamla Tepidift, object manipulation class. Allows you to teleport from one area to another.
- CanUse = false
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Bright blue")
- Player.Character[ModelName].Source.Fire.Enabled = true
- Player.Character[ModelName].Source.Fire.Heat = 0
- Player.Character[ModelName].Source.Fire.Color = Color3.new(0, 0, 1)
- Player.Character[ModelName].Source.Fire.SecondaryColor = Color3.new(1, 1, 1)
- Player.Character[ModelName].Handle.Shine.Looped = true
- Player.Character[ModelName].Handle.Shine.Pitch = 1.5
- Player.Character[ModelName].Handle.Shine.Volume = 1
- Player.Character[ModelName].Handle.Shine:Play()
- for i = 1, 0, -0.05 do
- Player.Character[ModelName].Source.Transparency = i
- Player.Character[ModelName].Source.Mesh.Scale = (Vector3.new(1 - i, 1 - i, 1 - i) * 15)
- Player.Character[ModelName].Source.Fire.Size = (1 - i) * 15
- wait()
- end
- local maxDistance = (Player.Character.Torso.Position - Mouse.Hit.p).magnitude
- if maxDistance < 500 then
- local pos1 = Player.Character.Torso.Position
- local pos2 = Mouse.Hit.p + Vector3.new(0, 3, 0)
- local pos0 = pos1
- for distance = 1, maxDistance, 5 do
- pos0 = (CFrame.new(pos1, pos2) * CFrame.new(0, 0, -distance)).p
- Player.Character.Torso.CFrame = CFrame.new(pos0, pos2)
- Player.Character.Torso.Velocity = Vector3.new()
- Power = Power - 1
- wait()
- end
- Player.Character.Torso.CFrame = CFrame.new(pos2)
- for i = 0, 1, 0.05 do
- Player.Character[ModelName].Source.Transparency = i
- Player.Character[ModelName].Source.Mesh.Scale = (Vector3.new(1 - i, 1 - i, 1 - i) * 15)
- Player.Character[ModelName].Source.Fire.Size = (1 - i) * 15
- Player.Character[ModelName].Handle.Shine.Volume = (1 - i)
- wait()
- end
- Player.Character[ModelName].Handle.Shine:Stop()
- else
- for i = 0, 1, 0.05 do
- Player.Character[ModelName].Source.BrickColor = Player.Character[ModelName].Source.BrickColor == BrickColor.new("Bright blue") and BrickColor.new("Really red") or BrickColor.new("Bright blue")
- Player.Character[ModelName].Source.Transparency = i
- Player.Character[ModelName].Source.Mesh.Scale = (Vector3.new(1 - i, 1 - i, 1 - i) * 15)
- Player.Character[ModelName].Source.Fire.Size = (1 - i) * 15
- Player.Character[ModelName].Source.Fire.Color = Player.Character[ModelName].Source.Fire.Color == Color3.new(0, 0, 1) and Color3.new(1, 0, 0) or Color3.new(0, 0, 1)
- Player.Character[ModelName].Source.Fire.SecondaryColor = Player.Character[ModelName].Source.Fire.SecondaryColor == Color3.new(1, 1, 1) and Color3.new(1, 0, 0) or Color3.new(1, 1, 1)
- Player.Character[ModelName].Handle.Shine.Pitch = (1 - i) + 0.5
- wait()
- end
- Player.Character[ModelName].Handle.Shine:Stop()
- end
- Player.Character[ModelName].Source.Transparency = 1
- Player.Character[ModelName].Source.Fire.Enabled = false
- CanUse = true
- elseif Spell == 13 then
- --Kanamla Jump, object manipulation class. Allows you to jump really high.
- CanUse = false
- while Button1Down == true do
- if Power <= 0 then break end
- Player.Character[ModelName].Handle.Fire3.Looped = false
- Player.Character[ModelName].Handle.Fire3.Pitch = 1
- Player.Character[ModelName].Handle.Fire3.Volume = 1
- for i = 1, 2 do Player.Character[ModelName].Handle.Fire3:Play() end
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Really blue")
- Player.Character.Humanoid.PlatformStand = true
- Player.Character.Torso.Velocity = Vector3.new(Player.Character.Torso.Velocity.x, (Player.Character.Torso.Velocity.y / 2) + 100, Player.Character.Torso.Velocity.z)
- Power = Power - 5
- local Shock = Instance.new("Part")
- Shock.formFactor = "Symmetric"
- Shock.Size = Vector3.new(1, 1, 1)
- Shock.BrickColor = BrickColor.new("Really blue")
- Shock.Anchored = true
- Shock.Name = "Shock Ring"
- Shock.CanCollide = false
- Shock.Parent = workspace
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "FileMesh"
- Mesh.MeshId = "http://www.roblox.com/Asset/?id=20329976"
- Mesh.Scale = Vector3.new(1, 1, 1)
- Mesh.Parent = Shock
- Shock.CFrame = CFrame.new(Player.Character.Torso.Position - Vector3.new(0, 2.5, 0))
- coroutine.resume(coroutine.create(function()
- for i = 0, 50 do
- Mesh.Scale = Vector3.new(i, i / 5, i)
- Shock.Transparency = i / 50
- wait()
- end
- Shock:Remove()
- end))
- for i = 0, 1, 0.2 do
- Player.Character[ModelName].Source.Transparency = i
- Player.Character[ModelName].Source.Mesh.Scale = (Vector3.new(i, i, i) * 5)
- wait()
- end
- Player.Character[ModelName].Source.Transparency = 1
- Player.Character.Humanoid.PlatformStand = false
- end
- CanUse = true
- elseif Spell == 14 then
- --Candora Hide, light manipulation class. The Hide Spell makes you and your wand seem invisible to the naked eye by bending light around your limbs.
- CanUse = false
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Royal purple")
- for i = 1, 0, -0.05 do
- Player.Character[ModelName].Source.Transparency = i
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1 - i, 1 - i, 1 - i) * 2
- wait()
- end
- Player.Character[ModelName].Source.Transparency = 0
- if Player.Character:FindFirstChild("Head") ~= nil then
- if Player.Character.Head:FindFirstChild("face") ~= nil then
- Player.Character.Head.face.Face = "Bottom"
- end
- end
- Player.Character[ModelName].Handle.Shine.Looped = false
- Player.Character[ModelName].Handle.Shine.Volume = 1
- Player.Character[ModelName].Handle.Shine:Play()
- for i = 0, 1.1, 0.01 do
- Player.Character[ModelName].Handle.Shine.Pitch = math.sin(i)
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(math.sin(i), math.sin(i), math.sin(i)) + Vector3.new(2, 2, 2)
- for _, children in pairs(Player.Character:GetChildren()) do
- if children.className == "Part" and children.Name ~= "" then
- children.Transparency = i
- end
- if children.Name == Name then
- for _, children2 in pairs(children:GetChildren()) do
- if children2.className == "Part" then
- children2.Transparency = i
- end
- end
- end
- end
- wait()
- end
- while Button1Down == true do
- if Player.Character == nil then break end
- if Player.Character:FindFirstChild("Humanoid") == nil then break end
- if Player.Character.Humanoid.Health <= 0 then break end
- if Player.Character:FindFirstChild(ModelName) == nil then break end
- if Player.Character[ModelName]:FindFirstChild("Handle") == nil then break end
- if Player.Character[ModelName]:FindFirstChild("Source") == nil then break end
- if Power <= 0 then break end
- Power = Power - 1
- wait(0.5)
- end
- Player.Character[ModelName].Handle.Shine:Play()
- for i = 1, -0.1, -0.01 do
- Player.Character[ModelName].Handle.Shine.Pitch = math.sin(i)
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(math.sin(i), math.sin(i), math.sin(i)) + Vector3.new(2, 2, 2)
- for _, children in pairs(Player.Character:GetChildren()) do
- if children.className == "Part" and children.Name ~= "" then
- children.Transparency = i
- end
- if children.Name == Name then
- for _, children2 in pairs(children:GetChildren()) do
- if children2.className == "Part" then
- children2.Transparency = i
- end
- end
- end
- end
- wait()
- end
- Player.Character[ModelName].Handle.Shine:Stop()
- if Player.Character:FindFirstChild("Head") ~= nil then
- if Player.Character.Head:FindFirstChild("face") ~= nil then
- Player.Character.Head.face.Face = "Front"
- end
- end
- for i = 0, 1, 0.05 do
- Player.Character[ModelName].Source.Transparency = i
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1 - i, 1 - i, 1 - i) * 2
- wait()
- end
- Player.Character[ModelName].Source.Transparency = 1
- CanUse = true
- elseif Spell == 15 then
- --Duraen Control, human manipulation class. Lets you control the movements of others.
- Controlling = Controlling == nil and false or Controlling
- ControlModel = ControlModel == nil and nil or ControlModel
- if Controlling ~= true then
- if Mouse.Target == nil then return end
- if Mouse.Target.Parent == nil then return end
- if Mouse.Target.Parent:FindFirstChild("Humanoid") == nil then return end
- if Mouse.Target.Parent:FindFirstChild("Torso") == nil then return end
- if Mouse.Target.Parent:FindFirstChild("Head") == nil then return end
- CanUse = false
- Controlling = true
- ControlModel = Mouse.Target.Parent
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Neon orange")
- Player.Character[ModelName].Handle.Shine.Looped = false
- Player.Character[ModelName].Handle.Shine.Volume = 1
- Player.Character[ModelName].Handle.Shine.Pitch = 2
- Player.Character[ModelName].Handle.Shine:Play()
- for i = 1, 0, -0.025 do
- Player.Character[ModelName].Source.Transparency = i
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1 - i, 1 - i, 1 - i) * 2
- Player.Character[ModelName].Handle.Shine.Pitch = i * 2
- wait()
- end
- Player.Character[ModelName].Source.Transparency = 0
- Player.Character[ModelName].Handle.Shine:Stop()
- coroutine.resume(coroutine.create(function()
- for i = 0, 1, 0.05 do
- Player.Character[ModelName].Source.Transparency = i
- wait()
- end
- Player.Character[ModelName].Source.Transparency = 1
- end))
- Player.Character[ModelName].Handle.Fire2.Looped = false
- Player.Character[ModelName].Handle.Fire2.Volume = 1
- Player.Character[ModelName].Handle.Fire2.Pitch = 1
- Player.Character[ModelName].Handle.Fire2:Play()
- local Shot = Instance.new("Part", workspace)
- Shot.formFactor = "Symmetric"
- Shot.Shape = "Ball"
- Shot.Size = Vector3.new(1, 1, 1)
- Shot.CFrame = Player.Character[ModelName].Source.CFrame
- Shot.CanCollide = false
- Shot.BrickColor = BrickColor.new("Neon orange")
- Shot.Transparency = 0.5
- Shot.TopSurface = 0
- Shot.BottomSurface = 0
- local BodyVelocity = Instance.new("BodyVelocity", Shot)
- BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- local Camera = workspace.CurrentCamera
- Camera.CameraSubject = Shot
- while true do
- if ControlModel == nil then break end
- if ControlModel.Parent == nil then break end
- if ControlModel:FindFirstChild("Humanoid") == nil then break end
- if ControlModel.Humanoid.Health <= 0 then break end
- if ControlModel:FindFirstChild("Torso") == nil then break end
- if ControlModel:FindFirstChild("Head") == nil then break end
- if Player.Character == nil then break end
- if Player.Character.Parent == nil then break end
- if Player.Character:FindFirstChild("Humanoid") == nil then break end
- if Player.Character.Humanoid.Health <= 0 then break end
- if Player.Character:FindFirstChild("Torso") == nil then break end
- if Player.Character:FindFirstChild("Head") == nil then break end
- if Shot.Parent == nil then break end
- if (ControlModel.Head.Position - Shot.Position).magnitude < 3 then break end
- BodyVelocity.velocity = (ControlModel.Head.Position - Shot.Position).unit * (ControlModel.Humanoid.WalkSpeed * 1.5)
- wait()
- end
- Shot:Remove()
- if ControlModel:FindFirstChild("Humanoid") == nil then return end
- if ControlModel:FindFirstChild("Torso") == nil then return end
- if ControlModel:FindFirstChild("Head") == nil then return end
- local ControlPlayer = nil
- local Explosion = Instance.new("Part", workspace)
- Explosion.formFactor = "Symmetric"
- Explosion.Shape = "Ball"
- Explosion.Size = Vector3.new(1, 1, 1)
- Explosion.CFrame = ControlModel.Head.CFrame
- Explosion.CanCollide = false
- Explosion.Anchored = true
- Explosion.BrickColor = BrickColor.new("Neon orange")
- Explosion.Transparency = 0.5
- Explosion.TopSurface = 0
- Explosion.BottomSurface = 0
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "Sphere"
- Mesh.Parent = Explosion
- coroutine.resume(coroutine.create(function(Part)
- for i = 0, 1, 0.05 do
- Mesh.Scale = Vector3.new(i * 7.5, i * 2, i * 7.5)
- Explosion.Transparency = i
- Explosion.CFrame = Part.CFrame
- wait()
- end
- Explosion:Remove()
- end), ControlModel.Head)
- local Camera = workspace.CurrentCamera
- Camera.CameraSubject = ControlModel.Humanoid
- CanUse = true
- while Controlling == true and ControlModel:FindFirstChild("Humanoid") ~= nil and ControlModel:FindFirstChild("Torso") ~= nil and ControlModel:FindFirstChild("Head") ~= nil and Spell == 15 and Selected == true do
- if Player.Character == nil then break end
- if Player.Character:FindFirstChild("Humanoid") == nil then break end
- if Player.Character.Humanoid.Health <= 0 then break end
- if Player.Character:FindFirstChild(ModelName) == nil then break end
- if Player.Character[ModelName]:FindFirstChild("Handle") == nil then break end
- if Player.Character[ModelName]:FindFirstChild("Source") == nil then break end
- if ControlModel.Humanoid.Health <= 0 then break end
- if Power <= 0 then break end
- if math.random(1, 2) == 1 then Power = Power - 1 end
- ControlModel.Humanoid:MoveTo(Mouse.Hit.p, Mouse.Target == nil and ControlModel.Torso or Mouse.Target)
- if Mouse.Hit.p.y > ControlModel.Torso.Position.y then
- ControlModel.Humanoid.Jump = true
- end
- wait()
- end
- if ControlModel.Parent ~= nil then
- if ControlModel:FindFirstChild("Head") ~= nil then
- local Explosion = Instance.new("Part", workspace)
- Explosion.Name = "Magical Explosion"
- Explosion.formFactor = "Symmetric"
- Explosion.Shape = "Ball"
- Explosion.Size = Vector3.new(1, 1, 1)
- Explosion.CFrame = ControlModel.Head.CFrame
- Explosion.CanCollide = false
- Explosion.Anchored = true
- Explosion.BrickColor = BrickColor.new("Neon orange")
- Explosion.TopSurface = 0
- Explosion.BottomSurface = 0
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "Sphere"
- Mesh.Parent = Explosion
- coroutine.resume(coroutine.create(function(Part)
- for i = 1, 0, -0.05 do
- Mesh.Scale = Vector3.new(i * 7.5, i * 2, i * 7.5)
- Explosion.Transparency = i
- Explosion.CFrame = Part.CFrame
- wait()
- end
- Explosion:Remove()
- end), ControlModel.Head)
- end
- end
- Controlling = false
- ControlModel = nil
- Camera.CameraSubject = Player.Character:FindFirstChild("Humanoid")
- CanUse = false
- if Selected == true then
- for i = 1, 0, -0.05 do
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(2, 2, 2)
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Neon orange")
- Player.Character[ModelName].Source.Transparency = i
- wait()
- end
- Player.Character[ModelName].Handle.Shine.Looped = false
- Player.Character[ModelName].Handle.Shine.Volume = 1
- Player.Character[ModelName].Handle.Shine.Pitch = 0
- Player.Character[ModelName].Handle.Shine:Play()
- for i = 0, 1, 0.025 do
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1 - i, 1 - i, 1 - i) * 2
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Neon orange")
- Player.Character[ModelName].Source.Transparency = i
- Player.Character[ModelName].Handle.Shine.Pitch = i * 2
- wait()
- end
- Player.Character[ModelName].Source.Transparency = 1
- end
- CanUse = true
- else
- Controlling = false
- end
- elseif Spell == 16 then
- --Duraen Switch, human manipulation class. Dress up as the enemy... Or as a woman, you sicko.
- if Mouse.Target == nil then return end
- if Mouse.Target.Parent == nil then return end
- if Mouse.Target.Parent:FindFirstChild("Humanoid") == nil then return end
- if Mouse.Target.Parent:FindFirstChild("Torso") == nil then return end
- if Mouse.Target.Parent:FindFirstChild("Head") == nil then return end
- CanUse = false
- local CharacterOne = Player.Character
- local CharacterTwo = Mouse.Target.Parent
- Player.Character[ModelName].Source.Mesh.MeshType = "Sphere"
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1, 1, 1)
- Player.Character[ModelName].Source.BrickColor = BrickColor.new("Neon orange")
- Player.Character[ModelName].Handle.Shine.Looped = false
- Player.Character[ModelName].Handle.Shine.Volume = 1
- Player.Character[ModelName].Handle.Shine.Pitch = 2
- Player.Character[ModelName].Handle.Shine:Play()
- for i = 1, 0, -0.025 do
- Player.Character[ModelName].Source.Transparency = i
- Player.Character[ModelName].Source.Mesh.Scale = Vector3.new(1 - i, 1 - i, 1 - i) * 2
- Player.Character[ModelName].Handle.Shine.Pitch = i * 2
- wait()
- end
- Player.Character[ModelName].Source.Transparency = 0
- Player.Character[ModelName].Handle.Shine:Stop()
- coroutine.resume(coroutine.create(function()
- for i = 0, 1, 0.05 do
- Player.Character[ModelName].Source.Transparency = i
- wait()
- end
- Player.Character[ModelName].Source.Transparency = 1
- end))
- coroutine.resume(coroutine.create(function()
- local Explosion = Instance.new("Part", workspace)
- Explosion.Name = "Magical Explosion"
- Explosion.formFactor = "Symmetric"
- Explosion.Shape = "Ball"
- Explosion.Size = Vector3.new(1, 1, 1)
- Explosion.CanCollide = false
- Explosion.Anchored = true
- Explosion.BrickColor = BrickColor.new("Neon orange")
- Explosion.TopSurface = 0
- Explosion.BottomSurface = 0
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "Sphere"
- Mesh.Parent = Explosion
- coroutine.resume(coroutine.create(function(Part)
- for i = 0, 7, 0.1 do
- Mesh.Scale = Vector3.new(i, i * 2, i)
- Explosion.CFrame = Part.CFrame
- wait()
- end
- for i = 7, 14, 0.1 do
- Mesh.Scale = Vector3.new(i, i * 2, i)
- Explosion.Transparency = (i - 7) / 7
- Explosion.CFrame = Part.CFrame
- wait()
- end
- Explosion:Remove()
- end), CharacterOne.Torso)
- local Explosion = Instance.new("Part", workspace)
- Explosion.Name = "Magical Explosion"
- Explosion.formFactor = "Symmetric"
- Explosion.Shape = "Ball"
- Explosion.Size = Vector3.new(1, 1, 1)
- Explosion.CanCollide = false
- Explosion.Anchored = true
- Explosion.BrickColor = BrickColor.new("Neon orange")
- Explosion.TopSurface = 0
- Explosion.BottomSurface = 0
- local Mesh = Instance.new("SpecialMesh")
- Mesh.MeshType = "Sphere"
- Mesh.Parent = Explosion
- coroutine.resume(coroutine.create(function(Part)
- for i = 0, 7, 0.1 do
- Mesh.Scale = Vector3.new(i, i * 2, i)
- Explosion.CFrame = Part.CFrame
- wait()
- end
- for i = 7, 14, 0.1 do
- Mesh.Scale = Vector3.new(i, i * 2, i)
- Explosion.Transparency = (i - 7) / 7
- Explosion.CFrame = Part.CFrame
- wait()
- end
- Explosion:Remove()
- end), CharacterTwo.Torso)
- end))
- wait(2)
- local CharacterOneParts = Instance.new("Model")
- local CharacterTwoParts = Instance.new("Model")
- if CharacterOne.Head:FindFirstChild("face") ~= nil then
- CharacterOne.Head.face.Parent = CharacterOneParts
- end
- if CharacterOne.Head:FindFirstChild("Mesh") ~= nil then
- CharacterOne.Head.Mesh.Parent = CharacterOneParts
- end
- if CharacterOne.Torso:FindFirstChild("roblox") ~= nil then
- CharacterOne.Torso.roblox.Parent = CharacterOneParts
- end
- for _, Part in pairs(CharacterOne:GetChildren()) do
- if Part.className == "Shirt" or Part.className == "Pants" or Part.className == "CharacterMesh" or Part.className == "ShirtGraphic" or Part.className == "Hat" or Part.className == "Accoutrement" or Part.className == "BodyColors" then
- Part.Parent = CharacterOneParts
- end
- end
- if CharacterTwo.Head:FindFirstChild("face") ~= nil then
- CharacterTwo.Head.face.Parent = CharacterTwoParts
- end
- if CharacterTwo.Head:FindFirstChild("Mesh") ~= nil then
- CharacterTwo.Head.Mesh.Parent = CharacterTwoParts
- end
- if CharacterTwo.Torso:FindFirstChild("roblox") ~= nil then
- CharacterTwo.Torso.roblox.Parent = CharacterTwoParts
- end
- for _, Part in pairs(CharacterTwo:GetChildren()) do
- if Part.className == "Shirt" or Part.className == "Pants" or Part.className == "CharacterMesh" or Part.className == "ShirtGraphic" or Part.className == "Hat" or Part.className == "Accoutrement" or Part.className == "BodyColors" then
- Part.Parent = CharacterTwoParts
- end
- end
- for _, Part in pairs(CharacterOneParts:GetChildren()) do
- if Part.Name == "face" or Part.Name == "Mesh" then
- Part.Parent = CharacterTwo.Head
- elseif Part.Name == "roblox" then
- Part.Parent = CharacterTwo.Torso
- else
- Part.Parent = CharacterTwo
- end
- end
- for _, Part in pairs(CharacterTwoParts:GetChildren()) do
- if Part.Name == "face" or Part.Name == "Mesh" then
- Part.Parent = CharacterOne.Head
- elseif Part.Name == "roblox" then
- Part.Parent = CharacterOne.Torso
- else
- Part.Parent = CharacterOne
- end
- end
- CanUse = true
- end
- end
- end
- function onButton1Up(Mouse)
- Button1Down = false
- end
- function onKeyDown(Key, Mouse)
- if Selected == false then return end
- Key = Key:lower()
- if Key == "t" then
- SpellHotkey1Delay = time()
- end
- if Key == "y" then
- SpellHotkey2Delay = time()
- end
- if Key == "u" then
- SpellHotkey3Delay = time()
- end
- if CheckPlayer() == true then
- if Button1Down == false and CanUse == true then
- if Key == "q" then
- if Mouse.Target == nil then return end
- if CheckPlayer() == false then return end
- local NewPlayer = game:GetService("Players"):GetPlayerFromCharacter(Mouse.Target.Parent)
- if NewPlayer == nil then return end
- if NewPlayer.Character == nil then return end
- if NewPlayer.Character:FindFirstChild("Torso") == nil then return end
- if (NewPlayer.Character.Torso.Position - Player.Character.Torso.Position).magnitude > 10 then return end
- onDeselected(Mouse)
- wait()
- RemoveParts(Player.Character, 1)
- script.Parent.Parent = NewPlayer.Backpack
- Player = NewPlayer
- end
- if Key == "e" then
- Spell = Spell - 1
- if Spell < 0 then
- Spell = 16
- end
- end
- if Key == "r" then
- Spell = Spell + 1
- if Spell > 16 then
- Spell = 0
- end
- end
- end
- end
- UpdateGui()
- end
- function onKeyUp(Key, Mouse)
- if Selected == false then return end
- Key = Key:lower()
- if Key == "t" then
- if time() - SpellHotkey1Delay > 0.5 then
- SpellHotkey1 = Spell
- local HotkeyMessage = Instance.new("Hint", Player:FindFirstChild("PlayerGui"))
- HotkeyMessage.Text = "[Wanda] Set hotkey 1."
- game:GetService("Debris"):AddItem(HotkeyMessage, 2.5)
- else
- Spell = SpellHotkey1
- end
- end
- if Key == "y" then
- if time() - SpellHotkey2Delay > 0.5 then
- SpellHotkey2 = Spell
- local HotkeyMessage = Instance.new("Hint", Player:FindFirstChild("PlayerGui"))
- HotkeyMessage.Text = "[Wanda] Set hotkey 2."
- game:GetService("Debris"):AddItem(HotkeyMessage, 2.5)
- else
- Spell = SpellHotkey2
- end
- end
- if Key == "u" then
- if time() - SpellHotkey3Delay > 0.5 then
- SpellHotkey3 = Spell
- local HotkeyMessage = Instance.new("Hint", Player:FindFirstChild("PlayerGui"))
- HotkeyMessage.Text = "[Wanda] Set hotkey 3."
- game:GetService("Debris"):AddItem(HotkeyMessage, 2.5)
- else
- Spell = SpellHotkey3
- end
- end
- UpdateGui()
- end
- function onSelected(Mouse)
- if script.Parent.Active == false then return end
- if Selected == true then return end
- CanUse = false
- while true do
- if CheckPlayer() == true then
- if Player.Character.Torso:FindFirstChild("Right Shoulder") ~= nil then
- break
- end
- end
- wait(0.1)
- end
- Selected = true
- if script.Parent.Active == false then return end
- coroutine.wrap(function()
- while Selected == true do
- UpdateGui()
- if CanUse == true then
- Power = Power + 1
- if Power > 100 then
- Power = 100
- end
- end
- wait(0.1)
- end
- end)()
- CanUse = false
- DisableLimb(1, Player.Character)
- SetAngle(1, math.rad(90), Player.Character)
- RemoveParts(Player.Character, 1)
- CreateParts(Player.Character, 2)
- Mouse.Icon = "rbxasset://textures\\GunCursor.png"
- Mouse.Button1Down:connect(function() onButton1Down(Mouse) end)
- Mouse.Button1Up:connect(function() onButton1Up(Mouse) end)
- Mouse.KeyDown:connect(function(Key) onKeyDown(Key, Mouse) end)
- Mouse.KeyUp:connect(function(Key) onKeyUp(Key, Mouse) end)
- UpdateGui()
- CanUse = true
- end
- function onDeselected(Mouse)
- if Selected == false then return end
- Selected = false
- while CanUse == false do wait() end
- if CheckPlayer() == false or pcall(function() local _ = Player.Character.Torso["Right Shoulder 2"] end) == false then
- RemoveParts(Player.Character, 2)
- CreateParts(Player.Character, 1)
- SetSpeed(1, 0.25, Player.Character)
- SetAngle(1, 0, Player.Character)
- EnableLimb(1, Player.Character)
- pcall(function() Player.PlayerGui[ModelName]:Remove() end)
- return
- end
- if Selected == true then return end
- CanUse = false
- RemoveParts(Player.Character, 2)
- CreateParts(Player.Character, 1)
- SetSpeed(1, 0.25, Player.Character)
- SetAngle(1, 0, Player.Character)
- EnableLimb(1, Player.Character)
- pcall(function() Player.PlayerGui[ModelName]:Remove() end)
- CanUse = true
- end
- if script.Parent.className ~= "HopperBin" then
- if Player == nil then print("Error: Player not found!") return end
- Tool = Instance.new("HopperBin")
- Tool.Name = ModelName
- Tool.Parent = Player.Backpack
- script.Name = "Main"
- script.Parent = Tool
- elseif script.Parent.className == "HopperBin" and Connected == false then
- Connected = true
- Player = script.Parent.Parent.Parent
- script.Parent.Selected:connect(onSelected)
- script.Parent.Deselected:connect(onDeselected)
- CreateParts(Player.Character, 1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement