1,632 Commits over 578 Days - 0.12cph!
- Removed forced mission debug
- Added LevelSkin component (only materials for now) and some test mats
- Changed main PlayerShipCamera prefab X and Z offsets to -137.5
- Deleted old floor_triggered_turret prefab and replaced with Floor_Hatch_Triggered (minus a turret child)
- Removed all turrets from the Factory tileset and updated prefabs
- TT_Laser can now specify how many times to warning flash before activating laser
- Made a laser script that raycasts to position and scale laser beams according to surroundings
- Made a quad laser turret and test scene
- Player and enemy movement collision fix / improvement
- Money Bags enemy ability
- MissionBuilder now picks a random room for any mission objects that need to be spawned, to make sure they're spread out through the level
- WIP enemy roaming (disabled)
- Moved a bunch of stuff from RoomSpawner to Room
- Room now contains a list of all the spawn location components, and they're no longer destroyed at level gen
- Added a LevelComponent which gets added at runtime and builds lists of all room obejcts and Room components
- Fixed editor time NRE with enemy abilities
- Boomerang now hits a maximum of 3 targets (upgradeable later?)
- Boomerang now ignores invulnerable targets
- Renamed BuildMission to MissionBuilder and all calls to it
- more code purge / cleanup
- Enemies no longer drop the old, unused items
- Enemies with healing ability no longer target themselves
- Boomerang glitch fix
- Added function to EnemyAbilityManager to return the names of all chosen abilities
- Mission generation screen now shows the names of the randomly chosen enemy abilities for the mission
- Increased chance of enemies having special abilitites from 10 -> 20 percent
- Upto 3 random enemy abilities are now picked per mission (there's only 2 ingame at the moment though!)
- Fixed bug with enemies not healing properly
- BaseEntities now have an Invulnerable flag
- Changed the way enemy shield ability works, it now applies Invulnerable flag instead of using a collision blocker as the shield
- Removed debug forced mission in Factory1
- Added AggroUtils static class
- When an enemy is near to/shot by the player, anything in a radius is auto aggrod. (800 range atm)
- Boomerang now flies in the aiming direction, and bounces between anything in-range, checking the dot product of first enemy hit to make sure aiming still matters (it won't fly off in the opposite direction of aiming, even if there's something closer there)
- Renamed BuzzSaw script and Buzz Saw now uses only active entitites as targets, and gets the list once at launch
- EntityAnimation can now set all it's BaseEntities to not active on start
- More Active entity reworking
- Branched for boomerang work and WIP related stuff:
- Projectiles can now be set to have no expiray time
- Projectiles can now send a hit message to scripts on an object, with the associated BaseEntity when they hit something
- Boomerang now tracks things it's already hit
- Boomerang seeks out targets
- Set turret colliders to trigger
- Rebuilt prefabs
- Missions now have a DepthBudgetMultiplier, which can be used to modify the spawn budget of a room the deeper into the level it is. (so levels now get harder the further you get)
- Placeholder collect item update
- Removed some shit from town scene
- LevelBuilder now waits until the next frame, after receiving level generation success event, before setting up the mission to work around the DunGen beta issue
- Can no longer damage off-screen stuff
- Can now specify a range that mission objects will start to be tracked by the on screen arrows. Once "discovered" an item will always be tracked, regardless of distance.
- Collect mission now hides arrows until items are nearby
- Lowered the minimum amount of cash enemies/crates can drop to increase the variety
- Massively increased the range of coin suck-in
- Added a very small random delay before suck-in activates so you can see coins before they're sucked in now the range is bigger
- Placeholder collect item made a bit more obvious with rotation and can now be collected
- LevelBuilder now calls initialise on each room's Room script, which then handles it's own initialisation of spawners etc
- Added Room script to all Factory rooms
- Updated prefabs/scene
- Mission definitions can now set if their mission object locations use the screen-edge arrow navigation stuff or not
- BuildMission now spawns any mission specific objects across the level if required
- Mission system now works with collect missions
- Added a whitebox collect mission prefab
- More spawning changes
- more collect mission work
- Setup menu items for creating Collect missions
- Added collect mission scriptable object types
- Moved some spawn location stuff to SpawnLocations static class and added functions to find spawn locations per-room and per-level
- Started getting collection missions working
- Doubled max level generation attempts to 40