Commit 9cffb42ba8ecd94a49734caae5255dd9d26de9bf

Authored by zhouahaihai
1 parent 36c30c5c

抉择点 建筑

Showing 1 changed file with 19 additions and 15 deletions   Show diff stats
@@ -525,11 +525,11 @@ function Adv:getAroundBlocks(room, block) @@ -525,11 +525,11 @@ function Adv:getAroundBlocks(room, block)
525 end 525 end
526 526
527 --随机一个空的位置生成怪, 如果没有就没有 527 --随机一个空的位置生成怪, 如果没有就没有
528 -function Adv:addNewMonsterRand() 528 +function Adv:addNewMonsterRand(monsterId)
529 local pool = {} 529 local pool = {}
530 for _, room in pairs(self.rooms) do 530 for _, room in pairs(self.rooms) do
531 - for _, block in pairs(self.blocks) do  
532 - if not block.event then 531 + for _, block in pairs(room.blocks) do
  532 + if block.isOpen and not block.event then
533 table.insert(pool, {room, block}) 533 table.insert(pool, {room, block})
534 end 534 end
535 end 535 end
@@ -538,13 +538,14 @@ function Adv:addNewMonsterRand() @@ -538,13 +538,14 @@ function Adv:addNewMonsterRand()
538 local idx = math.randomInt(1, #pool) 538 local idx = math.randomInt(1, #pool)
539 local room, block = pool[idx][1], pool[idx][2] 539 local room, block = pool[idx][1], pool[idx][2]
540 540
541 - local event = {mId = self.advInfo.enemyId} 541 + local event = {etype = AdvEventType.Monster, mId = self.advInfo.enemyId}
542 self.advInfo.enemyId = self.advInfo.enemyId + 1 542 self.advInfo.enemyId = self.advInfo.enemyId + 1
543 -  
544 - local eventLib = getEventLib(self.advInfo.chapter, self.advInfo.level, AdvEventType.Monster)  
545 - if not next(eventLib[AdvEventType.Monster]) then return false end  
546 - event.id = math.randWeight(eventLib[AdvEventType.Monster], "showup")  
547 - 543 + if not monsterId then
  544 + local eventLib = getEventLib(self.advInfo.chapter, self.advInfo.level, AdvEventType.Monster)
  545 + if not next(eventLib[AdvEventType.Monster]) then return false end
  546 + monsterId = math.randWeight(eventLib[AdvEventType.Monster], "showup")
  547 + end
  548 + event.id = monsterId
548 block.event = event 549 block.event = event
549 room.info.event[block.blockId] = event 550 room.info.event[block.blockId] = event
550 self.battle:addEnemy(room, block) 551 self.battle:addEnemy(room, block)
@@ -604,6 +605,7 @@ function Adv:award(gift, params) @@ -604,6 +605,7 @@ function Adv:award(gift, params)
604 items = items:incrv(itemId, count) 605 items = items:incrv(itemId, count)
605 end 606 end
606 end 607 end
  608 +
607 self.owner:updateProperty({field = "advItems", value = items, notNotify = params.notNotify}) 609 self.owner:updateProperty({field = "advItems", value = items, notNotify = params.notNotify})
608 return tgift 610 return tgift
609 end 611 end
@@ -692,8 +694,8 @@ local function clickChoose(self, room, block, params) @@ -692,8 +694,8 @@ local function clickChoose(self, room, block, params)
692 end 694 end
693 end, 695 end,
694 } 696 }
695 - assert(checkCond[cond[1]], "error cond, event_chooseCsv id :" .. block.event.id)  
696 - if not checkCond[cond[1]]() then return end 697 + assert(not cond[1] or checkCond[cond[1]], "error cond, event_chooseCsv id :" .. block.event.id)
  698 + if cond[1] and not checkCond[cond[1]]() then return end
697 699
698 local effect = block.event.effect[choose] 700 local effect = block.event.effect[choose]
699 local doEffect = { 701 local doEffect = {
@@ -704,8 +706,10 @@ local function clickChoose(self, room, block, params) @@ -704,8 +706,10 @@ local function clickChoose(self, room, block, params)
704 self.battle.player:addBuff(effect[2]) 706 self.battle.player:addBuff(effect[2])
705 end, 707 end,
706 [3] = function() --发现怪物 708 [3] = function() --发现怪物
707 - local r, b = self:addNewMonsterRand()  
708 - self:backBlockChange(r.roomId, b.blockId) 709 + local r, b = self:addNewMonsterRand(effect[2])
  710 + if r then
  711 + self:backBlockChange(r.roomId, b.blockId)
  712 + end
709 end, 713 end,
710 [4] = function() --无事发生 714 [4] = function() --无事发生
711 end 715 end
@@ -755,8 +759,8 @@ local function clickBuild(self, room, block, params) @@ -755,8 +759,8 @@ local function clickBuild(self, room, block, params)
755 self.battle.player:addBuff(effect[2]) 759 self.battle.player:addBuff(effect[2])
756 end, 760 end,
757 [3] = function() --发现怪物 761 [3] = function() --发现怪物
758 - local r, b = self:addNewMonsterRand()  
759 - self:backBlockChange(r.roomId, b.blockId) 762 + local r, b = self:addNewMonsterRand(effect[2])
  763 + if r then self:backBlockChange(r.roomId, b.blockId) end
760 end, 764 end,
761 [4] = function() --无事发生 765 [4] = function() --无事发生
762 end 766 end