From 99196749804cbcdaf8862e01e6625cd9fff92b89 Mon Sep 17 00:00:00 2001 From: gaoxin Date: Thu, 12 Nov 2020 15:10:53 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=88=98=E6=96=97=E3=80=91=E5=81=87?= =?UTF-8?q?=E6=88=98=E6=96=97=E5=8A=A0=E5=85=A5=E5=AF=B9MonsterGroup?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E7=9A=84=E7=81=B5=E5=85=BD=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../~Lua/Modules/Battle/BattleManager.lua | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/BattleManager.lua b/Assets/ManagedResources/~Lua/Modules/Battle/BattleManager.lua index 145f66cec1..15f15366fb 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/BattleManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/BattleManager.lua @@ -548,6 +548,63 @@ function this.GetBattlePlayerData(fId) return playerData end + +function this.GetMonsterPros(id, lv, star) + local proList = PokemonManager.GetSinglePokemonAddProDataByLvAndStar(id, lv, star) + local allProVal = {} + table.insert(allProVal, 1, lv) --等级 + table.insert(allProVal, 2, proList[HeroProType.Hp]) --生命 + table.insert(allProVal, 3, proList[HeroProType.Hp]) --最大生命 + table.insert(allProVal, 4, proList[HeroProType.Attack]) --攻击力 + table.insert(allProVal, 5, proList[HeroProType.PhysicalDefence]) --护甲 + table.insert(allProVal, 6, proList[HeroProType.MagicDefence]) --魔抗 + table.insert(allProVal, 7, proList[HeroProType.Speed]) --速度 + table.insert(allProVal, 8, proList[HeroProType.DamageBocusFactor]) --伤害加成系数(%) + table.insert(allProVal, 9, proList[HeroProType.DamageReduceFactor]) --伤害减免系数(%) + table.insert(allProVal, 10, proList[HeroProType.Hit]) --命中率(%) + table.insert(allProVal, 11, proList[HeroProType.Dodge]) --闪避率(%) + table.insert(allProVal, 12, proList[HeroProType.CritFactor]) --暴击率(%) + table.insert(allProVal, 13, proList[HeroProType.CritDamageFactor]) --暴击伤害系数(%) + table.insert(allProVal, 14, proList[HeroProType.AntiCritDamageFactor]) --抗暴率(%) + table.insert(allProVal, 15, proList[HeroProType.TreatFacter]) --治疗加成系数(%) + table.insert(allProVal, 16, proList[HeroProType.CureFacter]) --受到治疗系数(%) + table.insert(allProVal, 17, 0) --异妖伤害加成系数(%) + table.insert(allProVal, 18, 0) --异妖减伤率(%) + table.insert(allProVal, 19, 0) --火系伤害减免系数(%) + table.insert(allProVal, 20, 0) --风系伤害减免系数(%) + table.insert(allProVal, 21, 0) --冰系伤害减免系数(%) + table.insert(allProVal, 22, 0) --地系伤害减免系数(%) + table.insert(allProVal, 23, 0) --光系伤害减免系数(%) + table.insert(allProVal, 24, 0) --暗系伤害减免系数(%) + table.insert(allProVal, 25, 0) + local pros = table.concat(allProVal, "#") + return pros +end + +-- 从monsterGroup中获取灵兽数据 +function this.GetMonsterDataFromGroup(gId, camp) + local list = {} + local Monsters = MonsterGroup[gId].Animal + for i = 1, #Monsters do + local monster = Monsters[i] + local id = monster[1] + local star = monster[2] + local level = monster[3] + + local mUnit = { + unitId = id, + position = i, + star = star + } + local pros = this.GetMonsterPros(id, level, star) + mUnit.propertys = pros + local mSkill = ConfigManager.GetConfigDataByDoubleKey(ConfigName.SpiritAnimalSkill, "SpiritAnimalMatch", id, "StarMatch", star) + mUnit.unitSkillIds = mSkill.Id + list[i] = this.PokemonUnitAdapter(mUnit, camp) + end + return list +end + -- 根据怪物组数据 function this.GetBattleEnemyData(gId) -- body @@ -563,7 +620,10 @@ function this.GetBattleEnemyData(gId) end end enemyData[i] = enemyList + -- 构建灵兽数据 + enemyData[i].monsterList = this.GetMonsterDataFromGroup(gId, 1) end + return enemyData end @@ -580,6 +640,8 @@ function this.GetPlayerDataFromMonsterGroup(gId) end end end + -- 构建灵兽数据 + playerData.monsterList = this.GetMonsterDataFromGroup(gId, 0) return playerData end