138 Commits over 151 Days - 0.04cph!
Added BombData and RequiresChaperone for config
Add bomb to test egg set
Added stub Bomb entity and fixed unit rotations when chaperoning
Update all damage resistances
Add Cavalry and Spearman stubs
Adjusted unit speeds to make more sense
Added additional watch tower attachments for archers
Added custom entity type for Watch Tower which spawns its own archers at attachments
Check IsValid on egg group in ProcessIdle to support items with no group
Added EggFlags.Chaperone and have Archer, Cavalry and Spearman set chaperone capability
Added TickAttack and set Target properly for each group when one is found. Added Escorting system (initial basic impl) which will keep formation relative to the escortee. Units inherit velocity of their group. Chaperones inherit velocity of their escortee.
Set rotation of stationary items to face their target on spawn
Update rotation of Trebuchet model so that it faces forward
Add EggFlags
Add target / process stubs to Stationary egg entity
Add flags and move conditions for attacking and attack priority to egg classes
Update trebuchet to only attack stationary or mobile item types (it should ignore escort only items)
Added Trebuchet data and Direct Damage data
Plague Barrel entity stub
Plague Barrel data with particle effects
OnEggThrown and OnEggLanded virtual methods on data
Set model of thrown direct damage eggs immediately and initialize any trail effects
Units will move towards their group position if the target position is blocked (they would hit a wall)
Egg groups will interpolate their z position to align with the ground as they move
Make traces for egg landings only hit the world and remove the radius
Merge branch 'main' of sbox-slingshotsiege
Added Generic fire particle
Tweaked plague trail
Added Plague puddle effect
Recompile placeholder assets
Have units start out in the middle and get into formation on egg break
IDamageable extends IValid
ProcessMove, ProcessIdle and ProcessAttack implementations
Move Speed to base Egg Item Data
Add TickMove to IEggItem
Implement TickMove on Unit and GetGroupPosition implementation
Move groups as their own thing and have members move to localized positions within the group as a formation
Restore weapons for egg items
Attempts to fix the random crashing that's cursing my night
Added some placeholder assets. Completely stripped out Flow Field / Pathfinding related stuff, it's not really needed at all actually for this game. Started adding attack / find target logic to egg groups. Temporarily allow any position to be valid when throwing an egg until map is updated to support play area. Added Spawn Radius property to egg items. Archers will spawn evenly distributed in a circle.
TripleShot/CannonBall and Plague Trail effects
Update sling_basement.vmap
Removed old test map
Updated slingshot map with art
Added basic Figurine classes to represent static items inside eggs
Add figurine data for each available egg type
Create figurine and attach to attachment for each egg
Use right hand transform for egg rotation by multiply by rotation from right vector
Added a basic egg hud that - for now - just shows the name of the item in the egg
IEggItem uses IValid interface for better usage
Fixed egg particle crack effects being shown multiple times. Add Egg Hud to Eggs and standardize egg colors by type.
Fixed eggs sometimes not respawning after landing
Weaknesses renamed to DamageModifiers. Update base stats for Archer, Battering Ram and Watch Tower.
Simple weakness data for any egg item type (not hooked up)
Localize particle creation for egg impact
Adjust VR anchor to cater for sitting / standing mode (I think my room scale config was wrong before)
Merge branch 'main' of sbox-slingshotsiege
Updated egg impact particle to look better in VR
Added basic set up for testing impact effect
Added Egg impact particle and model
Organised Materials better
Organised models better
Updated file path on slingshot for models
Organised particles better
Changed slingshot code to reference new file path for rope
Use sling speed modifier for egg rotation as well
Clamp slingshot force to min and max to fix overshooting and ignoring egg mass. Add egg item data sling speed modifier (set it to 0.5 by default).
Rotate BR model 90 degrees so it faces F(orward). Increase mass of stationary eggs. Slow down BR.
Added Battering Ram stub. Let egg item data classes create their own animators. Pass owning player to spawn for eggs.
Center the egg group hud and raise it. Automatically scale based on distance.
Added Stationary, StationaryData. Added prelim support for Watch Tower (first stationary egg.) Add HudOffset for eggs. Let egg data classes handle their own spawn logic.
Set player model to citizen. Hide if we are the local pawn (client-side.) Set IK animation values for hands (bit wonky at the minute.)
Correctly spawn a new egg for every egg lost (eventually eggs will respawn on a timer)
Adjust maximum flowfield square size automatically based on node size. Show red circle if target placement is invalid.
Fixed pouch force not being applied on release
Only simulate egg physics if authority.
Automatically set a sensible value for the flowfield height threshold. Lower flowfield node and collision sizes for this game. Find a suitable location near the gate if the gate's location is occupied.
Added EggGroupHud with basic information for a group such as Name, Count and Health
Added EggGroup for tracking multiple units / egg items and averaging position
Updated to use pickup as right trigger. Use regular tick for egg physics after it has been flung. Keep track of player in egg.
Added Mass property to egg data. Added simulated target position calculation for eggs. Use simulated target position to render a circle to show predicted landing.
Apply twice as much force to the pouch and don't apply force if sent from server and we're the owner (we already did that)
Temp projectile models
Merge branch 'main' of sbox-slingshotsiege