4,794 Commits over 1,371 Days - 0.15cph!
Added Blowtorch to shop, item, and texture to quickly melt through plastic blocks (use crowbar model for now)
Add InventoryItem.CanBeDropped and let players drop items in their Hotbar
Have damage done to voxels multiplied by Tier in Axe / Pickaxe
Only tick on server for checking whether to reset health
Initialize health in BlockState.OnCreated
Update voxels
Update voxels + shader
Merge branch 'main' of sbox-corewars
Change Set/GetHealth to Set/GetBlockDamage and update in BlockState
Remove log and update texture 3d test (probably wrong)
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 ChunkLightMap.SetHealth / GetHealth and have a seperate PendingData and Data for volume texture updates
Add BlockState.OnCreated and BlockState.OnRemoved and update volume texture for health accordingly
Add BlockState.ShouldTick and BlockState.TickRate let states decide if they do anything
Just only send the dirty ones that have a valid state still
Remove dirty block state update if a block is removed
Try using BinaryHelper to ensure state updates don't fail if a current block doesn't support that state
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
Added VoxelWorld.GetBlockType<T>() for ease
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