tmewett / BrogueCE

Brogue: Community Edition - a community-lead fork of the much-loved minimalist roguelike game
https://sites.google.com/site/broguegame/
GNU Affero General Public License v3.0
1.03k stars 109 forks source link

Improve and refactor auto-targeting when throwing something or using a staff or wand #664

Closed zenzombie closed 8 months ago

zenzombie commented 9 months ago

Replaces PR #658 Fixes #420

Centralizes the player auto-targeting logic and makes many behavior modifications, as described in the changes file. I tried to implement improvements that I think make sense, but let me know if I should back out any of them.

These changes should have no effect on replays because I think only the final selected target is recorded, not the candidate targets and I don't think the method of target selection (auto vs. manual) is relevant.

tmewett commented 8 months ago

Looks good. I guess the concern about being super-specific about targeting rules is that players might not know the rules and they'll see the target cycling as inconsistent/broken.

Thanks for the thorough accounting of changes! LGTM, just needs conflicts fixing

zenzombie commented 8 months ago

Ok conflicts resolved. I think the specificity in targeting is helpful but if there are scenarios where it causes confusion we can make changes. Future changes to targeting rules should be much easier with everything centralized.