From d8a9bc459ddd23faa0fe6d8a39ec91d5e32084ee Mon Sep 17 00:00:00 2001 From: puxuan <413323644@qq.com> Date: Fri, 17 Oct 2025 12:17:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=82=89=E9=B8=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/app/module/battle/battle_const.lua | 5 +++++ .../controller/battle_base_controller.lua | 7 ++++++- lua/app/module/battle/team/battle_team.lua | 18 ++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/lua/app/module/battle/battle_const.lua b/lua/app/module/battle/battle_const.lua index 0ea02eed..444c88bc 100644 --- a/lua/app/module/battle/battle_const.lua +++ b/lua/app/module/battle/battle_const.lua @@ -377,6 +377,11 @@ local BUFF_NAME = { FOREVER_THORNS = "forever_thorns", RANDOM_UNIVERSAL = "random_universal", MAIN_HERO_ENERGYADD = "main_hero_energyadd", + RED_REFRESH_WEIGHT = "red_refresh_weight", + YELLOW_REFRESH_WEIGHT = "yellow_refresh_weight", + GREEN_REFRESH_WEIGHT = "green_refresh_weight", + BLUE_REFRESH_WEIGHT = "blue_refresh_weight", + PURPLE_REFRESH_WEIGHT = "purple_refresh_weight", } BattleConst.BUFF_NAME = BUFF_NAME diff --git a/lua/app/module/battle/controller/battle_base_controller.lua b/lua/app/module/battle/controller/battle_base_controller.lua index 2006331b..78775813 100644 --- a/lua/app/module/battle/controller/battle_base_controller.lua +++ b/lua/app/module/battle/controller/battle_base_controller.lua @@ -2318,7 +2318,12 @@ function BattleBaseController:getRandomGridInfo() -- local index = GFunc.getRandomIndex(self.getRandomGridInfoIndexs) -- elementType = self.getRandomGridInfoTypeList[index] -- end - local elementType = math.random(1, BattleConst.ELEMENT_TYPE.PURPLE) + local weights = {2000, 2000, 2000, 2000, 2000} + local extWeights = self.atkTeam:getElementExtRatio() + for i,v in ipairs(weights) do + weights[i] = weights[i] + (extWeights[i] or 0) + end + local elementType = GFunc.getRandomIndex(weights) local isUniversal = false if self.atkTeam:checkUniversal() and not self.battleData:hadUniversalGrid() then isUniversal = true diff --git a/lua/app/module/battle/team/battle_team.lua b/lua/app/module/battle/team/battle_team.lua index 29d5aac2..9d9bf905 100644 --- a/lua/app/module/battle/team/battle_team.lua +++ b/lua/app/module/battle/team/battle_team.lua @@ -703,6 +703,24 @@ function BattleTeam:hadUMainHeroExtAddBuff() return false end +function BattleTeam:getElementExtRatio() + local weights = {} + for i,v in ipairs(self.buffList) do + if v.buff:getName() == BattleConst.BUFF_NAME.RED_REFRESH_WEIGHT then + weights[BattleConst.ELEMENT_TYPE.RED] = v.buff:getEffectNum() + elseif v.buff:getName() == BattleConst.BUFF_NAME.GREEN_REFRESH_WEIGHT then + weights[BattleConst.ELEMENT_TYPE.GREEN] = v.buff:getEffectNum() + elseif v.buff:getName() == BattleConst.BUFF_NAME.YELLOW_REFRESH_WEIGHT then + weights[BattleConst.ELEMENT_TYPE.YELLOW] = v.buff:getEffectNum() + elseif v.buff:getName() == BattleConst.BUFF_NAME.BLUE_REFRESH_WEIGHT then + weights[BattleConst.ELEMENT_TYPE.BLUE] = v.buff:getEffectNum() + elseif v.buff:getName() == BattleConst.BUFF_NAME.PURPLE_REFRESH_WEIGHT then + weights[BattleConst.ELEMENT_TYPE.PURPLE] = v.buff:getEffectNum() + end + end + return weights +end + -- 检查是否带有万能块buff function BattleTeam:checkUniversal() if self:hadUniversalBuff() then