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

[WIP] Inferno Integration #46

Draft
wants to merge 21 commits into
base: feature/inferno
Choose a base branch
from

Conversation

DedProtectr
Copy link

No description provided.

allowGlobalContext: false,
debug: true,
entities: [Save, User, WorldMapCell],
debug: false,
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we please revert this change for this PR?

@@ -28,6 +28,7 @@
"bcrypt": "^5.1.1",
"chalk": "^5.3.0",
"dotenv": "^16.3.1",
"install": "^0.13.0",
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we remove this? It doesn't seem to be used anywhere across the codebase

Copy link
Contributor

Choose a reason for hiding this comment

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

We should also revert the changes to package-lock.json

@React1-X React1-X self-assigned this Mar 28, 2024
@React1-X React1-X added inferno Issues related to Inferno server Server related issues or features labels Mar 28, 2024
@React1-X React1-X changed the title [WIP] feature/inferno [WIP] Inferno Integration Mar 31, 2024
After defeating Descent, we create a new "inferno"-type save, which is stored to the saves table.

Default saves now generate a baseid_inferno which is assigned to the inferno base after one is obtained.

Loot gained from the descent is stored in the user's main-save "iresources" field, and the resources are linked between the main yard's "iresources" and the inferno yard's "resources"
This is a dump of Original Assets, which did not go through any sort of re-creation process (to the best of my knowledge), which we have recovered
These are assets which had to be re-created and have been heavily edited to match as closely as possible to their original counterparts.

Recreated assets are not found assets, and will be replaces with the true original assets as they are recovered

These may appear slightly buggy or visually unappealing due to the miserable nature of trying to preserve sprites which end up in a terrible condition like this
These shadows are NOT permanent, they are NOT re-creations, they are ONLY present to meet the game's criteria. They will be replaced or replicated as needed
Medium Inferno Portraits for Inferno Monsters (RECREATED!!!! NOT ORIGINAL!!!!!)

ORIGINAL compound sprites
When loading a base via loadBase.ts, we protect the inferno base stats like the Locker and Resources from being overwritten by the main yard.

InfernoMonsters.ts now properly handles bringing monsters from the Inferno into the main yard.

Removed pointless code in baseSave.ts and removed leftover comments/logging from baseLoad.ts
Added Building Buttons for inferno buildings from the Wiki, renamed animations to be correct

Removed temporary Magma Tower and Quake Tower assets, set temporary shadows (I'm not worrying about shadows until later)
Fixed a descent error by adding a check to see if the BaseID passed by the Save request sent by the Descent base was a Descent base as well. Previously the check was done assuming that the only value passed would be the BaseSaveID
Forgot to add the BaseID check in a different line.
save = await loadBuildBase(ctx, authSave.baseid_inferno.toString());
if (save && save.saveuserid !== user.userid) {
throw saveFailureErr;
}
} else {
save = await loadViewBase(ctx, requestBody.baseid)
}
Copy link
Contributor

@EvenBiggerManGhark EvenBiggerManGhark Apr 8, 2024

Choose a reason for hiding this comment

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

Ignore the comment I left here and deleted - misread something

Some refinement was done to how the Inferno yard is linked to the Main yard.

baseLoad sets the "underhalLevel" stat to 1, since it's required by any inferno building in the main yard, and it seems only a level 1 Under Hall is required for upgrades/building. This will be updated if I'm wrong.

Inferno Resources are now properly linked and calculated between the two bases. Inferno yards will update main yard iresources on update, and main yards will update inferno yard resources on update (such as building chaos weapons or a quake tower). Other syncing fixes, like for credits, have been added.

 processDescentBase.ts was created to refactor the large block of code in baseSave.ts which handled instances where a save did not exist yet the save was a descent baseID. Also Champions who are hurt in the descent and monsters who are flinged no longer completely heal once you return to the main yard (also, inadvertantly, now monsters flung at all are now accounted for, even in MR)

inferno quests are no longer overwritten by main yard quests, locker and academy data is also synced between the two bases ()
estimated reproductions of incubator, blast tower, and level 3-10 coal harvester + placeholder shadows. Replications are just to hold place until inferno is further recovered.
The initial bug with loading demonstration videos was caused by the "videoURL" to point to an "/assets/video" directory with no URL. This lead to a Security Error, as flash tries to access a local URL instead of a networked one.

This changes the client to search for the demo vids from a URL.

Reproduction demo vids are also included here.
@DedProtectr DedProtectr changed the base branch from feature/mr2 to feature/inferno April 14, 2024 19:57
@DedProtectr DedProtectr changed the base branch from feature/inferno to feature/mr2 April 14, 2024 19:57
@DedProtectr DedProtectr changed the base branch from feature/mr2 to feature/inferno April 21, 2024 21:53
@DedProtectr DedProtectr deleted the branch bym-refitted:feature/inferno April 21, 2024 21:55
DedProtectr added a commit that referenced this pull request Apr 21, 2024
This is a direct 1:1 port of pull request #46
#46

All future inferno dev is going to be here.
@React1-X React1-X reopened this Jan 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
inferno Issues related to Inferno server Server related issues or features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants