TrashMonks / hagadias

Python package to extract game data from the Caves of Qud roguelike.
GNU Affero General Public License v3.0
10 stars 5 forks source link

Load Stats for 0lam + Similar Creatures #61

Open egocarib opened 2 years ago

egocarib commented 2 years ago

Apparantly we don't load or show stats on the wiki for creatures without a combat part. Said stats are relevant for some of these creatures though, like 0lam, whose mental mutations are boosted by their Ego.

https://discord.com/channels/214532333900922882/482714670860468234/967968939114123264

egocarib commented 2 years ago

This exclusion is likely intended for things like non-sentient plants (ex: witchwood tree), so we would want to make sure that whatever change we make doesn't adversely affect those types of objects using the wiki's Character template.

Relevant code that chooses things for Character template: https://github.com/TrashMonks/qud-wiki/blob/d2120690fd82e3fa89e7249e3b3977ca29c15477/qbe/qudobject_wiki.py#L79-L85

egocarib commented 2 months ago

while investigating related issue #118 I attempted to classify all creatures that have part GivesRep as ACTIVE_CHAR in the active_or_inactive_character() method as one potential solution that might have also resolved this issue.

However, that attempted solution caused a lot of unhandled exceptions further down the pipeline, because properties such as dv, ma, and many others try to read attributes on creatures that don't have them, like the Crystal Chimes. So there may need to be specific exceptions added for 0lam to get their stats to load (otherwise the entire attribute-based property pipeline needs to be significantly hardened / made more nuanced to account for potential missing attribute data)