GithubHelp home page GithubHelp logo

orionfive / hospitality Goto Github PK

View Code? Open in Web Editor NEW
91.0 14.0 54.0 25.26 MB

Orion's "Hospitality" and more

Home Page: https://www.patreon.com/orionmods

License: GNU General Public License v3.0

C# 100.00%
rimworld-mod hospitality rimworld

hospitality's Introduction

Orion's Mods

This repository hosts the RimWorld mod Hospitality. I also collect feature requests and issues for my other mods.

Want to download the latest version?

Find them here.

Got a problem, bug or feature request?

Post it here.

Become a patron!

Want to support the development of Hospitality and my other mods? Want to vote on the next feature? Become my patron!

License

All original artwork included is Copyright © 2015 Orion, and distributed under the Creative Commons License Attribution-ShareAlike 4.0 International, or CC-BY-SA 4.0I.

The full license text can be found here: http://creativecommons.org/licenses/by-sa/4.0/

All other parts of the mod are Copyright © 2015 Orion, and distributed under the Free Software Foundation GNU General Public License 3.0.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Notice to Ludeon Studios et al: The licensor hereby grants the legal firm Ludeon Studios, lead by Tynan Sylvester, an irrevocable license to use this mod or components thereof, separately to that offered to the public above. Ludeon may include content derived from this in official releases of RimWorld without owing money or credit to the licensor. This separate license does not constitute the release of this mod into the public domain, and the author retains copyright over the mod.

hospitality's People

Contributors

alerinos avatar alextd avatar andie48 avatar bambinoff avatar blu3wolf avatar cainiaowu avatar cjbok avatar duduluu avatar kamadz avatar kileahh avatar krypt-lynx avatar maeyanie avatar marcosfvc avatar mewngoddess avatar mrcaka avatar mrfootman avatar nosohvost avatar notfood avatar nyaamz avatar orionfive avatar realtelefonmast avatar rw-chaos avatar simplywiri avatar skyarkhangel avatar taranchuk avatar tomvd avatar trippyv avatar voker57 avatar zelacks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hospitality's Issues

Guests with low needs will stay in bed all day

Because they have nothing better to do, once in bed, they will stay there (awake) until a need prompts them to get up.

It'd be better if they just walked around, or if their joy need increased faster than normally during their stay.

Recruit instantly imprisoned

I just recruited a guest and instantly after she decided to stay my pawn took her to prison. She has a 0.5% recruitment chance now. I guess instead of making this gal a part of the colony the game recognized her as a prisoner and my attempt to recruit her as recruiting a prisoner or smth. Maybe the first action, which already has been succesful, has been interrupted by some other action that the pawn has taken, which lead the second recruitment attempt to be misinterpreted. Weird stuff, hope you look into that. Great mod otherwise.

Visitors leaving spam

System.NullReferenceException: Object reference not set to an instance of an object
at Hospitality.LordToil_VisitPoint.Leave () [0x00000] in :0
at Hospitality.LordToil_VisitPoint.Cleanup () [0x00000] in :0
at Verse.AI.Group.Lord.GotoToil (Verse.AI.Group.LordToil newLordToil) [0x00000] in :0
at Verse.AI.Group.Transition.Execute (Verse.AI.Group.Lord lord) [0x00000] in :0
at Verse.AI.Group.Transition.CheckSignal (Verse.AI.Group.Lord lord, TriggerSignal signal) [0x00000] in :0
at Verse.AI.Group.Lord.CheckTransitionOnSignal (TriggerSignal signal) [0x00000] in :0
at Verse.AI.Group.Lord.LordTick () [0x00000] in :0
at Verse.AI.Group.LordManager.LordManagerTick () [0x00000] in :0
at Verse.Map.MapPostTick () [0x00000] in :0

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

This is causing the visitors is leaving to spam 10 times a second. They won't leave so there is no point in waiting.

Bug while recruiting guests

Tried to recruit a visitor. Received the "new recruit" notif 3 times, but still didn't have him recruited. The visiting group was maybe 5-6 people. All except for one ended up in restraints and left, including the one I had tried to recruit.

Realized after the fact that one was still hanging around.

Error Loop on Event Trigger

I'm playing on a heavily modded playthrough, so i don't know if that causes any problems. This incident has happened when Hospitality has been loaded first and as well as last. Event gets stuck in a loop and drops FPS to 2-3.

System.NullReferenceException: Object reference not set to an instance of an object
at Hospitality.IncidentWorker_VisitorGroup.TryExecute (RimWorld.IncidentParms parms) [0x00000] in :0
at RimWorld.Storyteller.TryFire (RimWorld.FiringIncident fi) [0x00000] in :0
at RimWorld.IncidentQueue.IncidentQueueTick () [0x00000] in :0
at RimWorld.Storyteller.StorytellerTick () [0x00000] in :0
at Verse.TickManager.DoSingleTick () [0x00000] in :0
Verse.Log:Error(String)
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:Update()
Verse.Root_Play:Update()

CC0 license in README

So, the CC0 license is an all or nothing thing. It by definition applies to you, not some third party - and it makes the statement that you are waiving all rights to your work.

Creative Commons recommend that their licenses not be used for software, and for their own software, they use free and open source licenses, such as the Free Software Foundation's GNU General Public License.

Its worth noting that as the sole creator of a work, nothing prevents you from releasing your work under multiple licenses. You are capable of releasing your work under a FOS license, while also granting a non exclusive license to Ludeon Studios to use your work in a commercial offering, separately from the FOS license.

I would recommend licensing any art assets that are in the mod, under the CC license of your choice, and licensing the code assets separately, ideally under a FOSS license, such as the LGPL.

In short though, you can't really license your work as CC0 for one party, CC-BY-SA 4.0I for everyone else.

The only other quirky part is when you are not the sole author. For FOSS licensing, this is not really considered an issue, but if you want to retain sole rights to your work, I would recommend checking our a Contributor Licensing Agreement, that essentially requires any contributions to your mod (should you accept them) be offered under whichever license you are planning on using.

Work orders get messed up

There is some legacy code that was supposed to fix work orders. It's not causing a mess. Should be removed.

Feature: Guest areas

The player should be able to create an area for guests, which can be assigned through the guest tab. This will allow to mark where guests can get joy, buy things, sleep, etc.

