Monster Treasure (0-4) is unclear to the designer #749

Open
opened 2025-05-26 14:00:50 +00:00 by NQNStudios · 0 comments
NQNStudios commented 2025-05-26 14:00:50 +00:00 (Migrated from github.com)

When editing a monster, there's a field that says "Monster treasure: (0-4)" and I find this quite unclear. I'd like designers to know how this value actually works. Furthermore, I looked at the code which uses this value to generate item drops, place_treasure() in boe.items.cpp, and it is extremely confusing.

As discussed in IRC, because items can have a treasure class from 0-5 where only 1-4 will be dropped, it seemed logical that this flag on monsters would correspond to it: the flag would be like saying "this monster only drops treasure from the given treasure level" or "only drops treasure from the given treasure level or lower".

But, peek at place_treasure(), and it seems WAY MORE complicated than that.

34b41a5d78/src/game/boe.items.cpp (L715)

The scant comments that are in this function don't suffice to help me understand it--it will take me more time to understand and more thoroughly document this code. As of now, I can't even tell if it's true that a monster with treasure level 1 couldn't end up dropping higher-level treasure in some circumstances.

At some point I'd like to put a hint and/or picker in the edit monster dialog, which helps the designer understand what the value does. Right now, all I can think it would say is "Higher is better" 😛 .

When editing a monster, there's a field that says "Monster treasure: (0-4)" and I find this quite unclear. I'd like designers to know how this value actually works. Furthermore, I looked at the code which uses this value to generate item drops, `place_treasure()` in `boe.items.cpp`, and it is *extremely confusing*. As discussed in IRC, because items can have a treasure class from 0-5 where only 1-4 will be dropped, it seemed logical that this flag on monsters would correspond to it: the flag would be like saying "this monster only drops treasure from the given treasure level" or "only drops treasure from the given treasure level or lower". But, peek at `place_treasure()`, and it seems **WAY MORE** complicated than that. https://github.com/NQNStudios/cboe/blob/34b41a5d78ea1c71a6c96391ac9caf1972930f09/src/game/boe.items.cpp#L715 The scant comments that are in this function don't suffice to help me understand it--it will take me more time to understand and more thoroughly document this code. As of now, I can't even tell if it's true that a monster with treasure level 1 couldn't end up dropping higher-level treasure in some circumstances. At some point I'd like to put a hint and/or picker in the edit monster dialog, which helps the designer understand what the value does. Right now, all I can think it would say is "Higher is better" 😛 .
Sign in to join this conversation.
No description provided.