Right now a default itemgroup is applied to furniture if it is marked as a container. For example, you can define a wardrobe as a container and assign it an itemgroup that has some clothes in it. When you place it on the map, it will be filled with clothes from that itemgroup.
But what if you want to put that wardrobe in a police station and fill it with uniforms?
My idea is to have the brushcomposer in the mapeditor accept itemgroups as droppable data. The itemgroup will be added to the brushcomposed alongside the selected furniture brushes. If this itemgroup is present, all furniture currently present in the brushcomposer will get that itemgroup applied to it's data (on the condition that it is a container).
The way it would work is:
Open the mapeditor
select some kind of furniture that you want to put on the map, for example a wardrobe. It will be added to the brushcomposer
Drag an itemgroup from the contentlist on the left to the brushcomposer. The itemgroup will be added, visualized by it's icon
The user paints with this custom brush. The mapeditor adds the itemgroup to the tile it is painted on. Specifically, it will add it to the furnituredata if the furniture is a container.
If multiple itemgroups are added to the brushcomposer, it will pick a random one to apply to the furniture. Alternatively, it can add all itemgroups to the container and pick one at random at runtime.
Later, when generating the map, the chunk generator will override the furniture's itemgroup with the one specified on the map.
We can use this to re-use furniture to make a diverse collection of shops in a town.
Right now a default itemgroup is applied to furniture if it is marked as a container. For example, you can define a wardrobe as a container and assign it an itemgroup that has some clothes in it. When you place it on the map, it will be filled with clothes from that itemgroup.
But what if you want to put that wardrobe in a police station and fill it with uniforms?
My idea is to have the brushcomposer in the mapeditor accept itemgroups as droppable data. The itemgroup will be added to the brushcomposed alongside the selected furniture brushes. If this itemgroup is present, all furniture currently present in the brushcomposer will get that itemgroup applied to it's data (on the condition that it is a container).
The way it would work is:
Later, when generating the map, the chunk generator will override the furniture's itemgroup with the one specified on the map.
We can use this to re-use furniture to make a diverse collection of shops in a town.