-Tenants-
(https://i.imgur.com/VrsndzR.gif)
This mod is a work in progress! Bug reports, feedback, and comments are appreciated!
-Description-This mod was inspired by Orion's Hospitality (https://steamcommunity.com/sharedfiles/filedetails/?id=753498552) and my desire to have longer-term interations with NPC colonists. This is not intended as a replacement for Hospitality; Hospitality enhances the visitor system in Rimworld while Tenants are more like regular colonists that simply have restrictions on what they do. Both mods work together just fine!
Tenants are colonists that you cannot directly control or assign to tasks. So long as you have a regular colonists present, they can randomly offer to make a contract to stay at your colony. If you prove to be a good host, they may ask to stay longer. If you mistreat them, they might leave or worse!
Couriers are responsible for delivering silver and they spawn randomly. However, they can be called for through the comms console for a small fee.
Tenants are colonists that you cannot control nor give tasks to. Should you mistreat them, they'll leave and or other bad things may happen. A contract is randomly made with the only restriction that you must have a regular colonist on the home map. Payment will be received at the end of a contract period and the tenant might ask to stay longer should you prove to be a good host.
-Features-
- Non-controllable tenant colonists that pay you for being able to live in your colony.
- Invite tenants to stay at your colony via the Comms Console.
- Tenants may ask to extend their contract.
- Happy tenants may ask to join your colony.
- Couriers to deliver money. This feature will be further enhanced.
- A mailbox(misc) building requirement to have the events spawning.
- Evicting a tenant will receive in no money paid.
- Mistreating tenants may result in future consequences.
- Tenant that don't have the colony's best interest in mind.
- New Tenant tab to manage your tenants!
- Customizable mod settings!
-FAQ & Compatibility & Known Issues-
- This mod can be added mid-game.
- This mod should not cause any issues if removed mid-game; any tenants should become regular colonists. Please let me know if something breaks!
- Tenants will occasionally take your stuff. This is normal, however you can restrict their clothing, food and drug options by accessing the tenants tab.
- Incompatible with -> Preemptive Strike (https://steamcommunity.com/sharedfiles/filedetails/?id=1890377807)
- There might be strange behaviors with tenants and equipment if you use Combat Extended (https://steamcommunity.com/sharedfiles/filedetails/?id=1631756268).
- Tenants riding animals from Giddy up (https://steamcommunity.com/sharedfiles/filedetails/?id=1216999901), upon contract end leaves with said animal.
- Tenants can become mayors with Psychology (https://steamcommunity.com/sharedfiles/filedetails/?id=1552507180), this is awesome.
- Better Pawn Control (https://steamcommunity.com/sharedfiles/filedetails/?id=1617282896) has a minor conflict where tenants are reassigned to first option for food, drugs and apparel in the list of restrictions.
- [O21] vehicle framework
-Links-Ludeon (https://ludeon.com/forums/index.php?topic=49501.0)
GitHub (https://github.com/LimeTreeSnake/Tenants)
Steam Workshop (https://steamcommunity.com/sharedfiles/itemedittext/?id=1854879867)
Discord (https://discord.gg/x2Xn7Wj)
-Patreon-I created a Patreon account (https://www.patreon.com/LimeTreeSnake) since some people have asked for a way to support me!
-Special Thanks to-
- Pardeike: cause of his work on Harmony.
- Orion: For his Hospitality mod.
- Chicken Plucker: For the lovely images!
- Aelanna: For the language help!
- OskarPotocki: For his art! <3
-Updates-2019-11-10
- Broadcast is not initially set to true.
- Mod settings updated.
- Wanted pawns are no longer wanted by your faction.
- Courier system where money is delivered through couriers instead of spawning randomly.
- A mailbox to recieve tenancy payments.
- Lowered chance for bounty hunters.
- Asynchronous relations should be fixed.
-License-You may use this code as however you want. However, do notify me as I'd love to hear if people find use of my code! :)
Very cool! I can't wait for this to be finalized, I am positive it will be one of those mods that will be very welcomed. I just wish we had some features similar to this in vanilla
my death hotel will be born soon !
Hey Lime I saw your Steam release, if you don't mind I'll work on a preview for you
Here are some options:
Option 1
(https://i.imgur.com/uiH6DwN.png)
Option 2
(https://i.imgur.com/VKozqZV.png)
Option 3
(https://i.imgur.com/YecOf0y.png)
Option 4
(https://i.imgur.com/cyW5sXI.png)
Hey Lime, if it's possible I also wanna recommend changing tennant color? I noticed they spawned with a white name in-game, like colonists. Now if you're getting a massive raid and you wanna draft everybody it can get chaotic, so we may end up accidentally drafting tennants or whatever. Maybe you can change their name colors to blue or something like sky blue
Made you this animation I hope you consider including in your mod description Lime 8)
(https://i.imgur.com/VrsndzR.gif)
I thought it would be very fitting for this mod
What about a video the tenant weighted at the landlord about bug's at his room, real big bugs !
Or raider knock at the door to collect the tax. :-)
I should totally subscribe to my own thread lol.
I'll definitely add those Chicken Plucker, many thanks!!!
Also concerning your input regarding color, that is a definite must. I'll add it to my todo list!
oooooo. I had seen a poster mention he wanted to build resort hotels, looks like that might end up a possibility for him.
My base is currently huge, as it bleeds into the mountain so not sure if I can add more in my current colony at this rate. Maybe I can make it half as big as Chickens preview image. Its gonna get lit up bad during raids im afraid
2019-09-08
- Joinable Tenants when happy
- Spawn without weapons options in mod settings!
- Nightowl gets sleeping hours correctly
- Check when enabling working types exception when tenant unable to
- Retribution for capturing tenants
- Check correctly relations during retribution
- Drug/Food in tenant tab. It's getting huuuuge which is bad m'kay
- Tenants ask to stay too much. Option to not ever ask added.
- Option to auto renew contracts
- Labels on tenant checkbox stuff
- Changed the language.xml into a more streamlined version
- Contract conclusions are now letters instead of messages.
what does the retribution look like?
does this mod add more tabs at the bottom? If so is there any countermeasure for this? I cant add any more, even fluffys relation mod doesnt appear anymore for me so not sure what other tab will disappear if i add more tabs
any tenant events planned? I feel like adding some will further differentiate this with hospitality.
Sorry for the late reply!
Well basically, at the moment it takes the form of an raid ala Inigo Montoya does revenge.
Sadly, it adds another tab yes. I didn't want to clutter the working/assign etc etc tabs with tons of tenants that does not work. :)
Tenant events are in the pipe but it'll take a while to get them into the mod as I have been squashing tons of bugs lately! ^-^ Plans are as an example, moles and thieves.
2019-09-09
- Uploaded fix for tenant event not spawning.
- Remade color label check for tenants
- Tenantcomp should see if it's null before trying to get its contents.
- Fixed an issue with tenant generation where if they had no faction caused errors when they spawned as villagers.
- Tenants can be of other races.
- Null checks when generating pawns.
- Makes sure pawns are not strange non-food eating, non tool using, non humanlike machines.
Quote from: LimeTreeSnake on September 09, 2019, 06:51:00 PM
Sorry for the late reply!
Well basically, at the moment it takes the form of an raid ala Inigo Montoya does revenge.
Sadly, it adds another tab yes. I didn't want to clutter the working/assign etc etc tabs with tons of tenants that does not work. :)
Tenant events are in the pipe but it'll take a while to get them into the mod as I have been squashing tons of bugs lately! ^-^ Plans are as an example, moles and thieves.
Ah thats tough to hear. Do you happen to know of any mods that allow me to minimize or expand the tabs that appear at the bottom maybe? I really like the sound of this mod but im afraid any future tabs are unlikely to appear for me
Quote from: Ruisuki on September 11, 2019, 02:11:06 AM
Ah thats tough to hear. Do you happen to know of any mods that allow me to minimize or expand the tabs that appear at the bottom maybe? I really like the sound of this mod but im afraid any future tabs are unlikely to appear for me
I fear I do not :( Apologies, I feel this mod truly requires the tab and it'd be hard to implement it in another way without sacrificing screen space or readability.
Quote from: Ruisuki on September 11, 2019, 02:11:06 AM
Ah thats tough to hear. Do you happen to know of any mods that allow me to minimize or expand the tabs that appear at the bottom maybe? I really like the sound of this mod but im afraid any future tabs are unlikely to appear for me
You can install RIMMSqol and use the mod settings to disable tabs that you do not need.
Quote from: Hjkma on September 12, 2019, 02:45:40 PM
Quote from: Ruisuki on September 11, 2019, 02:11:06 AM
Ah thats tough to hear. Do you happen to know of any mods that allow me to minimize or expand the tabs that appear at the bottom maybe? I really like the sound of this mod but im afraid any future tabs are unlikely to appear for me
You can install RIMMSqol and use the mod settings to disable tabs that you do not need.
RIMMSqol nice, tyvm hopefully this is exactly what I need and can just alternate the tabs when I need to edit as needed.
OP i also wanted to ask on average how big do you envision the tenant housing being? Usually guests from hospitality brings 4 visitors after the first year so how many tenants do you envision arriving and cohabiting with your colonists at once?
I know the mining spaceship mod adds an incident where hailing a ship to land in the dock and provide its services it sometimes has a chance of being a hijacked vessel and it ends up being a raid. You mentioning sabotage events as a future possibility for tenants reminded me of that. Thats why I build my shipyard outside of my home colony. Should I also build the lodgings inside my mountain base like I do with hospitality or maybe build a whole tenement outside of it like Miningco?
Well I am hoping that people can host as many tenants as they want and it's now possible to send out invitations. My vision is not the only way to play this but this is the way I use it. I tend to build an inn and let tenants have their own rooms in it. I'd have between 2-6 rooms for tenants depending on the house and current colony size. I rarely play mountain bases as I tend to make smaller villages with blacksmiths etc etc. I would love to have it like an adventurers guild or something where people could interact and whatnot. But as of now, I am happy with what I've achieved so far and it'll only grow with time.
I have many future mod ideas for more implementations reusing my code for many more purposes. The tenants mod is just the start.
If you can post pictures of your inns when you get the chance, I'm sure we'd all love to see them. I wish you all the success in your future endeavors OP. It sounds very promising.
Heyo! I've added an IG image of my simple inn on steam. :)
Another update today. Unfortunately, this update makes a big change in how tenancy is calculated. That means, all current tenants in your game are now colonists. Apologies but it was a necessary evil to solve a lot of future issues.
2019-09-15
-Inspired tenants? No thank you
-In tenants tab, allow/disallow work (Removed settings options in mod settings due to this change.)
-Retribution raid spawns too many??? Did a try catch and will spawn regular raid should something fail instead amongst other oversights.
-Low/min max payment from 0
-Tenant leaving when joining due to being saved and contract conclusion bug
-Inverted raid chance for invitation, whops
-Surgery suggestions angers tenants
2019-09-21
-Lowered Raid strategy points for redemption raid.
-Reverted code for silver spawning to debug spawning again. Stacking mods are still an issue for generation.
-Checks for tenant retribution now make sure tenants are contracted.
-Faulty check for inspirations made correctly.
-Remade check for tenant table so that broken tenants are listed as well.
-Lowered opportunist chance of spawning from 33% to 20%.
-Remade tenant generation code to include hidden faction belonging.
-Added new event Moles. Prevent them indefinitely by keeping tenants happy.
I got an idea (or two).
- Supermarket station/workbench.
Like a big RimFridge freezer, you can put food,drugs and other things in to exclusive be sold to tenants.
A pawn need to be work on the station as vendor. Maybe some research projects for bigger station,better prizes and an automated station.
- Tenant Store
Your tenant's offer to sell some of their item's they collected at their travel to you.
Since you got alot of silver from your tenant's you need a way to spend them too.
For each tenant you got, the store offer you 1 item.
Each x day's the collection get changed. The value of the item's depend how satisfied your tenant's are.
i like the store bench idea. i wont have to add a vanilla tray to act as a front desk for my shopping rooms anymore :p
I love your mod and just wanted to say thank you! :)
Question about your steam preview: why did you add a fridge and freezer? Couldn't the tenants just use your bases supplies or do they need a separate kitchen for themselves? Assuming this isn't your colonists home and a separate Lodge for tenants
Quote from: Kori on September 25, 2019, 03:46:46 PM
I love your mod and just wanted to say thank you! :)
Thanks for the lovely words!
Quote from: Tocato on September 25, 2019, 09:28:58 PM
Question about your steam preview: why did you add a fridge and freezer? Couldn't the tenants just use your bases supplies or do they need a separate kitchen for themselves? Assuming this isn't your colonists home and a separate Lodge for tenants
The tenants eat as per normal colonists! So x') The images are just examples.
So tenant take my good clothes that worth more than their payment, so I have to exploit to make profit. i set tenant policy to make them addicted to strong drugs, when they overdose, they stay in the hospital and I can strip them and harvest their organs. Tenant service is more profitable this way ;D
Quote from: conkikhon on September 29, 2019, 10:29:15 PM
So tenant take my good clothes that worth more than their payment, so I have to exploit to make profit. i set tenant policy to make them addicted to strong drugs, when they overdose, they stay in the hospital and I can strip them and harvest their organs. Tenant service is more profitable this way ;D
restrict their area zones? that way they dont take your stuff, and only let them use your dining room at best. Unless you wanna build a self sustaining lodge for them with their own kitchen. Otherwise yeah just give them fridges and provide their meals but dont let them past your home
Tenant was okay, until they dabbing away with my fuckin MASTERWORK ROYAL BED! And pirates from mole event kidnapped my pawns and killed my chickens! Those puny little piece of silver tenants pay never enough to cover my losses. :'(
OP mentioned events are to be added. so maybe the more they like you the better events present themselves to you later on as opportunities. its still WIP so itll only improve with your feedback
2019-10-07
-Removed tenant drop-pod events.
-Mod settings option to disable/enable random tenancy request.
-Comms setting to accept/reject random tenancy request. Affects the same boolean value as the one in mod settings.
-Upped base chance for random tenancy request.
-New type of tenant, wanted tenants seeking shelter from their enemies.
-Reworked tenancy generation code to accomodate changes to tenancy.
-Reworked Mole event to be 'slightly' more rare (About 70%).
-Hostile raider tenants should no longer spawn retribution events. (Needs confirmation)
-Tenants always belong to a hidden faction thus relations are affected should you mistreat them.
Only hostile factions can raid
Neutral/Allied factions take a relations penalty.
-Tenants joining raids should no longer be considered tenants.
-Added a try/catch to GetGizmos_PostFix to display error message due to vehicles mod. (Might help somewhat in discerning wtf is going on.)
2019-10-16
-Added race restrictions for tenancy in mod settings.
-Removed medical restriction for tenants.
-New tenant restriction for medical, if it has the isViolation tag set to true then angry tenant.
Example of vanilla violation is Euthanize.
Thus if you find any mods that add an operation that should be considered a violation but works on tenants...
Pester the modder to set it properly.
-Altered generation code to fit the new race restriction options.
-Altered the message for fugitive tenants to avoid mixing them with regular tenants.
-Added a check for wanted tenants to make sure their enemies can raid.
Do you happen to have the previous version available? I deleted it to update to this latest release and now am getting an error loading map message at game start. Didn't happen last time I updated tenants but maybe I did something wrong
I actually har that happen to me as well. I restarted the client and it suddenly worked. I can access all previous versions and could send you a copy. Jump into my discord channel and I'll send a dll over should the issue persist. Seems a lot of people have had issues this time to which I have no idea why. I presume it has to do with mod settings as I did quite a lot of changes to it.
Same. I managed to load an earlier save but lost 30 mins of game time. No idea why it didnt affect that one particular save but there you go
Update: It seems my issue is with miningco. spaceship. As i removed tenants from my game and tested constructing its orbital relay dish. Saving and loading post construction always yields the message 'error loading map' no matter which save is attempted. So who knows if its related but just thought id add that in.
Thanks for checking out things, I've received multiple reports so there must be something faulty with this update although I have literary no idea what it is. Reason is that it works splendidly for me with mods and without hence my confusion.
What I presume the error is related to is the mod settings as I've done some changes to it due to the new update. So if people could try to remove the Tenant mod settings from the %appdata% folder AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Config and test things out then report to me, that'd be great!
LimeTreeSnake, did you change anything about the requirements you need to broadcast an invitation?
In my last colony everthing was working fine, but now in the new one I'm already playing for 1.5 years and haven't got a tenancy request so far. I decided to build a comms console to invite someone, only to find out that the broadcast is not available.
When I load the savegame of my previous colony it's there though. :-\
I tried to open the mod menu and had this bug where you only see an error due to an update, so I manually deleted the old config file and now the mod menu is back, but I still can't invite tenants to my colony. Maybe something is broken because I started the game with a broken mod config?
Can I somehow reset the quest for this mod or should I remove it, make a save without it and add it back to my game?
@Kori, that is a really difficult question as you've done pretty much everything right. :O Tried re-downloading and replace the files from git?
I have not done save editing for tenants as I've not had any issue yet but you could try to see if you can find a check for a variable called 'broadcast' where it possibly is set to be true. False means no broadcast is sent thus you should be able to resend it that way by making it false and trying again in game.
If you can go into the dev mode, you check -> Do incident, then find the request for tenancy option and that way forcefully spawn that event. if that does not work, then it's something wrong with the files is my belief.
There has otherwise been no changes yet to broadcasting. However, drop into my discord when you find the time and I will try to find a solution together with you if you need it. ^^
Editing the save worked! There were two 'broadcast' variables, I set them both to false and now I have tenancy invitation and reject tenants available! Thank you very much for your help, now I finally have a use for this cozy guesthouse I've built! :)
I've found something else: I harbor a fugitive now and get the relations-penality with the other faction every day. These changes seem to be asynchronous however and only get applied to my relation to them, not their relation to me.
When I check the relations tab and select my colony, the value went down correctly. When I select their settlement, their releation to my colony is still the same as before.
On my side it is 40 now, on theirs still 50.
Shit, must fix that asap thanks for alerting me!
2019-11-10
- Broadcast is not initially set to true.
- Mod settings updated.
- Wanted pawns are no longer wanted by your faction.
- Courier system where money is delivered through couriers instead of spawning randomly.
- A mailbox to recieve tenancy payments.
- Lowered chance for bounty hunters.
- Asynchronous relations should be fixed.
Thanks for working hard on this Lime, I wonder what all these updates are that I've missed since I've been gone
Thanks for the update! :)
At some point (the update including the mailbox and couriers?) the mod stopped working for me, I don't get tenants anymore.
I can send invitations and call for a courier. Sometimes a random courier will appear but never delivers anything and my mailbox is always empty. The raids happen too, there just won't be any tenants.
Sometimes my game starts to stutter for a while and it spams this error:
System.ArgumentNullException: Argument cannot be null.
Parameter name: source
at Verse.GenCollection.RandomElement<string> (System.Collections.Generic.IEnumerable`1<string>) <0x001cc>
at Tenants.Utility.GenerateNewTenant () <0x000a3>
at Tenants.Utility.FindRandomTenant () <0x00130>
at Tenants.Events.ContractTenancy (Verse.Map) <0x0006f>
at Tenants.IncidentWorker_TenantProposition.TryExecuteWorker (RimWorld.IncidentParms) <0x001ec>
at (wrapper dynamic-method) RimWorld.IncidentWorker.TryExecute_Patch1 (object,RimWorld.IncidentParms) <0x0005c>
at RimWorld.Storyteller.TryFire (RimWorld.FiringIncident) <0x0008e>
at (wrapper dynamic-method) RimWorld.IncidentQueue.IncidentQueueTick_Patch1 (object) <0x000d4>
at RimWorld.Storyteller.StorytellerTick () <0x0002f>
at Verse.TickManager.DoSingleTick () <0x00610>
Verse.Log:Error(String, Boolean)
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()
I need your help again!
Ah that sucks, yeah the I still have no idea why this happens. Am trying to find the issue and been working on an update lately.
Sadly, there are a few things to do, remove the mod settings file, remove the mailbox. That tends to solve the issue.
I will try deleting the file and the mailbox, thanks. :)
Hello! Yes mod doesn't work :( Even in dev/debug mode, after clicking RequestForTenancy nothing happened, absolutely nothing.
Also courier by request never show up.
I tested this with version v1.0.2282 and v1.0.2150, the same thing.
I hope you will not give up! It was one of the reasons why I switched to 1.0v version, second reason was RimCities mod.
I want conquer city from pirates faction and populate this with "Tenants" converting poor city in to rich and prosperous metropolis with many living people.
Without this mod it will be not possible. :'(
LimeTreeSnake if I can ask, you have backups from older versions of the mod?
Ah, remove the settings file or have you built a mailbox?
It's not quite clear yet and next patch will improve the implementation.
You can access all version on my git.
Oh i'm stupid, yes after placing mailbox actual version of the mod works fine!
Now I can make my city! Thank you! :)
latest version good to use?
Do you have news about the future of this mod?
The Royalty guests are a good addition, but I really miss the variety that the tenants added to the game...
The guests from Royalty can't really replace that. :(
Well, basically am intending to create a little something like it in the future thus I have no ETA :/
Would updating the existing mod not be feasible? I would use it with Royalty.
In any case I am looking forward to whatever it will be! :)