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

Messages - jamaicancastle

#346
I'd recommend using an allowed area to keep your pawns inside the roofed area. You can turn it on and off temporarily if people need to do jobs outside.
#347
To my understanding (I don't usually do much caravaning) you should still get message popups for serious events (e.g. Manhunter Pack at [whatever settlement]) and the go to location button should still take you directly there, even if you're on a different map. I might be wrong, though.
#348
I think there's a map condition (like an eclipse or cold snap) associated with the toxic fallout, and I suspect that the hediff is added by the C# code for that condition's handler. (Basically in the form of "every X ticks while this condition is active, find every living thing on the map that's unroofed and increment its toxicity".) However, I don't have it open to verify and every time I ILSpy something it takes me hours of fascinating digression to actually answer the question. <.<
#349
Quote from: realdead_man on July 08, 2017, 10:26:39 PM
While you were away, a muffalo attacked, and was killed.   Pawn X died, Pawn y lost Left leg.
While you were away, pawn Z went berserk on smokeweed.  He is currently locked in jail
While you were away Animal Z had a BABY!
I absolutely don't want it doing things while I'm not there and not giving me the chance to intervene. Take your second example, for instance: what if I didn't have a jail built? Do they just shoot him? Redesignate a room as a jail? Let him go throw his tantrum and stay out of his way?

Normally I have the option of how I want to respond to events, depending on my own preferences and how my colony and group is set up. With this idea, I have nothing.

If anything, I'd prefer to adjust the frequency of events happening to the caravan. I'd be a lot more comfortable sending people out there if I knew I wasn't going to have to baby them alongside my normal colony management.
#350
"I'm a doctor, not a woodworker!" "You're a doctor, there's a patient. Go to work."

I could see the logic of requiring a crafter to see to it, but I'm happy that there isn't one more nagging detail involved in healing people, so eh.
#351
Quote from: skullywag on July 07, 2017, 03:29:52 AM
You are using the graphic random class that takes a folder name not a file. In that folder if you have multiple inage named a certain way (imagea, imageb, imagec etc) the game will randomly select one. Possibly even on tick which you probably dont want. I would check what core uses for plants.
All (or at least many) of the base plants use Graphic_Random. Why, I couldn't tell you, since as far as I/my A17 texture pack are aware, there's generally only graphic for each plant. It certainly shouldn't be choosing on tick (this is how it handles rock chunks and sculptures, among other things, that have texture variations, and none of those change at any time after spawn). It might have something to do with the way plants' min/max size and number of individual graphics work?
#352
The problem with being able to become friendly with the hostile factions is, eventually there'd be no one left to raid you, and then what would Randy do when he hates your guts?
#353
Mods / Re: [Mod Idea] Re: Trade Beacon Limitations
July 07, 2017, 03:28:31 AM
So I tracked down the code that NPC travelers/caravans appear to use for their trading, which is in the Pawn_TraderTracker class. For reasons totally inexplicable to me, it has a completely different structure to it that I don't think can be neatly fitted into the orbital trade ship code. So let's look at the beacon:

The relevant function there, as you can probably guess, is TradeableCellsAround. As you noted, it seems to have hardcoded the 7.9f value for its radius rather than actually referring to the constant, in a way guaranteed to annoy your CS professor. (Probably an oversight.) The only one that actually does anything is the one in the function; the constant, as far as I can tell, isn't actually referred to anywhere.

Anyway, you can modify that to turn it up to 50 or 100 or 1,000 or whatever else you want (just remember that it expects a float: "100f"), but as I mentioned above, that's not the whole story.

RegionTraverser.BreadthFirstTraverse(region, [some other unimportant parameters], 13, RegionType.Set_Passable);
This is part of the TradeableCellsAround function; it's the bit that, after checking for various error cases, actually populates the list of cells. (One of the parts I elided is where the 7.9f radius is established, incidentally, in a very inside-out bit of code that makes my head ache.) In this case is uses regions, which are bits of the map that the game uses to build things like rooms, temperature variations, and whatnot. The key point is the RegionType.Set_Passable. This means it will only attempt to crawl regions that are fully passable (not walls or doors) in order to find what it's looking for. The 13, incidentally, is related to the depth with which it will search, although in a way that's not totally clear to me. (Hey, I didn't take Algorithms as an undergrad. Maybe should've.)

So basically, you would have the following options:
- Just change the 7.9f in TradeableCellsAround to another value, say 100.0f. It would still be blocked by doors, but you could put one outside and have all the storage space you could practically need (it doesn't care about roofs, so put up a roofed but unwalled space off to one side for perishables). In practice, depending on how Rimworld sets up regions, you might or might not need to experiment with replacing the 13 above it with a higher number.
- You could change the beacon to search impassable as well as passable terrain with a huge radius, but there's really not much point, because you're better off with this:
- Cut right to the chase and just give it all the cells in the map. Delete everything after the first "if" block to the end of the function, and replace it with:
return map.AllCells.ToList();

There is one caveat with this method: I have no idea how much lag it will produce. I assume some. This would manifest at three times: when placing an OTB*, when one is first built, and when a trade ship actually arrives (it shouldn't-but-might also show up when you sell item(s)). Also, absolutely don't touch the "create stockpile" button with an OTB with this mod; it'll try to make your entire map into a stockpile with, I imagine, hilarious results.

* You might or might not be able to solve this by removing the placeWorkers block from the OTB's XML. This will stop it trying to show the radius of the OTB while placing (or selecting) it, which is just as well since obviously it's just going to highlight the whole map.

Unfortunately, when it comes to actually putting these insights into practice with a mod, I am something of a beginner as well, so I would be grateful if one of our other regulars could explain that bit? (That is, given specific changes that have to happen to this one existing function, what's the best way to patch it?)
#354
Some semi-random replies:

Quote from: DubskiDude on July 06, 2017, 10:16:07 PM
- (BUG) Hunter pawns that are incapable of hauling will haul the animal they hunted, but not when you tell them to manually.
Technically not a bug, because it's technically not a hauling job, it's part of the hunting job. It's the same as hauling-incapable pawns being able to gather materials when they're cooking/crafting/constructing.

Quote- Allow animals to be bonded, but not have to follow the master into a gunfight or into dangerous territory. Animals are great for hauling, but the pawn they're bonded to gets a mood debuff because I don't want the animals put in harm's way, especially since animals have no armor, and you can't surgically improve their wounds.
When trained, there's an option in the Animals tab to enable or disable the animal accompanying its master when the master is drafted, and a separate option for following when they're hunting/taming.

Quote- Dismiss alerts without having to click "Ok". Pressing Enter would be enough. Alerts often stack up, and its annoying to have to click the icon and then "ok" each time.
You should be able to right-click on an envelope to dismiss it unread, unless I'm badly misremembering.

Quote- Give Research more uses besides just upgrade unlocking. Once you've researched everything, the skill is effectively useless from then on, which shouldn't be the case. More research items would also be nice.
In A17, the Intellectual skill (nee Research) is used for drug crafting, and I imagine the variety of jobs it's used for will expand over time.
#355
Ideas / Re: "rot" speed
July 06, 2017, 08:45:02 PM
The time until a perishable item... perishes can be seen in its information box when selected. It will say something along the lines of "not frozen; rots in X days". Also, most items aside from corpses are destroyed when they rot. As long as they're not rotten, their closeness to rotting has no bearing on their usefulness or quality.

Most items aside from raw materials and furniture also degrades when outside (that is, not under a roof). This will give an indication along the lines of "deteriorating because unroofed" and will slowly take away hit points. Being on fire or hit in combat will also wear away hit points. Partially degraded items are worth less in trade, but are otherwise fine (aside from weapons and armor, which will grow less effective when damaged).

Despite what you might suspect, the two systems are not related in any way.
#356
Mods / Re: [Mod Idea] Re: Trade Beacon Limitations
July 06, 2017, 04:04:38 PM
Just changing that variable won't be enough, because orbital trade beacons obey walls and doors, so it wouldn't be able to find things in buildings. However, if you're willing to make a C# mod, you should be able to find the part of the trading code where it collects items from the trade beacon, and simply tell it to use the ground trader item-finding code instead.
#357
Ideas / Re: Burning things with torches.
July 05, 2017, 04:53:55 AM
I think it would be simpler to just have it be a basic pawn action. Whenever they're drafted and you right-click a burnable object, have an option to ignite X. I mean, pyros do it... raiders do it... and our colonists don't need any special tools to make campfires or fireplaces in the first place. They don't even need one of those clicker things to start the stove with.
#358
Help / Re: Need examples to emulate for new mod
July 05, 2017, 04:50:14 AM
Possibly Rumors and Deception (workshop link; I didn't see it on the forums) has something you could study? It definitely contains a lot of relationship-related thoughts, jobs, workers, and the like.
#359
Growing (in size only, at least) is handled by a block that looks like:
      <visualSizeRange>
        <min>1.3</min>
        <max>2.0</max>
      </visualSizeRange>


As long as that's there, you shouldn't need any additional graphics or the like.

#360
General Discussion / Re: Reusing previous worlds
July 04, 2017, 05:23:39 PM
You can also find the world seed on the world map (in the Planet tab, if I'm not mistaken).