Jump to content

Town/Village building


3RS

Recommended Posts

Hello everyone!  Been quite some time since I've been here, now hasn't it?  But I digress.  Town/Village building, what do I mean by that?  Well you see, I was playing Dragon Quest Builders 2 the other day and thought to myself, "You know?  Being able to create houses and buildings for npc's to help you out would be a pretty cool addition to Vintage Story!"  What's that?  That didn't explain anything?  Guess I better roll up my sleeves and bust out the section details!

Section 1: How to make a Town/Village

The question of the day, no?  Well it's quite simple.  In order to set the foundation of a Town/Village in motion, you'll need to make a "Guide Post".  A Guide Post is a waist high stone structure, that when placed will create a Town/Village plot, and act as the Town/Village center.  A point of origin, if you will.  I don't really have a concrete idea for a recipe for the Guide Post, but the materials can consist of stones, cobblestone blocks/slabs, quartz possibly.  But the main thing you'll need are Temporal Gears.  One or two should be fine.  That way you won't have to wait forever to start your civilization.  Once you place a Guide Post, a prompt to name the Town/Village will pop up.  Once a name is entered, that name will stick with that Guide Post.  Why?  Well, lets say you don't like where you've plopped your plot.  Just pick up the Town Guide Post by breaking it and putting it back down somewhere else.  Don't worry about the name, it can be changed by going to the in game map.  When you place a Guide Post down, it will automatically place and pin a unique marker on your map.  Right click the marker to change the name and color to your choosing.  "That's all well and good 3, but how can we tell the boundaries of our Town?"  Well...

Town/Village plots start out small.  Say, 25-30 blocks from the Guide Post in each cardinal direction?  Possibly more?  Possibly less?  But having to sit there and count that out would be ridiculous, so instead there will be two ways to check the area.

     1. Go to the in game map and hover your cursor over the Town marker.  A semi-transparent square(of some color, light blue possibly?) will appear to give you an idea of the boundary of you plot.

     2. While in the boundary of the plot, the name of your Town will appear somewhere on your HUD.  To give an idea, it could be placed right under the mini-map, if enabled of course.  The name will disappear once you set foot outside of the plot.

Pretty straight forward, yeah?  Not only that, there could also be certain musical tracks that play while in town too.

"How does the plot grow?"  Once it reaches a certain npc threshold.  Let's say the first threshold is, three npcs.  Once you've given them a place to stay, the boundary will increase.  By how much?  Not really sure.  However, the plot will not increase indefinitely.  I believe it wise to make a cap, but the plot should be plenty big by the time you hit it.  "Cool.  So how do we get npcs?"  That leads to our next section...

Section 2: All about NPCs

Much like Traders, you'll find npcs known as "Vagrants" in carts scattered around the map.  Unlike Traders however, Vagrants won't give you any items.  They will have a chat with you, if you feel so inclined.  Doing so reveals that Vagrant's profession to you.  I'll go ahead and list some professions and what they can do if brought to town.

Miner: Can mine up stones, ores, lime, etc. at Quarries.  The quality of their pickaxe determines the amount and rarity of items they can obtain.  Miners always come with a stone pickaxe from the get go.  A Miner's pickaxe does degrade, but at a much slower pace than a players.

Lumberjack: Can gather logs, sticks, resin, saplings, etc. from Tree Farms.  Axe quality determines the amount of items they can obtain.  Lumberjacks always come with a stone axe.  Axes degrade at a slower pace than a players.

Farmer:  Tills all dirt blocks located on Farm Land.  Plants, waters, and harvests crops. Farmers always come with a stone hoe and a watering can.  Hoe degrades at a slower pace than players.  Never needs to refill watering can.

Inn Keeper:  Manages Inns in your Town.  Make's npc Vagrants and Traders spawn and enter town, to stay at the Inn for a couple of days before leaving.  Collects gears from occupants, and splits the price with you.

This is only a hand full of different professions, but the list could easily be expanded.  Vagrants can appear before you have a Town plot, but they won't follow you to town without both a plot and a vacant home for them to stay in.  "Okay, but what's this talk about Quarries, Tree Farms, and Farm Land all about?"

Section 3:  Buildings and other builds

This will probably be pretty tough to implement, but the idea is that structures can be turned into specific building types by meeting certain qualifications.  Let's go over the four types I've mentioned before.

