[1.5] RT Mods - expansion o'clock again (2024-04-20)

Started by Ratys, March 07, 2015, 05:23:09 PM

Previous topic - Next topic

Ratys

Quote from: BMS on February 18, 2016, 10:14:56 PM
Quote from: doujinftw on October 30, 2015, 04:08:57 PM
Yeh it really wierd my colonist refuse to use the item in the stock pile for cooking
this
Cooking always breaks for me i dunno why - i had to switch to a different storage method for strawberrys and such - never steel or wood or cloth but always stuff required for cooking - ill run out of food and ill look and my guy will be stuck in the corner like he cant decide what food to get draft undraft and he will kick in for a day or so then back to the corner

edit:: greatest mod ever - fantastic work and this slight issue belonging to you or not doesnt even scratch the paint on this beast

That happens because of how AI works right now, and I wouldn't blame it to be honest: what I'm doing with storage isn't the game's intended way of handling things, this working at all is kind of a fluke.

It could potentially be made more robust, including adding smarter right-click to piles of equipment (Ever notice how it's impossible to have someone equip a specific piece from stockpiles? Yeah.), but that would require delving into AI code... Which I swore off of doing until at least beta versions, because alphas 9 to 12 changed AI quite substantially and I doubt it's the end of it.

Also, thanks. I see these posts where people just showcase their setups or help someone else to build theirs, and it makes me realise that it's not just a neat conceptual thing: people actually use it! That's the reason why modders go through all this developement and publishing, right there.

Ectoplasm

Quote from: kazuma6666 on November 26, 2015, 03:19:43 PM




Christ I'm so stupid. TELEPORTERS!! Why did I never think of this, I even use them to bring fish from the other side of the map. Mind frankly blown right now.

branch?

Does anyone know how to add more researches for the quantum stockpile? I hate creating extremely large refrigerators for my food stockpile and would rather have imba quantum piles for food instead of actually expanding it.
how lit was it

invalidnull

I keep getting this error in the debug log. It seems to start sometime after I start using Fuseboxes (I use a lot). It appears to be thrown every frame update. Also, all incidents stop when this happens and the game begins to lag. I am using Linux, Mint specifically.

System.NullReferenceException: Object reference not set to an instance of an object
at RTFusebox.IncidentWorker RTSurgeProtected.TrvExecute (RimWorld.IncidentParms parms) [0x00000] in <filename unknown>:0
at RimWorld.IncidentQueue.IncidentQueueTick () [0x00000] in <filename unknown>:0
at RimWorld.Storyteller.StorytellerTick () [0x00000] in <filename unknown>:0
at Verse.TickManager,DoSingleTick () [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Map:MapUpdate()
Verse.RootMap:Update()

I love this mod.
Thanks

Ratys

Quote from: invalidnull on March 26, 2016, 08:39:16 PM
I keep getting this error in the debug log. -snip-

What other mods are you running? In what order? I have not seen this issue myself, ever, and you're the first to report it, so...

Quote from: Long Night'a Hooking on February 24, 2016, 10:59:36 PM
Does anyone know how to add more researches for the quantum stockpile? I hate creating extremely large refrigerators for my food stockpile and would rather have imba quantum piles for food instead of actually expanding it.

Right, for some reason the forums decided that I did not need to be notified when things are posted in my threads; sorry for replying late.

Those values are more or less hardcoded. I recall there not being an elegant way to expose said values in the defs, but it's been quite some time since I last delved deep into RimWorld code. Besides, I implemented defs handling as one of the first things, to get it out of the way (because the whole system is kind of annoying to use), and have gotten more proficient since then.

When A13 rolls off I'll be pretty much forced to update, so I'll make sure to go over the thread in search of issues and requests then. Who knows, might even get inspired enough to work in some new features. No promises.

invalidnull

#155
Here is my mod-list in the order at which they load.

1. Core
2. Community Core Library v0.12.6
3. Community Core Library - Vanilla Tweaks
4. EdB Mod Order
5. EdB Prepare Carefully
6. EdB Interface
7. ED-Core
8. ED-Plants24H
9. ED-OmniGel
10. ED-OmniGel-24H
11. ED-Embrasures
12. ED-Laser Drill
13. ED-Vent
14. ED-WirelessPower
15. BatteriesStuffed
16. Heavier defences mod
17. LT-RedistHeat
18. PowerCell
19. RoofBomb
20. RT Fusebox

When I get some time I will try another instance of the game with just Fusebox and see if I can recreate the error. It seems to happen when the short circuit event triggers because I disabled the short circuit incident and played for several hours without an error. I will also try it on Windows and see if it will duplicate there.

Ratys

Quote from: invalidnull on March 27, 2016, 09:14:14 PM
...
It seems to happen when the short circuit event triggers because I disabled the short circuit incident and played for several hours without an error.
...

Well, that's it. RT Fusebox overrides the short circuit incident, other things tampering with it will very likely cause problems. Same thing should happen with the solar flare, too.

Jdalt40

Hey Ratys, I have been a lover  of your mods but just a question I have to ask is; are your mod ideas dead? I am only asking since it has been a long time since you have made a new mod out of an idea and the idea's you had were pretty cool :).

Ratys

Quote from: Joshy1111 on March 29, 2016, 01:34:41 AM
Hey Ratys, I have been a lover  of your mods but just a question I have to ask is; are your mod ideas dead? I am only asking since it has been a long time since you have made a new mod out of an idea and the idea's you had were pretty cool :).

(I accidentally a novel. TL;DR below.)

Well... Not dead-dead, but pretty much not alive, at the moment: I'm not actively developing anything for RimWorld right now. Modding is something I do strictly for fun, and I reached a point where modding RimWorld stopped being fun enough.

RT Neuromancy was sort of playable, if buggy, for a while; then a few major updates rolled out, and changed a good chunk of code I relied upon, while adding things I planned to add myself. Makes it pretty clear that I was working upon some very unfinished mechanics, hardly a good way to mod, so I ended up dropping it for now. Not to mention I have a long history of being terrible with AI, don't really know why exactly.

RT Biofuel was actually at the beginning of it all: I set out to implement a semi-automated production chain that started with potatoes and ended with electric charge. Along the way I repurposed a bunch of machinery code to work as an interim storage of some sorts, which later popped off and morphed into RT Storage. Biofuel still remains in vastly outdated and unplayable state, though I used to graft on new stuff inbetween updates, like a potato battery that's built fully-charged and won't recharge normally (and could also be booby-trapped to short-out and explode when something walks over it).

There are other things, too.
One day I was midly inebriated while chatting in #rimworld, and started taking suggestions. The result was several bits of code that can be attached to weapons: one would make the target uncontrollably vomit for a few seconds, another would make them drop all their equipment (clothes, too), and the last one would change their gender. If fleshed out more, it might make a mediocre mod on it's own, but it's mostly for giggles really.

Last thing I started was something called RT Dynamics, which attempted to implement a proper fluids system (as a start). I never got further than drafting up the math I'd need for a convincing simulation - got sent abroad for business, was too tired to continue right away, and then sort of drifted away from RimWorld completely.

Bear in mind: I'm not promising anything. Frankly, I'm not entirely sure why do I have the 'planned mods' section in the main post, probably just wishful thinking. I'm not claiming these ideas - anyone who thinks themselves proficient is free to make them a reality. But, if it ever strikes my fancy to make a new mod for RimWorld in the future, it'll probably grow from these things I wrote about.

TL;DR: not likely to work on them in near future, anyone who wants to is free to do so.

Jdalt40

#159
Quote from: Ratys on March 29, 2016, 11:13:38 AM
Quote from: Joshy1111 on March 29, 2016, 01:34:41 AM
Hey Ratys, I have been a lover  of your mods but just a question I have to ask is; are your mod ideas dead? I am only asking since it has been a long time since you have made a new mod out of an idea and the idea's you had were pretty cool :).
Modding is something I do strictly for fun, and I reached a point where modding RimWorld stopped being fun enough.
Well what would happen to your modding career on Rimworld if I asked you if you could make a electric torture room that has to be indoors to work... will it be fun to torture colonists and prisoners using a electric torture room?

EDIT: Sorry if I sounded demanding then... I just had that idea when I had read your reply and I thought it might be a cool one for you to work on :)

invalidnull

Quote from: Ratys on March 28, 2016, 11:45:42 AM
Quote from: invalidnull on March 27, 2016, 09:14:14 PM
...
It seems to happen when the short circuit event triggers because I disabled the short circuit incident and played for several hours without an error.
...

Well, that's it. RT Fusebox overrides the short circuit incident, other things tampering with it will very likely cause problems. Same thing should happen with the solar flare, too.

After testing I found that the Batteries Stuffed mod triggers the error. Batteries Stuffed adds batteries using the different raw materials all with differing specs. The uranium and plasteel batteries cause the error. While digging through the xml I found a tag called <startElectricalFires> and the batteries in question had this set to false while the others were set to true. I set the uranium and plasteeel batteries tag to true in hopes that would solve the problem, but I guess <startElectricalFires> and "short circuit" are different. I still got the error. The conflict must be in code somewhere, but I know just enough code to not know what I'm doing.

Never the less, my "workaround" was to just comment out the uranium and plasteel batteries in the xml file so they are not available. The gold and sliver batteries seem to work right.

Thanks again for the awesomely practical mod.

Ratys

Quote from: invalidnull on April 04, 2016, 08:13:39 PM
...
The uranium and plasteel batteries cause the error. While digging through the xml I found a tag called <startElectricalFires> and the batteries in question had this set to false while the others were set to true. I set the uranium and plasteeel batteries tag to true in hopes that would solve the problem, but I guess <startElectricalFires> and "short circuit" are different. I still got the error. The conflict must be in code somewhere, but I know just enough code to not know what I'm doing.
...

Oh, that's quite helpful, thanks; I actually found a screw-up on my end. Can't promise to fix it soon, because that requires firing up the whole release kitchen again and I plain don't have the time for that right now. Here's a 'proper' workaround though:

In Batteries Stuffed defs (Batteries.xml file), for uranium and plasteel change the line
<thingClass>BatteriesStuffed.Building_StuffedBattery</thingClass>
to
<thingClass>Building_Battery</thingClass>

It'll make batteries built with those materials behave like the rest of them and participate in short circuit incident normally. Kinda defeats the purpose, but at least it won't crash.

skullywag

#162
Is there anything i can help with here from a compatibility point of view?

Ok looked into it only my steel batteries participate in the zzzt event as they are named "battery" the incidentworker is flawed in that its looking for a building of "building_battery". It should be looking for buildings with the battery comp. I can add an override to the event that does this. I think this would fix the issue, this may already exist in ccl as well. So using ccl may solve this issue if loaded before our mods.
Skullywag modded to death.
I'd never met an iterator I liked....until Zhentar saved me.
Why Unity5, WHY do you forsake me?

Ratys

#163
Quote from: skullywag on April 05, 2016, 04:00:22 AM
Is there anything i can help with here from a compatibility point of view?

Probably, but it's not exactly your fault. The error happens because original incident only collects anything that's a Building_Battery, while my modified incident collects all buildings that have a CompPowerBattery, but then tries to handle them as if they were Building_Battery, without really needing that. Naturally, it can't cast your Building_StuffedBattery to Building_Battery, resulting in null reference exception somewhere.

I'm a bit rusty on exact inheritance and casting rules of C#, but it might work the way it's now if your Building_StuffedBattery inherited from Building_Battery rather than the base Building. Then again, it's a screw-up on my end, you shouldn't really bother.

EDIT:
Quote from: skullywag on April 05, 2016, 04:00:22 AM
...
I can add an override to the event that does this.
...

But I'm already overriding the event, that's the point of the mod.

Fluffy (l2032)

I think what skully means is a detour of the event method so that it looks for buildings with the correct comp.


Depending on how exactly your incident def override is implemented (e.g. does your custom incident class inherit from the core class, and does it override the method responsible for grabbing buildings), this may or may not work without changes on your end.


As for CCL already doing this, I'm not sure - but I doubt it. Afaik E's been detouring hardcoded references to specific thingdefs, not classes. YMMV.