Tectonic Pressure: active talent for Obsidian Scales. Releases 50% of stored damage in 3m area around player
Protector Effect: (rework) Protection aura was difficult to maintain, from now on protection is skill tanks will cast every 10 seconds which will shield only one unit at a time for 5 seconds reducing all damage taken by 50%
Earthquake: Shatter ground beneath you dealing periodical damage to enemies standing in this area
Aftershock: While inside earthquake area dealing critical strikes or using slam attacks increases duration of earthquake effect by 1 second
Visuals
Lightning strikes created by Lightning Rod Talent are now created asynchronously
Each weapon has its own set of animations
Using active ability triggers animation and skill is used on proper animation frame
UI
Power Acquire Notification (& Notification System)
Wave Countdown Display
Core Mechanics
VFX Spawner – Service that simplifies creation of VFX in scene
can create VisualEffects, ParticleSystems, FeedbackPlayer and generic GameObjects
all VFX are created under one nested node to keep scene structure organized
VFX created with with this service can be automatically marked for destruction after given time
Storage System – Generic system to store objects of given type (eg. Available Talents)
AbilityStats – Data Scriptable Object Shared across all objects (changing damage in talent will also change it in effect, or prefab)
Game Mechanics
Conditional PowerUps – Some talents require others to work (eg. Can’t use Lightning Rod without Conduit)
Any Condition: require at least one of given talents
All Condition: require all of given talents
When Any & All are used both have to be met in order to learn talent
Picking up PowerUp puts active skill in first possible slot
Spawn Point – GameObject that indicates place in scene where enemies should spawn
works in coalition with UnitSpawnManager and can override its settings (eg. this spawn point should only spawn enemy X)
Unit Spawn Manager – Unit Spawn Handler that can be configured with:
Unit Prefabs: list of all units available to spawn (in the future list will be bound to scene)
Clear All Before Next Wave: should spawner wait for all current enemies to die before next group is spawned
Run Each Wave Manually: events from outside of spawner will trigger next wave countdown (eg. picked new power)
Time Between Waves: Time in seconds between each group of enemies
Start Spawn On Scene Load: Start first wave immediately after scene was loaded (takes into account Time Between Waves)
Spawn Points To Use: % value of how many spawn points should be used for a single wave
Basic GameplayLoop:
Start encounter by choosing weapon, each of them grant different starting skill
Kill all enemies on arena
Pick PowerUp Orb
Rinse and repeat!
OnPlayerDeath Event – right now used only to restart demo scene
Bugs
Dead enemies had active colliders
Player was stuck to targeted enemy even when facing other way