MineColonies

MineColonies

53M Downloads

Town Hall Automatic House-Worker Assignment

Electrocutor opened this issue ยท 1 comments

commented

Minecolonies version

version 0.8.3210v2

Expected behavior

  • NPCs would logically be assigned to homes and work

Actual behaviour

  • Many NPCs have to run from one end of the colony to the other just to go to work

Addendum Worker Assignment

If the Town Hall worker assignment is set to auto, then each night when Happiness is re-assessed, it should also re-assess which NPCs are assigned to which jobs depending on the primary and secondary attributes required for that job and the primary and secondary attributes of the NPCs.

Use the same formula as the level-up system to determine candidate score (primary * 2 + secondary) for each built hut-type. Then assign each NPC first by hut-type priority, then by highest-score NPC. Thus, if NPC John is the best at both Builder and Guard, he would be chosen for Builder. Assign only one of the best for each category before going through the list again; example: Builder1, Miner1, Lumberjack1, Guard1, Miner2, Lumberjack2, Guard2, Miner3, Guard3.

Builder > Miner > Lumberjack > Deliveryman > Farmer > Fisherman > Baker > Guard
(While guards are actually more important, their death-rate is so high that you wouldn't want your best-stat NPCs to be sent there)

Addendum House Assignment

After their jobs are set (or ignored due to having it be manual), if the Town Hall house assignment is set to auto, then it will re-assess which NPC lives in which houses. It should set an NPC home to be the closest to work. After workers have been re-assigned, then it will fill in any remaining house spots with unemployed NPCs.

The house assignment should also use the above job priority to determine which NPC should live in a house if that house is the closest for multiple worker huts. It should likewise, also set the closest only once for each job before cycling again as stated above. This way, both a miner and a lumberjack could start work quickest even if the house closest to Lumberjack1 would have been taken by Miner2 and Miner3 otherwise.

Addendum Notifications

(Once per morning, when NPCs go to work)

If there are not enough houses for everyone (counting ones in pending), the player should get a request from the builder to build or upgrade Citizen Huts (this of course only happens at the beginning of a colony).

If the colony does not have a Lumberjack (counting ones in pending), the player should get a request from the builder to build a Lumberjack Hut.

If the colony does not have a Miner (counting ones in pending), the player should get a request from the builder to build a Miner Hut

If the colony has a Warehouse (fully built), but not a Deliveryman Hut; the player should get a request from the builder to build a Deliveryman Hut.

If the colony has any worker hut (fully built) that has no worker and >0 unemployed citizens, the builder should inform the player that one of his built worker huts is not being used, specifying the hut type and distance.

If the colony has any worker hut (fully built) that has no worker, 0 unemployed citizens, and no pending citizen huts, the player should get a request from the builder to build or upgrade a Citizen Hut.

commented

Hey, thanks for the afford of writing all of this up:

Addendum Worker Assignment:
Addendum House Assignment

Our idea here is that a diligent player gets away better than a lazy one.
So if the colony already assigns everyone perfectly to everything where is the point of skills and manual assignment modes.
The idea is that if the player takes care of all that, his colony will be way more efficient than if not.

About the notifications, it might be interesting but very often players will be mad about the spam each morning .