# Blazemod Modernization

**URL:** <https://discourse.cataclysmdda.org/t/blazemod-modernization/22686>\
**Category:** The Lab\
**Tags:** mod, abandoned-mod, json\
**Created:** [February 5, 2020, 4:46am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686 "2020-02-05T04:46:18Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![SouP](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/soup/32/7999_2.png) [@SouP](https://discourse.cataclysmdda.org/u/SouP)\
**Post date:** [February 5, 2020, 4:46am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/1 "2020-02-05T04:46:19Z")

</div>

TL;DR: An attempt to bring the mode blazemod (also known as Vehicle Additions) back to being a repo mod by modernization of its content (PR @ [https://github.com/CleverRaven/Cataclysm-DDA/pull/37497](https://github.com/CleverRaven/Cataclysm-DDA/pull/37497) )

Hey there guys, I’m known as SouP here and on the devcord and fancord, or Soup-de-Loop on github.

These aren’t snipes at Blaze by the way as the mod itself is fantastic, it just hasn’t aged very well.

I’ve so far made something of an attempt to bring blazemod up to date, and believe me when I say there’s a reason it was on the obsolete list- it was _really_ outdated. In fact, the fact that it worked at all is astounding, given how messy some of the implementation was compared to modern standards and some of the decisions that have aged extremely poorly.

The last point is something I’d like to bring to the table first before I discuss some of the other changes I had planned, because this is the biggest one regarding migration and save-game compatibility. In the eternal wisdom of legacy code, the blazemod turrets that used vanilla guns also use the exact same internal id’s as the guns themselves, except as vehicle parts.

What this means is that, in order to modernize the mod in a way that makes it worthwhile keeping in the repo as a quality mod, we would have to de-link those, giving the turret versions their own internal id’s so that there’s no chance of conflict. As it stands, the migration code, while extremely useful, is not advanced enough to differentiate two different types of items with the same internal id. And it especially can’t handle retroactively modifying save data to updating existing vehicles that have spawned in a world to replace x part with y part. The functionality simply doesn’t exist.

I’m barely initiated in coding c++. I’ve been able to replicate the behaviour of the recycling compactor to make a plastic shredder that does the same thing but for plastic items. But I’m not nearly well versed enough to tinker with migration and save code, so unless someone else does it, we’re stuck with a save-game compatibility break if we want blazemod to become unobsoleted in the foreseeable future.

Beyond that, I’ve already modernized most of the file structure (I think I just have to split the diamond and vortex things up into appropriate file structure) and done some json magic to remove repeat items (that were everywhere once the `turret control unit` got merged) and provide some much needed spring cleaning. Blob stuff is properly sorted out and somewhat sane to add, remove or change, and I’m working on a short and sweet guide to explain how to start them off.

Beyond general feedback I’m sort of interested in a few questions for players other than myself who’ve used blazemod in the past (or still do):

1. Is a savegame compatibility break acceptable?
2. Do people want an outdated blazemod with minor fixes from time to time with all of its baggage on a separate repo to keep a savegame going until it finally croaks?
3. Do people use `vortex` parts and still want them to be part of the entire mod?
4. Do people use `diamond` parts and still want them to be part of the entire mod?
5. Do people use `solar array` parts and are they considered overpowered and worthy of rework and/or rebalance?
6. Do people who use blazemod want to see some features (such as blob vehicle tiers) being gated behind recipe books, with some minor lore fluff etc?

Anything I’ve overlooked or missed I would be happy to know about in addition to just general feedback about how I’ve gone about things. My PR is messy because the file structure refactor alone makes it difficult to revise compared to previous blazemod, but I personally wanted to get the mod to a square one in one PR. If anyone would care to test it on a fresh world I’d appreciate it.

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![Kenan](https://avatars.discourse-cdn.com/v4/letter/k/e495f1/32.png) [@Kenan](https://discourse.cataclysmdda.org/u/Kenan)\
**Post date:** [February 5, 2020, 4:51am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/2 "2020-02-05T04:51:11Z")

</div>

I may be wrong but how exactly the save will be broken by the mod provided that we can \*\* remove original mod from the cdda/data/mods folder and the save/mods.json file\*\*

After this we can just install the new mod mid-save just like any other mod by, once again, editing the save/mods.json file, won’t this work?Even if there may be some bugs, they will all be in one overmap, going to unexplored locations that were yet to be generated in our old save will generate new perfectly fine working vehicles

Sorry if i’m putting too much details into this question, but should not this work and not break the save?Thanks for your great work and dedication to this amazing mod, SouP

---

<div class="post-metadata">

**Author:** ![SouP](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/soup/32/7999_2.png) [@SouP](https://discourse.cataclysmdda.org/u/SouP)\
**Post date:** [February 5, 2020, 5:00am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/4 "2020-02-05T05:00:23Z")

</div>

No these are good questions and the details help.

For the first bit: The issue is that my rework of blazemod changes a whole heap of the turret stuff and removes them entirely as they were. It actually doesn’t cause a crash automatically, _unless_ you have any vehicle stored in a world with a blazemod turret on it. Usually this is on deathvans, but sometimes, especially on very long/old saves, people might have made and abandoned several deathvans, and if you don’t uninstall all of the old turrets first before loading what I’ve done, it will make the save unloadable.

The other issue is that I’ve removed all of the turrets as they exist full-stop and effectively made new ones, and that means a whole bunch of ID’s would be up in the air. Despite that, the game will load, but throw a bunch of errors the first time you load the save, which shouldn’t happen again by the next save. There’s some migration stuff I still need to do, I think, like removing the recipe from an existing save for the no-longer-existent turretframe, as recipe errors like that will stop a save from loading.

---

<div class="post-metadata">

**Author:** ![Kenan](https://avatars.discourse-cdn.com/v4/letter/k/e495f1/32.png) [@Kenan](https://discourse.cataclysmdda.org/u/Kenan)\
**Post date:** [February 5, 2020, 5:16am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/5 "2020-02-05T05:16:20Z")

</div>

Aha, so the main crashing problem is caused by existing turrets on vehicles, so if they are entirely removed, there won’t be any crashing, right?These turrets are player-made, i assume?They are not generated as enemies but only craftable items, right?

I think for me at least it won’t cause any problems now since i already know that i should not make and install these turrets, heh

---

<div class="post-metadata">

**Author:** ![SouP](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/soup/32/7999_2.png) [@SouP](https://discourse.cataclysmdda.org/u/SouP)\
**Post date:** [February 5, 2020, 5:31am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/6 "2020-02-05T05:31:44Z")

</div>

blazemod adds vehicle parts, but not any vehicles. That means that yes, the blazemod turrets are not by default on any vehicles in blazemod.

Unfortunately, tankmod, which I normally use with blazemod, _does_ add vehicles which will have the parts that become defunct. At some point the vanilla `turret_mount` was also added without removing the `turretframe` that I’ve marked for removal, so I don’t know if a save would save both after they’ve been generated. I’ll try it now.

---

<div class="post-metadata">

**Author:** ![Kenan](https://avatars.discourse-cdn.com/v4/letter/k/e495f1/32.png) [@Kenan](https://discourse.cataclysmdda.org/u/Kenan)\
**Post date:** [February 5, 2020, 5:36am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/7 "2020-02-05T05:36:17Z")

</div>

In worst case scenario would not it simply create empty tiles?Would they necessarily cause crashes?

---

<div class="post-metadata">

**Author:** ![SouP](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/soup/32/7999_2.png) [@SouP](https://discourse.cataclysmdda.org/u/SouP)\
**Post date:** [February 5, 2020, 5:42am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/8 "2020-02-05T05:42:19Z")

</div>

There’s no fallback for how vehicles are saved. I don’t think it’s normally a problem because we’ve added things over time, rather than removing them. Small test: tank mod works with the rework as-is, but I’ll see if it causes issues with a save that had old blazemod.

---

<div class="post-metadata">

**Author:** ![SouP](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/soup/32/7999_2.png) [@SouP](https://discourse.cataclysmdda.org/u/SouP)\
**Post date:** [February 5, 2020, 6:27am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/9 "2020-02-05T06:27:05Z")

</div>

It should actually be okay, it seems to blank them out so long as they don’t have a dependent part. Tank mod has both the turretframe and turret\_mount, so having the turret\_mount saves the fact that the gun loses the turretframe to attach to.

I _think_.

---

<div class="post-metadata">

**Author:** ![ThePor](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/thepor/32/8009_2.png) [@ThePor](https://discourse.cataclysmdda.org/u/ThePor)\
**Post date:** [February 6, 2020, 11:09pm UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/10 "2020-02-06T23:09:49Z")

</div>

Frankly, I am just happy that the mod is still going to be maintained. I don’t know how useful my opinions are going to be but here we go:

1. Yes, I personally don’t mind. Savegames are temporary anyway.

2. ^

3. Vortex Engine was probably my favourite part of the mod. Unfortunately, while the vortex stones needed to craft it can be difficult to find; you only need to get lucky once and then you get an engine that runs without fuel. So as much as it pains me to say it, it might need a nerf of some kind. Perhaps gating it behind schematics with the recipe only lootable from the final lab rooms or removing its passive electricity generation (maybe even both) wouldn’t go amiss.

4. I found them to be quite lacking when I used them. I would certainly not shed a tear if they had vanished.

5. If I recall correctly you couldn’t install those on roofs making it a less than ideal choice for people with moving bases. It could be overpowered in some builds though I suppose, since those things would save several tiles worth of space. Personally I didn’t find them too strong though.

6. I never used blob parts, but as I said the vortex engine probably needs some gating to keep it in the end-game.

\*Edited to fix the numeration.

---

<div class="post-metadata">

**Author:** ![SouP](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/soup/32/7999_2.png) [@SouP](https://discourse.cataclysmdda.org/u/SouP)\
**Post date:** [February 7, 2020, 12:44am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/12 "2020-02-07T00:44:15Z")

</div>

Great, thanks for coming onto discourse and providing feedback, I really appreciate it! It really helps to get some input from someone who has actually use the vortex parts, so I’ll see what I can do. Maybe have the vortex engine slowly damage itself over time trying to contain the energy source, so as to require constant maintenance?

---

<div class="post-metadata">

**Author:** ![KorGgenT](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/korggent/32/12330_2.png) [@KorGgenT](https://discourse.cataclysmdda.org/u/KorGgenT)\
**Post date:** [February 7, 2020, 3:19am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/13 "2020-02-07T03:19:27Z")

</div>

so the only input i have here is for #6. I love blob parts. it’s the only reason i use the mod. I think they could definitely use a bit of re-fluff and maybe some recipe gating, along with some rebalancing of some of the stats (they all fold to the same small size??) and i’m happy to see that blazemod is getting a maintainer, as i certainly didn’t want to do it as i have my own stuff going on.

---

<div class="post-metadata">

**Author:** ![Endling](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/endling/32/6602_2.png) [@Endling](https://discourse.cataclysmdda.org/u/Endling)\
**Post date:** [February 7, 2020, 3:40am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/14 "2020-02-07T03:40:35Z")

</div>

It all sounds good to me. : ]

The only bits I used (more out of availability than choice, as the vortex engine sounds pretty interesting) were the solar arrays, though never on a mobile vehicle. I thought they were great for powering a home base, and would slowly assemble them as I gut solar vehicles I found.

They didn’t seem overpowered to me, as I still had to be mindful of my daily power costs while puttering around fixing/building things.

Thanks for working on this!

---

<div class="post-metadata">

**Author:** ![ThePor](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/thepor/32/8009_2.png) [@ThePor](https://discourse.cataclysmdda.org/u/ThePor)\
**Post date:** [February 8, 2020, 1:49am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/15 "2020-02-08T01:49:37Z")

</div>

Not sure if that would be that much of a fun mechanic. I can only speak from a perspective of a nomad, but let’s say it takes 12 hours for the engine to go from full durability to broken. All that would mean for me is that I would have to remember to go up to my vehicle two or three times a day to 'e’xamine it and then 'r’epair. At this point it might be better to just limit its power so much that it would struggle to pull \>10 tonne vehicles so that you would have to push the engine for it to go up to decent speeds, I think.

Still the durability mechanic would probably work a lot better for the Vortex Generator (which ends up being totally useless, since the Engine also creates electricity when turned on) variant of the engine. People who mainly use static bases are probably not really want for power, but I reckon one could make some crazy Recharger setups with and having to maintain those would probably be more limiting here…I guess?

I am quite bad at balancing though so in conclusion: I dunno ;-;

---

<div class="post-metadata">

**Author:** ![SouP](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/soup/32/7999_2.png) [@SouP](https://discourse.cataclysmdda.org/u/SouP)\
**Post date:** [February 8, 2020, 1:55am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/16 "2020-02-08T01:55:39Z")

</div>

Every little bit of feedback is good, thank you for sharing it. I’m mostly just spitballing that sort of stuff currently, Array’s are the main foci point of my ire currently.

---

<div class="post-metadata">

**Author:** ![Belcanzor](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/belcanzor/32/1798_2.png) [@Belcanzor](https://discourse.cataclysmdda.org/u/Belcanzor)\
**Post date:** [February 12, 2020, 11:37pm UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/17 "2020-02-12T23:37:49Z")

</div>

1. Is a savegame compatibility break acceptable?

- Absolutely. Acceptable.

1. Do people want an outdated blazemod with minor fixes from time to time with all of its baggage on a separate repo to keep a savegame going until it finally croaks?

- The option most comfortable for you, I dont care.

1. Do people use `vortex` parts and still want them to be part of the entire mod?

- Never find that stone. Dont know.

1. Do people use `diamond` parts and still want them to be part of the entire mod?

- Never find enough to make one, probably dont miss this one.

1. Do people use `solar array` parts and are they considered overpowered and worthy of rework and/or rebalance?

- Was a bit op, yes.

1. Do people who use blazemod want to see some features (such as blob vehicle tiers) being gated behind recipe books, with some minor lore fluff etc?

- Yes, why not.

How about the mods that use Blaze? Like “Tanks” for mention one.  
Thanks for your work.

---

<div class="post-metadata">

**Author:** ![SouP](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/soup/32/7999_2.png) [@SouP](https://discourse.cataclysmdda.org/u/SouP)\
**Post date:** [February 13, 2020, 2:14am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/18 "2020-02-13T02:14:39Z")

</div>

Thanks for the feedback! I’m glad you mentioned Tankmod, I was thinking of cannibalising it and renaming and reworking it to fit an overall experience as a modular addition to blazemod. Really, if or when my modernisation of blazemod is entered, I was thinking about ambitiously reworking it into a curated experience mod, similar to but on a smaller scale than Magiclysm or Aftershock, that made workshop modification of vehicles more fleshed out and DIY stuff thematically possible due to the success of a fictional corporation.

Take it a long way from just being basic vehicle additions, and into a power-to-the-people MakerSpace sort of deal that make the doomvans CDDA players have come to know and love seem more plausible without completely departing from reality.

If this sounds stupid, I’d love to know that as well.

---

<div class="post-metadata">

**Author:** ![General\_Patton](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/general_patton/32/7894_2.png) [@General\_Patton](https://discourse.cataclysmdda.org/u/General_Patton)\
**Post date:** [February 13, 2020, 3:01am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/19 "2020-02-13T03:01:13Z")

</div>

1. No strong opinion.
2. No strong opinion.
3. I love vortex parts.
4. Haven’t made one yet, but it’s on my shopping list for the ultimate ride.
5. Haven’t needed to make solar arrays yet, but I would probably get some good use out of them once I get a more sizable base going.
6. Recipe books and lore fluff sound fun.

---

<div class="post-metadata">

**Author:** ![SouP](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/soup/32/7999_2.png) [@SouP](https://discourse.cataclysmdda.org/u/SouP)\
**Post date:** [February 13, 2020, 3:14am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/20 "2020-02-13T03:14:25Z")

</div>

Thanks for pitching in, I really value the feedback! Hopefully after the initial modernisation is done and I start to make real changes, they will fit in to the way you plan to use solar arrays in a satisfying manner.

---

<div class="post-metadata">

**Author:** ![featherball](https://avatars.discourse-cdn.com/v4/letter/f/e99b99/32.png) [@featherball](https://discourse.cataclysmdda.org/u/featherball)\
**Post date:** [February 14, 2020, 9:14pm UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/21 "2020-02-14T21:14:35Z")

</div>

Not sure how valuable this will be, but I ended up only using ballista and ripper turrets and then had to stop using them as well. They are just too good.  
But at the same time it would be grating for me to have them nerfed due to balance reasons because they would become less… believable (to avoid using the dreaded R-word). If something launches a huge, heavy and reasonably sharpened chunk of wood with sufficient force at a target then that target is not going to like it. I feel like properly balancing them for me can only come once the world at large is improved further, like NPCs with better AI, more monster evolution, factions developing and deploying more advanced tech etc.

---

<div class="post-metadata">

**Author:** ![Belcanzor](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/belcanzor/32/1798_2.png) [@Belcanzor](https://discourse.cataclysmdda.org/u/Belcanzor)\
**Post date:** [February 15, 2020, 1:47am UTC](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686/22 "2020-02-15T01:47:14Z")

</div>

I just want a working Blazemod, not sure if I m in the right place 😛

[Next page](https://discourse.cataclysmdda.org/t/blazemod-modernization/22686.md?page=2)