Quarry:  A simple plot of stone surrounded by a fence and gates.  The floor must be entirely stone in order for the build type to register.  That means no sand, gravel, dirt, or cobblestone.  Cosmetic decorations will also be needed, for instance decorative picks and shovels, a wooden wheelbarrow, stuff like that.  Not to mention a container or more for the Miners to place their gains.  Miners will enter the Quarry and slam their picks against the ground, collecting materials.  The stones won't break, so there's no worry to replace them.

Tree Farm: A simple plot of grass surrounded by a fence and gates with at least two different types of fully grown trees with in it's borders.  Some kind of decos and containers.  Lumberjacks will enter and strike the trees with their axes.  The trees will never be chopped down, so no fear in loosing them.  Tree to Lumberjack ratio is 1 to 1, so if you have four Lumberjacks, you'll need four fully grown trees for max efficiency.

Farm Land:  A simple plot of dirt surrounded by a fence and gates with a Scarecrow some where within.  Farmers will enter and till the soil, plant seeds, water them, and harvest the crops.  Farmers will get their seeds from another type of building to help maximize crop output.  They will also place harvested crops in that building as well.  A Farmer's Shed, I suppose you could call it.

These three builds are pretty easy to understand and construct, but a Inn will take a little more elbow grease.  And Inn is comprised of a Receptionist Room and at least two Shabby Houses, as well as an business door sign.  Since an Inn is a building, it has some more ground rules.

   1.  A building must have walls at least three blocks high.  Slabs can be used to make makeshift windows and count toward the block height.  Ceilings are optional, but still needed to keep rain from dousing your torches

   2.  A building must have a wooden door.  Gates don't count.

   3. A building must have at least one light source on the inside.

With that in mind, lets go over how a Inn is made, shall we?  In order for a room to become a Receptionist Room it must have the following.  A light source, at least one container, two tool racks(room keys will be placed here), three tables(to make up a counter), and a ledger(Inn Keepers will probably come to town with one, giving it to you upon arrival.  Or you can craft one, though there isn't a way to craft books yet.  At least not that I know of)  Once that's done you must connect it to two Shabby Houses.  A Shabby House is made as follows.  A light source, container, bed of any kind, and it's own door.  Once that's all connected the way you want it, you'll have to craft a Business Door Sign.  How's it crafted?  Not really sure yet, but once it is you just walk up to the front door and shift + right click it with the sign in hand.  Doing so will bring up a window with a list of business names, select "Inn" from the list and BAM!  It's all ready to go.  Or at least something like that.

Still not really getting what I'm putting down?  That's okay.  If you're having trouble, the video below should help.

https://www.youtube.com/watch?v=7Px8S-q1Ll0&t=1720s

And that's it!  This is all probably a pipe-dream and a coding nightmare, but I think it'd be a pretty cool addition.  Obviously it'd be a pretty low priority too.  But I don't know, nothin' ventured nothin' gained right?  Sorry if this seems a bit rushed.  Trying to get all my thoughts out while getting to bed on time, ya see.  Feel free to add to, take away, or say "You're nuts and that'll never work!" as usual.

  • Like 1
Link to comment
Share on other sites

Hi 3RS,

I am new to this forum so I apologize if I am breaching Vintage Story posting etiquette by mentioning a minecraft mod.  

Assuming I am not about to be banned by the Moderator, you may want to take a look at https://wiki.minecolonies.ldtteam.com/ for an example of how this concept that has been explored.

Again, being new, it is my understanding that the purpose of the suggestions forum is to explore ideas to find out what is actually doable and, roughly, how to do it.  Since traders already exist in the game it would probably be best to start with them as the template.  In my (limited!) experience they only occur inside of their trader "huts" and don't have the ability to move about.  Moreover the "huts" themselves are protected from dismantling by the player.  So conceivably it would be possible to have specialty traders spawn into the game.  Maybe if you cleared a spot and posted a "sign" requesting a trader, one could appear some random number of days afterward while you are sleeping.  Since the fundamental rule of reality is that you don't get something for nothing, I suspect there should be some initial and ongoing requirement for reoccurring trades.  If there is not enough business then they would pack up and be gone.  This could actually be a really good thing as you progress through the technology tree you would need different traders at different times.  In example at first having a woodcutter would be good, but soon you will be making most things out of stone.  

For the balance of the game, it would probably be best if only traders that sell goods you can already produce be allowed.  They exist mostly to avoid the grind.

Actually creating NPC's that gather resources is probably a couple orders of magnitude more difficult than is reasonable.  But maybe we could begin by simple modifications to the existing trader entity.  I would imagine creating the method by which the move around would be a good start.  Obviously there are many things in the game that move but what can we co-opt from the existing code?  My first thought is hostile animals can pursue and attack you.  That means the game already has a method of having an entity move to a target.  So maybe we have the traders -target either their bed or their trading "hut" depending on the time of day?  This would create a welcome sense of movement within a town. 

Anyway, thanks for your suggestion and I look forward to seeing how it develops.

Link to comment
Share on other sites

Traders could be used as a test template, but I don't think that they should be the final result.  This is mainly do to how they work, and by that I mean trading with them is quite difficult.  I believe that's intentional as to still give a bit of challenge, so you aren't completely loaded on gears straight from the get go, there for loaded on resources as well.  It is true that Traders don't leave their carts of their own volition, but they will leave it if attacked.(Found that out by accident.)  I've also seen Caravans of Traders, where the Traders actually mill about around the middle of the Caravan, outside of their carts.  Though I'm not certain if that info helps or not.

My basic idea for the npcs is of course based on Dragon Quest Builders 2, which how they work in their most base form is as follows.

Each npc has a set class, and that class determines how they act and what they can do.  For instance, standard villagers really only cook, but they can also "gather" items.  By "gather" I mean that the npcs go to a specific building and walk around inside, doing random gestures to show that they're "working".  At the end of the day, the standard villager will leave and a chest inside the building will have a small amount random, common crafting materials inside.

Npcs in the main story mode island live around these tablets or plots of land next to them, similar to the Guide Post I mentioned, and don't wandered too far away from them.(Though they can travel pretty far.)  They also seek out empty beds at the end of the day to sleep, that includes yours.  They'll continue to do so unless designated otherwise.  For instance, if you want them to stop jumpin' in your bed, create a room with a personal sign that makes the room yours and npcs won't enter.

And that's the bare-bones base for npcs in DQB2.  They can do a lot more, but that's the basic foundation they sit on.  So to get a foundation for this, I believe the following will need to be worked towards.

1. Using Traders as a template, find a way to "recruit" them and have them to follow you.

2. Find a way to have Traders stop following you and mill around the village plot once they get there, similar to how they do in their carts or caravans.

3. Find a way to have the Traders target beds in the evening so they can "sleep".  I use quotes there since only the player can sleep currently, but you can have the Traders target the beds and stick close to them.  That way you can place the beds in buildings to keep them safe over night.

I know nothing of coding, and don't know how tough implementing the above is, but I believe those three things will help form the foundation of npc villagers.  Again, I'm no coding wizard so I have no clue how possible this all is.  I have no problem jumping ship if the hull has too many holes.

Link to comment
Share on other sites

I think the town center/guide post is not really required, as it also strikes thematically with the game. Not every player would want to be major of a town, most probably want a simple farmhand to help with managing the crops or a mercenary to explore some caves or raid some villages. So I'd lean more on a room based system like in Terraria, which is already kinda supported as there are already cellars and greenhouses as rooms in the game.

So you just have to build a small room with a door and a bed and you could hire an NPC and it would be assigned to that room, either automatically or maybe by some management menu. Recruiting NPCs to work for you should however not be without cost. I imagine there would be people you can hire wandering around in the world, at traders or in villages. Hiring should cost money, i.e. gears, and only last for a limited time. Maybe, if you hired somebody for long enough, they may be willing to work permanently at your place as a follower. Then he wouldn't cost any gears, but needs to be feed with food, or else he will leave again.

Once you have an empty room, there could also occasionally some traveler coming by, asking for a nights stay and paying some gears or labor for it. This could also be a way to meet NPCs you could hire or just make some extra cash by also selling them some food or equipment.

Link to comment
Share on other sites

Last night a rabbit raided my sparse crop farm and a quick check of the wiki revealed that racoons are likely coming for my berry bushes soon.  So Vintage Story has code for an entity being able to locate food blocks and break them.  If so, it might be possible to translate that code into a NPC who can monitor a defined multi-block space (i.e. "room") and perform a harvesting function.  Does the rabbit actually pick up these objects within the game or are they actually just deleted?  This mechanic seems to be the shortest route to a useful NPC. 

Alternatively, a NPC who chases off rabbits and racoons would use similar functions as what already exist within the game.  Regardless, I absolutely agree that NPCs should cost.  They should consume as much food as a player does and will need other "payment".  Otherwise they would just leave.

Having a "room" that perspective NPC's can show up in also seems to be a really good idea.  That way the player gets to decide how much effort to put into this aspect of the game.

The secondary aspect of this is that NPCs can be thought of as moving sculptures.  Just from an aesthetic perspective it is nice to have them wandering around a homestead.

Link to comment
Share on other sites

Well I've been mulling over what the two of you have presented, and I've come up with the following.

I'm down with a room, or building rather, spawning the NPCs.  Let's call it a "Lodge" or "Lodging".  I'm also okay with limiting the number of them too.  Keeping it small, like three or four, can keep that dissonant atmosphere Vintage Story has, while making it a little lively at the same time.  I'm also fine with limiting the number of professions, such as only being able to have one Miner if the fear of abuse is there.   Another thing to note, the NPC helpers are not meant to replace whatever activity they do.  They're just there to supplement.  To give an example, where a player would yield 100%, a helper NPC would hit average at 50%.  75% at the best, 25% at worst.  That make sense?  Let me dive a little more into that.

I've been thinking about NPC stats, and I believe that they should have two bars.  One for Health, and the other for Mood.  Health is obvious, but allow me to expand on the other.  The Mood bar determines many things, kinda think of it as the 'payment" system you guys have been talking about.  In other words there are things that increase mood, as well as things that decrease it.

Increases could be:  Eating a full meal in the morning and in the evening.  Being supplied with good gear.  Sleeping in a actual bed versus a straw mattress.  Finding rest and enjoyment in other buildings and amenities such as parks, gardens, taverns, etc.

Decreases:  Attacking them, easily the worst thing you could do.  Getting attacked by hostile creatures.  Not being supplied a food.  They'll lose a small amount when their tool breaks, and even more every day they remain without a tool, aka "unemployed".  Having no ways to rest or unwind.  Etc.

All NPCs when first hired start with a low Mood, producing at that 25% I was talking about.  The lower the Mood, the more likely they are to leave, which you will be alerted about in the chat log.  While the higher the Mood the more likely they are to stay, and the better yields they produce.  When an NPC first spawns in a "Lodge",  they won't do anything but wander around and leave after a couple days.(They might be willing to buy things from you too)  You'll have to hire them in order for them to start working for you, and to do so you must meet their demands.  All of them will desire a tool, and either gears or an item/items of some sort.  Each "Lodge" will need to have a container/containers in them, there you can place extra tools, food items, armor, seeds, etc.  It's also where the helpers will place their harvests, stones, ores, etc. at the end of the day.

Sound about right?  Anything need to be added, or taken away?

Link to comment
Share on other sites

Your suggestion concerning a helper augmenting the efforts of a player rather than doing a task themselves never even occurred to me and would be an excellent way to implement NPCs as it reduces the AI aspect of the entity.  I assume you would want them to follow you around, but that should relatively easy given how other entities move within the game.  It would actually be kinda cool to see them chopping the same tree or using a pickaxe on the same block.  Moreover, your suggestions about mood would be a very good way of addressing previously expressed concerns about "cost" and should help keep them in balance.  Also it stays away from having to develop a bunch of character stats to individualize the NPC.  The only thing I don't see an easy way of doing in context of the game, as I understand it, would be your comments about parks, gardens, taverns, etc effecting mood. 

I wonder if entities (if I am using that term correctly to describes things in the game that move under their own volition) keep track of factors like hunger?  I also wonder if mood should be effected by the temporal mechanics?  If you take them into a cave or other counter-clockwise spinney area could they potentially they go crazy and flee?

So in review a Tier 0 NPC could be used to describe the existing traders. 

A Tier 1 NPC would need the following mechanics

  1. An interface to make them employable
  2. Track HEALTH
    1. Hunger
    2. Damage
    3. Healing(?) 
    4. Sleep
  3. Track MOOD
    1. Relative Hunger
    2. Quality of Tool
    3. Amount of Work
    4. Payment (i.e. other items of value like gears)
    5. Environmental rewards (bed, etc...)
  4. Ability to follow player
  5. Ability to target and interact with the same block as the player
    1. Amount of augmentation will be a sliding scale based on MOOD
  6. Possible mechanics
    1. Susceptibility to Temporal mechanics
    2. Disgruntlement with employment (MOOD gets to low they leave)

Does that sound about right?

  • Like 1
Link to comment
Share on other sites

Hmm...  Not exactly what I had in mind, but I like where this is headin'!  To address the Mood being a affected by certain builds, like parks and such, maybe a timer gauge could be put into effect?  For instance, they could go there and spend like 30 in game minutes and get a Mood boost.  Though I'm fine scrapping that.

let me review some stuff and add some more ideas to help flesh this out, if you don't mind.

So, in order to get NPCs to spawn, you must make a room, or "Lodge" or whatever, for them to spawn in.  It'll need a bed for them to "sleep", a door, a chest to supply them with items and for them to store items they gather, and a light source.  The room can be made out of dirt, but a more traditional room would probably boost Mood for them.(If that's possible, mind you.)

