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

Weapons: more robust logic/scripting #188

Open
3 tasks
zackthehuman opened this issue Jul 21, 2014 · 1 comment
Open
3 tasks

Weapons: more robust logic/scripting #188

zackthehuman opened this issue Jul 21, 2014 · 1 comment

Comments

@zackthehuman
Copy link
Member

zackthehuman commented Jul 21, 2014

Add support for more advanced logic for weapon usage, possibly via scripting so different aspects of weapons can be developed. Charging, multi-stage weapons like Leaf Shield, etc.

  • Add a stateful WeaponState object
  • Make weapons stateful and exposed via scripting layer
  • Make projectiles stateful and exposed via scripting layer
@zackthehuman
Copy link
Member Author

There are at least two aspects of this:

  1. Make weapons stateful and script-driven
  2. Make projectiles stateful and script-driven

Weapons should be stateful since they can have several phases -- like Leaf Shield, all Rush weapons, Pharaoh Shot, etc. With Rush weapons for example, initially the "weapon action" is to summon Rush. While Rush is summoned the weapon action functions just like the normal Mega Buster/Arm Cannon. Rush (a Projectile of sorts) has its own state and logic that interacts with the weapon state. Once Rush is despawned then the weapon state is reset.

Leaf Shield has weapon state as well. The initial weapon action is to summon a shield that stays attached to Rock's position. The projectile waits for input, once direction input is received, the projectile travels in that direction and cannot be stopped. Once despawned, the weapon state is reset.

Most shield weapons work more or less like Leaf Shield but with small tweaks.

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

No branches or pull requests

1 participant