Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - GiantSpaceHamster

#21
I just started a new game this version and noticed that there is a crunching sound instead of the normal clicking sound whenever a pawn's job priority is changed from 0 (blank) to either 1 or 4. Changing from 4 or 1 to 0 (blank), or to/from any other numbers, produces the expected clicking sound.

In "simple" mode where jobs are either checked on or off, changing any checked state for a job produces both the click and crunch sounds.
#22
Ideas / Hotkey to select only objects, not pawns
March 12, 2017, 06:20:24 PM
A hotkey modifier when selecting things that only selects objects and not pawns would be great. This would make it easier to select an item under a pawn using single click or to select a bunch of stuff in the area of a pawn using box select. Normally, if pawns are in the selection, only pawns will be selected.
#23
Ideas / Hauling Tweaks
February 10, 2017, 05:22:19 PM
I know there are posts about hauling, but they're either pre-A16 or have solutions suggested that are just way to complex to warrant consideration. Plus I want to emphasize that I think hauling needs at least a little tweaking despite Tynan's comments to the contrary, so new post it is! I'll try to keep it short.

Two situations:
1) Done mining or fighting, go back to camp, leave the mined resources or raider drops where they lay.
2) Run across the whole map, pick up one thing (e.g. a gun), leave another thing on the ground next to it (e.g. a single meal).

I completely understand Tynan's concern about making the AI too complex and then having to fight with solving the first bug while introducing others and ending up in a frustrating cycle. But I think some sort of simple solution that addresses the most tedious situations is warranted.

For example, for #1, after completing a mining job or being undrafted and getting a new job, check if there is something within X tiles of the current location and a stockpile within X tiles of the new job's location. Similarly, for #2, when starting a hauling job, check if there is available inventory capacity on the pawn and if there is another thing within X tiles of the initial hauling target that can be hauled to within X tiles of the initial target's destination. Effectively turning hauling into a "haul a bunch of stuff from this area" task rather than a "haul this one thing only, not anything else" task. Which, let's face it, is how people do hauling in the real world (i know i know, games != real world).

I tried to avoid more complex solutions like checking along the entire path etc. Regardless of the solution, I feel pretty strongly that it's not added difficulty but purely added frustration when these two situations occur. The second case isn't even a matter of micromanagement. There's nothing you can do about it as a user and it's painful to watch.
#24
Ideas / Stack Size vs Carry Size
January 27, 2017, 07:17:06 PM
I see a lot of comments about stack sizes. While I personally don't have a problem with the current stack sizes, it does feel like the concept is being used for two different things:

1) Maximum quantity of a thing that can be present in a tile
2) Maximum quantity of a thing that a pawn can carry

I'm not sure if the value-add is worth the design and refactor time, but it would be nice if these two properties were separate. This would allow stacking more of things in one tile without also increasing the amount a pawn can carry. Conceptually it also makes sense that a pawn would not be able to carry everything in a tile, depending on what it is. Then again, a single pawn can carry a double bed, so obviously the line stops short of realism (as with any game).

It would also be nice if when carrying things (e.g. hauling) pawns were able to pick up different types of items. When packing inventory for a caravan for example pawns will stock up different types of things in their inventory, but when hauling, they will never use their inventory and will only ever carry one type of thing at a time. I am constantly frustrated with pawns that run across the map to grab that one nutrient paste on the ground and do not pick up the pistol or whatever other small item is laying next to it.
#25
Ideas / Smooth stone floors vs other floors
January 27, 2017, 04:09:31 PM
I know this is a topic that pops up in the general forum every once in a while, but I thought I'd add my two cents here.

Smooth stone floors are +3 beauty while carpets and stone tile floors are +2. While I get that smooth stone floors cannot be used everywhere, and with respect to the beauty value alone I don't have a problem with the difference, I feel that it restricts aesthetic choices too much. The player has to sacrifice in-game aesthetics (beauty value) for player aesthetics (how their base looks to the user, aside from in-game effects). I think it would be better if this conflict was not present. It would enable more variety for base aesthetics without arbitrarily compromising colonist moods.

Besides, the lack of resources needed for smooth stone floors more than makes up for the increased construction time. The extra beauty point is not needed to justify the fact that it's limited to certain ground surfaces given the conflict with player aesthetics.
#26
Bugs / [A16] ThingContainer.TryAdd() stack overflow
January 18, 2017, 02:54:31 AM
If ThingContainer.TryAdd() is used to add the owner of the container to the container, a stack overflow will be caused cycling between Verse.Pawn.Tick(), Verse.ThingContainer.ThingContainerTick(), and Verse.Pawn_InventoryTracker.Inventory_TrackerTick() (or Pawn_CarryTracker depending on which of the two methods below is used).

