Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- params : ...
- local module = {}
- Data = game.ReplicatedStorage.Data
- module.SwimDamage = function(Player)
- local Character = Player.Character
- Character.Humanoid.Health = Character.Humanoid.Health - 16
- local DI = script.Damage_Indicator:Clone()
- DI.Parent = game.Workspace
- DI.CFrame = Character:FindFirstChild("HumanoidRootPart").CFrame * CFrame.new(math.random(-5, 5), math.random(-1, 3), math.random(-1, 1))
- game.Debris:AddItem(DI, 1)
- DI.Bil_Gui.Damage_Value.Text = tostring(16)
- end
- module.Burn = function(Player, Character, Damage)
- if not Character:FindFirstChild("Burning") and not Character:FindFirstChild("ForceField") then
- local Burning = Instance.new("IntValue", Character)
- Burning.Name = "Burning"
- game.Debris:AddItem(Burning, 5)
- local Burning2 = script.BurningEffect:Clone()
- Burning2.Parent = Character.UpperTorso
- game.Debris:AddItem(Burning2, 5)
- local Character2 = Player.Character
- if Character2:FindFirstChild("Busoshoku") then
- Damage = Damage + Damage * (5 + Data[Player.Name].bl.Value * 0.45) / 100
- end
- do
- if Character:FindFirstChild("Busoshoku") then
- local Player2 = game.Players:GetPlayerFromCharacter(Character)
- if Player2 then
- Damage = Damage - (Damage) * ((5 + Data[Player.Name].bl.Value * 0.45) / 200)
- end
- end
- for i = 1, 10 do
- Character.Humanoid.Health = Character.Humanoid.Health - (Damage)
- local DI = script.Damage_Indicator:Clone()
- DI.Parent = game.Workspace
- DI.CFrame = Character:FindFirstChild("HumanoidRootPart").CFrame * CFrame.new(math.random(-5, 5), math.random(-1, 3), math.random(-1, 1))
- game.Debris:AddItem(DI, 1)
- DI.Bil_Gui.Damage_Value.Text = tostring(Damage)
- wait(0.5)
- end
- end
- end
- end
- module.Give_StyXp = function(Player)
- Data[Player.Name].sxp.Value = Data[Player.Name].sxp.Value + 3
- end
- module.Give_Damage = function(Player, Character, Damage)
- game.Debris:ClearAllChildren()
- local Character2 = Player.Character
- local Exp = true
- if Character.Humanoid.Health > 0 and not Character:FindFirstChild("ForceField") and Character:FindFirstChild("HumanoidRootPart") then
- local Regen = true
- if Damage > 1 then
- if not Player.Character:FindFirstChild("DiableJ") then
- Damage = Damage + math.random(0, 5)
- else
- Damage = Damage + math.random(2, 8)
- end
- else
- Regen = false
- if not Player.Character:FindFirstChild("DiableJ") then
- Damage = Damage + math.random(0, 4)
- else
- Damage = Damage + math.random(0, 1)
- end
- end
- if Character:FindFirstChild("Blocking") then
- Damage = (Damage) / 2
- local Player2 = game.Players:GetPlayerFromCharacter(Character)
- if Player2 and Character:FindFirstChild("Busoshoku") and not Character:FindFirstChild("AntiBusoXP") then
- local Value = Instance.new("IntValue", Character)
- Value.Name = "AntiBusoXP"
- game.Debris:AddItem(Value, 1)
- Data[Player2.Name].bxp.Value = Data[Player2.Name].bxp.Value + 3
- end
- end
- do
- if Character:FindFirstChild("Dodging") then
- Damage = 0
- local Player2 = game.Players:GetPlayerFromCharacter(Character)
- if Player2 and not Character:FindFirstChild("AntiKenXP") then
- local Value = Instance.new("IntValue", Character)
- Value.Name = "AntiKenXP"
- game.Debris:AddItem(Value, 1)
- Data[Player2.Name].kxp.Value = Data[Player2.Name].kxp.Value + 7
- end
- end
- do
- if Player:FindFirstChild("Stunned") then
- Damage = 0
- end
- if Character2:FindFirstChild("Busoshoku") then
- Damage = Damage + Damage * (5 + Data[Player.Name].bl.Value * 0.45) / 100
- end
- do
- if Character:FindFirstChild("Busoshoku") then
- local Player2 = game.Players:GetPlayerFromCharacter(Character)
- if Player2 then
- Damage = Damage - (Damage) * ((5 + Data[Player.Name].bl.Value * 0.45) / 200)
- end
- end
- local Bounty = false
- if Character.Humanoid.Health - (Damage) < 1 then
- Bounty = true
- end
- if Regen == true and Damage > 0 then
- game.ReplicatedStorage.Server_Events.GiveStam1:FireClient(Player)
- end
- do
- if game.Players:GetPlayerFromCharacter(Character) then
- local Player2 = game.Players:GetPlayerFromCharacter(Character)
- if Player2.TeamColor == BrickColor.new("Deep blue") and Player.TeamColor == BrickColor.new("Deep blue") then
- Damage = 0
- end
- if game.Lighting.LList:FindFirstChild(game.ReplicatedStorage.Data[Player2.Name].d.Value) and not Player.Character:FindFirstChild("Busoshoku") and Character:FindFirstChild("Reflex") then
- Damage = 0
- if not Player.Character.UpperTorso:FindFirstChild("Reflex") then
- Reflex(Character, game.Lighting.LList:FindFirstChild(game.ReplicatedStorage.Data[Player2.Name].d.Value))
- end
- end
- end
- if Damage > 0 then
- local Data = game.ReplicatedStorage.Data[Player.Name]
- if game.Players:GetPlayerFromCharacter(Character) then
- if not Character:FindFirstChild("Blocking") then
- game.ReplicatedStorage.Server_Events.GetHit2:FireClient(game.Players:GetPlayerFromCharacter(Character))
- end
- if game.Players:GetPlayerFromCharacter(Character):FindFirstChild("AntiLog") then
- game.Players:GetPlayerFromCharacter(Character).AntiLog:remove()
- end
- local AntiLog = Instance.new("ObjectValue", game.Players:GetPlayerFromCharacter(Character))
- AntiLog.Name = "AntiLog"
- AntiLog.Value = Player
- game.Debris:AddItem(AntiLog, 15)
- if Bounty then
- local Data2 = game.ReplicatedStorage.Data[game.Players:GetPlayerFromCharacter(Character).Name]
- if Data.b.Value * 0.1 <= Data2.b.Value then
- Data.b.Value = Data.b.Value + Data2.b.Value * 0.2 + 100
- Data2.b.Value = Data2.b.Value - Data2.b.Value * 0.3
- Data.m.Value = Data.m.Value + Data2.m.Value * 0.2 + 200
- Data2.m.Value = Data2.m.Value - Data2.m.Value * 0.3
- Player.Character.Humanoid.Health = Player.Character.Humanoid.Health + Player.Character.Humanoid.MaxHealth * 0.75
- end
- end
- end
- do
- Character.Humanoid.Health = Character.Humanoid.Health - Damage
- do
- local DI = script.Damage_Indicator:Clone()
- DI.Parent = game.Workspace
- DI.CFrame = Character:FindFirstChild("HumanoidRootPart").CFrame * CFrame.new(math.random(-5, 5), math.random(-1, 3), math.random(-1, 1))
- game.Debris:AddItem(DI, 1)
- DI.Bil_Gui.Damage_Value.Text = tostring(Damage)
- game.Debris:ClearAllChildren()
- end
- end
- end
- end
- end
- end
- end
- end
- end
- module.Make_Shockwave = function(CFrame_Pos, Original_Size, Growing_Rate, Lifetime)
- local Part = Instance.new("Part", game.Workspace)
- local Script = game.ReplicatedStorage.Effects.Shockwave_Effect:Clone()
- Script.Parent = Part
- Script.CFrame_Pos.Value = CFrame_Pos
- Script.Original_Size.Value = Original_Size
- Script.Growing_Rate.Value = Growing_Rate
- Script.Lifetime.Value = Lifetime
- Script.Disabled = false
- return Part
- end
- module.Change_State = function(Player, New_State)
- Data:FindFirstChild(Player.Name).Current_State.Value = New_State
- end
- module.Possible = function(Player, Stamina)
- local Possibility = true
- local Data = game.ReplicatedStorage.Data[Player.Name]
- if Player.Character.Humanoid.Health < 1 then
- Possibility = false
- end
- if Data.Stamina.Value < Stamina then
- Possibility = false
- end
- if Player:FindFirstChild("Stunned") then
- Possibility = false
- end
- if Player:FindFirstChild("Action") then
- Possibility = false
- end
- local Character = Player.Character
- if Character.Humanoid.Sit == true then
- Possibility = false
- end
- return Possibility
- end
- module.Possible2 = function(Player, Stamina)
- local Possibility = true
- local Data = game.ReplicatedStorage.Data[Player.Name]
- if Player.Character.Humanoid.Health < 1 then
- Possibility = false
- end
- if Data.Stamina.Value < Stamina then
- Possibility = false
- end
- if Player:FindFirstChild("Action") then
- Possibility = false
- end
- local Character = Player.Character
- if Character.Humanoid.Sit == true then
- Possibility = false
- end
- return Possibility
- end
- module.Clash = function(Player1, Character2)
- local Character = Player1.Character
- game.ReplicatedStorage.Server_Events.Action:FireClient(Player1, 0.4)
- local Player2 = game.Players:GetPlayerFromCharacter(Character2)
- local Hao2 = false
- local Style = ""
- if Player2 then
- game.ReplicatedStorage.Server_Events.Action:FireClient(Player2, 0.4)
- if Data[Player2.Name].h.Value == true then
- Hao2 = true
- end
- Style = game.ReplicatedStorage.Data[Player2.Name].s.Value
- end
- local Sound = Instance.new("Sound", Character.UpperTorso)
- Sound.SoundId = "rbxassetid://387041043"
- Sound.Volume = 1
- game.Debris:AddItem(Sound, 2)
- Sound:Play()
- if Data[Player1.Name].h.Value == true and Hao2 then
- local Effect = game.Lighting.Effects.HaoClash:Clone()
- Effect.Parent = game.Workspace
- for _,Part in pairs(Effect:GetChildren()) do
- Part.Anchored = true
- Part.CFrame = Character.HumanoidRootPart.CFrame:lerp(Character2.HumanoidRootPart.CFrame, 0.5) * CFrame.Angles(math.random(-90, 90), math.random(-90, 90), math.random(-90, 90))
- local s = script.PartFade:Clone()
- s.Transparency.Value = 0.03
- s.Parent = Part
- s.Disabled = false
- local s2 = script.SizeScale:Clone()
- s2.Scaling.Value = 1.5
- s2.Parent = Part
- s2.Disabled = false
- end
- game.Debris:AddItem(Effect, 2)
- local EnemyList = FindAllClosest(Character, Character2, Character.HumanoidRootPart.Position, 20)
- for _,Enemy in pairs(EnemyList) do
- local CFr = CFrame.new(Enemy.HumanoidRootPart.Position, Character.HumanoidRootPart.Position)
- local BV = Instance.new("BodyVelocity", Enemy.HumanoidRootPart)
- BV.maxForce = Vector3.new(math.huge, 0, math.huge)
- BV.Velocity = CFr.lookVector * -30
- game.Debris:AddItem(BV, 0.5)
- end
- else
- do
- do
- local Effect = game.Lighting.Effects.Clash:Clone()
- Effect.Parent = game.Workspace
- for _,Part in pairs(Effect:GetChildren()) do
- Part.Anchored = true
- Part.CFrame = Character.HumanoidRootPart.CFrame:lerp(Character2.HumanoidRootPart.CFrame, 0.5) * CFrame.Angles(math.random(-90, 90), math.random(-90, 90), math.random(-90, 90))
- local s = script.PartFade:Clone()
- s.Transparency.Value = 0.03
- s.Parent = Part
- s.Disabled = false
- local s2 = script.SizeScale:Clone()
- s2.Scaling.Value = 0.25
- s2.Parent = Part
- s2.Disabled = false
- end
- game.Debris:AddItem(Effect, 2)
- local Anim1, Anim2 = nil, nil
- if script.Module_Animations:FindFirstChild("Clash_" .. Data[Player1.Name].s.Value) then
- Anim1 = Player1.Character.Humanoid:LoadAnimation(script.Module_Animations:FindFirstChild("Clash_" .. Data[Player1.Name].s.Value))
- else
- Anim1 = Player1.Character.Humanoid:LoadAnimation(script.Module_Animations.Clash_Combat)
- end
- if script.Module_Animations:FindFirstChild("Clash_" .. Style) then
- Anim2 = Character2.Humanoid:LoadAnimation(script.Module_Animations:FindFirstChild("Clash_" .. Style))
- else
- Anim2 = Character2.Humanoid:LoadAnimation(script.Module_Animations.Clash_Combat)
- end
- Anim1:Play()
- Anim2:Play()
- local Pos = Character.UpperTorso.Position
- Pos = Vector3.new(Pos.X, Character2.UpperTorso.Position.Y, Pos.Z)
- local CFr = CFrame.new(Character2.LowerTorso.Position, Pos)
- Character2.LowerTorso.CFrame = CFr
- for i,Part in pairs(Character:GetChildren()) do
- if Part.ClassName == "MeshPart" or Part.ClassName == "Part" and Part.Name ~= "LowerTorso" and Part.Name ~= "HumanoidRootPart" and Part.Name ~= "RightHand" and Part.Name ~= "LeftHand" then
- Part.Anchored = true
- end
- end
- for i,Part in pairs(Character2:GetChildren()) do
- if Part.ClassName == "MeshPart" or Part.ClassName == "Part" and Part.Name ~= "LowerTorso" and Part.Name ~= "HumanoidRootPart" and Part.Name ~= "RightHand" and Part.Name ~= "LeftHand" then
- Part.Anchored = true
- end
- end
- Character.HumanoidRootPart.Anchored = true
- Character2.HumanoidRootPart.Anchored = true
- wait(0.5)
- Anim1:Stop()
- Anim2:Stop()
- Character.HumanoidRootPart.Anchored = false
- Character2.HumanoidRootPart.Anchored = false
- for i,Part in pairs(Character:GetChildren()) do
- if Part.ClassName == "MeshPart" or Part.ClassName == "Part" and Part.Name ~= "LowerTorso" and Part.Name ~= "HumanoidRootPart" and Part.Name ~= "RightHand" and Part.Name ~= "LeftHand" then
- Part.Anchored = false
- end
- end
- for i,Part in pairs(Character2:GetChildren()) do
- if Part.ClassName == "MeshPart" or Part.ClassName == "Part" and Part.Name ~= "LowerTorso" and Part.Name ~= "HumanoidRootPart" and Part.Name ~= "RightHand" and Part.Name ~= "LeftHand" then
- Part.Anchored = false
- end
- end
- Character.HumanoidRootPart.CFrame = CFrame.new(Character.HumanoidRootPart.Position) * CFrame.new(0, 1, 0)
- Character2.HumanoidRootPart.CFrame = CFrame.new(Character2.HumanoidRootPart.Position) * CFrame.new(0, 1, 0)
- end
- end
- end
- end
- module.RemoveStamina = function(Player, Stamina)
- local Data = game.ReplicatedStorage.Data[Player.Name]
- Data.Stamina.Value = Data.Stamina.Value - Stamina
- end
- module.Action = function(Player, Time)
- local Value = Instance.new("IntValue", Player)
- Value.Name = "Action"
- game.Debris:AddItem(Value, Time)
- end
- Action = function(Player, Time)
- local Value = Instance.new("IntValue", Player)
- Value.Name = "Action"
- game.Debris:AddItem(Value, Time)
- end
- Reflex = function(Character, ParticlesFolder)
- for _,Part in pairs(Character:GetChildren()) do
- if Part.ClassName == "MeshPart" then
- for _,Particle in pairs(ParticlesFolder:GetChildren()) do
- local Particle2 = Particle:Clone()
- Particle2.Parent = Part
- Particle2.Name = "Reflex"
- game.Debris:AddItem(Particle2, 1)
- end
- end
- end
- end
- MakeShockwaveV2 = function(CFr)
- local S = game.Lighting.Effects.Shockwave2:Clone()
- S.Config.Duration.Value = 50
- S.Config.X.Value = 1
- S.Config.Z.Value = 1
- S.Config.Y.Value = 0.1
- S.Transparency = 0
- S.CFrame = CFr * CFrame.new(0, -2, 0) * CFrame.Angles(0, math.random(-90, 90), 0)
- S.Parent = game.Workspace
- S.BrickColor = BrickColor.new("Lily white")
- local S = game.Lighting.Effects.Shockwave2:Clone()
- S.Config.Duration.Value = 30
- S.Config.X.Value = 0.5
- S.Config.Z.Value = 0.5
- S.Config.Y.Value = 0.15
- S.Transparency = 0.7
- S.CFrame = CFr * CFrame.new(0, -2, 0) * CFrame.Angles(0, math.random(-90, 90), 0)
- S.Parent = game.Workspace
- S.BrickColor = BrickColor.new("Lily white")
- end
- FindAllClosest = function(Character, Character2, Position, Distance)
- local Closests = {}
- for _,Model in pairs(game.Workspace:GetChildren()) do
- if Model:FindFirstChild("HumanoidRootPart") and Model ~= Character and Model:FindFirstChild("Humanoid") and Model ~= Character2 and Character.HumanoidRootPart.Position - Model.HumanoidRootPart.Position.magnitude <= Distance then
- table.insert(Closests, 1, Model)
- end
- end
- return Closests
- end
- return module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement