mirror of
https://github.com/LmeSzinc/StarRailCopilot.git
synced 2024-11-27 02:27:12 +00:00
Fix: Enemy detection
- Log shows 'E' and wrong prediction is_siren, because attributes are kept to the next detection - Fix missing predict also - Fix log show DEFAULT_BUTTON for the entrance of campaign
This commit is contained in:
parent
589419ea91
commit
83508b94d3
@ -66,7 +66,10 @@ class CampaignUI(UI, CampaignOcr):
|
|||||||
if name not in self.stage_entrance:
|
if name not in self.stage_entrance:
|
||||||
logger.warning(f'Stage not found: {name}')
|
logger.warning(f'Stage not found: {name}')
|
||||||
raise CampaignNameError
|
raise CampaignNameError
|
||||||
return self.stage_entrance[name]
|
|
||||||
|
entrance = self.stage_entrance[name]
|
||||||
|
entrance.name = name
|
||||||
|
return entrance
|
||||||
|
|
||||||
def ensure_campaign_ui(self, name, mode='normal'):
|
def ensure_campaign_ui(self, name, mode='normal'):
|
||||||
"""
|
"""
|
||||||
|
@ -211,3 +211,16 @@ class GridInfo:
|
|||||||
self.is_current_fleet = False
|
self.is_current_fleet = False
|
||||||
self.is_submarine = False
|
self.is_submarine = False
|
||||||
self.is_cleared = False
|
self.is_cleared = False
|
||||||
|
|
||||||
|
def covered_grid(self):
|
||||||
|
"""Relative coordinate of the covered grid.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
list[tuple]:
|
||||||
|
"""
|
||||||
|
if self.is_current_fleet:
|
||||||
|
return [(0, -1), (0, -2)]
|
||||||
|
if self.is_fleet or self.is_siren or self.is_mystery:
|
||||||
|
return [(0, -1)]
|
||||||
|
|
||||||
|
return []
|
||||||
|
@ -104,6 +104,7 @@ class Grids(Perspective):
|
|||||||
image = self._image_clear_ui(image)
|
image = self._image_clear_ui(image)
|
||||||
self.image = image
|
self.image = image
|
||||||
for grid in self:
|
for grid in self:
|
||||||
|
grid.reset()
|
||||||
grid.image = image
|
grid.image = image
|
||||||
|
|
||||||
def _image_clear_ui(self, image):
|
def _image_clear_ui(self, image):
|
||||||
|
@ -408,14 +408,7 @@ class CampaignMap:
|
|||||||
missing[attr] -= 1
|
missing[attr] -= 1
|
||||||
|
|
||||||
for grid in self:
|
for grid in self:
|
||||||
if not grid.is_fleet and not grid.is_mystery and not grid.is_siren:
|
for upper in grid.covered_grid():
|
||||||
continue
|
|
||||||
|
|
||||||
cover = [(0, -1)]
|
|
||||||
if grid.is_current_fleet:
|
|
||||||
cover.append((0, -2))
|
|
||||||
|
|
||||||
for upper in cover:
|
|
||||||
upper = tuple(np.array(grid.location) + upper)
|
upper = tuple(np.array(grid.location) + upper)
|
||||||
if upper in self:
|
if upper in self:
|
||||||
upper = self[upper]
|
upper = self[upper]
|
||||||
@ -451,14 +444,7 @@ class CampaignMap:
|
|||||||
|
|
||||||
# predict
|
# predict
|
||||||
for grid in self:
|
for grid in self:
|
||||||
if not grid.is_fleet and not grid.is_mystery:
|
for upper in grid.covered_grid():
|
||||||
continue
|
|
||||||
|
|
||||||
cover = [(0, -1)]
|
|
||||||
if grid.is_current_fleet:
|
|
||||||
cover.append((0, -2))
|
|
||||||
|
|
||||||
for upper in cover:
|
|
||||||
upper = tuple(np.array(grid.location) + upper)
|
upper = tuple(np.array(grid.location) + upper)
|
||||||
if upper in self:
|
if upper in self:
|
||||||
upper = self[upper]
|
upper = self[upper]
|
||||||
|
Loading…
Reference in New Issue
Block a user