4,123 Commits over 1,219 Days - 0.14cph!
merge from main -> item_ownership
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
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/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_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_gm -> primitive
Swap out all the advent calendar days that only gave out restricted items with different primitive themed items
Add support for advent calendar to give out alternative items in different eras
merge from primitive -> primitive_gm
Use `==` instead of `?` for completeness sake (should handle missing prefab reference either way)
Fix an NRE inside GameObjectRef itself (when GameObjectRef lost it's reference to the gameobject but you call GetEntity() on it)
merge from primitive_gm -> primitive
Fix tech tree not allowing to unlock if there were restricted items inbetween
merge from primitive -> primitive_gm