1,056 Commits over 183 Days - 0.24cph!
Move Camera into it's own prefab. Smooth Camera Z
Mobs break apart and explode into cubes on death
Voxel Particles are the material/colour of the thing they hit
ResourceNode spawns WorldItems based on Bounds instead of arbitrary number
Rollers deal Contact Damage. Fixed player health not depleting.
Make Nametag much more visible
Spawn WorldItems higher up so they dont fall through the world
Connected Clients can now pickup World Items again
Added Voice Component to Player Prefab (No UI, I'll leave it up to Alex)
Don't serialize MaxStack with Item (since it references ItemAsset)
Change smg recipe for now so we can actually make it
Added CanCraftItem
Add CombinedItems to Inventory and use that for checking CanCraftItem. (Since your combined total could be across both hotbar and inventory)
Implemented Crafting
Add Category to ItemAsset
Fix NRE on Vitals when no character is selected
Don't NRE when an icon has yet to load
Very Basic Crafting Menu
Remove hardcoded SMG/Sword starting items
Dragging an item in/out of the active inventory slot will equip/unequip it
Added CraftingRequirements to ItemAsset. Make StatusEffects public so it serializes properly.
If Contact Point returns Vector3.Zero, then position the DamageInstance on the Projectile. Prevents damage numbers from spawning at origin for now
Can't drag the same item on itself
Hopefully fixed all the item moving issues
Fixed SMG muzzle position
Can now click-and-drag a stack onto another stack and it will combine them. Putting any max stack overflow into it's own slot
Containers now save/load their inventory index in ISaveData (So stacks dont get automatically combined and placed in the first slot on load)
Fix NRE on the hotbar when character is not yet selected
Remove leftover Debug Log from character select
Basic Pause Menu (Which is just the Main Menu but slightly different)
Fix camera being too high
Added MaxStack to Item Resource. Items with a MaxStack of 1 do not show amount in inventory/hotbar
Added `hc2_giveitem` command to give yourself an item (only works in Editor)
Reset HoldType when unequipping weapon
Whoops forgot to commit this file 💩
Added SMG and Sword Weapon Items, converting both to prefabs. Give items to the player on start if they don't have them. Holding the item will equip/unequip the prefabs
Added ActiveSlot with mouse wheel/number key inputs. Dispatch ItemEquipEvent/ItemUnequipEvent when changing slots
Network resource nodes in procgen.scene
Inventory now works on connected clients - Pickups still TryGet
Made the resource nodes in mob_testbed networked
Remove inventory debug logs
Include item_icons/*.png in Resource Files
Inventory Saves/Loads with Selected Character. Replaced GiveItem with TryGiveItem. Added OverflowContainer
Add Inventory separate from Hotbar. Giving items to the Hotbar will overflow to the Inventory (and vice versa). Can view inventory in TAB Menu
Inventory HUD slots update properly. Other inventory fixes
IsValid check for Local Player on Compass so there aren't errors on first load
Inventory Refactored to no longer use GameObjects/Components
Add item stacking
Minor fix post-rebase
Instead of booting to Main Menu when no selected Character, open Character Select Modal. Only spawn Player once a character is selected.
Make the footstep component play on SkinnedModelRenderer.OnFootstepEvent instead of arbitrary timer
Don't try to load save data that we know is empty
Make the main menu easier to see
Created CharacterSave class with basic Character Select screen on Main Menu.
Create Character button no longer instantly creates and instead has it's own menu. Can no longer edit properties after creation
Save Player to Character file (OnDestroy)
If you join a server and don't have a character selected, boot to character select, rejoining the server on select. If you're in the editor it will just select first character or create one for you.
Characters Save and Load properly.
Fix nullable warnings
Created StatusEffect GameResource and StatModifier components. Incoming/Outcoming damage affected by respective variables
Implemented 4 different base stats that you can upgrade upon leveling up. Only Base Damage and Damage Reduction take affect at the moment.
Added max upgrade amount for stats
Added Level Up toast
Stats Menu opens on TAB
Separate the Stat Upgrades panel into it's own razor file
Flesh out PlayerExperience Component
Killing enemies grants nearby players XP
XP History List under XP Bar
Created ISaveData. We can add this to any Component that we'll want to serialize to/from save files.
Added static variable Player.Local
Created PlayerExperience Component and added to Player.
Move test hotbar to the bottom of the screen
Add empty ExperienceBar panel to HUD prefab
Added Lifetime to Projectiles so they'll die eventually if shot into the air
Update shader reference in Image/Texture previews
Fix sometimes invoking Start Game twice when clicking the image of a list entry
Clear Animation Queue properly 😅
Pre-cache all animations in SpriteResource PostLoad. Can eventually calculate these when they are saved and have them be part of the resource in the future.
do not compile shadergraph for now since i am manually applying depth for shadows until theres a proper fix
All Main Menu pages use the same helper function(s) instead of being rewritten in each
Fix Game/Map buttons not working on Org Pages