boss红蒂放眼泪的逻辑存在bug,可能导致部分情况下放眼泪的位置错乱(说起来这是第几个bug了
) 一句话概括: 有个地方逻辑写反了,我方单位离场时可能造成红蒂放眼泪放错位置。 详细版本: 红蒂放眼泪的选择器主要存在3份记录:一个bool二维数组用于记录场上地块的部署情况(m_charLocatedMap),一个int二维数组用于记录场上每个地块相邻9格内的部署数(m_charCountMap),最后一个int变量(m_maxCharCount)用于记录当前场上最大的相邻部署数。 当我方单位部署/离场时,会首先更新此地块在m_charLocatedMap的对应变量,同时在m_charCountMap中此地块周围9格所有地块的对应变量 +/- 1。 之后会更新m_maxCharCount。在单位部署时,只会获取周围9格未部署地块的相邻部署数,与当前m_maxCharCount比较并取较大值进行更新。而在单位离场时,只会获取周围9格已部署地块的相邻部署数,与当前m_maxCharCount比较并取较大值进行更新。 以上这个单位离场的逻辑写反了,会导致m_maxCharCount在单位离场时无法及时更新。 部署眼泪时,红蒂会获取m_maxCharCount,并选择在m_charCountMap里有对应数量的地块(如果地块数量不够的话就-1,有多个相同的就随机)。由于之前的离场逻辑错误,m_maxCharCount未能及时更新,地块的选择也可能因此出错。 举例来说: 先在9宫格中间部署一个极境,再在9宫格周围围满干员,此时m_maxCharCount最大为5。之后撤掉极境,由于极境之前所在的地块现在未部署,m_maxCharCount未能更新,仍然为5。此时红蒂放置眼泪,从相邻部署数为5的地块开始向下选择,无法选择9宫格中间的位置(因为9宫格中间相邻部署数为8>5)。 修复方法:把那个写反的离场逻辑改正就行了。 感谢@天降光玉 报的bug,证实了这个我都快忘掉的可能的问题
图:twi:@fantasyfairydog
