Ludeon Forums

RimWorld => Releases => Mods => Outdated => Topic started by: temple_wing on May 25, 2018, 07:09:06 AM

Title: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: temple_wing on May 25, 2018, 07:09:06 AM
PawnMenu
Ask your pawn to eat specified food first.

(https://raw.githubusercontent.com/jinlan/PawnMenu/master/About/Preview.png)

Menuļ¼š
Added a menu tab to human pawn. You can specify some food type. Then if he need some food, he will try to get those you specified types first, then vanilla food searching algorithm.
Also works for food choosing for patients.
So say, you have vegetable garden mod. Then you can specify cheeseburger to patients, simple meal for others. Don't need to worry that other healthy pawns just eat all that cheeseburgers you made for patients.
Menu can be specified "per pawn" or "per kind", default setting mode is "per kind". So you can specify menu for a pawn, then make it works to all pawns of the same kind, eg: human.

100CellsRule:
Animal pawn has a max food search distance of 100. That means if an animal is 100 cells away from your specified food, he will not go to eat your specified food. Theoretically I can rise it to 9999, but I belive it has been set to 100 for performance reason, so I leave it to 100.
This limit is only for animal pawn, human pawn don't have this limit.

Requires HugsLib
https://ludeon.com/forums/index.php?topic=28066.0 (https://ludeon.com/forums/index.php?topic=28066.0)

Download
github:
https://github.com/jinlan/PawnMenu/releases (https://github.com/jinlan/PawnMenu/releases)

Changelog:
v1.3:
Allow separate setting for breakfast and supper. So you can set moving, manipulation bonus food for breakfast and metabolism, blood pumping, breathing bonus food for supper.
Concept of breakfast and supper is actually decided by pawn's rest level not time of day.
v1.2:
Added support to menu setting mode, has 2 modes, per pawn or per kind.
v1.1:
Added support for animals, and any mod that extends "BasePawn".

Does not require a new game.
Title: Re: [B18]PawnMenu v1.0 Ask your pawn to eat specified food first.
Post by: Umbreon117 on May 25, 2018, 10:23:57 AM
Iiinteresting...Two questions.
1: Can it be added to an existing game, and can it be taken off of one?

2: Can I tell them to eat one thing first, then another?
Example: I want Steve the builder to eat Kibble first, then if that's not there I want him to eat Simple meals.
Title: Re: [B18]PawnMenu v1.0 Ask your pawn to eat specified food first.
Post by: temple_wing on May 25, 2018, 10:53:01 AM
Quote from: Umbreon117 on May 25, 2018, 10:23:57 AM
Iiinteresting...Two questions.
1: Can it be added to an existing game, and can it be taken off of one?

2: Can I tell them to eat one thing first, then another?
Example: I want Steve the builder to eat Kibble first, then if that's not there I want him to eat Simple meals.

1 Does not need to restart a new game.
2 No, currently impossible. I'll try to find a way.
Title: Re: [B18]PawnMenu v1.0 Ask your pawn to eat specified food first.
Post by: becomeweaker on May 25, 2018, 12:06:07 PM
Does it work with humanoid races added by mods?
Title: Re: [B18]PawnMenu v1.0 Ask your pawn to eat specified food first.
Post by: Ibrahym on May 25, 2018, 01:01:50 PM
I would be happy if this works with animals too
Title: Re: [B18]PawnMenu v1.0 Ask your pawn to eat specified food first.
Post by: Umbreon117 on May 25, 2018, 01:15:54 PM
Quote from: temple_wing on May 25, 2018, 10:53:01 AM
Quote from: Umbreon117 on May 25, 2018, 10:23:57 AM
Iiinteresting...Two questions.
1: Can it be added to an existing game, and can it be taken off of one?

2: Can I tell them to eat one thing first, then another?
Example: I want Steve the builder to eat Kibble first, then if that's not there I want him to eat Simple meals.

1 Does not need to restart a new game.
2 No, currently impossible. I'll try to find a way.
Thanks. 2 was actually done in a different mod IIRC, but I forgot the mod's name.
Title: Re: [B18]PawnMenu v1.0 Ask your pawn to eat specified food first.
Post by: Kori on May 25, 2018, 02:55:04 PM
Can you add a workshop version, please? :)
Title: Re: [B18]PawnMenu v1.0 Ask your pawn to eat specified food first.
Post by: temple_wing on May 26, 2018, 02:32:02 AM
Quote from: Kori on May 25, 2018, 02:55:04 PM
Can you add a workshop version, please? :)

