47 Commits over 61 Days - 0.03cph!
Update SpriteTools
Fix CharacterSelectModal
Cleanup
Remove the WIP ParticleTextRenderer Component now that it's in-engine
Converted QuestResource [Groups] to [Feature]s
Add [Feature]s to TileResource
Add [Feature]s to EntityResource
Added StartingRotation to Projectile
Updated ItemResource to use [Feature]s instead of [Group]s, creating a new item is much less overwhelming now
Updated all ItemResources using certain Features
Update SpriteTools
Fix crosshair targeting on Entities
Added Rotation [Feature] to Projectile
Added Bone item drops and projectiles
Cleaned up a bunch of lengthy components by converting [Group]s to [Feature]s
Added Ranged Combat Feature to Enemy. Skeletons now throw bone projectiles from a distance
Added Custom Pixel Cursors
Updated various UI elements to have cursor reactivity
Fix CraftingStation NRE if player dies when in menu. Force close any open Modals on death
Fishing Minigame has a chance for Treasure to appear. Can optionally go for the Treasure or the Fish
Fix Cooking Skill, and Cooking Pot Tile issues
Cooking Pot has a custom UI which only takes single items instead of item stacks
Fix CraftingStationPanel NREs
Cooking Pot no longer duplicates items when adding to Pot
Replaced individual food prefabs with a single food prefab that pulls healing information from ItemResource
Added Cooking Recipes and "Unknown Mess" food item which is crafted when using an invalid recipe
Cooking Pot now has progress bar
Moved all Tile-related WorldPanels into the WorldPanels folder
Added CookingStationPanel for overworld progress view
Catching garbage whilefishing now shows the garbage you caught in the Modal popup
Pressing ENTER when typing a Character Name will submit properly
Fix default fish item being fishable
Added Cooking Pot Item and Tile
Added Cooking Skill
Can no longer go into a negative coin count when dying
Fix InventoryPanel child panel not sizing properly
Chests now drop their contents when destroyed
Updated SpriteTools
Increased difficulty range of fishing minigame
Updated Ice Berry Bush to use the correct prefab
Re-save menu.scene without IsValid
Added Glass Bottle item, craftable at Brewing Station
Added Bucket
Can now catch a garbage item when missing a fish
Added Weights to Fishing Garbage so different garbage items have different rarities
Fixed NRE when loading world without KeepOwnership
Added Wrench and Repairing Skill. Wrench repairs stations that have taken damage.
Auto-Miners and Auto-Collectors slowly deplete their health, and need to be repaired.
Added KeepOwnership Component which retains the owner of a placed Tile using ISaveData
Updated fishing chances
Increase Wrench Cooldown
Added Auto-Collector
Adjusted default audio ranges
Added BurnEffect. Some enemies can burn in daylight. Don't get XP for enemies that don't die to your hands.
ItemDrop Collector fix
Fix Fire Particles not shrinking/despawning
Added Autonomy Skill
Added Generic Fish item + Cooked Fish.
Fix Craftable check to check up the UpgradesFrom chain
Added Brewing Stand and Brewing Skill
Fix RangeSprite position on MinigameFish
Added Medium & Large Backpacks
Updated PlayerInventoryPanel
Added Auto-Miner, mines nearby Tiles slowly
https://files.facepunch.com/CarsonKompon/2024/October/09_09-23-BluePossum.mp4
Added Fishing SFX
First Pass on Fishing Minigame
Updated SpriteTools
Updated Fishing Minigame, now has results state. Difficulty varies a bit more.
https://files.facepunch.com/CarsonKompon/2024/October/08_22-32-MatureAmericancrow.mp4
Added a ton of different fish with different rarities
Fixed Item imgs not being contained properly, ParsedLabel has default formatting
Added CanFish to ItemResource. Items can be found randomly from fishing.
Bobber now has a quick animation when there's a bite. Clicking during the timer will initiate catching state.
https://files.facepunch.com/CarsonKompon/2024/October/08_18-19-WarmSalamander.mp4
Updated Fishing Rod sprite to include the bobber, updated LineRenderer to match line colour in sprite/palette
Create Sprites for a bunch of fish/fishing loot
Created SpriteResources for all the fish
Added ItemResource.IsSubstituteFor. Allows all grass types to be used for the same recipe
Relic now adds itself to your Journal upon the first use
Improved Fishing Rod visuals and made it more cohesive to the artstyle
Fix Tile NREs in Dev scene
Adjust island layout, add more Relics
Adjust player layer distances/visuals
Added Fishing Rod & Fishing Skill. Fishing rod will place bobber at fishing spot and draw line to it. Animations for casting/reeling.
Relic always shows cost, regardless of whether or not you can afford
Updated relic visuals, item now floats on pedestal. Item sprite now updates when item on pedestal changes. Plays an animation upon purchase
Added Relic, RelicPurchase
Added RelicPanel and Relic Interactable. TileDrawing can now save prefabs to islands.json with their Prefab Variables intact
WorldUnlocker will instanitate any prefabs with their correct Prefab Variables from islands.json
Fixed Tile Registry
Fixed RelicPanel
Fixed Prefab Serialization issues with WorldSave and WorldUnlocker. Should work when networked as well.
Removed unneeded variables
Check existing Tiles using new Tile registry
Register all spawned Tiles to the GameManager. Added GameManager.GetTilesInChunk()
Added Tile.MaxPerChunk. Fixed Tiles sometimes spawning on top of other tiles.
Land now costs differing values, pulls from ChunkData
Show up to 5 pinned recipes in the top-right instead of just one
ChunkBiomes -> ChunkData. Chunks store cost alongside biome
Updated everything else to use ChunkData properly, assigned unique costs to each chunk
Prefabs can now be saved to ChunkData in dev tools
Added Player Light
InputSettings -> Input.config
Added more forest foliage types
Updated SpriteTools
Transform.Position/Rotation/Scale -> WorldPosition/WorldRotation/WorldScale
Fix Progress error in CraftingStationPanel
Re-balanced coverage and tile spawning
Death FX now affected by lighting
Adjust more tile spawns
Fix tooltips sometimes lingering
Add DamageOverlay, Invulnerability Time, and fine-tune Enemy Attacking
Added Easy Access Skill, more Vitals tweaks and Zombie fixes
Added Ice Bushes
ChestTilePanel shows contents of chest if you have permission
Added permissions to Weapons, crosshair prompt will override visibility when hovering an interactable
Clean up ChestTilePanel
Added Bow item with basic functionality and Projectile class
Added Arrows, consumed by the Bow as ammo. Hotbar shows ammo count on bow.
Added PreviewSkill
Added Storage Skill
Added Max Drops At Once to ItemSpawner
Fix pickaxe upgrade line
Added MeleeTrigger and Sword Slash
Created Weapon class, Aim Arrow, and Holdable.HasCrosshair. Fixed colliders on mobs
Added each tier of sword, updated a few crafting recipes
Drop coins on death
Added Keep Riches Skill
Settings UpgradesFrom to self means item can only be crafted once
Added other Shovel types
Added stone sword item and other sword sprites
Implemented a proper death state
Added Ruby Chunks
Moved death state from Player class to Entity, added Death FX
Added Burnt Trees
Enemies now deal contact damage, swinging their held weapon if they have one
Added Sandstone and Sandstone Ores
Added Ice and Ice Rocks
Updated Rock Item Drop to differentiate it from the Tile
Fixed Tree Spawns
Fix Grass Spawns
Remove TimeOfDay from Scene serialization
TimeOfDay now implements ISaveData and saves to World
Added more Tree Types, spawning in their respective biomes
Added distinction between grass/forest trees
Update SpriteTools
Update item name
Updated Ambush Description & Plunder's Icon
Implement Day/Night Cycle
Adjusted Day/Night Cycle Length
Fix `set_time` command
Fix particle lighting
Added PreviewEntity
Created Enemy class and added 1 Zombie and 2 Skeletons
Fixed enemies hands flipping incorrectly. Fixed Enemies not being serialized as Mobs. Added Enemy.KnockbackTime
Added SpawnsAtDay and SpawnsAtNight support
Enemies have a separate spawn limit from non-enemies
Updated Journal styling again. Resources -> Tiles
Updated a few Tiles, added Bricks
Added Stonecutter
Added Stonecutting Skill
Added Brick Wall, created Default Tile Item
Removed all Tile Item prefabs and created generic Tile Placer prefabs which tile placing items use
Added Free Shipping Skill
Created PreviewTile and created Icons for Tile Resources
Added Industrial Table and Industrial Skill
Fix Required Skills on all Skills and on SkillsPanel
Moved PlaceSound to TileResource
Added .sbox to gitignore
Give CraftingRequirements [InlineEditor]
Added Journalist Quests, implemented journal progress
Unlocked skills now animate in
Added `give_levels` command
Update Journal Ordering
Swap around a few item ids
Fix ruby chunks
Fixed TooltipPanel not resetting classes between tooltips.
Show notification on Journal Page when you get a new entry
Don't show quests as hidden when completed
TilePlacer can no longer place on dig tiles
Added Resources to Journal
Added Mobs to Journal
Can register Tile and Mob entries in the Journal
Added Names and Categories to every single Item/Tile/Mob
Added Journal Tab to GameMenu. Optimized GameMenu's Tabs and Pages further
Created JournalPanel and JournalEntry
Added Seen/HasSeen to CharacterSave
Proper Journal Styling and Item implementation for JournalEntry
Journal Tooltips
Seen/HasSeen now uses a state instead of a bool
Fix skill panels still displaying when not unlocked
Digging SFX
Added Dig Particles
Added BiomeResource to store additional biome information
Added a bunch more items. Can now get items from digging (dictated by the Biome)
Improve digging and make it give experience
Fix entity shadows
Added 2 new biomes to Tileset
Rewrote WorldManager to use bools for tiles and strings for chunks instead of having a biome string per tile. Required a lot of refactoring.
Remade the island layout using the new format
Update WorldUnlocker and WorldSave to properly set the starting biomes from island layout
Reworked Tile/Entity spawn chances to be more robust, updated all existing tiles/entities.
Don't let the player place earth on existing earth
Update SpriteTools
Rename all grass tiles for uniformity. Give each their own unique item instead of a single green grass
Update SpawnChances for existing mobs
Fix issues with Character Select Buttons
Update SpriteTools
Update all Tile Dictionaries to use Vectors as the key instead of parsing to/from strings now that we actually can.
Updated SpriteTools
Add Dig Tiles to Tileset, add Digging functionality to WorldManager.
Created PreviewItem so items have Generated Thumbnails
Created Shovel Holdable which digs up earth, regenerating after a random time.
Dig Tiles now properly save to the world. Optimized world saves in the process
Added Plunder and Ambush skills. Renamed and adjusted existing skills.
Fix ParsedLabel spacing issues and made it more uniform
SkillPanels are now coloured categorically. Updated their look a tad.
Fix Land Purchase Networking
Player Inventory is now 2 slots larger by default. Updated styling to account for it
Fix Diamond Pickaxe Item
Added Leather, cows have a chance to drop.
Created Backpack Upgrades, starting with Small Backpack. Picking up will permanently increase storage space
Fix the Leave Server button when not the host
Added Player List to Pause Menu
Fix entities casting light shadows
Quests are now claimed manually via the quests tab to get your rewards
Added Notification Icons to GameMenuTabs if there's something to do in that tab
GameNetworkSystem -> Networking
Fix ESC not closing popups in Main/Pause Menu
Added SFX/Notification for unlocking Skills
Fix disconnecting on server end, ensuring that if anyone stays behind for whatever reason it doesn't override their world with yours.
Added Permissions Tab to GameMenu if host. Created OnOffSwitch Panel
Fix WorldManager rebuilding the World every frame instead of when when dirty
Created PermissionData class, added to WorldData as GlobalPermissions and UserPermissions. Hooked up to PermissionsPanel
Implemented all the different permissions, falling back on global permissions when null.
Change entity item drops
Added more Food Items and Food Crafting Category
Added Item Upgrade System, along with different new tiers of Pickaxes