diff --git a/src/omaloon/entities/comp/ChainedComp.java b/src/omaloon/entities/comp/ChainedComp.java index af52fd42..5d885c15 100644 --- a/src/omaloon/entities/comp/ChainedComp.java +++ b/src/omaloon/entities/comp/ChainedComp.java @@ -218,6 +218,9 @@ public boolean isTail() { return tail == self(); } + /** + * It moves whenever the head moves. + */ @Override @Replace public boolean moving() { @@ -274,6 +277,19 @@ public void setupWeapons(UnitType def) { } } + /** + * Add proper solidity for everything because i can't do it better than this. + */ + @Override + @Replace(1) + public EntityCollisions.SolidPred solidity() { + if (!isHead()) return null; + if (self() instanceof Mechc) return EntityCollisions::solid; + if (self() instanceof Legsc) return type.allowLegStep ? EntityCollisions::legsSolid : EntityCollisions::solid; + if (self() instanceof WaterMovec) return EntityCollisions::waterSolid; + return null; + } + /** * Connect the units together after read. */