[A17] Rainbeau's Mods - Bridges, Backstories, Smooth Walls, Terraforming & More!

Started by dburgdorf, May 06, 2017, 06:15:33 PM

Previous topic - Next topic

DoctorVanGogh

Just a ping about an issue with other mods.

Your shellfish corpses are categorized as corpse, but they are not.... which makes recipes that are supposed to work on corpses go.... "oh shiny clouds - look at those clouds!".

Maybe you can think about re-categorizing shellfish someplace else (under "Raw food"?).
Appreciate my mods? Buy me a coffee

dburgdorf

Quote from: DoctorVanGogh on August 27, 2017, 03:57:51 PMYour shellfish corpses are categorized as corpse, but they are not.... which makes recipes that are supposed to work on corpses go.... "oh shiny clouds - look at those clouds!".

I'm afraid I'm not quite following your point, here. As dead shellfish are defined in the code as corpses, which makes them corpses, I'm not sure what you mean when you say, "but they are not."  Any recipe which utilizes ingredients of the "corpse" category should work with them, as they are part of that category. If you could provide a bit more in the way of specifics regarding which recipes don't seem to be working, I could take a look at why that might be the case. ;)

That said, while they're currently defined as corpses, since that's what they are, it probably *would* make at least as much sense to recategorize them as food items, since they don't have to be butchered, which would allow them to be stored more easily with other food items.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

DoctorVanGogh

Your shellfish are

<thingClass>ThingWithComps</thingClass>

which is most decidedly not Verse.Corpse
which makes ThingDef.IsCorpse say "nope... not a corpse here - move along..."

// Verse.ThingDef
public bool IsCorpse
{
get
{
return typeof(Corpse).IsAssignableFrom(this.thingClass);
}
}

Appreciate my mods? Buy me a coffee

dburgdorf

As I said, I'll probably implement your suggestion that shellfish be recategorized as raw food rather than as corpses, since it would make storage simpler, as they'd then be stored with other food items instead of with other corpses, which actually makes more sense.

But I'm still curious about your claim that there are issues with other mods....

Quote from: DoctorVanGogh on August 28, 2017, 05:46:32 AMYour shellfish are <thingClass>ThingWithComps</thingClass> which is most decidedly not Verse.Corpse....

This is obviously correct, but is also, so far as I can tell, irrelevant. The fact that I defined shellfish as part of the broader class "ThingWithComps" instead of the narrower class "Corpse" shouldn't have any impact beyond preventing them from doing some of the specific things that corpses do, like leaving desiccated skeletons behind when they rot. It shouldn't have any impact whatsoever on recipes, as categories for recipe (and storage) purposes are defined elsewhere, and for those purposes, shellfish are in fact defined as corpses and are, so far as I'm aware, properly treated as such. If a recipe calls for corpses as ingredients, shellfish will be seen as a valid option. If a storage area is set to hold corpses, it can hold shellfish.

As far as your "Reuse" mod is concerned, I'm not sure I see what the problem is. If a player tries to extract artificial bits from a shellfish corpse that (obviously) doesn't have any such bits, he or she will get... nothing. I'd think that would be the expected result. And wouldn't that be exactly what happens when a player tries to extract bits from any *other* corpse that doesn't have them?
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

DoctorVanGogh

The problem is you've injected stuff under the 'Corpses' Category which is (as you say yourself) not technically a Corpse.

I have special filters in there, which.... only ever check things that are corpses. So desired exclusions do not happen. So the shellfish are used in a recipe where they shouldn't.
And I also have special code which for certain recipes does not 'consume' the corpse when it's an ingredient. But your shellfish are not corpses - so they are consumed.

So I've got users who have shellfish going into a recipe where they are... let's say "unexpected"... until they simply vanish...

Basically what screws me here is a not Corpse under the Corpses category. And any other mod which uses the 'Corpse' category for recipes will be screwed in a similar way. The fact you "special cased" the butcher recipe shows you're at least aware of the implications.




Sooooo - if the Dorfian Bureau of Fishery and Livestock could reclassify shellfish as food that would be really nice. Also: No more slimy snails next to smelly dead feet then :D


Appreciate my mods? Buy me a coffee

dburgdorf

Quote from: DoctorVanGogh on August 28, 2017, 11:21:56 AMThe problem is you've injected stuff under the 'Corpses' Category which is (as you say yourself) not technically a Corpse.

In fairness, it looks as if at least part of the problem is that your code seems to just assume that anything used in a recipe as a corpse has a living pawn analogue for which race properties can be accessed. Granted, that's a safe assumption within the vanilla context, but I wouldn't be surprised if mine wasn't the only mod that introduces "dead things" which in fact only exist as things in the game after they've died.

It seems like it would be pretty simple to add a conditional in your code to reject a corpse "ingredients" that don't actually have the properties you're looking for. And it might be worthwhile, as even once I change the designation of shellfish, the actual fish introduced by "Basic Bridges" will still be corpses without living analogues, and will presumably cause you the same problems that shellfish are causing.

Quote from: DoctorVanGogh on August 28, 2017, 11:21:56 AMThe fact you "special cased" the butcher recipe shows you're at least aware of the implications.

I didn't "special case" the butcher recipe. I simply excluded shellfish from it, as shellfish are quite intentionally not butcherable. The regular fish in "Basic Bridges" are defined as corpses in exactly the same way that shellfish are, but aren't excluded from the recipe, as there's no reason for them to be. They can be butchered just like any other corpses in the game.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

dburgdorf



Last update: 9/24/2017