When an NPC spawns, it'd probably be nice to be alerted to that in the chat with a simple phrase like, "You have a visitor!".  Visiting NPCs will just mill about the property for a few days, somewhere between 3-7, then leave.  "A visitor has left..."  Talking to visitors, you can learn about their profession, their name(randomy generated like the Traders is probably the way to go.  Not to mention in game chat messages will replace "A visitor" with the name once you learn it.) and of course ask to hire them.  To hire them you must provide them with a tool based on their profession, as well as either gears, if they ask for them, or an item/items.  Not sure how plausible this would be, but I think it would be cool if NPCs had some randomly generated likes and dislikes.  For instance, doesn't mind working in the rain, hates spending time in tunnels, is a night owl and doesn't mind working at night.  This would help add some personality to the NPCs, and would affect their Mood in unique ways, but I'd be fine tossing the idea if it's too much of a bother.

Once a NPC is hired, you can check their status.  This menu will probably be similar to the "Character" menu for yourself in game.  It'll show the NPC's current Health, Mood, Name, Armor equipped and durability, Tool equipped and durability, and if it can implemented, the randomly generated likes and dislikes.(One for each should be fine.  Two if your feeling risky.)  Maybe you could also check their current inventory.  Not to mention, this will probably be the menu you access to ask them to follow you/stop following you.  Much like a visitor, a hired NPC not currently following you will just walk around until evening, where they'll return to the room they spawned from.

