Main sensor:
All may have a cooldown value and initial cooldown counter.
1) Never active.
Used by a standing monster or monster that doesn't shoot.2) Always active.
Used by those creatures that come out of water and shoot (bank 18, object 6).3) Activate when Juni is in specified radius.
4) Activate when Juni is in specified rect.
5) Activate when Juni is in specified region, set up as a picture.
6) Activate when Juni faces in the direction to or from the monster.
7) Activate when Juni jumps.
However, I'm thinking in another direction:
Make a list of actions sequences, like in MMF2:
1) Sensor - if the sensor is not active, stop the sequence.
2) Is (not) projectile - continue sequence only if it's (not) a projectile.
3) Engine - do the movement (like straight line "unstoppable" movement or "look ahead" fly movement).
4) Shoot - create the projectile.
5) Destroy - destroy the object/projectile.
Example: bank 18, object 6.
2 sequences:
1)
- For object.
- Sensor: cooldown.
- Engine - show animation of coming from water.
- Shoot first projectile (position, direction, speed).
- Shoot second projectile (position, direction, speed).
- Engine - show animation of going into water.
2)
- For projectile.
- Engine - fly around player.
- Destroy.
Example: bank 14, object 13.
2 sequences:
1)
- For object.
- Sensor: Juni isn't too far away (in some radius or rect).
- Sensor: Juni looks in the direction of monster.
- Sensor: cooldown.
- Engine: run away from Juni a bit.
2)
- For object.
- Sensor: Juni isn't too far away (in some radius or rect).
- Sensor: Juni looks in the opposite direction from monster.
- Sensor: cooldown.
- Engine: run in the direction of Juni.
Example: crosshair laser from N.
1)
- For object.
- Sensor: crosshair.
- Sensor: cooldown.
- Engine: Play shooting animation and sound.
- Shoot in Juni's directin.
2)
- For projectile.
- Sensor: Initial cooldown counter (the time that the laser ray will be on)
- Destroy.