chaosforgeorg / jh-mods Goto Github PK
View Code? Open in Web Editor NEWPublic Jupiter Hell modding documentation, issue tracker, sample and tool repository
Public Jupiter Hell modding documentation, issue tracker, sample and tool repository
With mod mode enabled sound effects, whether enemy sounds, weapon effects, door, etc. don't consistently play. This can make it appear there are issues in mods modifying sound when there are not.
Would be helpful for e.g. modifying mortems to include a field mentioning what mods were loaded for that run, also possibly for identifying and correcting for mod collisions to make compatibility patches between multiple mods.
Currently you can specify an entities position in lua by taking an existing position (e.g. the entity's current position or the players) and then changing the x or y coordinates. It would be more intuitive to be able to specify the x,y directly.
It would be good if all base class action skills could share some common concept which could be used to trigger the Specialist weapon perk.
Right now the only way to make an entity persist between levels is attach it to the player which can have side effects.
In the base game, the player cannot have more than 4 active skills at the same time, but it can happen with mods.
I guess the main restriction is the controller scheme that allows for only four buttons. Maybe there could be a modal window so the player can chose the skill to use when there are more than 4?
There are many reasons a mod could profit from some local storage:
My understanding is being.attributes.field gets you the value of field as set on the being, and being.attributes["field"] gives you the calculated value as changed by perks,
This doesn't work on weapons both versions of the check only you get the value on the weapon, you have to manually check for every child that alters the value to get the total.
My HellpediaCE mods directory size is 75KB (for the sources) + 1.4MB for the .git directory. I guess I’m not the only one to use a repository to manage my code, so I propose to ignore the .git
folder while uploading a mod. Maybe it could help stay within Steam quotas (not sure if that’s a concern).
cpiod
There does not currently seem to be a way to list all items in the player inventory, without dropping them first so they can be iterated in over a level.
It would be good to modify mortem generation. Currently while you can interact with fields, you can't decide what the mortem chooses to log in terms of either enemy kills or levels visited.
Would enable certain new features if emails could be added to the journal directly from lua.
The only reliable way to check if an elevator has a lock applied is by checking the world data for the level.
Building able to mark a flag on an entity such that any attributes on the entity aren't then propagated onto the parent of the entity, e.g. to allow the player to hold an entity with attributes without the players attributes being modified.
Afaik, playing with mods still affect scoretables, player data and achievements update.
Since automatically assessing whether a mod is cheating or not is tricky, the game could expose a function to disable these updates, so each modder can chose whether their mod should be considered cheating or not.
Medals are a good way to motivate players! :) It would be great to be able to manage mod-related medals and to display them in the player data screen.
text.lua
is supposed to be loaded when placed in the mod directory (next to main.lua), but it is not.
I experimented with the following text.lua
:
nova.log("Hello from text.lua")
strings.ui.game.main_menu.help="HellpediaCE"
strings.ui.game.ingame_menu.help=" HellpediaCE "
Neither the log nor the change of strings occur.
cpiod
It would be nice if I could pass a lua to a JH command line argument and have it lint it for me and output mistakes, just to shorten the change file, crash game, read crash log, repeat loop.
A feature request for modding: scrolling in UI.
Currently, a few UI have scrolling, like the load game UI:
In this example, the player can easily check all his saves.
The challenge selection UI does not have scrolling: if there are too many challenges, the user can still select the challenge they want but the left part of the UI won’t scroll down.
Here is a list of some UI that could benefit from scrolling for modding purpose:
cpiod
It would be useful when using nova.log to write out the equivalent of a json representation of a table or object to allow for easier inspection of an objects fields and children's fields.
(Continuation of this discussion.)
It would be amazing to code bots that control the player/"jupiterhell-guy". I envision this task could be used in educational tasks such as path finding, rule-based AI, and even neural networks.
Other examples from around the web:
Some ways to do this today without code changes (hacky & time expensive):
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.