388 Commits over 181 Days - 0.09cph!
TaskConsume will now eat multiple items from a storage component if they're available, until full.R educed hunger danger value from 1 to 0.75.
TaskConsume now uses the hunger modifier of food items and takes the most filling food item to consume. Added a withdraw function to StorageComponent that takes a specific StorableComponent and an amount.
Vital dangerously low/high actions now get called each tick, not just the first time they enter the danger zone, so they will continuously try and rectify it incase they're doign something else currently.
Tweaked hunger values, people die from hunger more quickly and they consume food slightly faster.
Added a resources definition setup, world resources and starting resources are now specified in it per scenario.. Created resource defs for existing scenarios.
bit more Test -> WorlGen refactor/cleanup.
Moved a bunch of world gen stuff out of Test and into new WorldGen. Resource, unit spawning etc. Moved nospawn volume stuff to a new class.
Moved starting resources to scenario definitions. Added a hidden dev scenario which is editor default, with starting resources for testing. Setup starting resources for sandbox and mammoth task scenarios.
moved starting tribe size to scenario definitions.
clamped terrain border deformation
fixed nav mesh bug
merge
Set start speed correctly when entering play state.
Moved game speed control hotkeys into control state machine so they get disabled correctly when in a non-gameplay state
Set game speed to paused when entering scenario completed/failed states.
Objectives failed event now includes the failed objective. Scenaio failed UI screen shows the objective you failed on. Combat projectile fix for when the source entity is destroyed.
Fixed survive object fail condition not being calculated correctly due to entity event being called before the entity gets destroyed. Renamed a function and some events to PreKilled to make it clearer when the events trigger.
Added a Debug.LogError to BindToNavMesh so we can catch it if it happens again after we fix the navmesh issues.
Added NavigationComponent.BindToNavmesh which is called as a last resort when an agent is given a navigation task and they're not on the navmesh. Calls Warp to set them on the navmesh near the target position.
fixed NavigationComponent.CanReachDestination not failing correctly and therefore not cancelling the job
Adding a loading screen because navmesh gen can take a few seconds and it looks like it's locked up when you click play.
Scenario select screen now lists objectives.
adding mesh collision to template pieces, combine and deform collider
more terrain stuff (collider/deformer)
wip anim stuff, task/jbo events
switched human units to alex's new controller, changed run anim code to use the blendtree.
anim setting updates
human anim controller test
Merge branch 'master' of BeforeProto
Setup menu and play states. Added scenario selection UI to menu, can select and start a scenario/sandbox.
more mode/state stuff. Added GameplayState, ScrenarioCompleteState, ScenarioFailedState. Stats enable/disable controls and relevant UI as needed.
set navmesh gen to default to on again
added axe (chop), build, craft, eat, gather, mine, pickup, sleep anims
grabbed some mode/state/controller stuff from clatter and stripped it down
Show gameover/scenario won screens as necessary
hidding cube placeholder in the corner prefab
more terrain stuff
added erosion to heightmap
fixed mesh merge for multiple material
added deformation
Merge branch 'master' of BeforeProto
Added task debug info to F1 debug UI
Game over and scenario won placeholder UI screens
objective text/parsing fixes.
objective complete/fail conditions, scenario complete/fail logic. Added survive objective type. Added timer objective type.
more scenario/objectives shit
GameEvents wip, more objectives UI, more objectives wip, added KillObjective, basic scenario setup
wip scenario/objectives basics and placeholder UI.
Added option to disable Navmesh gen at runtime
Added entity name to entity info UI panels.
Pass on component UI info, disabling for stuff that doesn't matter, adding string population for components that were missing it, Task markers are now red when the task is currently unstartable.
Job handlers will take a required tool if available before storting a job that needs it. Added StorageComponent.FindWithItem, dudes no longer start with axes.
Job keeps a pointer to the failing task
Added TaskStartOutcome enum, task Startable check returns the reason it's not startable, or just success. Made shit use it.