725 Commits over 516 Days - 0.06cph!
Update voxels
Update voxels + shader
Merge branch 'main' of sbox-corewars
Update sbox-voxels
Set BuildingBlockState health to 100 on creation
Add building block material types and damage multipliers for each block type
Remove secondary attack destroys block logic
Add BlockDamageWeapon with logic to destroy blocks over time (set last damage time so states can reset health after time if not attacked)
Have Axe and Pickaxe extend BlockDamageWeapon
Update sbox-voxels submodule and only set BuildingBlockState to dirty if Health is less than 100
Add WeaponItem / Item to Weapon class so that weapon tiers can be accesseds
Added Pickaxe and Axe stubs and start working on block destruction
Portal Grenade prediction tweak
Crossbow / Crowbar clean up
Added base Crossbow projectile weapon (use temp effects)
Added stub Portal Grenade and fixed some prediction issues
Added stub Crowbar weapon using model from DM98 for now
Refactor BaseGenerator and respect team upgrades for TeamGenerator. Respect team upgrades for Armor and Damage when taking / dealing damage
Update ItemStore and UpgradeStore properly after a hotload
Alter the spawn rates of Crystal and Gold generators
Alter iron spawn time + set voice chat to Team only
Added stubs for all Team Upgrades and their tiers + temp icons for them
Add temp icons for all tiers of weapons and armor
Update all icons for item definitions
Rename ArmorTier to Tier
Add DropOnDeath and RemoveOnDeath to InventoryItem
Add Player.TryGiveArmor and ensure items drop and remove as they should when a player dies
Reimplement `kill` command temporarily
Set Remove/DropOnDeath for appropriate items
Don't show armor and weapons in the item store if the player already has its next upgrade
Added ArmorTier and WeaponTier
Use ArmorTier and WeaponTier for shops
Add IPurchasableItem interface that shop items and upgrades share
Update test voxel world
Add UpgradeStore dialog
Update ItemStore and add UpgradeStore to HUD
Implement Team Upgrades NPC and let players purchase upgrades
Allow players to actually purchase from the item store and deduct resource items accordingly
Add IDialog interface implemented by any dialogs and use that to generically check for open dialogs
Only update purchasable item state every second
Only assign players to a random team if the team has a core
Fix InventoryContainer.FindItems not checking validity
Portal Grenade requires Armory Upgrade
Fix styling for Item Store and only call purchase callback if the player can afford it
Fix icon on BaseShopItem
Add PurchasableItem UI element to be shared between Shop and Upgrades UI
Add ItemStore UI to display items sold by the Shop NPC
Add ItemStore to HUD
Hide Hotbar when Shop is open
Add test for opening shop UI
Have ItemStoreNPC and TeamUpgradesNPC implement IUsable
Added remaining block types and moved window_01_trans to color/ and hack remove the dark bits until its sorted
Added BaseTeamUpgrade and ArmoryUpgrade type and icon
Add all weapon tier shop items including dependency on Armory upgrade for some
Add Library attributes to all necessary shop items
Add InventoryContainer.Replace and InventoryItem.Replace to replace any item in a slot with another item
Add Equipment Inventory to list of inventories to search for Player.FindItems
Add Team Upgrades NPC and populate both that and Item Store NPC with appropriate classes
Added portal grenade texture and shop item update
Added crossbow bolt shop item
Add costs for all armor shop items and update names to Light, Medium, Heavy
Added shop item definitions for head and legs armor (T1 -> T3)
Added weapon_axe texture
Restructured shop item block locations to folders
Added Tier 1 -> Tier 3 crowbar, crossbow, axe and pickaxe item definitions
Added BaseArmorShopItem for handling purchase of armor with dependencies
Added T1 -> T3 shop item defs for armor chest
Added TemperedGlassBlock and WoodenPlanksBlock
Updated sbox-voxels submodule
Added shop items for Hardened Metal, Steel Panel, Tempered Glass and Wooden Planks
Add BasePurchasable, BaseBlockShopItem and PlasticShopBlockItem
Fix some styling issues with Backpack / Storage
Use a PickupTrigger on ItemEntity
Instead of using touch events for item entities, search in a radius around it this way we can have a larger "touch" radius than its actual physics bounds
Removed some old events and added Transfer Target Handler
Toggle the backpack if Tab was not held down very long otherwise keep it open until Tab is released
Styling and effect changes to inventory slot behavior
Fixed various issues with inventory container when moving stacks
Fixed an issue where when the template is applied first for the backpack, the equipment would be empty
Prevent generators from spawning a resource if there are already 16 resources in the pool
Just copy Rust (ish) because it looks cool
Added item selection to Backpack and also show Hotbar to seperate from the main Hotbar
Update draggable to only start dragging if the mouse has moved or 300ms have passed
Hide Hotbar if Backpack or Storage is open
Add selected Action callback to Inventory slot
Add Hotbar to Storage screen
Update Backpack with Hotbar inventory when client has spawned
Added some basic but necessary item textures
Added textures for empty armor slots
Added ammo_bolt icon
Update some _c files
Update ammo types and add Crossbow stub
Item refactoring to use virtual props for name and icon and remove old ItemSlot
Add ArmorItem base and ArmorSlot enum and a bunch of T1 -> T3 armor item types
Add PickaxeItem, CrossbowItem and CrowbarItem stubs
Add GiveCondition/TakeCondition support to InventoryContainer
Add EquipmentInventory to player with give conditions to ensure pieces go in the correct slots. Give players a bunch of armor when spawning for testing
Add support for ArmorSlot to InventorySlot UI element (yuck, I'll find a better way to genericize this) and add Equipment display when opening the Backpack
Transfer target tidy up and fixes
Fixed moving items can sometimes go over max stack size
Added DraggableMode enum
Add support for DraggableMode.Move and DraggableMode.Split
Add Split stack support to inventory system
Updated Storage to have its own Backpack view to avoid confusion
Fixed backpack and updated ActiveDraggable -> Draggable
Added IUsable interface for extended functionality
Updated test voxel world
Added Storage UI and updated InventorySlot styling
Add Storage to Hud
Updated Backpack to support Storage view
Added additional event processing for opening inventory
Added Personal Chest opening support and IUsable support to Player
Fixed pink and purple not showing for team colors
Add team colored / team chest and personal chest
Item Store NPC Stub
Update test voxel world with Item Store NPC