Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Blazemod re-work #37497

Closed
wants to merge 1,024 commits into from

Conversation

Soup-de-Loop
Copy link
Contributor

@Soup-de-Loop Soup-de-Loop commented Jan 29, 2020

Summary

SUMMARY: Content "Modernises blazemod"

Purpose of change

blazemod has been abandoned for some time, which I didn't realise- until its removal from mainline came up, and I actually delved into the files. There was a lot going on wrong, and it was abundantly clear that the entire file structure was not modern and there have been a lot of redundant entries for quite some time now. Additionally, some of the content is confusing, or just outright thematically clashing.

Also, some things like solar arrays are straight up unbalanced. I'm considering adding severe drawbacks that make them useful in specific circumstances while not being outright silly- feedback on this stuff is very welcome.

Describe the solution

I have compartmentalised much of the data into a proper file structure, using separating folders to follow vanilla format so that people can work on the mod without losing their sanity.

Additionally, since #34202 all of the automatic versions of the turrets in blazemod are completely and utterly useless and redundant, since any turret can now become automatic and only through the installation of a turret control unit on the same space. These duplicates have been removed, and the unnecessary overrides were removed as well. Turrets have also been converted to use the modern vanilla standard of a general turret template so that copy-from can be used to great effect as it has been in mainline.

Besides that, I have at least a guide for blob vehicles in the works, and intend to provide a more thematic integration into the game.

Describe alternatives you've considered

Waiting for someone else to do such, since the mod was mainlined I actually assumed that the mod was already adopted and being looked after. There has been another refactor attempt by another contributor, however they seem to have stepped back due to IRL issues #35957.

Testing

Linting, astyling etc performed, playtested with for a few weeks and making adjustments based on issues that cropped up. Additionally playtested by 3 other users on discord, fixes errors that were brought up until none are currently being thrown.

Additional context

blazemod has become obsolete as of #37272 due to being orphaned. If people are willing, I'd be happy to maintain blazemod for the time being and try to bring it closer to parity with vanilla and generally make the content seem more immersive rather than out of place, while improving code quality over time and fixing bugs.

I'll be looking at #35957 to see if I can cannibalize some of their work to help the overall workload, and so that the work they have done so far isn't in vain.

TO-DO:

  • separate distinct themed content from one another
  • bring file structure to complete parity with vanilla precedent (mostly done)
  • modernise the entry structure on some things that have outdated references
  • modernise names to use modern string format
  • modernise recipes to use string time format
  • gate some of the content behind recipe books and re-work recipes (initial draft started)
  • provide documentation (guides etc) ingame and out for stuff like getting started with blob cars
  • re-balance some vehicle parts that are over-the-top
  • receive feedback and make adjustments accordingly
  • fix some bugs regarding gelectrodes and other power-related vehicle parts

UPDATE: Some tasks removed due to not being in the scope of this PR; different PR's will address other issues and future objectives for blazemod.

@@ -0,0 +1,359 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

diamond.json was built from all of the diamond items/parts/recipes from blaze_test.json

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

now also split into respective separations

@@ -0,0 +1,82 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably going to redact these so that I can say the only changes so far have been modernisation, but these roughly encompass the idea of how I want to introduce the recipes.

@@ -0,0 +1,44 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simply aggregated the only two ammos added by blazemod here, simple change.

@@ -0,0 +1,351 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simple one here, just pulled all of the "type": "GUN" entries from blaze_blob.json and stuck them here for better sorting.

@@ -0,0 +1,80 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wasn't sure whether I should separate these out since they're so few, but here it is. Otherwise unchanged.

@@ -0,0 +1,651 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another separate file formed, this one by pulling all of the "type": "TOOL" out of blaze_blob.json

@@ -0,0 +1,83 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No changes here beyond separating them out, I think this is vanilla file structure?

@@ -0,0 +1,17 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kept as a normal inclusion, unchanged so far.

@@ -0,0 +1,47 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to change these, but here they remain for now, just separated out.

@@ -0,0 +1,53 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Separated the treads out as they're in a weird place in general. Unchanged.

@@ -0,0 +1,30 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One of the re-writes here, but should be noted as modernisation- biggest change is the name of the frost_hull (id remains same) to "gelacier boat hull" from "gelacier wheel", copying the actual frostie_wheel. Small symbol change to bring to parity with other hull-type items. Surface level changes only, and separated out here due to a lack of other appropriate populated categories.

@@ -0,0 +1,83 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pulled out into a separate json, unchanged otherwise.

@@ -4,10 +4,9 @@
"ident": "blazemod",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if I'm jumping the gun here on the maintainer field, but I've reversed my wrong correction of Blaze's handle as per Brian's suggestion.

@@ -102,7 +102,7 @@
"components": [ [ [ "hard_plate", 10 ] ], [ [ "chain", 8 ] ] ]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small but important change here. With this, I've also removed all other mentions to turretframe, which means I'll need to add migration code. Beyond that, allows the vanilla turret_mount to be crafted, and brings all of the content in blazemod to parity only using vanilla turret mounts. Space anomaly left unchanged, just separated out to here.

@@ -0,0 +1,81 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There were only a few recipes in blaze_test.json, but I felt it prudent to separate them out nevertheless immediately. Unchanged.

@@ -0,0 +1,142 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vortex stuff is strange, I almost had duplicates in here but that's sorted. Otherwise, unchanged.

@@ -0,0 +1,8 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unchanged, just separated out and given correct file structure.

@@ -0,0 +1,53 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non-blob treads separated out, as they are also in a weird place. Unchanged.

@@ -0,0 +1,993 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did a couple of rudimentary changes here, though they are impactful. The "copy-from": field was changed from blazemod's custom turrets to use vanilla precedent here- also, these are all from blaze_autoweapons_parts.json, the manual versions don't seem to be necessary because they all had auto equivalents. Duplicates that were essentially an "automated" version were removed, as that is all handled in vanilla with the turret control unit now. A smaller change here is that "breaks_into": was changed from "count": [ 0, 1 ] to the "prob": 50 used in vanilla for these fields. Unsure about them breaking into their base component minus the turret, but for now that's left unchanged. Effectively they are unchanged, but this should be a considerable optimization of bloat code that was made obsolete by other PR's.

@@ -0,0 +1,28 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Separated out, unchanged otherwise.

@@ -0,0 +1,343 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blob boards painstakingly separated out and consolidated into one file. Unchanged otherwise, could use requirements for a lot of the tiering for gel-ooze-gray but that's a consideration for another PR.

@@ -0,0 +1,25 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Separated out for now, I'll have to review how this part acts in-game to make sure it's working as intended.

@@ -0,0 +1,203 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Frames, painstakingly separated out. This is where most of the tile pains will come from, but once done, it doesn't need to be done again. Unchanged otherwise.

@@ -0,0 +1,20 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only ram left from blazemod? Separated out, unchanged.

@@ -0,0 +1,41 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as before, treads in a weird place separated out. Left unchanged.

@@ -0,0 +1,195 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another modernisation was performed here, after separating out the blob turrets. The blob_turret_mount was expanded to include installation and removal times, a folded_volume that wasn't 1, and damage_reduction like the vanilla turret mount. After that, I made a blob_turret template part that contains basic fields that all turrets would have, and has helped trim down most of the entries of this type- there's a couple of weird weapons with their own durabilities and whatnot, and that has been retained.

Need feedback on the folded_volume, it was mostly a pull-over from vanilla and I'm not sure if I should have changed it from the value of 1- I could probably do balancing for that in a different PR.

@@ -0,0 +1,725 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Painstakingly separated out, this is the actual part versions of the parts, unchanged. I could use templates to trim these down as well, and some of the fields definitely need modernising, but I'll leave them be for now.

@@ -0,0 +1,105 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wheels, separated out. Unchanged.

@@ -0,0 +1,336 @@
[
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Messy, these were. Something to do with automated versions to redact, and I had to change the turret fields to reflect vanilla: but generally- unchanged. Could use a template, not sure how popular vortex stuff is amongst players though.

jbytheway and others added 25 commits May 4, 2020 09:36
These are the ones that were caught by the recently improved check.
Now you're cooking with dino eggs
…o Aftershock (CleverRaven#40082)

* Damage over time initial implementation

* Unhardcode healing from panacea and move it to Aftershock

* Update src/creature.cpp

Co-authored-by: Curtis Merrill <curtis.r.merrill@gmail.com>

* DoT class

* Save and load DoT

* doc

* Apply suggestions from code review

Co-authored-by: Curtis Merrill <curtis.r.merrill@gmail.com>

* serialize, deserialize and load in proper cdda fashion

Co-authored-by: Curtis Merrill <curtis.r.merrill@gmail.com>
[DinoMod] Create dino egg recipes
Converted all name fields that can use the new string format to use it, converted all recipe times to use the string time format instead of int, found a case where treads weren't separated out in vehicleparts, removed some duplicate entries, added mounted_ prefix to all turret ID's to conform to vanilla standard and remove overlap to original items.
separated turret id's from their gun counterparts as well
Split into their own vanilla hierearchy, irrespective of low number of entries.
The gelectrode item was completely broken and is now just a vehicle part that does nothing until installed, battery versions of the gelectrode for vehicles out until revision, gel lamps had to be removed due to dependency on broken functionality, new gel lights that replicate functionality with blob part factors added.

Removed repeat entry of ammo type.
Removes the guns that were removed as per CleverRaven#37979 - to note, tavor_12 was migrated in item but not ID to avoid save compatibility, but is now rectified.
@Soup-de-Loop
Copy link
Contributor Author

Ignore me! I did a fuckywucky!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[JSON] Changes (can be) made in JSON Mods Issues related to mods or modding
Projects
None yet
Development

Successfully merging this pull request may close these issues.