3,458 Commits over 1,007 Days - 0.14cph!
Enable stackable ownership on rockets since they are a low stack size item (max 3 owners) and an item you likely want to know who made it
Change GameUI.Inventory prefab with support for stackable ownership
Significantly refactor so the code can support ownership on stackable items, however only enable only on single stack items by default
- can be applied to individual stackable items through `ItemDefinition.supportsStackableOwnership`
- transfers ownership between item stacks when merging stacks instead of averaging it
- ownership is stored in whole number shares based on the amount of the item rather than percentage per stack
- ownership will try to merge with existing ownership names + reasons before creating new ones
- ownership panels above item description can show multiple panels if there are multiple owners
merge from main -> item_ownership
merge from primitive -> aux2
merge from primitive/fix_loot_table_nre -> primitive
Fix NRE when enforcing eras for loot tables
Remove debug spam of server tags in F1 menu
merge from main -> primitive
Generate manifest to prevent build server from failing when generating manifest remotely
merge from primitive -> aux2
Cherrypick CS
112520 (fix_catfish_primitive_items)
Cherrypick
112514 "fix_metal_detector_no_loot"
Fix catfish giving out pistol bullets (which are restricted in primitive)
Fix metal detector giving out no loot because it creates an empty array by default instead of a null one
merge from primitive -> aux2
merge from primitive/era_loot_tables -> primitive
Fix so it also blocks primitive only loot tables when in vanilla
Rename default era from "unknown" -> "none"
- doesn't change anything convar wise, only changes the code's enum
Also add support to filter loot tables from the entity directly based on the era
merge from primitive/fix_gamemode_sleeping_bags -> primitive
merge from primitive/fix_primitive_tag -> primitive
merge from primitive/fix_primitive_tag -> primitive
Cherrypick
112423 into it's own branch
Prioritize gamemode server tags over "vanilla" tag so gamemode will show if both are set (instead of vanilla being the priority)
Allow certain exclusive server tags to have priority over others if both are found in server tags
Add support for primitive server tag to be compressed
Fix maximum sleeping bags set to -1 in primitive
Add support for eras to provide custom loot tables
merge from primitive -> primitive_gm
Fix IO arrows not working with microphone
Change junkpiles so they require 1m30s of no players around them before despawning, instead of checking once per 30s and being able to despawn right away
Simplified version of original item ownership system
- only applies to single stack items (no mixed ownership)
- ownership can't change: will always show the name of the user who first created it / looted it
- shows owner's display name above the item (like it used to)
- hovering over the owner's name will show a tooltip of how it was created, like "Crafted by Jake"
Show different forms of item aquisition
- crafted
- looted
- born (respawn with rock + torch)
- spawned (F1 spawn menu)
- mission reward
merge from primitive -> aux2
merge from primitive_gm -> primitive
S2P Harbor2 & Outpost (since they use the train tunnel with vents)
Add rubble pile to the train tunnel entrances with vents so you can't crawl under them
- doesn't provide a gameplay advantage: all you do is get yourself killed
Remove round shield from advent calendar
merge from primitive -> primitive_gm
Convert other commands from serverside -> clientside
- renamepaste
- deletepaste
Add `listpastes` to print list of all pastes in client folder
Switch directory to a constant
Remove old code that was keeping a serverside copy of the clipboard (that was shared between all admins)
Keep "undo" system to delete previous pastes
Add RPC to download paste from server
- locked to admins & devs to prevent servers arbitrary sending pastes to random clients
Copy & Paste should now store pastes competely clientside
Change paste command so it uses uploads paste from the client instead of storing on server
merge from primitive -> aux2
merge from primitive_gm -> primitive