This is an "add-on" to my "Basic Bridges" mod, which gives pawns the ability to catch and cook fish.

It's possible to create "fishing spots" on bridges or piers where pawns can relax and catch fish. It's also possible to build "shellfish traps" that might net you shellfish, shrimp, snails or small fish. And your pawns can now prepare sushi and various other seafood dishes.

(Is it ironic that this mod was created by someone who finds fishing to be mind-numbingly dull, and who hates seafood in any form? I think it's a bit ironic.)

- Rainbeau Flambe (dburgdorf)


Steam Workshop Link

Dropbox Link

How Fishing Works:

Fishing is a "Handling" job, and as such, relies on the "Animals" skill. It is prioritized below other animal handling jobs. Pawns with higher skill will fish faster, and have a higher chance of successfully catching something. Fishing spots can become depleted if overfished, and will need to be allowed to "recharge."

Fish and eels can be caught at any fishing spot, though the type of fish available varies with the biome, and eels are more common in marshes than in water tiles. Squid can only be caught in ocean tiles.

Shellfish traps will periodically catch shellfish or tiny fish automatically, without any pawn interaction. They will sometimes take a bit of damage in doing so, though, and will thus occasionally need to be repaired.

Fish can be cleaned (butchered) for meat, while squid and eels can be butchered for both meat and leather. Shellfish don't need to be butchered, but are cooked "as is."

Compatibility:

This mod will not work unless you also have "Basic Bridges" in your mod list.

"Fishing" can safely be added to a game in progress, but if you try to remove it from a game, you will very likely make the map unplayable.

This mod shouldn't conflict with any other mods.

Credits:

Most of the fish graphics were provided to me by Steam user Draegon.

The ability to fish from bridges draws both conceptually and specifically from Rikiki's "FishIndustry" mod, though what I've done here is less elaborate than, and over time has diverged rather significantly from, what's he's done in that mod.

The traditional Chinese language files were provided by Steam user Alane.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

dburgdorf

Basic Bridges has been updated:

- Split fishing into a separate "add-on" mod, so that those who want bridges and only bridges, can finally have them.

- Added a "watergazing spot," which allows pawns to relax and watch the water even if fishing spots (which are now in the add-on mod) aren't available.

And the new Fishing add-on mod has been released/updated:

- Initial release (split off from "Basic Bridges").

- Fishing is now a handling rather than a hunting work type, and so uses the Animals skill rather than Melee and Shooting skills, and can be done by any pawn assigned to handling.

- Eel and squid leather are now properly part of the leather "stuff" category rather than the fabric category.

- Shellfish are now categorized as raw food rather than as corpses, since they don't need to be (and in fact can't be) butchered.  Raw fish, on the other hand, are still categorized as corpses, as like other animal corpses, they do need to be butchered.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

mvargus


dburgdorf

Quote from: mvargus on August 30, 2017, 12:29:01 AMhas this gone live on steam so my game will automatically update?

Yes, but you won't be automatically subscribed to the new "Fishing" mod, though you'll need it in order to continue an existing game.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

Flavorful

I'd like to make a suggestion. I was wondering if you would consider introducing ice fishing to the game.

It's extremely difficult to live in cold biomes (ice sheets, e.g.) without resorting to cannibalism and other sketchy practices. I came up with this idea after I tried to spawn rivers using the PrepareCarefully mod without success. Honestly, the need food is really tremendous in these tundras. i feel like ice fishing would definitely help in this regard and get more people to play these biomes.

If rivers were to be added then they would have to be frozen, for obvious reasons. You can't fish on top of frozen lacks. Practically, I do not know how difficult creating this mod would be. I think with your preexisting code that perhaps this would be very possible to do. Looking forward to what you think.

dburgdorf

Quote from: Flavorful on September 05, 2017, 02:20:48 PMI'd like to make a suggestion. I was wondering if you would consider introducing ice fishing to the game.

If you use "Fertile Fields," one of the terrain conversions that's possible is converting ice to shallow water. If you use "Basic Bridges" and "Fishing," you can catch fish from shallow water tiles, though the pickings will understandably be a bit slim in an ice biome.

Voila.  Ice fishing.

(And, admittedly, a bit of a cheesy way to undermine what's supposed to be a significant challenge, despite my efforts to try to keep my mods at least somewhat balanced and reasonably consistent with vanilla gameplay difficulty.)
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

dburgdorf

Pawns Are Capable! ("No Traits" Version) has been updated:

- Tools which can be used as weapons but which don't buff melee skill are no longer considered weapons when wielded by non-violent pawns. Pacifist pawns can thus now use such tools without penalty, though they can't actually use them as weapons.
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?

maculator

Hi, I made a german translation for your map generator. Do you have a github for a pull request? Or can I upload it somwhere for you?
If you're interrested of course!

dburgdorf

Quote from: maculator on September 13, 2017, 06:19:57 AMHi, I made a german translation for your map generator. Do you have a github for a pull request? Or can I upload it somwhere for you? If you're interrested of course!

I'd be happy to include it in the next update. I don't use GitHub, as the one time I tried figuring out how to set things up there, it just seemed far more trouble than it was worth for something that really wouldn't benefit me much at all, anyway. But you can certainly upload your file to Dropbox and send me the URL, or if you prefer, you might be able to send it to me via private message here. And if all else fails, I could give you my e-mail address. ;)
- Rainbeau Flambe (aka Darryl Burgdorf) -
Old. Short. Grumpy. Bearded. "Yeah, I'm a dorf."



Buy me a Dr Pepper?