Could you please help me upload this mod to workshop? I can't connect to steamcommunity.com
Title: Re: [B18]PawnMenu v1.0 Ask your pawn to eat specified food first.
Post by: user19990313 on May 26, 2018, 03:29:29 AM
That's quite a good idea, a lite version of WM food selection.
Well I suggest you maintain a static Dictionary<Pawn, Settings> to store food settings instead of a CompPawnMenu, because TryGetComp<>() and so are implemented using linear search (O(n)), and it's likely that players may only adjust food settings for part of the colonists and may never do so on animals/visitors/irrelevant pawns. Then you get faster access to settings, better performance per tick and can use less storage in saves. (You don't wanna see everyone disable your mod because "it's laggy in the long run", right?)
If you're even more aggressive like me, spend some memory to create a reverse-lookup (Dictionary<ThingDef, Pawn>) and query it in food selection function instead of the vanilla ThingFilter.Allows(), which significantly improves the performance. Check StuffFilter for those details.

BTW If you're looking for CN download, search in tieba.baidu.com using the mod name as the keyword, or simply check this (http://pan.baidu.com/s/1nuGmeud). Strongly suggest you use RuntimeGC XD
Title: Re: [B18]PawnMenu v1.0 Ask your pawn to eat specified food first.
Post by: temple_wing on May 26, 2018, 06:15:36 AM
Quote from: becomeweaker on May 25, 2018, 12:06:07 PM
Does it work with humanoid races added by mods?

Now, it should be supported.
Title: Re: [B18]PawnMenu v1.0 Ask your pawn to eat specified food first.
Post by: Kori on May 27, 2018, 02:26:04 PM
Quote from: temple_wing on May 26, 2018, 02:32:02 AM
Quote from: Kori on May 25, 2018, 02:55:04 PM
Can you add a workshop version, please? :)

Could you please help me upload this mod to workshop? I can't connect to steamcommunity.com

How can I help?
Do you get an error in the client?
Title: Re: [B18]PawnMenu v1.0 Ask your pawn to eat specified food first.
Post by: Drakuv on May 27, 2018, 03:06:03 PM
Quote from: temple_wing on May 25, 2018, 10:53:01 AM
Quote from: Umbreon117 on May 25, 2018, 10:23:57 AM
Iiinteresting...Two questions.
1: Can it be added to an existing game, and can it be taken off of one?

2: Can I tell them to eat one thing first, then another?
Example: I want Steve the builder to eat Kibble first, then if that's not there I want him to eat Simple meals.

1 Does not need to restart a new game.
2 No, currently impossible. I'll try to find a way.

For 2 couldn't you do something like the work tab? have the order be selected by numbers
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: Kori on June 12, 2018, 11:12:37 AM
Hey temple_wing,

whenever I set food preferences for my pawns it wasn't saved, so the next time I started the game and loaded my save, all the settings were gone.
That was a few mod versions ago and I wasn't able to test the newer versions yet. Have you been able to fix it in the meantime?
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: temple_wing on June 12, 2018, 08:53:16 PM
Quote from: Kori on June 12, 2018, 11:12:37 AM
Hey temple_wing,

whenever I set food preferences for my pawns it wasn't saved, so the next time I started the game and loaded my save, all the settings were gone.
That was a few mod versions ago and I wasn't able to test the newer versions yet. Have you been able to fix it in the meantime?

