Commit bedca62df0dad3b08e570f3d84f0bd4eeb4250aa

Authored by zhouahaihai
1 parent 1607a7f0

冒险

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