Professions are the name of the game, lets name some and their uses.

Miner:  Helps you mine stones, ores, and such.  Helps speed up the breaking of said materials.  Pockets a portion of the materials mined.  At max Mood, occasionally doubles your yield.  Should never have "doesn't like to go into caves" as a dislike.

Lumberjack:  Helps you chop down trees.  Helps speed up the process.  Pockets a portion of the materials dropped.  At max Mood, occasionally doubles the amount of wood and sticks the tree drops, and increases the likelihood of saplings dropping.

Digger:  Helps you dig up dirt, sand, and gravel.  Helps by digging up an adjacent dirt, sand, or gravel block.  Pockets the blocks it digs up.  At max Mood, occasionally pockets rare drops you  would normally find through panning.

Forger:  Helps you with forging, obviously.  Increases the amount of reeds, dry grass, and seeds from wild plants you receive.  Pockets a portion of the items forged.  At max Mood, occasionally causes rare seeds, like pumpkins, to drop from cutting grass or reeds.

Hunter:  Helps you with hunting wild animals.  Makes approaching animals much easier.(Animals won't spot you as easily.)  Will attack wild animals in range with their spears, only after you have attacked first, or if the wild animal injures you.(Won't attack at all if not currently following the player.)  Can carve animals along side you, and pocket a portion of the carve.  At max Mood, occasionally doubles the yield from a carved animal, can cause fat to spawn on smaller animals such as raccoons, chickens, and hares, and can rank up carved skins.(Small skins turn into medium, medium to large. Etc.)

Farmers:  Helps you with farming.  Will use their hoe on adjacent dirt blocks to turn them into farm land.  Will immediately water seeded farmland if the block isn't currently hydrated.  When not following, Farmers will gravitate to seeded farmland.  When next to said farmland, plants will grow faster.  They'll also scare off hares and raccoons.  At max Mood, occasionally doubles your harvest yield.(Flax, grain, cabbage, etc.)

Mercenary:  Helps protect you from hostile creatures.  Though all NPCs can be given armor, Mercs have a defense increase.  Mercs can taunt hostile creatures, like wolves and drifters, taking their attention away from you.  They will always taunt these creatures once you get into the beasts aggro range.  While not following, Mercs can still taunt and attack hostile creatures.  At max Mood, Mercs will occasionally land critical hits, dealing massive damage.  Should never lose Mood when going out into temporal storms.

