[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / actions / placeblock / PlaceSlabAction.kt
diff --git a/core/src/ru/deadsoftware/cavedroid/game/actions/placeblock/PlaceSlabAction.kt b/core/src/ru/deadsoftware/cavedroid/game/actions/placeblock/PlaceSlabAction.kt
index 079d2258336b72a30524b0c590f03630fa111a35..6ac94c98edfafd03a86b188a79ab004cc01180ed 100644 (file)
import ru.deadsoftware.cavedroid.game.model.item.Item
import ru.deadsoftware.cavedroid.game.world.GameWorld
import javax.inject.Inject
-import kotlin.random.Random
@GameScope
class PlaceSlabAction @Inject constructor(
return
}
- val slabPart = if (Random.nextBoolean()) placeable.topPartBlock else placeable.bottomPartBlock
- gameWorld.placeToForeground(x, y, slabPart)
+ val slabPart = if ((gameWorld.hasForeAt(x, y - 1)
+ || gameWorld.getForeMap(x - 1, y) == placeable.topPartBlock
+ || gameWorld.getForeMap(x + 1, y) == placeable.topPartBlock)
+ && !gameWorld.hasForeAt(x, y + 1)) {
+ placeable.topPartBlock
+ } else {
+ placeable.bottomPartBlock
+ }
+
+ if (gameWorld.placeToForeground(x, y, slabPart)) {
+ mobsController.player.decreaseCurrentItemCount(gameItemsHolder)
+ }
}
companion object {