From 347f4bdede513230cd7cb5965a9d202600068c80 Mon Sep 17 00:00:00 2001 From: gechangfu Date: Tue, 26 Aug 2025 16:41:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- excel/Rune.xlsx | Bin 14807 -> 14797 bytes .../Modules/Behaviours/Attack.luau | 2 -- .../Modules/Runes/RuneWearElementAttack.luau | 4 ++-- .../Modules/Runes/RuneWearEmptySlot.luau | 4 ++-- .../Modules/Runes/RuneWearFillSlot.luau | 4 ++-- .../Modules/Runes/RuneWearKnife.luau | 2 -- .../Proxy/PlayerFightProxy/PlayerAI.luau | 4 ++-- .../Proxy/RuneProxy/RuneCalculation.luau | 3 +++ 8 files changed, 11 insertions(+), 12 deletions(-) diff --git a/excel/Rune.xlsx b/excel/Rune.xlsx index 643ac3f1d18ffe3d417f6a4236513ef1ca39921c..604add4dc553933a9678dfce85d3a1af2d3e4131 100644 GIT binary patch delta 7722 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 BuV?@O delta 7696 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 GuKxzem6-7W diff --git a/src/ServerStorage/Modules/Behaviours/Attack.luau b/src/ServerStorage/Modules/Behaviours/Attack.luau index c5d34df..4436bec 100644 --- a/src/ServerStorage/Modules/Behaviours/Attack.luau +++ b/src/ServerStorage/Modules/Behaviours/Attack.luau @@ -106,7 +106,6 @@ function Attack:Execute() -- 暴击判定走通用属性 local critCheckRate = self:GetAttributeValue("critRate") or 0 - critCheckRate = 100 local isCrit = Rng:RandomPercent(critCheckRate) local baseAttack = self.PlayerAI:GetBaseAttack() @@ -157,7 +156,6 @@ function Attack:Execute() }, function(processedData) damageData = processedData.damageData end) - print("damageData", damageData) DamageProxy:TakeDamage(self.Character, self.CheckData["ClosestCharacter"], damageData) -- 发送攻击后事件 diff --git a/src/ServerStorage/Modules/Runes/RuneWearElementAttack.luau b/src/ServerStorage/Modules/Runes/RuneWearElementAttack.luau index 44a46e1..20699c3 100644 --- a/src/ServerStorage/Modules/Runes/RuneWearElementAttack.luau +++ b/src/ServerStorage/Modules/Runes/RuneWearElementAttack.luau @@ -38,11 +38,11 @@ function RuneWearElementAttack:OnExecute(index: number, AttributesData: table, B for _, equipment in equipmentList do local equipmentWearing = equipment:GetAttribute("wearing") if equipmentWearing > 0 then - elementNumber = elementNumber + #equipment:FindFirstChild("Element"):GetAttributes() + elementNumber = elementNumber + Utils:GetTableLength(equipment:FindFirstChild("elements"):GetAttributes()) end end - local attackRate = math.floor((AttributesData.attackRate or 100) * elementNumber * 25 / 100) + local attackRate = math.floor((100 + AttributesData.attackRate or 0) * (elementNumber * 25 / 100)) Utils:TableSafeAddValue(AttributesData, "attackRate", attackRate) return nil diff --git a/src/ServerStorage/Modules/Runes/RuneWearEmptySlot.luau b/src/ServerStorage/Modules/Runes/RuneWearEmptySlot.luau index 999744d..8b60d71 100644 --- a/src/ServerStorage/Modules/Runes/RuneWearEmptySlot.luau +++ b/src/ServerStorage/Modules/Runes/RuneWearEmptySlot.luau @@ -46,7 +46,7 @@ function RuneWearEmptySlot:OnExecute(index: number, AttributesData: table, Behav for _, equipment in equipmentList do local equipmentWearing = equipment:GetAttribute("wearing") if equipmentWearing > 0 then - maxRuneNumber = maxRuneNumber + 1 + maxRuneNumber = maxRuneNumber + equipment:GetAttribute("maxRuneNumber") table.insert(wearWeaponList, equipment.Name) end end @@ -60,7 +60,7 @@ function RuneWearEmptySlot:OnExecute(index: number, AttributesData: table, Behav end end - local attackRate = math.floor((AttributesData.attackRate or 100) * (maxRuneNumber - hasSlotNumber) * 25 / 100) + local attackRate = math.floor((100 + AttributesData.attackRate or 0) * ((maxRuneNumber - hasSlotNumber) * 25 / 100)) Utils:TableSafeAddValue(AttributesData, "attackRate", attackRate) return nil diff --git a/src/ServerStorage/Modules/Runes/RuneWearFillSlot.luau b/src/ServerStorage/Modules/Runes/RuneWearFillSlot.luau index 521004d..a6103a4 100644 --- a/src/ServerStorage/Modules/Runes/RuneWearFillSlot.luau +++ b/src/ServerStorage/Modules/Runes/RuneWearFillSlot.luau @@ -59,8 +59,8 @@ function RuneWearFillSlot:OnExecute(index: number, AttributesData: table, Behavi end end end - - local attackRate = math.floor((AttributesData.attackRate or 100) * hasSlotNumber * 25 / 100) + + local attackRate = math.floor((100 + AttributesData.attackRate or 0) * (hasSlotNumber * 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 65e59c4..9ea3595 100644 --- a/src/ServerStorage/Modules/Runes/RuneWearKnife.luau +++ b/src/ServerStorage/Modules/Runes/RuneWearKnife.luau @@ -52,9 +52,7 @@ function RuneWearKnife:OnExecute(index: number, AttributesData: table, BehaviorN end local attackRate = math.floor(subTypeNumber * 25) - print("Before attackRate", attackRate) Utils:TableSafeAddValue(AttributesData, "attackRate", attackRate) - print("After attackRate", AttributesData.attackRate) return nil end diff --git a/src/ServerStorage/Proxy/PlayerFightProxy/PlayerAI.luau b/src/ServerStorage/Proxy/PlayerFightProxy/PlayerAI.luau index 430b610..50e9a18 100644 --- a/src/ServerStorage/Proxy/PlayerFightProxy/PlayerAI.luau +++ b/src/ServerStorage/Proxy/PlayerFightProxy/PlayerAI.luau @@ -119,8 +119,8 @@ end -- 触发所有符文初始化完成 function PlayerAI:TriggerAllRunesInitFinish() - for _, data in self.RuneList do - data.rune:InitFinish() + for _, rune in self.RuneList do + rune:InitFinish() end end diff --git a/src/ServerStorage/Proxy/RuneProxy/RuneCalculation.luau b/src/ServerStorage/Proxy/RuneProxy/RuneCalculation.luau index 191f97e..10a2f21 100644 --- a/src/ServerStorage/Proxy/RuneProxy/RuneCalculation.luau +++ b/src/ServerStorage/Proxy/RuneProxy/RuneCalculation.luau @@ -25,6 +25,9 @@ function RuneCalculation:GetRuneAttributes(Player: Player, PlayerAI: table, Attr PlayerAI:ClearSharedData() PlayerAI:ClearAllRune() for wearingSlot, runeName in wearingRuneName do PlayerAI:AddRune(runeName, wearingSlot) end + + -- 符文初始化完成 + PlayerAI:TriggerAllRunesInitFinish() -- 开始记录 for runeName, rune in pairs(PlayerAI.RuneList) do