And that's all I can think of currently, feel free to add more if you like.  Next I'll cover some random stuff.

I think you should be able to create a house specifically for a hired NPC, if they've been around a while and you've taken a liking to them.  It should have all the same stuff you'd use to spawn them, but maybe a special sign can be modded in to make that room specifically belong to that NPC.  NPCs would definitely get a Mood boost from having their own home.  Of course you could probably just convert the room you spawned them in into one, but where's the love?

NPCs can be given torches or other light sources, which they'll put in their off hand in dark places or at night, if they are still out and about.  They'll also do this if they are following you, meaning you don't have to carry a torch yourself.

Mood is very important, as a hired NPC with low Mood will leave.  While a hired NPC with high Mood will net you bonuses.  I could go into detail with Mood increases and decreases, but this post is long enough.

And that's my current thoughts on the matter.  Anything to add?  Take away?  Seem off?  I'm down for some outside thoughts!

Link to comment
Share on other sites

I tried to outline the mechanics you identified above and just couldn't quite get there.  So as a compromise I offer what we could call the Tier 1 NPC as a stepping stone to your Tier 2 NPC. 

As an experiment I created the outline in Google Docs pasted it below.

When we set on the characteristics of a Tier 1 NPC, we can begin describing those additional functions for the Tier 2 outline.  In example:

20 hours ago, 3RS said:

Miner:  Helps you mine stones, ores, and such.  Helps speed up the breaking of said materials.  Pockets a portion of the materials mined.  At max Mood, occasionally doubles your yield.  Should never have "doesn't like to go into caves" as a dislike.

If by "helps" you mean to simply increase the block break rate like I have described then it fits within the Tier 1 outline.  However if you mean they can FOCUS on a block not being broken by the player, then a number of new functions would need to be created to enable the NPC to select which block to actually break.  I have seen other mods do this by the player creating a "bounding box" and the NPC systematically breaks blocks within it.  Unfortunately to my knowledge that function doesn't already exist and would need to be created.  Also I don't know how the NPC identifies that they are entering a cave.  In your mind would be the set of conditions that resolves as a cave?

-----------------------------------------------------------------------------------------

Tier 1 NPC outline

