Blocks & Decoration Living Mannequins

Laluzi

Skeletron
So what I'm about to suggest might be a bit niche, but I don't think I'm the only person that wishes we could fill our towns with more NPCs than currently exist. I might be the only person to fill towns with awkward-looking mannequins, but if I am, it'd be because the result isn't really convincing. And I kind of want to change that.

Living Mannequins (and Living Womannequins) would be crafted from their respective Mannequins at some esoteric crafting station - perhaps a crystal ball? The crafting recipe isn't important, but I envision them as requiring a Mannequin/Womannequin and some sort of magical component, like 10 Souls of Light or 10 Pixie Dust.

A Living Mannequin has two states, on and off. When off, it appears as any other mannequin, possibly with some slight visual differentiation. As with all mannequins, left-clicking it with a clothing item in hand will add clothes to the model. However, in addition to being able to put objects on the mannequin, it has an appearance function much like the one brought up by a dresser if right-clicked on its lower part, which allows trait selection - skintone, hair, eyes, et cetera. This doesn't change the appearance of the deactivated mannequin at all, but if it's right-clicked on its upper half, the mannequin will switch to its active state.

When active, the mannequin 'switches' to a living character, wearing the clothes placed on the mannequin and the appearance keyed to it. (To be more technical, the mannequin spawns a human character in front of it.) If the mannequin is activated without the player having set its appearance, it activates with the default chargen - if it has empty clothing slots, it likewise uses a default outfit.

Functionally, the mannequin object doesn't disappear or move. The space the mannequin existed in remains occupied, and removing it despawns the character/pops off the clothing as it normally would. I'm not certain if it's possible for the spawned character to be clicked on and considered the same item - if it is, the mannequin object turns completely invisible, and if not, it becomes mostly translucent or changes to some other appearance, like an empty plinth. In this state, the character's appearance can't be changed - to alter it, one needs to deactivate the mannequin, which despawns the character and returns the mannequin object to its normal appearance.

Activated living mannequins aren't real NPCs. They don't require housing and can't be interacted with. They'll roam a close range around the mannequin object (10, 15 blocks?) and stand there at night. They can't attack enemies, don't count towards monster spawn conditions, don't attract aggro, and can't be damaged by any means. However, they can engage other characters and interact with their surroundings like real NPCs.

As far as I can tell, the building blocks for creating this kind of function are all in the game - the biggest concern I see is the memory requirements for saving skin/hair sliders for a potentially high number of items. There would probably have to be a limit to how many of these objects can be placed in a world.

Thoughts?
 
Last edited:
I would like to know what would be the use of this in the game or whether it would be something to be appreciated as a decorative object.
If it's not for nothing, I disagree with the implementation of "living mannequins".
 
