--> Services local ReplicatedStorage = game:GetService("ReplicatedStorage") local ServerStorage = game:GetService("ServerStorage") --> Dependencies local Utils = require(ReplicatedStorage.Tools.Utils) local TypeList = require(ServerStorage.Base.TypeList) local Rune = require(ServerStorage.Base.Rune) local DamageProxy = require(ServerStorage.Proxy.DamageProxy) --> EventFilter local EventFilter = require(ReplicatedStorage.Modules.EventFilter) local EventFilterEnum = require(ReplicatedStorage.Data.EventFilterEnum) local RuneThunderDoubleDamage = {} RuneThunderDoubleDamage.__index = RuneThunderDoubleDamage setmetatable(RuneThunderDoubleDamage, {__index = Rune}) function RuneThunderDoubleDamage:Init(PlayerAI, Character: TypeList.Character) local self = Rune:Init(PlayerAI, Character, script.Name) setmetatable(self, RuneThunderDoubleDamage) return self end function RuneThunderDoubleDamage:OnInitFinish() EventFilter.SubscribeGlobalFilter(EventFilterEnum.BEFORE_ATTACK, function(eventData) local newDamageDataList = {} for _, damageData in eventData.damageData do if damageData.ElementType == DamageProxy.ElementType.LIGHT then local newDamageData = Utils:DeepCopyTable(damageData) table.insert(newDamageDataList, newDamageData) end end if #newDamageDataList > 0 then for _, newDamageData in newDamageDataList do table.insert(eventData.damageData, newDamageData) end end return eventData end, self.TriggerSlot, self) end function RuneThunderDoubleDamage:Check(index: number, AttributesData: table, BehaviorNameList: table) return true end function RuneThunderDoubleDamage:OnExecute(index: number, AttributesData: table, BehaviorNameList: table) return nil end return RuneThunderDoubleDamage