5,330 Commits over 1,522 Days - 0.15cph!
merge from fix_editor_disable_deepsea -> main
Don't spawn in the deep sea manager at all when it's disabled in editor preferences
merge from copy_paste_load_threaded -> main
Load the copy paste files on startup on a background thread
- still loads textures and adds to the list of files on the main thread
- saves 600ms for my 36 copy pastes
- more important for editor iteration speed than standalone clients (as most players aren't admins and don't have copy pastes on their client)
Add the upkeep component to both high walls and gates
Add support for the "Upkeep" component to tick a bool if it's a high wall
- will then use the convar for it's multiplier instead of the base's upkeep multiplier (based on size)
Add `high_wall_upkeep` convar to control what the upkeep of high walls will be
- set to static value because high wall upkeep would be too low near single TCs and too high near big bases
Refactor BuildCost() so it returns a struct that contains the cost & how many items are produced each craft
- allows us to divide the upkeep for high walls by 3x because we craft 3x per craft
merge from waterwell_stock_decrease -> main
Decrease max stock of items in waterwell vendor from 10 -> 2
- increase restock time from 2m -> 10m per item
- keep syringe & ammo at 10 stock & 2m restock time
merge from turret_hqm_increase -> main
Increase turret crafting cost from 10 HQM -> 25 HQM
merge from fix_boat_vendor_heli -> main
Add tests to confirm boat spawners don't destroy helicopters & boat spawners still destroy boats
Add support for vehicle spawners to label what kind of vehicles they spawn (boat, horse, heli)
- prevent boat spawners from deleting helicopters when spawning boats since they can't get in the way
merge from fix_alt_loot_clothing -> main
Remove unused field + comments
merge from main -> fix_alt_loot_clothing
Fix compile error + rename field
Added another test to make sure that when alt looting with a full inventory, the extra clothing will go into the body bag
Add new tests to TestItems for alt looting behavior I fixed & ensuring corpses still block input correctly
Add ability for RPCFactory.MoveItem() to supply ItemMoveModifier parameters
Fix NRE from ConstructionError.Log() for players without connections (for tests)
Create method for PlayerOpenLoot() inside DroppedItemContainer outside of the looting RPC (same idea as what StorageContainer has)
Add more items to ItemManager.Items to make tests easier
Add convar for "bypassiteminputrestriction" to allow the server to be put in a mode where you can move items into input blocked containers
Fix alt looting from player corpse bags -> player inventory
- fixes clothing alt looted from dropped item containers not being worn if you are already wearing clothing
- fixes clothing that would be dropped if you have a full inventory by trying to force move the items into the corpse bag first (bypassing the "no item input" manually)
merge from fix_baseentity_query_nre -> main
Extra hardening to fix exception inside DoServerDestroy() by checking if children are null before calling child.OnParentRemoved()
Extra hardening by checking if entity is null inside SocketMod_PlantCheck too
Don't just skip over entities that are destroyed in BaseEntity.Query, make sure they are removed in the narrow phase
merge from main -> fix_baseentity_query_nre
merge from fix_breakin_sound_loop -> main
Fix the master key unlock not set to loop
Everyone loves commiting RidableHorse.prefab with new fields (at least it's not reserializing comments anymore)
merge from fix_deep_sea_ladder -> main
Add `printboatteleports` command to print what players will be teleported to the deep sea
- allows us to see if ladders in standalone builds behave differently than ladders in the editor
merge from fix_apartment_hostile_warning_flicker -> main
More fixes for the hostile warning
- don't count up weapon draw duration while they have the CombatZone flag (as the client won't know to holster their weapon until metabolism clears the flag)
- fix MarkWeaponDrawDuration() rounding down the newDuration but not oldDuration when checking if it needs to send an update
merge from main -> fix_apartment_hostile_warning_flicker
merge from apartment_break_in_sound -> main
Reserialize the break in sound as it didn't have a sound class assigned which was throwing NREs
Play the break-in key jingling sound when the break-in is happening
- set flag on the door when break-in is active
- client plays the sound
Assign the sound effect to the apartment door prefabs
Fix outpost bag called "Compound" instead of "Outpost" in softcore
merge from fix_softcore_outpost_bag_name -> main