branchrust_reboot/main/sandbag_barricade_variants/stackingcancel
14 Commits over 0 Days - Infinitycph!
Added a generic warning function that can be set/called by planner.
Upgrade planner placement now checks if future upgrades can also be placed for the current upgrade. Placement turns yellow if this upgrade is possible but future ones are not.
Stops you placing 2 sandbag upgrades to then realise the next one is placement blocked.
Make the other sandbags non-craftable, only the default sandbag .
Assign new sandbag placement guides, per level.
No longer hide the item being upgraded.
Move planner upgrade code to partial
added dedicated stacked guides - split up geometry so that the guides can properly stack for the next upgrade.
Further placement checks/fixes.
Fix clientLastAttackedTime not being initially set to -infinity which blocked sandbags from being upgraded instantly after placement due to incorrect cooldown.
Checks correctly run server-side.
Same damaged cooldown logic for upgrading as repairing
Hide the existing mesh and only show the upgrade placement guide when placing upgrades, fixes the overlap and looks better.
Only hide the visuals, and only clientside, collision etc all remains active.
Upgrading damaged sandbags doesn't give a free repair to full. Keeps previous health fraction. Convar'd behind ConVar.Server.upgrade_keeps_health because I'm not sure how we wiill want this to play out. Defaults to true for now.
Upgrading transfers skin to new placement
Initial prototype rework:
Removed all the new sockets from sandbags.
Use the position/rotation of the sandbag being upgraded instead of calculating it via sockets.
Refactor some of the prototype code into functions and only use them in the upgrade paths, so we don't touch regular placement logic anymore.
Client now runs the serverside checks too.
Refactor UpdateUpgradeTier, and don't run it for everything via FillPlacement.
Don't cache incorrect upgrade levels.
Remove stack socket placement logic.
Fix being able to use any sandbag level to upgrade a sandbag to next level.
Use/trust serverside checks/position not client provided.
Run all placement checks when upgrading, so upgrades can't clip through stuff.
Remove some now unused new find deployable functions.
Applying shelved stacking prototype.