248,578 Commits over 3,928 Days - 2.64cph!
Defined limits.
Tweak strength and duration.
Update: ContainerIOEntity pools ItemContainer
- reimplemented inventory accessor to be backed by an explicit private var
Tests: spawned small rain collector, destroyed it - saw expected changes in telemetry
Prune unused child nodes during validation
Was doing this when removing links, but this would sometimes break graphs during deserialization
Poll rad amount inside container when opening
Centralised MaterialToRadsRatio inside Radiation.cs
Blockout of catapult (not functional yet)
sanity checking tools for non-convex mesh colliders
Update: ItemBasedFlowRestrictor pools ItemContainer
Tests: in editor on Craggy made fusebox mortal and shot it - saw ItemContainer returned to pool
Test Bench Gibs + Break on Destroy
Fix prefab references since files moved
Add more perf markers to nav agent
Actually punch in the direction player is facing instead of looking
Buffed radioactive water.
Hazmat still more than enough protection
Punching now stops the player in-place and lunges them forward a bit
Update: DroppedItemContainer pools ItemContainer
Tests: spawned a wooden box, added rock and torch, destoyed it with AK. Looted the dropped container, it disappeared. Saw the uptick and downtick in telemetry when expected.
Reworked ItemModContainerRads to only cache rad updates on item added/removed
Should improve reliability whilst also preventing checks on OnDirty providing a decent performance increase
Bugfix: Avoid dangling ItemContainer reference on Clear.
- ItemContainer.Clear now removes items immediately, rather than deferring them to ItemManager's removal queue
- Callbacks are also invoked earlier, before the ItemManager's removal queue pumping
- Instead of sending out per-item ItemContainer-MarkDirty events, we only do 1 for all
- ItemContainer.Kill also clears onPreItemRemove and parent
This prevents a pooling bug where we recycle ItemContainers in same frame before ItemManager removal queue being pumped. It would lead to "invisible" items occupying the inventory.
Tests: Spawned a wooden box, filled it up with stuffs, destroyed it - dropped container spawned with inventory(instead of dropping on the ground). Looting it caused it to despawn(instead of stay in the world).
TerrainFilter supports a radius
TerrainTopologyMap.GetTopology checks an actual circle, not a square
Move DestroyBetweenRounds to GameLoop rules
Move sound emitter to a library, document it, add AutoStart prop
Ensure ItemModConsumeContents also calls onItemAddedRemove
Bit more organization, create lib
Punchable no longer scales collider, only visual
Drinking from a vessel now calls onItemAddedRemoved
Can punch Punchables, added some punchable benches to the scene
Folder structure cleaned up, reorganized
Create test bench prefab (as a punchable)
Start on Punch Ability. Renamed player prefab to prevent conflicts
Created GameManager prefab
Add utility to blur out the menu system's background, per-page
Bugfix: don't invalidate ItemModContainer's availableSlots
- Also restricted access to availableItems to prevent future accidents and make it easier to reason about list's lifetime.
This is my bug - Pooling resets available slots on ItemContainer, so if they're shared by ref - original source gets nuked.
Tests: got ak47 with ext mag, dropped it, it despawned, spawned new one, tried to put rock into gear slots - it got rejected
More coin stuff and basic ui
Improve settings entry UI
Add settings button to pause screen now that it's not on every single page
Fixed above / below ground rail transitions not checking mountain topology when finding their spawn location
Fix Camera staying zoomed when walking away from a wall
Made the Camera a bit more smooth and less jittery
Split into different 1st and 3rd prefabs because reasons.
Movement improvements/fixes
Added static WaterTypes class. Swapped water Item Definition string lookup to a centralised set of definitions. Eg:
ItemManager.FindItemDefinition( "water" ) -> WaterTypes.WaterItemDef
incendiary grenade model and textures