Update to newest version.
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: Kori on June 13, 2018, 12:17:52 PM
thanks
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: Grillbye on June 14, 2018, 03:16:28 PM
Ahh, that mod would be a GREAT idea if it was working properly. Self is mean for ONE pawn at a time, right ? And "Kind" define the whole colony, RIGHT ? So why, like, WHY can't I set my slave to Self, so she only, eat nutrient paste, and the rest eat simple meal ? Whenever I decides to change my colonists to "simple meal" and the slave for "nutrient paste", the "self" choose to put the nutrient paste for EVERYONE. This is so annoying, please help, else I'm done with that, I can't find a solution. And yes, I'm pissed because of that ><'
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: temple_wing on June 14, 2018, 07:58:24 PM
Quote from: Grillbye on June 14, 2018, 03:16:28 PM
Ahh, that mod would be a GREAT idea if it was working properly. Self is mean for ONE pawn at a time, right ? And "Kind" define the whole colony, RIGHT ? So why, like, WHY can't I set my slave to Self, so she only, eat nutrient paste, and the rest eat simple meal ? Whenever I decides to change my colonists to "simple meal" and the slave for "nutrient paste", the "self" choose to put the nutrient paste for EVERYONE. This is so annoying, please help, else I'm done with that, I can't find a solution. And yes, I'm pissed because of that ><'
Sorry for the bug, it's a small little incorrect code, made the whole mod into chaos. It's fixed. I tested it OK on my machine, would you please try it on yours?
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: Grillbye on June 15, 2018, 05:08:12 AM
So I have to install it again ?
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: temple_wing on June 15, 2018, 07:11:21 AM
true, goto https://github.com/jinlan/PawnMenu/releases, download 1.3.2, delete your own PawnMenu, install 1.3.2
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: Grillbye on June 15, 2018, 07:21:39 AM
Done. And it works ! Thank you :3
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: CJoker3221 on July 10, 2018, 01:58:06 AM
Playing on HCSK, for some reason, the tab's not showing up. The food tab I mean.
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: ultra4 on July 10, 2018, 05:24:09 AM
Can you assign a specific meal for each colonist based on "vegetable garden" meal buffs? haulers to eat food that boosts speed, and crafters to eat food that boosts manipulation?
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: PhenotypeX on July 21, 2018, 04:16:05 AM
The Self/Kind selection doesn't stay selected when you switch from pawn to pawn:

Set Pawn A to "Self"
Set Pawn B to "Kind"
Click on Pawn A -> it is displaying "Kind".
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: temple_wing on July 21, 2018, 06:58:48 AM
Quote from: ultra4 on July 10, 2018, 05:24:09 AM
Can you assign a specific meal for each colonist based on "vegetable garden" meal buffs? haulers to eat food that boosts speed, and crafters to eat food that boosts manipulation?
Support mod-added food.

Quote from: PhenotypeX on July 21, 2018, 04:16:05 AM
The Self/Kind selection doesn't stay selected when you switch from pawn to pawn:

Set Pawn A to "Self"
Set Pawn B to "Kind"
Click on Pawn A -> it is displaying "Kind".

Which version are you playing? The newest version is 1.3.4
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: PhenotypeX on July 23, 2018, 09:07:21 AM
I'm using 1.3.4 but it is within the Hardcore SK modpack, so maybe that is causing the problem: https://github.com/skyarkhangel/Hardcore-SK
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: Canute on July 23, 2018, 10:52:44 AM
You should enter HCSK discord channel and ask there for help.
HCSK is very unique and complex, so many mod got trouble to work with it. Using other mod's with that modpack together is at your own risk.
Title: Re: [B18]PawnMenu v1.3 Ask your pawn to eat specified food first.
Post by: temple_wing on July 23, 2018, 09:34:23 PM
updated to 1.3.5, now tab state can scribe. so button selection can persist now.