111,828 Commits over 3,928 Days - 1.19cph!
Merge from parent, stomp animator changes
Tooltip can now accept arguments for string substitution, similar to RustText
Added a tooltip to the discount/surcharge icons that lists the original purchase price
Using the addtime convar now immediately force updates all npc vending machines
Added a BypassDynamicPricing option to the NPCVendingMachine component, allows us to opt out specific vending machines
Added npcvendingmachine.DynamicPricingEnabled convar, disables the dynamic pricing across the whole server
Bike driving work and sidecar suspension visuals fix
Add color to RendererKey for render batching to support shipping container
- pull the color from the MaterialPropertyBlock of the MeshRenderer
Sidecar world collider edit
Apply fix #2 in redid commit
Redid the commit so that it would stop applying to DeltaSerialize()
- tried to combine existing null checks with new default value checks, keeping them seperate is less complexity
Fix & update codegen
- don't check if field is null twice (bytes & strings already checked if null when optional)
- throw error if required class isn't present, skip serializing structs if required but default value
- fix regression where it checked if field was default when delta serializing
█▅▄▉▄ ▊▆▅▄ ▍▌█▋▊▄▆▆▆▊▌▇_▍▉▍
▍▌▇ ▇▊▋▋ ▊▍▊▄ ▊▄ ▅ ▇▊▌▊▊ █▆▋▇▉▇ [▌▄▋▉▄▆▆█▍▅▅▊] ▊█▍▉▆▌ ▌▅▌ ▉▇▊▌▅▊ ▍▇█▅█▌▍▋▊▄ (▄▌▇▌▅ ▄▄▅▍▆▆▊ ▌▍▍)
Skip fields with custom default values instead of always serializing them
- significant as it affects Vector3
Fixes
Dirt trail iteration.
Updated codegen
Protobuf now won't serialize default values as pooling resets everything before deserialization
- should have the exact same input & output but better performance
Made ProtoBuf.Half3 and ProtoBuf.VectorData IEquatable so it can be compared to default value
▋▄▆ ▄▍█▄ ▊▅ █▊▍ ▍▄▅▌▇▍█ ▅█▆▇ █▋▍▌▄▌▆▄▊▄ ▌▄▍▋▉█▉
█▍█ ▄▉▆▌▉█ ▆▇▄▆▋▇▅ █▆▄ ▊▉▌▍▉█▍
▌▇▄ ▍▌▍██▅▇▅▄▄▉<▆> ▋▇▊▉▆▋▄▊ ▆▋▊█▆█ ▊▍▌▊▊██ ▉█▇▇▊ ▌▉▄▄ █▆▉█▌ █▇▄ ▅▆ ▋▊▋ ▅▆▉ ▅▍▉▇▆▇
█▅▋ ▅▌▆▅▊▍█ ▊▆▇▇▍▌ ▉▅▉ ▋▉▇▊▌▋ ▇▄▌█▌▄▊▋ ▄▌▇▋▋▉+▅▌█▆▇▍▉
▌▌▉ ▇▇▇▋▉▌▄ ▉▍▇▉ ▅▇▅▄/█▄█▆▉ ▊▄▌▉█▍
█▇▄▊▊ ▉▍▉▅ ▉▌█▍▋▍_▌▊▄▄▍▇▇▊▌_▆▋▅▄█
merge from optimize_asset_warmup_tunnels
▇▅▆▋ ▌▄▅▉ ▊▄▍▇▅▊▅ ▇▍▉▍ ▇▋▇▍█ ▌▅ ▊▊▇▅▊▇▄▇▄▄ ▅▍ ▄▅▊▄▍▍▇ ▍▋▍▄█▅▍▄▄▆▍ ▆▋ ▍▋▇▉
Anim source/working file backups
WIP/placeholder rock paper scissors gesture animations - 3p and viewmodel clips.
Includes entry, idle, start and exit placeholder anims.
▅█▄▉▅ ▋█▉▍ ▌█▊▄▉▍▊▇▌▋▄▍_▌▍▇
▊▅▇ ▆▋▍▍▄▌█ ▋▌▇▍▆ ▄▍▆▋▊ ▌▊▋▄▅▊▊ ▆██▄▉ (▅▅▊▋▇ ▅▌▆▆ ▄▍▅▋▌ ▇▌█▉▆▋▍▊▌▄▇▆▅▄<▆> ▋▊▇▇▆ ▊▆▇█ ▊▌█▉█)
Merge from hood_and_cuffs
Lock/unlock backpack correctly
added ground ramp glue trim to storage warehouse.
more work on storage warehouse.
Added "Remove Hood" radial menu option
Cherrypick FirstPerson_Greybox scene from main/viewmodel_camera_anim_v2
▌▋▌▄▍ ▋▆▉▍ ▍▋▅▄▅▋▊▊▍▇_▌▌▍▆▌▊_▍▋▍
▇█▅▌█▍▌▄▌ ▉▍▇ ▇▊▄▄▆▆▇█ ▋▋ ▄█▉▇▍ ▇▄▊▅▇ ▋▋▄▄▄▆▄▅ ▍▊ ▋▇▆▋▍ ▉▌██▉ ▇▇▊ ▉▇▊▇▅ ▄█▄▆▇▊▊▊▊▍ ▍▄ ▆▅▉▄▍▋▅, ▌█▇ ▉▊▅▊ ▍▇▄█▋█▍▍ ▅█▊▉▍
Change remove handcuffs icon
Added radial menu option to unlock and return cuffs from a player
Additional restrained check
Fixes, move the price multiplier UI element into it's own widget so we can just nest it into various vending UI's
Add price multiplier to vending UI when clicking on a store on the map
Implemented a dynamic NPC vending price system based on sales in a rolling window
-Prices are increased when an item is sold a certain amount of times in an in-game day (PriceIncreasePerSalesInterval and PriceIncreaseAmount control this behaviour, so if they were set to 3 and 0.1, for every 3 purchases of an item in a 24 hour window the price will increase 10%). The rolling window is configured via the IntervalHours convar and defaults to 24
-Prices are decreased if an item isn't sold for a certain amount of hours (PriceDecreaseInterval and PriceDecreaseAmount, so if they were set to 3 and 0.1, every three hours the price of the item will drop by 10%)
Currently clamped between a 50% discount and a 300% price increase
Currently only applies for purchases that are made using scrap as the currency
Updated the in-person vending machine UI with a UI indicator displaying the current discount/surcharge, the dozen other places we show vending machine prices still need updating
All time and discount values are currently using the examples provided above, they are just for testing and will be changed