A B C RECOMMENDED CATEGORY FUNCTION
1     ROOM Multi-block item built by player and designated as such upon completion, but can be broken by player and loose that designation. Mechanic similar to CELLAR and GREENHOUSE.
1 1   NPC Spawn NPCs can spawn in a UNLOCKED ROOM and are designated as unemployed.
1 2   ROOM upon NPC being HIRED New function
1 2 2 LOCK ROOM Blocks forming multi-block ROOM are no longer breakable by player (like the Trader Caravan)
1 2 2 NPC FOCUS set to bed Becomes the NPC FOCUS if within 45 meters between sunset and sunrise. NPC FOCUS becomes player at sunrise if NPC is currently HIRED.
1 2 3 Spawn chest in ROOM PAYMENT items are stored in chest. Chest is not openable by player.
1 2 4 Spawn chair in ROOM Because who doesn't want to sit down on occasion.
2     EMPLOYMENT New function
2 1   HIRE/FIRE Dialog box
2 1 1 Player can HIRE unemplyed NPCs. NPC designates current ROOM as theirs by LOCKING it. Bed in ROOM is set as FOCUS.
2 1 2 Player can FIRE an employed NPC. ROOM becomes UNLOCKED and all spawned, as well as NPC placed, items within ROOM are deleted. NPC is deleted.
2 3   Choose PROFESSION Pull down list (Miner, Lumberjack, Digger, Forger,Hunter, Farmer, Mercenary). Designates associated TOOL
2 4   EQUIP NPC New function
2 5   Feed NPC Player must give NPC at least one meal of above SATIETY value 400
2 6   TOOL Player must give NPC one TOOL as designated by PROFESSION. If TOOL becomes broken the ROOM becomes NPC focus.
2 6 1 Miner = Pickaxe  
2 6 2 Lumberjack = Axe  
2 6 3 Digger = Shovel  
2 6 4 Forger = Sythe  
2 6 5 Hunter = Bow FOCUS becomes last animal injured by player for at least 20 seconds. Time reset each time animal is injured (Player or NPC).
2 6 6 Farmer = Hoe  
2 6 7 Guard = Sword FOCUS becomes last entity that attacks player for at least 20 seconds. Time reset each time attacker injures the player or the NPC.
3 0   HEALTH Use existing player HEALTH function
4 0   SATIETY Use existing player SATIETY function
4 1   SATIETY effect on HEALTH Use existing player function
4 2   SATIETY effect on MOOD New function
4 2 1 Hungry When SATIETY < 25% reduce MOOD by 5%.
4 2 2 Starving When SATIETY = 0 reduce MOOD by cumulative 10% each day.
4 2 3 Well fed When SATIETY > 50% increase MOOD by 5%. Bonus is maintained until SATIETY next drops below 25%.
4 2 4 Stuffed When SATIETY > 90% increase MOOD by 30%. Bonus is maintained until SATIETY next drops below 25%.
4 3   Daily food consumption EMPLOYED NPCs eat regardless of whether FOLLOWING or in ROOM
5 0   MOOD New
5 1   MOOD level Starts at 25%
6 2   SLEEP NPC wants to sleep each day.
6 2 1 SLEEP value Number of hours slept in last day.
6 2 2 SLEEP modifier Reduces MOOD by 5% if less than 4 and by 10% if equal to 0.
6 2 3 SLEEP when traveling If NPC is HIRED and greater than 45 blocks from ROOM then the NPC SLEEP value is set to the number of hours player has slept.
7     QUIT - When MOOD equals 0% New function
7 1   Change employement status Set to FIRED.
8 0   FOCUS - What the NPC wants to interact with. New function
8 1   Unemployed NPCs will only FOCUS on bed in UNLOCKED ROOM. Once a NPC is HIRED their FOCUS will be on the bed in a LOCKED ROOM unless they are currently FOLLOWING player. Dialog box with FOLLOW/ROOM. Only 1 HIRED worker at a time. If player already has one then upon selecting FOLLOW previous NPC's FOCUS is set to ROOM
8 1 1 Select NPC to FOLLOW NPC will attempt to move in accordance to player and keep within 5 meters, but no closer that 1 meter. Their FOCUS will temporarily shift depending on actions of player.
8 1 2 Select NPC to ROOM NPC attempts to pathfind back to room. If distance is too great, NPC will teleport back to ROOM .
8 2   WORK - The shifting FOCUS of the NPC when FOLLOWING the player. FOCUS shifts are dependent on PROFESSION and actions of player.
8 2 1 TOOL use NPC will assist breaking block if they have appropriate tool for breaking that block
8 2 2 TOOL rate NPC rate at which they break blocks is TOOL * MOOD
8 2 3 Work animation It would be so cool if NPC positioned itself and appeared to be working on same block.
8 3   SATIETY decreases relative to amount of WORK I think this function exists for player
9     PAYMENT New function
9 1   Items of VALUE (i.e. gears) given to NPC Stored in NPC inventory until next time NPC is in ROOM and then it is placed in chest.
9 2   MOOD modification MOOD is increased by VALUE of item.
10     Lost NPC - Occurs when FOLLOWING NPC can't pathfind to player New function
10 1   Returns to ROOM FOCUS becomes ROOM. Teleports to ROOM if can't pathfind to ROOM.
10 2   MOOD modification MOOD is decreased by 10%
11     NPC dies New function
11 1   NPC is marked as FIRED Delete in accordance to FIRED function
11 2   MOOD modification All HIRED NPS reduce MOOD by 10%
Link to comment
Share on other sites

Sorry for the late reply, got kinda distracted lately.  Anyway.

Yes, you're right on the money on how the Miner helps speed up the breaking process on the block you're current mining.  There are some on the list that break other blocks at the same time, but that doesn't have to be a thing.  Especially if the inner workings are too much of a burden to produce.  I suppose a way around that is just to make the player "hitbox" for breaking blocks extend to two.  That way the NPC doesn't have to have wiring to break blocks themselves.  Though I can see that bring up a set of different issues.

As for the cave, I'm not sure how it does it but, at some point somewhere in the game's data the music will change if you go underground.  I'm not certain on would causes that, but I believe it has to do with the number of blocks above you(The layer of blocks between you and the sky) and being surrounded by certain types of blocks.  Don't know if that helps, but I think that could work as a good idea to what constitutes a "cave".

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.