I would like to know what would be the use of this in the game or whether it would be something to be appreciated as a decorative object.
If it's not for nothing, I disagree with the implementation of "living mannequins".
It's decorative - I already outlined how these characters wouldn't be able to fight monsters for you or prevent monster spawns. The purpose is to make it look like there are more people living in your world (or to put people in areas where NPCs won't normally go, like parks, bridges, or anything you build in the corruption/crimson.)
 
I never knew I needed this, it would be great if you could also make them look human and give them custom dialogue, but I think that would be better suited to a mod. Even as is, it's a wonderful idea!
 
This somewhat sounds like the "deco NPCs" idea we were thinking about with some friends. except, this one - theoretically - would allow more customisation too, which also sounds nice.

I'm not quite sure how something like this could be coded though, but it could be really, really cool to add something like this.
 
Honestly if you could have the option to make them have custom shops too, that would be a massive game changer, especially for adventure maps
 
Granted, I've never looked at Terraria's code, but eyeballing the kinds of functions exhibited in the game, the only part of this that seems dicey to me is telling an object to remember character values - several options and RGB sliders. The rest seems like it could be frankencoded from what already exists. Objects already have fields for on/off states and the ability to change appearance depending on them, dressers have different functionalities when clicking upper/lower halves of them, and the mannequins we already have show that placed objects must have some field for trait retention (you put clothes on them, the individual world object remembers it's wearing them.) Statues show that an object can spawn a character limited to an amount of how many characters it's spawned that are alive in the world, and pets provide another avenue for this (attached actor to an anchor, togglable visibility, doesn't interact with world) if their code isn't completely tangled with the player function. The Old Man is already a character that can't be attacked and isn't targeted by enemies (though he can die to traps and lava, but it's possible to add immunities to those.)

I'm skeptical you could click the spawned character and the object would consider it an extension of itself, but this isn't necessary to make the mannequins work, just useful.

Definitely, a living mannequin wouldn't retain any data when put in your inventory. When placed again, it'd have the default character appearance set. An item in your inventory and an item in the world usually aren't the same thing - placing it forms an object, where the square in your inventory is more of a 'create one of x' voucher. The one in the world has fields - the one in your inventory doesn't. That's why inventory blocks don't retain paint jobs/states and treasure chests can't be moved with items in them.


Custom shops is taking this suggestion too far, I think. I wouldn't be opposed to a build-your-own NPC function (like, at all. please), but at that point, I'd want a better interface than bringing mannequins to life. I think at best, you'd be able to give these guys names. It's a single field that containers already exhibit - recording lines strays into a much larger interface, since NPCs say different things based on various world states and different players are going to input different numbers of lines (for each world state!). And custom shops isn't a flavor thing - the reason this suggestion is in decorations is because it's not supposed to help the player. I'd think shops would be gamebreaking in most cases. Even if you need 999 of an object to make a character sell said object, the amount of time saved becomes immense in the long run. 999 of any building material and you never need to resupply again. Same with alchemy reagents, ores, high-tier ammo, food, etc - 999 celestial fragments and you never need to fight the Moon Lord again. I don't like the idea of a player being able to choose what a shop can sell them, no matter how prohibitively hard it is to get an item into the inventory.
 
Last edited:
Yeah... I was really suggesting a "build your own npc" thing. Not a living mannequin
Also I think a living mannequin should be crafted at a living loom just because the names match, it's not like the living loom is only meant for living wood furniture (I'm being sarcastic)
 
Last edited:
I did think about that (since you are dealing with magic wood stuff), but not every world has access to one - not all worlds have living trees, not all living trees have interiors, not all living trees with hollow trunks have a treasure room, and not all living wood chests have the loom. So doing magic voodoo at a crystal ball is all-inclusive and still fits the theme.
 
I did think about that (since you are dealing with magic wood stuff), but not every world has access to one - not all worlds have living trees, not all living trees have interiors, not all living trees with hollow trunks have a treasure room, and not all living wood chests have the loom. So doing magic voodoo at a crystal ball is all-inclusive and still fits the theme.
Yeah, that is much better
 
I like this idea, this means you could make your builds and place custom-dressed NPCs along with them.
You're able to place an NPC where normally no one would live or place multiple in one place, to signify more workers in things or more normal citizens that live around town to make the place more living, like placing more citizens in outdoor parks and streets to increase traffic for fun, or putting dummy guards in gates or throne rooms just to look cool. Maybe an adventurer on some building on a landscape or your proxy bed bases like there were more people like you on the world exploring. I could even put one or two in my old army arena just so I'm not alone (*tiny violin plays*). They would walk around/sit in chairs near their starting position and can talk/gesture/emote with NPCs and you. I do remember seeing a few screenshots that used a bunch of dressed mannequins to emulate more people on the picture to make it look more like a town (all with their unmoving profile poses and stands below their feet).

Another way that might be possible or not is, you put the mannequin as furniture, you dress it and stuff, then you activate it and it takes life and BECOMES the living NPC walking around, instead of having the NPC exist along with its respective spawner still on the floor (it's a bonus for the idea if it wouldn't have to bring visual clutter or the mere furniture space for each fake NPC in use nearby)
Then you can undo the NPC by pickaxing it and it poofs and reverts to item-dropped mannequin (and potentially the clothes you gave it).
There probably would be a maximum limit of living mannequins in the world, but just 16 already sounds usable

While alive, maybe if you put the cursor over them their name is "living mannequin" and instead of not being able to talk with them, talking with them gives a random funny line with no shop/service options.

The way to obtain it might be better if it was just a mannequin/womannequin crafted with a "living mannequin" new material directly sold by the Wizard.
I was even thinking that the way to activate the mannequin could be by using a consumable item sold by the Wizard dowsed onto the mannequin because I thought that themed along nicely, but going as you said you already need some way to influence the base settings first (the bottom interact on the item, maybe with a keyboard interface thing on the stand) and just integrating the activation into the mannequin would work faster (the upper interact on the item, maybe a lever on their backs)
 
I'd support them as a purely decorative thing. Canned shopkeepers are a much more advanced concept (especially if they can actually generate items!). I'd be OK if the droids had a pseudo-trading interface where real players could swap out clothes and accessories, give them random items to hold, or switch them among "follow", "stay", or "roam" modes. But everything would have to drop when they got "killed", and they certainly shouldn't create items. Pickaxe would be OK for deactivating them, or use the same item used to activate them.

Any dialogue features would be limited by the fundamental point that they'd forget everything when they get "killed" -- you could maybe work in some ELIZA-like echoing of a few lines, but nothing fancy.
 
It might be simpler if they were classified as critters and only spawn at houses regardless of where they are on the map.
 
It might be simpler if they were classified as critters and only spawn at houses regardless of where they are on the map.
The problem with these is that... well, they're two different problems.

-If they're critters, then they're not invincible to the player and they count towards the current number of creatures on screen (both enemies and critters.) I'd rather not constantly explode these characters by walking past them with a stardust dragon, but the big problem here is that they actually become functional, if inadvertently - activate a ton of living mannequins and you can essentially spawn-proof an area by filling the soft cap. So I think it's better to stick them in whatever NPC class that the Old Man occupies, or a similar clone based from it.
-If they only appear in houses, that pretty much kills the reason I wanted these in the first place - to have people existing in areas that are not houses. This would also be a problem for how a mannequin chooses a house to spawn its character in. You'd want to avoid a situation where one house ends up with ten characters sitting on the same spot.

That said, this would be a very complex item to implement and I'm not exactly expecting to see it in-game. I just wanted to pass the idea along and suggest some broad ways for how it could be built.
 
Back
Top Bottom