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 - Alfred Thayer Mayhem

#1
When shooting/throwing grenades at nearby targets, the graphical representation of the bullet or grenade is scaled proportional to the distance of the shot. This doesn't affect game play beyond making it difficult to see grenades thrown at close range and impractical (visually) to mod any kind of short range projectile weapon.

Normal bullets and grenades:




Squished bullets and grenades (ignore the spontaneous cleaning):




Test was run on a stock just landed colony. If I had to give an uninformed guess about what was going on I'd hazard that, if there are different Y values in the position IntVec3(s) used to track pawns, tiles, etc., when the Quaternion is pulled for the look rotation for targeting it adds a pitch down for closer targets.
#2
Hello everyone,

Long time listener, first time poster. I'm looking to implement a mod to upgrade shelving; I've got a pretty good toolbelt in terms of computer programming (external to video games, mostly related to mechanical engineering analysis and micro-controllers--Python, C#, VBA etc.) but am just getting started with RimWorld (did some modding for Dwarf Fortress in my misspent youth). I'm confident in my ability to grind through whatever documentation or bugs I encounter on my adventures, but figured I'd throw some questions out to get me started in the right direction, save some time, and hopefully make something neat/useful. On to the main bit, skip to "My Vision" and "Hopefully Succinct Technical Questions" for the tl;dr.

Possibility for Improvement (as I see it): Shelves are currently marginally useful, limited to beautifying rooms where lots of otherwise ugly items reside and preserving items outdoors without need for roof + columns. Their lack of movement penalty makes their positioning a little cheesy, but requiring aisles without a corresponding increase in storage capacity is a losing proposition.


My Vision: Upgrade shelves with a moderate degree of racking/quantum stacking* (keeping piles separate for quality/condition tracking) while streamlining the priority, permission, and bill interaction mechanics for multiple shelves in one stockpile. If at all possible I'd like to implement a solution that is nearly seamless with the stock game.

*I gather this may be at odds with the current development policy of stockpiles always visually indicating their contents, but would respectfully like to give it a shot. It's my feeling that the "visually keeping track of stockpiles" ship sails anyway sometime in the midgame.


Technical Solution: It is my understanding that shelves are basically pseudo-mini-stockpiles (same permission systems, can't overlap with zoned stockpiles). My goal is to allow the placement of zoned stockpiles under shelves, and allow the placement of shelves inside existing stockpiles, so that the shelves inherit the properties of whatever zones they inhabit (reducing micro for lots of shelves). Additionally, it would be rather flash to optionally prioritize--on a stockpile level--that pawns place stacks in shelves (for shelves in zones) and forbid pawns from placing items on the ground (in zones with shelves), to effectively limit the usable storage space of a zoned stockpile to only the tiles with shelves on them.

Resulting Gameplay Changes: Unzoned shelves/stockpile zones without shelves operate unchanged except for increased shelf racking capacity. When the player wants to get everything up off the floor, however, they can zone a stockpile as normal, then place shelves within the stockpile to inherit the zone properties and (optionally) prioritize shelf storage (it is currently not possible to draw stockpile zones under shelves, and building shelves in zones removes the zoned stockpile underneath them). This system would simplify the placement of mass shelving and (hopefully) allow interaction with "place in specific stockpile" bill mechanics for single shelves (would be very useful when combined with RimFridge mod/if stock fridges ever come along, for example). In addition, double shelves could be split up into two 1-tile zones, a functionality useful for crafting ingredient storage (currently enabled by 1-tile shelf mods). The motivation for building stock shelves would be provided by the increased racking capacity and making everything look nice. My lifelong experience with putting things on shelves suggests 3x stacks per tile seems like a good number, permitting a reasonable increase in storage space when accounting for aisles (motivated by a modded movement penalty) and thereby rewarding the player for their effort in arranging and constructing the shelving.


Hopefully Succinct Technical Questions:

  • Seems like I'm messing with some fundamental stuff in regards to hauling and priorities. Does the partial integration of shelves and stockpiles seem remotely possible without hacking the game up/breaking compatibility with every mode in existence?
  • In that vein, am I better off adding this functionality to a new piece of furniture or somehow modding the stock shelf behavior? (former seems easier for a test implementation, latter seems ideal for mod integration)
  • I have a hunch that XML ain't going to cut it. What C# files/classes/existing mods can I look at to explore shelf/stockpile/hauling behavior? (no need to get too far into the weeds, just throw me some bones)
  • My experience with Python has taught me to always check first, but I haven't found anything yet: does this mod or something like it already exist?

Stretch Questions:

  • Assuming a generalized modification of shelf behavior (instead of a new piece of furniture), would a generalized modification of shelf movement penalties be possible?
  • For visual identification of things like racked weapons, has changing the position/rotation of a sprite within a tile been explored? (e.g., to get a tidy visual of three charge rifles racked up in a line)

Thank you for reading this far. I look forward to your input and hope you are all as well as can be in these trying times.