This commit is contained in:
gechangfu 2025-08-26 16:41:16 +08:00
parent b5a090b70e
commit 347f4bdede
8 changed files with 11 additions and 12 deletions

Binary file not shown.

View File

@ -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)
-- 发送攻击后事件

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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