每日战斗战斗部分
This commit is contained in:
parent
9830ac3cbd
commit
7fa2c93ad5
@ -91,6 +91,7 @@ function ConfigManager:preLoadConfig()
|
|||||||
self:clearConfigCache(name)
|
self:clearConfigCache(name)
|
||||||
end
|
end
|
||||||
handleMonsterGrow("monster_chapter")
|
handleMonsterGrow("monster_chapter")
|
||||||
|
handleMonsterGrow("monster_daily_challenge")
|
||||||
|
|
||||||
self.configs["monster"] = {
|
self.configs["monster"] = {
|
||||||
data = monsterFullData,
|
data = monsterFullData,
|
||||||
|
|||||||
@ -19,12 +19,12 @@ local hero = {
|
|||||||
["rouge_skill_7"]=1200107,
|
["rouge_skill_7"]=1200107,
|
||||||
["begin_lv"]=1,
|
["begin_lv"]=1,
|
||||||
["hp"]={
|
["hp"]={
|
||||||
2000000,
|
2000000000,
|
||||||
2400000,
|
2400000000,
|
||||||
2800000,
|
2800000,
|
||||||
3220000,
|
3220000,
|
||||||
3660000,
|
3660000000,
|
||||||
4120000,
|
4120000000,
|
||||||
4620000,
|
4620000,
|
||||||
5160000,
|
5160000,
|
||||||
5760000,
|
5760000,
|
||||||
@ -40,7 +40,7 @@ local hero = {
|
|||||||
1200000,
|
1200000,
|
||||||
1400000,
|
1400000,
|
||||||
1610000,
|
1610000,
|
||||||
1830000,
|
18300000,
|
||||||
2060000,
|
2060000,
|
||||||
2310000,
|
2310000,
|
||||||
2580000,
|
2580000,
|
||||||
|
|||||||
@ -76,6 +76,7 @@ BattleConst.TIME_SCALE = {
|
|||||||
-- 为方便存储,这里使用字符串
|
-- 为方便存储,这里使用字符串
|
||||||
BattleConst.BATTLE_TYPE = {
|
BattleConst.BATTLE_TYPE = {
|
||||||
STAGE = "1",
|
STAGE = "1",
|
||||||
|
DAILY_CHALLENGE = "2",
|
||||||
}
|
}
|
||||||
|
|
||||||
BattleConst.TYPEOF_LUA_COMP = {
|
BattleConst.TYPEOF_LUA_COMP = {
|
||||||
|
|||||||
@ -7,7 +7,8 @@ BattleManager.SKILL_CFG = ConfigManager:getConfig("skill")
|
|||||||
local BATTLE_CONTROLLER_BASE = "app/module/battle/controller/battle_controller"
|
local BATTLE_CONTROLLER_BASE = "app/module/battle/controller/battle_controller"
|
||||||
|
|
||||||
local BATTLE_CONTROLLER = {
|
local BATTLE_CONTROLLER = {
|
||||||
[BattleConst.BATTLE_TYPE.STAGE] = "app/module/battle/controller/battle_controller_stage"
|
[BattleConst.BATTLE_TYPE.STAGE] = "app/module/battle/controller/battle_controller_stage",
|
||||||
|
[BattleConst.BATTLE_TYPE.DAILY_CHALLENGE] = "app/module/battle/controller/battle_controller_daily_challenge",
|
||||||
}
|
}
|
||||||
|
|
||||||
function BattleManager:showPauseUI()
|
function BattleManager:showPauseUI()
|
||||||
|
|||||||
@ -30,10 +30,39 @@ function BattleController:getNotInvolvedSkills()
|
|||||||
return {}
|
return {}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function BattleController:getFixedRogueSkill()
|
||||||
|
return {}
|
||||||
|
end
|
||||||
|
|
||||||
function BattleController:getSealElementType()
|
function BattleController:getSealElementType()
|
||||||
return {}
|
return {}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function BattleController:getBuffs()
|
||||||
|
return {}
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleController:handleBuffs(side)
|
||||||
|
for _, buffEntity in ipairs(self:getBuffs()) do
|
||||||
|
local buffTargetSide = buffEntity:getTargetSide()
|
||||||
|
local target
|
||||||
|
if buffTargetSide == BattleConst.SIDE_ATK then
|
||||||
|
target = self.atkTeam:getMainUnit()
|
||||||
|
else
|
||||||
|
target = self.defTeam:getMainUnit()
|
||||||
|
end
|
||||||
|
if side then
|
||||||
|
if buffTargetSide == side then
|
||||||
|
buffEntity:setOwner(target)
|
||||||
|
target:takeEffect(buffEntity, target)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
buffEntity:setOwner(target)
|
||||||
|
target:takeEffect(buffEntity, target)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- 战斗对应的ui
|
-- 战斗对应的ui
|
||||||
function BattleController:getBattleUIPath()
|
function BattleController:getBattleUIPath()
|
||||||
return "app/ui/battle/battle_ui"
|
return "app/ui/battle/battle_ui"
|
||||||
@ -47,6 +76,16 @@ end
|
|||||||
function BattleController:initOther()
|
function BattleController:initOther()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- 怪物攻击力加成
|
||||||
|
function BattleController:getMonsterAtkAddition()
|
||||||
|
return BattleConst.DEFAULT_FACTOR
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 怪物血量加成
|
||||||
|
function BattleController:getMonsterHpAddition()
|
||||||
|
return BattleConst.DEFAULT_FACTOR
|
||||||
|
end
|
||||||
|
|
||||||
-- 需要额外加载的资源
|
-- 需要额外加载的资源
|
||||||
function BattleController:loadOtherRes(callback)
|
function BattleController:loadOtherRes(callback)
|
||||||
return callback()
|
return callback()
|
||||||
@ -364,6 +403,7 @@ function BattleController:getOtherSideMainUnit(side)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function BattleController:onLoadComplete()
|
function BattleController:onLoadComplete()
|
||||||
|
self:handleBuffs()
|
||||||
self:battleStart()
|
self:battleStart()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,248 @@
|
|||||||
|
local BattleHelper = require "app/module/battle/helper/battle_helper"
|
||||||
|
local BattleController = require "app/module/battle/controller/battle_controller"
|
||||||
|
local BattleControllerDailyChallenge = class("BattleControllerDailyChallenge", BattleController)
|
||||||
|
local CHAPTER_CFG = ConfigManager:getConfig("chapter_daily_challenge")
|
||||||
|
local BattleBuffEntity = require "app/userdata/battle/skill/battle_buff_entity"
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:getChapterId()
|
||||||
|
return 1 -- 临时
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:getMaxWave()
|
||||||
|
if CHAPTER_CFG[self.chapterId] then
|
||||||
|
return #CHAPTER_CFG[self.chapterId].monster
|
||||||
|
end
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:getChessBoardBgName()
|
||||||
|
local chapterInfo = CHAPTER_CFG[self.chapterId]
|
||||||
|
if not chapterInfo then
|
||||||
|
return "chessboard_1"
|
||||||
|
end
|
||||||
|
return chapterInfo.chess_board
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:getBuffs()
|
||||||
|
if not self.initBuffs then
|
||||||
|
self.initBuffs = {}
|
||||||
|
end
|
||||||
|
|
||||||
|
return self.initBuffs
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:initOther()
|
||||||
|
local cfg = ConfigManager:getConfig("chapter")[2] -- 临时
|
||||||
|
self.monsterAtkAddition = 0
|
||||||
|
self.monsterHpAddition = 0
|
||||||
|
if cfg and cfg.daily_challenge_difficulty then
|
||||||
|
self.monsterAtkAddition = cfg.daily_challenge_difficulty[2]
|
||||||
|
self.monsterHpAddition = cfg.daily_challenge_difficulty[1]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 怪物攻击力加成
|
||||||
|
function BattleControllerDailyChallenge:getMonsterAtkAddition()
|
||||||
|
return self.monsterAtkAddition
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 怪物血量加成
|
||||||
|
function BattleControllerDailyChallenge:getMonsterHpAddition()
|
||||||
|
return self.monsterHpAddition
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:initDefUnits(callback)
|
||||||
|
local config = CHAPTER_CFG[self.chapterId]
|
||||||
|
self.battleUI:loadBg(config.scene)
|
||||||
|
local unitEntity = DataManager.BattleData:addMonster(config.monster[1], nil, self)
|
||||||
|
local modelId = unitEntity:getModelId()
|
||||||
|
BattleHelper:loadBattleHeroModel(modelId, self.battleUI:getBattleNode(), function(spineObject)
|
||||||
|
local monsterComp = spineObject:addLuaComponent(GConst.BattleConst.TYPEOF_LUA_COMP.BATTLE_MONSTER_COMPONENT)
|
||||||
|
monsterComp:initWithEntity(modelId, unitEntity, self)
|
||||||
|
self.defTeam:addUnit(monsterComp, true)
|
||||||
|
self.battleUI:refreshDefHp(unitEntity:getHp(), unitEntity:getHpPercent())
|
||||||
|
callback()
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:_stageGenerateNextMonster()
|
||||||
|
local config = CHAPTER_CFG[self.chapterId]
|
||||||
|
local monsterId = config.monster[self.waveIndex + 1]
|
||||||
|
if monsterId == nil then
|
||||||
|
return self:enterNextWave()
|
||||||
|
end
|
||||||
|
local isBoss = self.defTeam:getIsBoss()
|
||||||
|
local unitEntity = DataManager.BattleData:addMonster(monsterId, true, self)
|
||||||
|
local modelId = unitEntity:getModelId()
|
||||||
|
BattleHelper:loadBattleHeroModel(modelId, self.battleUI:getBattleNode(), function(spineObject)
|
||||||
|
self.defTeam:removeAllUnits()
|
||||||
|
local monsterComp = spineObject:addLuaComponent(GConst.BattleConst.TYPEOF_LUA_COMP.BATTLE_MONSTER_COMPONENT)
|
||||||
|
monsterComp:initWithEntity(modelId, unitEntity, self)
|
||||||
|
self.defTeam:addUnit(monsterComp, true)
|
||||||
|
self:handleBuffs(GConst.BattleConst.SIDE_DEF)
|
||||||
|
self.battleUI:refreshDefHp(unitEntity:getHp(), unitEntity:getHpPercent())
|
||||||
|
local bornTime = monsterComp:getAnimationDuration(GConst.BattleConst.SPINE_ANIMATION_NAME.BORN)
|
||||||
|
if isBoss then -- 如果是boss就跑过去
|
||||||
|
local count = 0
|
||||||
|
local function onFinish()
|
||||||
|
count = count + 1
|
||||||
|
if count == 2 then
|
||||||
|
self.atkTeam:stopRunAction()
|
||||||
|
self:onRoundEnd(true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
self.atkTeam:playRunAction()
|
||||||
|
self.atkTeam:recoverHpOnWaveOver(onFinish)
|
||||||
|
|
||||||
|
isBoss = self.defTeam:getIsBoss()
|
||||||
|
if isBoss then
|
||||||
|
local monsterInfo = ConfigManager:getConfig("monster")[monsterId]
|
||||||
|
self.battleUI:showBossEnterAni(bornTime, ModuleManager.HeroManager:getMonsterName(monsterInfo.monster_base), monsterComp, function()
|
||||||
|
monsterComp:playEnterBattlefield(true, onFinish)
|
||||||
|
end)
|
||||||
|
else
|
||||||
|
monsterComp:playEnterBattlefield(true, onFinish)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
local count = 0
|
||||||
|
local function onFinish()
|
||||||
|
count = count + 1
|
||||||
|
if count == 2 then
|
||||||
|
self:onRoundEnd(true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
self.atkTeam:recoverHpOnWaveOver(onFinish)
|
||||||
|
|
||||||
|
isBoss = self.defTeam:getIsBoss()
|
||||||
|
if isBoss then
|
||||||
|
local monsterInfo = ConfigManager:getConfig("monster")[monsterId]
|
||||||
|
self.battleUI:showBossEnterAni(bornTime, ModuleManager.HeroManager:getMonsterName(monsterInfo.monster_base), monsterComp, function()
|
||||||
|
monsterComp:playEnterBattlefield(false, onFinish)
|
||||||
|
end)
|
||||||
|
else
|
||||||
|
monsterComp:playEnterBattlefield(false, onFinish)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:getInitBoard()
|
||||||
|
if not self.boradList then
|
||||||
|
self.boradList = {}
|
||||||
|
self.fixedRandomGrid = {}
|
||||||
|
self.mysteryBoxIndexMap = {}
|
||||||
|
|
||||||
|
local config = CHAPTER_CFG[self.chapterId]
|
||||||
|
local boardCfg = ConfigManager:getConfig("chapter_board_daily_challenge")
|
||||||
|
for _, boardId in ipairs(config.chapter_board_daily_challenge) do
|
||||||
|
local cfg = boardCfg[boardId]
|
||||||
|
if cfg then
|
||||||
|
table.insert(self.boradList, {board = GFunc.getTable(cfg.board_daily_challenge)})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return self.boradList, self.fixedRandomGrid, self.mysteryBoxIndexMap
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:getSealElementType()
|
||||||
|
if not self.sealElementType then
|
||||||
|
self.sealElementType = {}
|
||||||
|
local config = CHAPTER_CFG[self.chapterId]
|
||||||
|
if config.seal_element then
|
||||||
|
for _, elementType in ipairs(config.seal_element) do
|
||||||
|
self.sealElementType[elementType] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return self.sealElementType
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:getNotInvolvedSkills()
|
||||||
|
if not self.notInvolvedSkills then
|
||||||
|
self.notInvolvedSkills = {}
|
||||||
|
local config = CHAPTER_CFG[self.chapterId]
|
||||||
|
if config.not_involved_skill then
|
||||||
|
for _, skillId in ipairs(config.not_involved_skill) do
|
||||||
|
self.notInvolvedSkills[skillId] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return self.notInvolvedSkills
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:getFixedRogueSkill()
|
||||||
|
if not self.fixedRogueSkill then
|
||||||
|
local config = CHAPTER_CFG[self.chapterId]
|
||||||
|
if config.involved_skill then
|
||||||
|
self.fixedRogueSkill = GFunc.getTable(config.involved_skill)
|
||||||
|
else
|
||||||
|
self.fixedRogueSkill = {}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return self.fixedRogueSkill
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:findNextDefUnit()
|
||||||
|
self:_stageGenerateNextMonster()
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:controllBattleEnd()
|
||||||
|
self.combatReport = {
|
||||||
|
battleType = GConst.BattleConst.BATTLE_TYPE.DAILY_CHALLENGE,
|
||||||
|
wave = self.waveIndex,
|
||||||
|
victory = self.victory,
|
||||||
|
}
|
||||||
|
local atkReport = {}
|
||||||
|
local teamEntity = DataManager.BattleData:getAtkTeam()
|
||||||
|
local members = teamEntity:getAllMembers()
|
||||||
|
for k, v in pairs(members) do
|
||||||
|
local report = {
|
||||||
|
heroId = v:getId(),
|
||||||
|
dmg = v:getDamageCount(),
|
||||||
|
}
|
||||||
|
table.insert(atkReport, report)
|
||||||
|
end
|
||||||
|
self.combatReport.atkReport = atkReport
|
||||||
|
if not self.victory then
|
||||||
|
self.combatReport.wave = self.combatReport.wave - 1
|
||||||
|
end
|
||||||
|
Logger.logHighlight("BattleControllerDailyChallenge fight over")
|
||||||
|
-- ModuleManager.ChapterManager:endFight(self.chapterId, self.combatReport, self.gotMysteryBoxIndexs, self.taskProgress)
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:postWaveOver(atkDead, isQuit)
|
||||||
|
local deathType = BIReport.FIGHT_DEATH_TYPE.SURVIVE
|
||||||
|
local waveEndType = BIReport.FIGHT_WAVE_END_TYPE.WIN
|
||||||
|
if atkDead then
|
||||||
|
if self.isBossWave then
|
||||||
|
deathType = BIReport.FIGHT_DEATH_TYPE.BOSS_FAIL
|
||||||
|
else
|
||||||
|
deathType = BIReport.FIGHT_DEATH_TYPE.NORMAL_FAIL
|
||||||
|
end
|
||||||
|
waveEndType = BIReport.FIGHT_WAVE_END_TYPE.FAIL
|
||||||
|
end
|
||||||
|
|
||||||
|
if isQuit then
|
||||||
|
waveEndType = BIReport.FIGHT_WAVE_END_TYPE.QUIT
|
||||||
|
end
|
||||||
|
|
||||||
|
local duration = Time:getServerTime() - self.waveStartTime
|
||||||
|
local totalTime = Time:getServerTime() - self.battleStartTime
|
||||||
|
local startTimes = 1 -- TODO
|
||||||
|
local isFirstWin = false -- TODO
|
||||||
|
|
||||||
|
local isFianlStep = self.waveIndex >= self.maxWaveIndex
|
||||||
|
|
||||||
|
BIReport:postFightEnd(GConst.BattleConst.BATTLE_TYPE.DAILY_CHALLENGE, self.chapterId, self.waveIndex, duration, totalTime, self.eliminateCount, self.eliminateTotalCount, waveEndType, deathType, startTimes, isFirstWin, isFianlStep)
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleControllerDailyChallenge:postFightStart()
|
||||||
|
local unlockMaxChapter = DataManager.ChapterData:getNewChapterId()
|
||||||
|
BIReport:postFightBegin(GConst.BattleConst.BATTLE_TYPE.DAILY_CHALLENGE, self.waveIndex, self.chapterId, unlockMaxChapter, 1)
|
||||||
|
end
|
||||||
|
|
||||||
|
return BattleControllerDailyChallenge
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b8ac1cad3e089ab49a3f7b7c2d6923ac
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 3b8b241bab4a4ac9a22fcce9c64f1242, type: 3}
|
||||||
@ -28,7 +28,7 @@ function BattleControllerStage:getChessBoardBgName()
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function BattleController:initOther()
|
function BattleControllerStage:initOther()
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -202,7 +202,7 @@ function BattleControllerStage:controllBattleEnd()
|
|||||||
ModuleManager.ChapterManager:endFight(self.chapterId, self.combatReport, self.gotMysteryBoxIndexs, self.taskProgress)
|
ModuleManager.ChapterManager:endFight(self.chapterId, self.combatReport, self.gotMysteryBoxIndexs, self.taskProgress)
|
||||||
end
|
end
|
||||||
|
|
||||||
function BattleController:postWaveOver(atkDead, isQuit)
|
function BattleControllerStage:postWaveOver(atkDead, isQuit)
|
||||||
local deathType = BIReport.FIGHT_DEATH_TYPE.SURVIVE
|
local deathType = BIReport.FIGHT_DEATH_TYPE.SURVIVE
|
||||||
local waveEndType = BIReport.FIGHT_WAVE_END_TYPE.WIN
|
local waveEndType = BIReport.FIGHT_WAVE_END_TYPE.WIN
|
||||||
if atkDead then
|
if atkDead then
|
||||||
|
|||||||
@ -293,7 +293,7 @@ function BattleTeam:removeAllBuff()
|
|||||||
local count = #self.buffList
|
local count = #self.buffList
|
||||||
for i = count, 1, -1 do
|
for i = count, 1, -1 do
|
||||||
buffEffect = self.buffList[i]
|
buffEffect = self.buffList[i]
|
||||||
if buffEffect then
|
if buffEffect and not buffEffect.buff:isCantRemove() then
|
||||||
self:updateBuffState(buffEffect.buff, -1)
|
self:updateBuffState(buffEffect.buff, -1)
|
||||||
table.remove(self.buffList, i)
|
table.remove(self.buffList, i)
|
||||||
BattleBuffHandle.removeBuff(self.mainUnit, buffEffect)
|
BattleBuffHandle.removeBuff(self.mainUnit, buffEffect)
|
||||||
@ -332,7 +332,7 @@ function BattleTeam:putCacheBuffByDecr(buffDecr)
|
|||||||
local count = #self.buffList
|
local count = #self.buffList
|
||||||
for i = count, 1, -1 do
|
for i = count, 1, -1 do
|
||||||
buffEffect = self.buffList[i]
|
buffEffect = self.buffList[i]
|
||||||
if buffEffect and buffEffect.buff:getDecr() == buffDecr then
|
if buffEffect and buffEffect.buff:getDecr() == buffDecr and not buffEffect.buff:isCantRemove() then
|
||||||
self:updateBuffState(buffEffect.buff, -1)
|
self:updateBuffState(buffEffect.buff, -1)
|
||||||
table.remove(self.buffList, i)
|
table.remove(self.buffList, i)
|
||||||
BattleBuffHandle.removeBuff(self.mainUnit, buffEffect, true)
|
BattleBuffHandle.removeBuff(self.mainUnit, buffEffect, true)
|
||||||
|
|||||||
@ -614,10 +614,14 @@ function BattleData:initHeroData()
|
|||||||
return data
|
return data
|
||||||
end
|
end
|
||||||
|
|
||||||
function BattleData:addMonster(monsterId, newTeam)
|
function BattleData:addMonster(monsterId, newTeam, battleController)
|
||||||
local monsterInfo = ConfigManager:getConfig("monster")[monsterId]
|
local monsterInfo = ConfigManager:getConfig("monster")[monsterId]
|
||||||
local hp = monsterInfo.hp // DEFAULT_FACTOR
|
local hp = monsterInfo.hp // DEFAULT_FACTOR
|
||||||
local atk = monsterInfo.atk // DEFAULT_FACTOR
|
local atk = monsterInfo.atk // DEFAULT_FACTOR
|
||||||
|
if battleController then
|
||||||
|
hp = hp * (DEFAULT_FACTOR + battleController:getMonsterHpAddition()) // DEFAULT_FACTOR
|
||||||
|
atk = atk * (DEFAULT_FACTOR + battleController:getMonsterAtkAddition()) // DEFAULT_FACTOR
|
||||||
|
end
|
||||||
local unitData = {
|
local unitData = {
|
||||||
id = monsterId,
|
id = monsterId,
|
||||||
modelId = monsterInfo.model_id,
|
modelId = monsterInfo.model_id,
|
||||||
|
|||||||
@ -16,6 +16,7 @@ function BattleBuffEntity:init(effectParams, owner, hostSkill)
|
|||||||
self.targetSide = nil
|
self.targetSide = nil
|
||||||
self.buffInfo = ConfigManager:getConfigWithOtherKey("buff", "name")[self.name]
|
self.buffInfo = ConfigManager:getConfigWithOtherKey("buff", "name")[self.name]
|
||||||
self.buffType = self.buffInfo.buff_type
|
self.buffType = self.buffInfo.buff_type
|
||||||
|
self.cantRemove = false
|
||||||
end
|
end
|
||||||
|
|
||||||
function BattleBuffEntity:setOwner(owner)
|
function BattleBuffEntity:setOwner(owner)
|
||||||
@ -114,4 +115,12 @@ function BattleBuffEntity:getFxDisappear()
|
|||||||
return self.buffInfo.fx_disappear
|
return self.buffInfo.fx_disappear
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function BattleBuffEntity:isCantRemove()
|
||||||
|
return self.cantRemove
|
||||||
|
end
|
||||||
|
|
||||||
|
function BattleBuffEntity:setIsCantRemove(cantRemove)
|
||||||
|
self.cantRemove = cantRemove
|
||||||
|
end
|
||||||
|
|
||||||
return BattleBuffEntity
|
return BattleBuffEntity
|
||||||
Loading…
x
Reference in New Issue
Block a user