Give a Pawn p, the following cause a stack overflow:

p.inventory.GetInnerContainer().TryAdd(p);

p.carryTracker.GetInnerContainer().TryAdd(p);

I believe it can be fixed with a check during the validation in TryAdd between the method's Thing parameter and ThingContainer.owner.pawn.
#27
While I understand that some people find insect infestations difficult, this post is aimed at those like myself who do not really consider them a deterrent to mountain bases. I've started working on a Mythical Beasts mod to to make the game more interesting and, in some cases, harder. Up first are dragons and one of the goals is to make mountain bases riskier. What that means, exactly, is what I'd like to discuss.

I have a few different ideas for how dragons could work. One way is that dragons could identify the largest valuable resource deposit, mine to it, and make a lair. This could also take into account player loot that is kept under mountain roofs to increase the risk of them trying to claim your mountain base versus some other area of the map. They would hunt around their lair, prioritizing larger creatures over smaller ones. They will be very tough to beat (much more so than a Thrumbo).

Anyhow I'm opening up the discussion for feedback. What would make mountain bases riskier? How aggressive should dragons be? How strong should they be?

I've done some prototyping to make sure I can do the kinds of things I want. So far my prototype does the following (just as a proof of concept, everything could change):

  • Spawn a dragon via debug controls
  • Dragon will identify the most valuable resource deposit within a 9x9 area as its lair (currently only accounts for mineable resource tiles and not player-owned items)
  • Dragon will mine a 3-wide path to its lair. Prototype dragons currently mine at a rate of one tile per tick, regardless of the material (so it's FAST)
  • Dragon will mine out a 9x9 area around the center of its lair
  • Dragon will destroy chunks dropped during mining and collect resources (gold, silver, steel, uranium, plasteel, jade...did I forget any?)
  • Once a lair is established, the dragon will slumber in its lair until it is hungry.
  • When hungry, the dragon will hunt prey, prioritizing larger targets over smaller ones, and will eat until full (currently this is approximately one full elephant or a few deer sized critters)
  • Once full, the dragon will slumber in its lair until hungry again.

I'm also looking for someone to do graphics for this mod. See this thread for more details.
#28
I'm working on a Mythical Beasts mod that will add maybe half a dozen or so new creature types to the game and I am looking for some help with the graphics for each as I don't have much experience in that area. Initially I only need graphics for the first creature to get started but I have thoughts on a few more that I'd like to include eventually. The first one up is a dragon.

For those curious, the mod will be aimed at increasing the danger level with some new creatures. For example, dragons will have a very high mining speed and are intended to be a danger to mountain bases above and beyond insect infestations. They have a very large appetite but slumber in their lair when not active.

Current thoughts on creatures to include:

  • Dragons
  • Unicorns
  • Nightmares (evil version of a unicorn)
  • Treants
  • Giant Spiders
#29
Unfortunately I don't really have a lot of details for this one. It happened late the other night before I went to sleep and I was tired and didn't have a recent load I could do to re-test and forgot about it until now.

What happened is that a mad boomalope pack event occurred. There were around a dozen, give or take. I hid because I was in no condition to try and fight them. When they finally got tired and went to sleep, every single one exploded within a couple seconds of laying down to go to sleep. It was weird as heck. None of my pawns were around to interact with them so I am pretty sure it wasn't my pawns hunting them or anything (they were not marked to be hunted). It was easy to tell it was related to them going to sleep because they don't all go to sleep at exactly the same time. As far as I could tell none of them went to sleep while on fire or with any injuries.
#30
Help / What is a hediff?
January 06, 2017, 07:13:44 PM
I keep seeing references to the term "Hediff" but for the life of me I cannot figure out what it means.
#31
Help / How to register background business logic
January 04, 2017, 06:11:16 PM
I want to create a mod that checks a game state value and does something behind the scenes. It will need to check the value every tick but there will be no UI or new content. It will be a C# DLL. How do I hook the logic in to get called every tick? Is there a way to register a method for this purpose?
#32
Ideas / Mood adjustment while loading up a caravan
January 03, 2017, 05:32:34 PM
Loading up a large caravan can be very time consuming. In a colony with 19 colonists and 25 muffalo it took hours (in-game) to start loading and everyone's mood was almost completely bottomed out during this time. Eventually someone broke before the caravan was ready, which causes the entire caravan loading process to stall. Everyone was in a good mood prior to initiating the caravan process. It just took so long that everyone's mood fell dramatically.

There are two issues here that I think need addressing. The first is that it can take a really long time to load a caravan up and during that time colonists never address rest, food, or other needs. The second problem is that when one colonist breaks, everyone stops loading the caravan. I feel like everyone else should continue loading and then wait to leave until the mental break is over.

Regarding the first problem, there are some ways to potentially mitigate the issue, but they are tedious. I can try moving everything I want to take to a central stockpile to reduce load time, but that means having to guess the total weight or swap back and forth with the caravan launch screen and take lots of tedious notes to get the weight correct. I could also launch multiple caravans and then merge them, but that also makes it harder to decide what to load up since I have would have to commit goods to caravans in smaller increments. It also means having to do one or both of these things every time I move settlements.

In my current game I am not sure I can reasonable launch a caravan without someone breaking during loading so I am going to dev-mode auto-launch the caravan and go from there. I'm already not looking forward to re-selecting 2,000kg worth of goods out of my entire base to take with me...it was tedious the first time.
#33
Help / Debug Mode - How to force move a caravan?
January 03, 2017, 03:26:15 PM
Does anyone know if there is a way to force-move a caravan in debug mode for testing purposes? I can force-create a caravan instantly, but there does not appear to be a way to force-move them.
#34
A16.1393

I got a good laugh out of this one. My colonists gathered for a wedding. I had set up six armchairs facing the wedding spot in two rows of three. Six colonists sat down backwards in those chairs (both with respect to the chairs and the wedding spot, since the chairs are facing the wedding spot). The remaining colonists stood to either side of the chairs facing the correct direction. Once the ceremony was over, the colonists in chairs that did not immediately get up turned to face the correct direction. The colonists approached the chairs from different directions so I don't think it was simply a matter of forgetting to set the sitting direction, it seems more like it was set backwards.

[attachment deleted by admin due to age]
#35
Bugs / [A16] Unable to override animal reservations
December 30, 2016, 01:18:55 PM
This is probably not a bug per se and more of an oversight, but it should probably be addressed at some point.

Colonists are unable to override an item reservation made by an animal belonging to the colony.

Example situation: My animals were starving because I ran out of meat. I decided to slaughter a couple of my elephants to reduce the food demand and provide some meat for the other animals. As soon as the elephant was slaughtered, one of my other animals went over to eat it. Okay, that's perfectly reasonable. The problem is that it counted the elephant corpse as "reserved" by the pig and it would not let me assign a colonist to move it. I could not find a way to force the animal off the corpse since nothing will affect its behavior until it finishes its current activity, even changing allowed space. The only solution I found was to kill the pig, but I actually had to kill 3-4 animals just to be able to pause fast enough to assign a colonist to move the corpse before another animal reserved it to eat.

I think there's a compelling case to allow colonists to override animal reservations on items.
#36
Mods / Proper way to announce mod updates
December 29, 2016, 01:44:41 AM
I'm new to the modding community and I am not sure what the appropriate way to announce a mod update is. Does simply updating my original post notify anyone watching it or would I need to reply to my original post to notify people? Steam will auto-update so I'm mostly concerned about the etiquette here in the Ludeon forums.
#37
Releases / [1.4] Moody (v2.6.0) A colonist mood dashboard
December 26, 2016, 10:52:52 PM


Jump straight to the download link

Latest Update
v2.6.0 Released January 12, 2024


Latest Changes
  • Added RepairMech and Hack job icons
  • Added "bleeding out" warning to summary view with setting to disable
  • Added background transparency setting
  • Refactored how health data is stored (internal change only)
  • Shown skills for the Skills View are now saved between sessions
  • Removed unknown job icon (question mark) for pawns with no job (e.g. dead)
  • Lightened the shade of red used for lethal illness progression slightly



Moody Description
Moody is a floating dashboard that provides information about your colonists' moods at a glance at all times. There are six views available that you can switch between using the icons along the top. You can also switch between colonists, prisoners, and pets.

Moody does not store any information with save games and can be enabled and disabled without affecting existing saves.

The colonist list in each view behaves very much like the colonist bar with respect to selecting colonists. For example:

  • Selected colonists will be highlighted in Moody
  • <Shift> can be used to modify selection groups
  • Right-clicking colonists behaves just like on the colonist bar (takes you to world map location of pawn)
  • Double-clicking will center the view on the pawn

Mood View
The first view shows each colonist's current job, mood, and temperature band. All three columns provide tooltips with more information. All columns are sortable by left-clicking. The mood column can be right-clicked to switch to viewing one of the basic needs (joy, space, beauty, rest, food). Note that when sorting on mood the colonists are sorted by how close they each are to their break thresholds, not by absolute mood value. This does not apply when viewing the other needs.

Unfortunately a lot of different kinds of jobs share the same job definition and I have not yet figured out a good way of differentiating these. This includes a wide range of "making" jobs such as cooking, tailoring, smithing, construction, and I think one or two others. I separated out the cooking tasks I could identify but the rest all share the same icon for now.

Screenshot 1
Screenshot 2

Thought View
The thought view shows the total mood adjustment by thought group across all colonists with the ability to expand a thought group (row) to see which colonists have a thought from that group. As an example of a thought group, "Cold" and "Freezing" are two thoughts in the same thought group. You can also switch to a list of all individual thoughts using the context menu by right clicking on the thought group column header.

Temperature View
The temperature view displays more detailed information about the current outside temperature and each colonists' individual temperature bands and current temperature. The current temperature is based on the current map.

Screenshot

Skill View
The skill view isn't really mood related, but once I had the other views in place I felt this information could also be useful. It provides a customizable view of colonist skill values. Passion skills are highlighted orange (interested) and red (passionate). Skills can be added with the "+" in the column header and removed by right clicking on the column. Reordering is only possible currently by removing columns and re-adding them in the order you want.

Screenshot

Job View
The job view simply shows the short description for each colonists' current task. It's mostly there right now because I do not have icons for all task types in the first summary view so if you encounter a "?" icon there you can see more details here. The tooltip in the first view shows this same information however.

Screenshot

Health View
The health view shows health status effects such as injuries and illness. By default, only conditions requiring immediate attention are displayed. This can be changed with the new modes along the top (below the different view tab icons).

Author/Mod Team
GiantSpaceHamster

Download
Current Version: v2.6.0 (January 12, 2024)
Download
Also available on Steam
Steam version is compatible with RimWorld 1.4 and newer

How to install
- Unzip the contents and place them in your RimWorld/Mods folder.
- Activate the mod in the mod menu in the game.

Change Log
v2.6.0 [1.4.3901]
January 12, 2024
- Added RepairMech and Hack job icons
- Added "bleeding out" warning to summary view with setting to disable
- Added background transparency setting
- Refactored how health data is stored (internal change only)
- Shown skills for the Skills View are now saved between sessions
- Removed unknown job icon (question mark) for pawns with no job (e.g. dead)
- Lightened the shade of red used for lethal illness progression slightly

v2.5.9 [1.4.8363]
November 27, 2022
- Added job icon to job view
- Started adding some biotech job icons
- Added light background to weapons in skill view to make them easier to see
- Added some jobs to existing job icons
- Fixed pawn icon facing (was backwards)
- Compatibility with RimWorld 1.4

Older changes are available in the change log in the mod download
#38
GenTemperature.TryGetAirTemperatureAroundThing(Thing, out float)

I am using the above method in my mod to get each pawn's current temperature. In v0.16.1393 rev 536 I found that this method throws a NullRefrenceException if the 'Thing' parameter's 'Map' property is null. It's caused by the internal call to GenGrid.InBounds(this IntVec3, Map) attempting to grab the Map's coordinates for the bounds check. This happens if you use this method to try and get the temperature for a Pawn that does not have a Map, such as one in a caravan on the world map.

I can avoid this with a simple "pawn.Map != null" check first, but given the name of TryGetAirTemperatureAroundThing it seems like it should be returning "false" instead of throwing an exception in this case.

I have no mods other than the one I am working on enabled at the moment. A relevant section of the log file:

Exception filling window for MyWindow: System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.GenGrid.InBounds (IntVec3 c, Verse.Map map) [0x00000] in <filename unknown>:0
  at Verse.GenTemperature.TryGetAirTemperatureAroundThing (Verse.Thing t, System.Single& temperature) [0x00000] in <filename unknown>:
#39
Help / Help with Moods, Needs, and Thoughts
August 23, 2016, 03:09:03 PM
I'm working on a moods dashboard and one of the things I want to list are all the mood-affecting thoughts aggregated across all colonists. I've found how to get the list of mood-affecting thoughts (I don't have the code in front on me right now but it's something like Pawn.needs.mood.ThoughtsAffectingMood). The problem is that whenever I try to get the label to display I get an error in the debug console in-game related to being unable to get the label. I've tried all the fields on the Thought class and none of them appear to contain the display name that is shown in the Needs tab for a colonist (the list under the Mood bar on the right side of the Needs tab).

Does anyone have any idea how to get the display label? I'm also interested in grabbing the tooltip and the mood modifier for each thought.
#40
Help / Custom window blocking map panning
August 18, 2016, 02:37:26 PM
I've been working on a custom mood/temperature monitor window and I've made a lot of progress but one thing I haven't been able to figure out is why, when the new window is open, it blocks the user from being able to pan the map using either the mouse or the keyboard? I haven't implemented any sort of minimize/expand functionality but it looks like <esc> closes the window which then allows panning again. Anyone have any ideas?