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

Dynamic modifier tech issues #5362

Open
GoogleFrog opened this issue Sep 26, 2024 · 4 comments
Open

Dynamic modifier tech issues #5362

GoogleFrog opened this issue Sep 26, 2024 · 4 comments

Comments

@GoogleFrog
Copy link
Contributor

GoogleFrog commented Sep 26, 2024

A list of issues to do with modifying attributes dynamically.

@GoogleFrog
Copy link
Contributor Author

GoogleFrog commented Sep 26, 2024

Tech-K

  • Units cannot be turned back into nanoframes: Spring.SetUnitHealth with build < 1 does not turn units back into nanoframes beyond-all-reason/spring#1698
  • Little-to-no control over the flight of missiles. No flightTime, acceleration, max speed. Feature: Fill out SetUnitWeaponState beyond-all-reason/spring#1683
  • MyGravity cannot be modified for any weapons.
  • Wreck dropping is mostly opaque and uncontrollable. There is no reliable way to receive an event about a wreck being dropped due to a particular unit dying, or a way to pre-modify the wreck. Add Spring.DropWreck beyond-all-reason/spring#1684
  • CEGs etc cannot be scaled up/down to make explosions change size. The mechanics seem to be modifiable, but they would not match the visuals.
  • Model rescaling is broken. It causes the root piece of models to be unavailable for animation, yet many LUS try to animate their roots. The only dire issue I have found so far is that it a WaitForMove(base) causes Lance to be unable to fire a second time, but many animations are a bit wrong due to this.
  • Unit storage cannot be set dynamically. Technically team storage can be set, so any change can be haxxed in, but this only works well if we exactly replicate the engine behaviour, and that would seem to take hax and polling, since storage seems to be disabled when storages turn into nanoframes. The other case is on unit transfer, which is an event.
  • Anti-nuke coverage seems to be static.

@GoogleFrog GoogleFrog changed the title Mod tech deficinices. Dynamic modifier tech issues Sep 26, 2024
@sprunk
Copy link
Member

sprunk commented Sep 26, 2024

CEGs etc cannot be scaled up/down to make explosions change size.

There's a d CEG operator which makes things scale with damage (so you can do particleCount = "2 d0.01" or particleSize = "d0.123" or whatever). The big caveat is that none of our CEGs use that. The other is that weapons that want scaling can have 0 damage for various reasons.

@sprunk
Copy link
Member

sprunk commented Sep 26, 2024

Related: #4535

@GoogleFrog
Copy link
Contributor Author

There's a d CEG operator which makes things scale with damage (so you can do particleCount = "2 d0.01" or particleSize = "d0.123" or whatever).

I'm aware of d, but I would be surprised if it was flawless. CEG creators would have to think about when it should apply, and with all the accelerations and drags that CEGs use, I would suspect that it would want to be used non-linearly. Which is a pain for CEG.

The ideal would be something akin to passing CEGS a scale when they are created (or having weapons have a scale), and then the engine would scale the images and speeds appropriately to make the CEG appear larger or smaller. There is probably somewhere in the engine where this is simple, where touching the right bit of the recursive structure would make it all work out nicely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants