Commit bedca62df0dad3b08e570f3d84f0bd4eeb4250aa

Authored by zhouahaihai
1 parent 1607a7f0

冒险

@@ -98,4 +98,5 @@ AdvBackEventType = { @@ -98,4 +98,5 @@ AdvBackEventType = {
98 End = 8, -- 结束 98 End = 8, -- 结束
99 BlockChange = 9, -- 块改变 99 BlockChange = 9, -- 块改变
100 PowerChange = 10, --体力改变 100 PowerChange = 10, --体力改变
  101 + Dead = 11, --怪死亡
101 } 102 }
102 \ No newline at end of file 103 \ No newline at end of file
@@ -471,7 +471,7 @@ function Adv:over(success) @@ -471,7 +471,7 @@ function Adv:over(success)
471 self.advTeam.player = nil --重置玩家的数据 471 self.advTeam.player = nil --重置玩家的数据
472 self:clear() 472 self:clear()
473 473
474 - self.owner:updateProperty({field = "advItems", ""}) 474 + self.owner:updateProperty({field = "advItems", value = ""})
475 475
476 self:backEnd(score, reward) 476 self:backEnd(score, reward)
477 end 477 end
@@ -1022,6 +1022,10 @@ function Adv:backAtk(enemyId, receiver) @@ -1022,6 +1022,10 @@ function Adv:backAtk(enemyId, receiver)
1022 self:pushBackEvent(AdvBackEventType.Atk, {enemyId = enemyId, receiver = receiver}) 1022 self:pushBackEvent(AdvBackEventType.Atk, {enemyId = enemyId, receiver = receiver})
1023 end 1023 end
1024 1024
  1025 +function Adv:backDead(enemyId)
  1026 + self:pushBackEvent(AdvBackEventType.Dead, {enemyId = enemyId})
  1027 +end
  1028 +
1025 1029
1026 function Adv:popBackEvents() 1030 function Adv:popBackEvents()
1027 local events = self.backEvents 1031 local events = self.backEvents
src/adv/AdvBattle.lua
@@ -95,12 +95,14 @@ end @@ -95,12 +95,14 @@ end
95 function Battle:playerAtk(roomId, blockId) 95 function Battle:playerAtk(roomId, blockId)
96 local enemy = self:getEnemy(roomId, blockId) 96 local enemy = self:getEnemy(roomId, blockId)
97 if enemy then 97 if enemy then
98 - self.adv:backAtk(nil, enemy.id)  
99 - enemy:hurt(self.player:getHurtValue(), self.player, {hurtType = 1})  
100 - --是否无法反击  
101 - if not enemy:hadBuff(Buff.CANT_BACK_ATK) then  
102 - self.adv:backAtk(enemy.id, nil)  
103 - self.player:hurt(enemy:getHurtValue(), enemy, {hurtType = 1}) 98 + while not enemy.isDead and not self.player.isDead do
  99 + self.adv:backAtk(nil, enemy.id)
  100 + enemy:hurt(self.player:getHurtValue(), self.player, {hurtType = 1})
  101 + --是否无法反击
  102 + if not enemy.isDead and not enemy:hadBuff(Buff.CANT_BACK_ATK) then
  103 + self.adv:backAtk(enemy.id, nil)
  104 + self.player:hurt(enemy:getHurtValue(), enemy, {hurtType = 1})
  105 + end
104 end 106 end
105 end 107 end
106 end 108 end
src/adv/AdvPlayer.lua
@@ -237,6 +237,7 @@ function BaseObject:hurt(value, releaser, params) @@ -237,6 +237,7 @@ function BaseObject:hurt(value, releaser, params)
237 end 237 end
238 238
239 self.isDead = true 239 self.isDead = true
  240 + self.battle.adv:backDead(self.id)
240 end 241 end
241 self:triggerPassive(Passive.HURT_PERCENT_SELF, {value = value / self.hpMax}) 242 self:triggerPassive(Passive.HURT_PERCENT_SELF, {value = value / self.hpMax})
242 for _, team in ipairs(self:getTeam(1, true)) do 243 for _, team in ipairs(self:getTeam(1, true)) do