counts-the-clouds / chalcedony-dust

A dungeon core tile placement game
1 stars 0 forks source link

Add Lair Room #35

Closed counts-the-clouds closed 3 weeks ago

counts-the-clouds commented 3 weeks ago

Really the lairs need to be the first type of room I implement for real.

Not quite sure yet how to implement these. It kind of seems silly for each different creature type to need their own lair type, but then it makes sense that they will all have different costs, size requirements, and ways they need to be unlocked.

counts-the-clouds commented 1 week ago

I think I need to divide lair construction into two parts. This kind of boils down to a UI problem. If we have a different lair for each creature type that leaves most of the rooms in the room list as lairs, interspersed with other room types. Because of this I think all the lairs need to be their own separate thing.

I think making the lair a room type, and having each creature type be an upgrade for the lair makes the most sense. This way the upgrades can be unlocked individually and have their own costs, while keeping the lairs out of the main building list.

counts-the-clouds commented 1 week ago

Ok, I've got the base lair, and I'm upgrading lairs into creature specific lairs. Now I need to implement the actual lair windows. Even though the lairs are build for different minion types, I think they'll pretty much all work the same way. The lairs will be used to build minions. Each lair is capable of supporting a set number of minions. I'm going to need to add some size requirements to the lair types. A succubus should be limited to 2 tiles at most and each lair can have only one succubus. A goblin lair should be at least 4 tiles and can have a goblin per tile. Other very large minions like dragons may require a four to size tile lair that will only ever support one dragon.

Building a minion costs resources, and the lair will need to show the available minion slots. A build minion button can be shown if there are empty slots. Clicking on a minion here will open the associated minion details window.