Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarWorldServer.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-08-19 18:26:52 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-08-19 18:26:52 +1000
commitec4f70340e0f9a3a867aef7d39df19457bec1d3e (patch)
tree32ee125d2ff837b0e6b5b5db20881f60f56b79ec /source/game/StarWorldServer.cpp
parentf22eed8304c90418314e254f2569bb87ee5d72fc (diff)
Allow overriding placed collision kind ("""overground""") from world.placeMaterial
Diffstat (limited to 'source/game/StarWorldServer.cpp')
-rw-r--r--source/game/StarWorldServer.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/game/StarWorldServer.cpp b/source/game/StarWorldServer.cpp
index 492ea81..6579c91 100644
--- a/source/game/StarWorldServer.cpp
+++ b/source/game/StarWorldServer.cpp
@@ -1378,7 +1378,10 @@ TileModificationList WorldServer::doApplyTileModifications(TileModificationList
tile->foregroundHueShift = m_worldTemplate->biomeMaterialHueShift(tile->blockBiomeIndex, placeMaterial->material);
tile->foregroundColorVariant = DefaultMaterialColorVariant;
- tile->updateCollision(materialDatabase->materialCollisionKind(tile->foreground));
+ if (placeMaterial->collisionOverride != TileCollisionOverride::None)
+ tile->updateCollision(collisionKindFromOverride(placeMaterial->collisionOverride));
+ else
+ tile->updateCollision(materialDatabase->materialCollisionKind(tile->foreground));
if (tile->foreground == EmptyMaterialId) {
// Remove the foreground mod if removing the foreground.
tile->foregroundMod = NoModId;