Skip to content

Add zprospectanalyzer #1465

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

unboundlopez
Copy link

@unboundlopez unboundlopez commented Jun 12, 2025

zprospectanalyzer
Goal: Filter and print stones that are worth 3 points.

Features
Output Parsing: Automatically runs prospect all and parses the text output.

Section Filtering: Optionally filters materials by specific sections like ores or gems.

Presets: Running zprospectanalyzer without parameters will only run the preset of 3-point stones.

Missing Materials Reporting: Displays next to any requested material that doesn't appear in the output.

Usage
zprospectanalyzer [material1] [material2] ...
zprospectanalyzer claystone granite ruby tetrahedrite

@unboundlopez
Copy link
Author

pre-commit.ci autofix

@unboundlopez unboundlopez changed the title Add zprospectanalyzer script and documentation Add zprospectanalyzer Jun 12, 2025
if #args == 0 then args = { "blocks" } end
local presets = {
blocks = {
"Alabaster", "Alunite", "Andesite", "Anhydrite", "Basalt",
Copy link
Member

@quietust quietust Jun 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't be hardcoding - it should fetch the actual stone IDs from the current world's inorganic material definitions.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I realized I didn’t put the initial purpose of the program. The goal is to output stone that is worth 3 points in the embark shop menu.

I’ll review the program today. I can clean it up.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no guarantee even that any of those stones exist in any given world, or if they do that they're worth 3 points in the embark menu. For that you need to pull the material definitions out of the world

DFHack tools should, to the extent practical, work even with radically modified raws

Copy link
Author

@unboundlopez unboundlopez Jun 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yesterday I tried looking for the skill point value of items and failed. I don’t like the way I’m doing it now but can’t seem to find way to achieve a preset of blocks worth 3 points. I’ll try searching again today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants