From 1e6404990e65de5580d849e40cbf3ffd25a7ce83 Mon Sep 17 00:00:00 2001 From: Ggafrik <906823881@qq.com> Date: Wed, 27 Aug 2025 00:09:38 +0800 Subject: [PATCH] gx --- excel/Rune.xlsx | Bin 14775 -> 14786 bytes src/ServerStorage/Base/Behaviour.luau | 4 +++- .../Modules/Behaviours/Attack.luau | 3 ++- .../Modules/Runes/RuneCritToAttackRate.luau | 4 ++-- .../Modules/Runes/RuneNormalNoElement.luau | 14 +++++++------ .../Modules/Runes/RuneSacrifice.luau | 4 ++-- .../Modules/Runes/RuneWearGenWeapon.luau | 14 ++++++++----- .../Modules/Runes/RuneWearHeavySword.luau | 2 +- .../Modules/Runes/RuneWearKnife.luau | 2 +- .../Modules/Runes/RuneWearSingleRuneSlot.luau | 19 ++++++++++-------- .../Modules/Runes/RuneWearStick.luau | 2 +- .../Modules/Runes/RuneWearSword.luau | 2 +- .../ClientMain/Helper.luau | 5 ++++- 13 files changed, 45 insertions(+), 30 deletions(-) diff --git a/excel/Rune.xlsx b/excel/Rune.xlsx index fad7d5ba2994ee61f37beb28824f619beb6d4d32..aa7dddc0b30e1618af181cb2452b44ae0a55741a 100644 GIT binary patch delta 5391 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 delta 5358 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 0 and #equipment:FindFirstChild("Element"):GetAttributes() == 0 then + if equipmentWearing > 0 and Utils:GetTableLength(equipment:FindFirstChild("elements"):GetAttributes()) == 0 then elementNumber = elementNumber + 1 end end - local attackRate = math.floor((AttributesData.attackRate or 100) * elementNumber * 50 / 100) + self.Data = elementNumber + + return true +end + +function RuneNormalNoElement:OnExecute(index: number, AttributesData: table, BehaviorNameList: table) + local attackRate = math.floor((100 + AttributesData.attackRate or 0) * (self.Data * 50 / 100)) Utils:TableSafeAddValue(AttributesData, "attackRate", attackRate) return nil diff --git a/src/ServerStorage/Modules/Runes/RuneSacrifice.luau b/src/ServerStorage/Modules/Runes/RuneSacrifice.luau index 0df0833..4b1924b 100644 --- a/src/ServerStorage/Modules/Runes/RuneSacrifice.luau +++ b/src/ServerStorage/Modules/Runes/RuneSacrifice.luau @@ -28,8 +28,8 @@ function RuneSacrifice:OnExecute(index: number, AttributesData: table, BehaviorN local reduceHp = math.floor(hpAttribute * 0.25) - Utils:TableSafeAddValue(AttributesData, "attackRate", 50) - Utils:TableSafeSetValue(AttributesData, "hp", RuneSacrifice - reduceHp) + Utils:TableSafeAddValue(AttributesData, "attackRate", 100) + Utils:TableSafeSetValue(AttributesData, "hp", hpAttribute - reduceHp) return nil end diff --git a/src/ServerStorage/Modules/Runes/RuneWearGenWeapon.luau b/src/ServerStorage/Modules/Runes/RuneWearGenWeapon.luau index c877f4f..938dfe6 100644 --- a/src/ServerStorage/Modules/Runes/RuneWearGenWeapon.luau +++ b/src/ServerStorage/Modules/Runes/RuneWearGenWeapon.luau @@ -20,11 +20,7 @@ function RuneWearGenWeapon:Init(PlayerAI, Character: TypeList.Character) return self end -function RuneWearGenWeapon:Check(index: number, AttributesData: table, BehaviorNameList: table) - return true -end - -function RuneWearGenWeapon:OnExecute(index: number, AttributesData: table, BehaviorNameList: table) +function RuneWearGenWeapon:OnInitFinish() local pDataFolder = ReplicatedStorage:FindFirstChild("PlayerData") if not pDataFolder then return nil end local pData = pDataFolder:FindFirstChild(self.PlayerAI.Player.UserId) @@ -52,6 +48,14 @@ function RuneWearGenWeapon:OnExecute(index: number, AttributesData: table, Behav end end + print("万能符文初始化完成") +end + +function RuneWearGenWeapon:Check(index: number, AttributesData: table, BehaviorNameList: table) + return false +end + +function RuneWearGenWeapon:OnExecute(index: number, AttributesData: table, BehaviorNameList: table) return nil end diff --git a/src/ServerStorage/Modules/Runes/RuneWearHeavySword.luau b/src/ServerStorage/Modules/Runes/RuneWearHeavySword.luau index 92a4dbe..12b94bf 100644 --- a/src/ServerStorage/Modules/Runes/RuneWearHeavySword.luau +++ b/src/ServerStorage/Modules/Runes/RuneWearHeavySword.luau @@ -51,7 +51,7 @@ function RuneWearHeavySword:OnExecute(index: number, AttributesData: table, Beha subTypeNumber = subTypeNumber + self.PlayerAI:GetSharedData(CheckShareName) end - local attackRate = math.floor((AttributesData.attackRate or 100) * subTypeNumber * 25 / 100) + local attackRate = math.floor((100 + AttributesData.attackRate or 0) * (25 / 100)) Utils:TableSafeAddValue(AttributesData, "attackRate", attackRate) return nil diff --git a/src/ServerStorage/Modules/Runes/RuneWearKnife.luau b/src/ServerStorage/Modules/Runes/RuneWearKnife.luau index 9ea3595..2b688f2 100644 --- a/src/ServerStorage/Modules/Runes/RuneWearKnife.luau +++ b/src/ServerStorage/Modules/Runes/RuneWearKnife.luau @@ -51,7 +51,7 @@ function RuneWearKnife:OnExecute(index: number, AttributesData: table, BehaviorN subTypeNumber = subTypeNumber + self.PlayerAI:GetSharedData(CheckShareName) end - local attackRate = math.floor(subTypeNumber * 25) + local attackRate = math.floor((100 + AttributesData.attackRate or 0) * (25 / 100)) Utils:TableSafeAddValue(AttributesData, "attackRate", attackRate) return nil diff --git a/src/ServerStorage/Modules/Runes/RuneWearSingleRuneSlot.luau b/src/ServerStorage/Modules/Runes/RuneWearSingleRuneSlot.luau index d1c00bf..18b29b6 100644 --- a/src/ServerStorage/Modules/Runes/RuneWearSingleRuneSlot.luau +++ b/src/ServerStorage/Modules/Runes/RuneWearSingleRuneSlot.luau @@ -20,10 +20,6 @@ function RuneWearSingleRuneSlot:Init(PlayerAI, Character: TypeList.Character) end function RuneWearSingleRuneSlot:Check(index: number, AttributesData: table, BehaviorNameList: table) - return true -end - -function RuneWearSingleRuneSlot:OnExecute(index: number, AttributesData: table, BehaviorNameList: table) local pDataFolder = ReplicatedStorage:FindFirstChild("PlayerData") if not pDataFolder then return nil end local pData = pDataFolder:FindFirstChild(self.PlayerAI.Player.UserId) @@ -37,15 +33,22 @@ function RuneWearSingleRuneSlot:OnExecute(index: number, AttributesData: table, local singleRuneSlotNumber = 0 for _, equipment in equipmentList do local equipmentMaxRuneNumber = equipment:GetAttribute("maxRuneNumber") - if equipmentMaxRuneNumber == 1 then + local wearingEquipment = equipment:GetAttribute("wearing") + if equipmentMaxRuneNumber == 1 and wearingEquipment > 0 then singleRuneSlotNumber = singleRuneSlotNumber + 1 end end - local baseAttribute = AttributesData.attackRate or 100 - local addAttribute = baseAttribute * (math.floor(singleRuneSlotNumber * 25) / 100) - Utils:TableSafeSetValue(AttributesData, "attackRate", addAttribute) + self.Data = singleRuneSlotNumber + return true +end + +function RuneWearSingleRuneSlot:OnExecute(index: number, AttributesData: table, BehaviorNameList: table) + print("before", AttributesData.attackRate, self.Data) + local attackRate = math.floor((100 + AttributesData.attackRate or 0) * (self.Data * 150 / 100)) + Utils:TableSafeAddValue(AttributesData, "attackRate", attackRate) + print("after", AttributesData.attackRate) return nil end diff --git a/src/ServerStorage/Modules/Runes/RuneWearStick.luau b/src/ServerStorage/Modules/Runes/RuneWearStick.luau index ab4ff0e..207b355 100644 --- a/src/ServerStorage/Modules/Runes/RuneWearStick.luau +++ b/src/ServerStorage/Modules/Runes/RuneWearStick.luau @@ -51,7 +51,7 @@ function RuneWearStick:OnExecute(index: number, AttributesData: table, BehaviorN subTypeNumber = subTypeNumber + self.PlayerAI:GetSharedData(CheckShareName) end - local attackRate = math.floor((AttributesData.attackRate or 100) * subTypeNumber * 25 / 100) + local attackRate = math.floor((100 + AttributesData.attackRate or 0) * (25 / 100)) Utils:TableSafeAddValue(AttributesData, "attackRate", attackRate) return nil diff --git a/src/ServerStorage/Modules/Runes/RuneWearSword.luau b/src/ServerStorage/Modules/Runes/RuneWearSword.luau index 0487e62..bd964e9 100644 --- a/src/ServerStorage/Modules/Runes/RuneWearSword.luau +++ b/src/ServerStorage/Modules/Runes/RuneWearSword.luau @@ -51,7 +51,7 @@ function RuneWearSword:OnExecute(index: number, AttributesData: table, BehaviorN subTypeNumber = subTypeNumber + self.PlayerAI:GetSharedData(CheckShareName) end - local attackRate = math.floor((AttributesData.attackRate or 100) * subTypeNumber * 25 / 100) + local attackRate = math.floor((100 + AttributesData.attackRate or 0) * (25 / 100)) Utils:TableSafeAddValue(AttributesData, "attackRate", attackRate) return nil diff --git a/src/StarterPlayerScripts/ClientMain/Helper.luau b/src/StarterPlayerScripts/ClientMain/Helper.luau index a13b4fc..db3e560 100644 --- a/src/StarterPlayerScripts/ClientMain/Helper.luau +++ b/src/StarterPlayerScripts/ClientMain/Helper.luau @@ -28,7 +28,10 @@ UserInputService.InputBegan:Connect(function(input, gameProcessed) -- RE_PlayerHelper:FireServer("AddItem", {60000, 1}) -- RE_PlayerHelper:FireServer("AddItem", {61000, 1}) -- RE_PlayerHelper:FireServer("AddItem", {62000, 1}) - RE_PlayerHelper:FireServer("AddItem", {60023, 1}) + RE_PlayerHelper:FireServer("AddItem", {60005, 1}) + RE_PlayerHelper:FireServer("AddItem", {60006, 1}) + RE_PlayerHelper:FireServer("AddItem", {60007, 1}) + RE_PlayerHelper:FireServer("AddItem", {60008, 1}) elseif input.KeyCode == Enum.KeyCode.L then -- RE_UpgradeAttributes:FireServer(2) for k, v in JsonRune do