It will have to be hooked up to their think tree so they will not perform actions outside their area (e.g. eat from the player's fridge).

There should be a fallback behavior if the player did not specify an area. E.g. default being the home zone.

Guests stay so long they run out of food

While I would consider this the player's problem, it can be an issue. Either make stays shorter again, give them more food supplies, or make them leave when they're out of food.

New title picture

If someone could attach a nice screenshot or similar, I will add the font on top of it.

A Bug, or I must be amazing at hospitality....

Its probably something funky with my lot of mods, but i seem to be able to do no wrong with guests. This was not the case last time i did an a16 playthrough a couple weeks ago (I had a very nice environment, and averaged between 70-100%). The only new mod additions are Vegtable Garden, and a couple faction/alien races (Asari, Jaffa)? And it does seem to be the new factions visiting most of the time, rarely humans. Could be a possible incompatibility with alien races? Anyway, happy to help further if you're interested or want the mod list. I'm keeperoflenneth on Steam, same icon you see here. This mod is literally mandatory to my game from now on, its so good, so if i can make it better by sorting this out, i'd like to help in any way i can.

But it just seemed weird that i 100% the visit 100% of the time, so i figured i'd ask.

Proposal: tags and branches

I would suggest merging your current A15 version of Hospitality into master, and adding a tag to that commit for A15. You could also make a Release at that point if you wanted to as well. Then, when your release branch is ready for a final release on A16, you can merge it into master, tag it for A16, and make a Release there.

Too many notifications

The mod shows too many notifications. There should only be one on failure, and when the chance was very low, so the player knows it's not good.

Bug(?) Report - Arresting Guests

Copy/Paste from the discussion on the Steam Workshop:

"So, I ran into something wierd.
Apparently, trying to arrest a Guest causes a random different guest to be arrested instead. They just drop what they had and become a prisoner; they don't even try to escape - and as long as you don't try to arrest the WHOLE group, the faction doesn't seem to mind either.
However, the last pawn to be "arrested" always is the one you tried to arrest originally - and trying to arrest that one might make the faction hostile."

I am running other mods, so I don't know if that may be the cause; still - this seems like something that should be brought up.

Here two Screenshots of what I'm doing to make the error happen:
20170328184145_1
20170328184157_1

I'm trying to arrest "Boss". Yet, upon doing so, the game trows an error message, and "Bison" becomes a prisoner instead - who then tries to excape immedeately (all the other arrest actions before were inside my base, so I guess that's why they didn't try to escape.). The stuff on the ground was dropped by "Bison" upon his arrest. From earlier (unlogged) tests, distance between the target of the arrest and the person being converted to prisoner doesn't seem to matter.

This is the output log, with everything from before loading the save cut:
output_log_shortened.txt

And this is the full output_log, in case the information from starting the game itself is needed:
output_log.txt

Contributor Guidelines

So its a good thing to have clear contributor guidelines. At present they dont display on making a new PR, or a new Issue, because there is no CONTRIBUTING file in the master branch (which is the default branch for the repository).

Im going to open a PR to merge in the existing licensing changes into master.

Turn parting gift into arriving gift

The gifts when leaving should be given when the visitors arrive (no food though). This would stop them from dropping stuff that was sold to them.

Problem: They might buy it again right after. Should they remember not to buy it again?

Multiple Visitors choosing same floor cell to sleep, when not enough beds present

LOW PRIORITY-

Not sure if this is a RimWorld issue with choosing a random close walk cell, while another pawn has targeted it (but not yet reached it), or if a cell reference is being reused accidentally, etc.... or, maybe just dumb luck

I had 8 visitors in my group, but only 5 beds. Once the 5 beds were claimed the 6th and 7th pawns both chose the same floor cell for sleeping, and stacked in that cell. The 8th didn't sleep at the same time, but chose a different cell when it did sleep later.

Both pawns selected the floor cell within 5 seconds of one another, so the cell itself was not yet occupied by visitor 6 when visitor 7 made its selection.

Within JobGiver_Sleep, would RimWorld's CellFinder.RandomClosewalkCellNear() method be expected to exclude occupied and/or targeted cells, or is this something that needs to be accounted for within the ThinkResult?

Guestbed Config Error

I am getting the following config error on the start of Rimworld.
Config Error in Guestbed : Guestbed has components but it's thingClass is not a ThingWithComps

Output_Log
Mod Order:

  1. Core
  2. RT Fuse
  3. Medical Tab
  4. RimFridge
  5. Expanded Prosthetics and Organ Engineering
  6. Power Logic
  7. Glass+Lights
  8. Dubs Rimkit(Medkit)
  9. Trading Spot
  10. Colony Manager
  11. More Vanilla Turrets
  12. Hospitality

Is this due to a known mod conflict and is there anymore info you would need to solve this problem?

Hostile pawns can have a nice chat

This may be a mod conflict. But since Hospitality detours the vanilla function that checks who can talk to who, there's a good chance we're causing this.

Let's compare the detour with vanilla.

Visitors digging through walls

I'm playing on a newer game, and visitors, instead of routing through doors or normal entryways, dig through walls. My buildings are built into a mountain, but they aren't always digging though walls inside the mountain. They also dig into areas outside of the set Guest area. There are no debug errors reported in the log that I can give you, unfortunately.

Visitors would overdose themselves all the time.

Not really a bug, more of a strange behaviour. I've noticed that most of my visitors are total junkies. I mean if they manage to lay their hands on some drugs, they'll just overdose themselves to death. When they have nothing to do, they'll look for closest entertainment (which is drugs in their inventory), so they'd naturally use them till their joy bar is full. When that bar drops abit naturally (and I mean a few ticks later), they'd just use another dose. And another a few more ticks later, eventually killing themselves.
Visitors really need some mood, or joy check before using drugs.

Let only one pawn improve relationship at time

Currently I'm having three colonists assinged to negotiating. If one of the guests is ready for talking, all of my pawns try to rush and make the same guest happy. If the winner finishes talking to the guest the others instantly stop and return to their normal duties. Would be way better if only one pawn goes talking to a single guest at a time.

Manually priorized work gets cancelled

When a colonist is doing a manually priorized task and a guest is ready for a talk he instantly cancelles his task and walks to the guest. It's a bit annoying if the guy, you send on the other end of the map, suddenly is back without finishing the assigned task.

Save game not loading

I assume this is due to an update to one of my mods today/last last night as the game was running fine and re-loadable. New starts work no problem, seems to be a conflict between Fluffy Work tab and Hospitality but I could be mistaken as I do run a very heavily modded game.

Here's my modlist; https://i.gyazo.com/fe55d551600f961f6ca6dbf9a20d7afb.png (Since making this SS I've realised I have two Ac crafting's on and have disabled the old one.)

And the error log; https://i.gyazo.com/3a339902a855bf84162c25b307963f45.png

And in text format;

Exception from asynchronous event: System.ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
at System.Collections.Generic.List1[System.Int32].set_Item (Int32 index, Int32 value) [0x00000] in <filename unknown>:0 at Verse.DefMap2[RimWorld.WorkGiverDef,System.Int32].set_Item (RimWorld.WorkGiverDef def, Int32 value) [0x00000] in :0
at Fluffy_Tabs.PawnPrioritiesTracker.SetPriority (RimWorld.WorkGiverDef workgiver, Int32 priority, Int32 hour) [0x00000] in :0
at Fluffy_Tabs.PawnPrioritiesTracker.SetPriority (RimWorld.WorkGiverDef workgiver, Int32 priority) [0x00000] in :0
at Fluffy_Tabs.PawnPrioritiesTracker.SetPriority (Verse.WorkTypeDef worktype, Int32 priority) [0x00000] in :0
at Fluffy_Tabs.Detours_WorkSettings._SetPriority (Verse.WorkTypeDef w, Int32 priority) [0x00000] in :0
at Hospitality.Detouring.Pawn_WorkSettings.CheckForDisabledTypes (RimWorld.Pawn_WorkSettings _this, Verse.Pawn pawn) [0x00000] in :0
at Hospitality.Detouring.Pawn_WorkSettings.ExposeData (RimWorld.Pawn_WorkSettings _this) [0x00000] in :0
at Verse.PostLoadInitter.DoAllPostLoadInits () [0x00000] in :0
at Verse.Game.LoadGame () [0x00000] in :0
at Verse.SavedGameLoader.LoadGameFromSaveFile (System.String fileName) [0x00000] in :0
at Verse.Root_Play.m__736 () [0x00000] in :0
at Verse.LongEventHandler.RunEventFromAnotherThread (System.Action action) [0x00000] in :0
Verse.Log:Error(String)
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:m__733()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.