diff --git a/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow1.png b/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow1.png new file mode 100644 index 0000000000..0d9145b6b1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow1.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow2.png b/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow2.png new file mode 100644 index 0000000000..4e39edb9fd Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow2.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow3.png b/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow3.png new file mode 100644 index 0000000000..75b6d51de5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow3.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-blocks1.png b/core/assets-raw/sprites/blocks/props/crystal-blocks1.png index 838aaaba7f..f49567c892 100644 Binary files a/core/assets-raw/sprites/blocks/props/crystal-blocks1.png and b/core/assets-raw/sprites/blocks/props/crystal-blocks1.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-blocks2.png b/core/assets-raw/sprites/blocks/props/crystal-blocks2.png new file mode 100644 index 0000000000..3a6dea79bd Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-blocks2.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-blocks3.png b/core/assets-raw/sprites/blocks/props/crystal-blocks3.png new file mode 100644 index 0000000000..95b2e66086 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-blocks3.png differ diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index 18c7e7109b..1220a685be 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -507,3 +507,4 @@ 63197=crystal-floor|block-crystal-floor-ui 63196=vibrant-crystal-cluster|block-vibrant-crystal-cluster-ui 63195=red-ice-boulder|block-red-ice-boulder-ui +63194=crystal-blocks|block-crystal-blocks-ui diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 0d49e62e1d..72f273fa50 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -50,7 +50,7 @@ public class Blocks{ iceSnow, sandWater, darksandWater, duneWall, sandWall, moss, sporeMoss, shale, shaleWall, grass, salt, //boulders shaleBoulder, sandBoulder, daciteBoulder, boulder, snowBoulder, basaltBoulder, carbonBoulder, ferricBoulder, beryllicBoulder, yellowStoneBoulder, - arkyicBoulder, crystalCluster, vibrantCrystalCluster, crystallineBoulder, redIceBoulder, + arkyicBoulder, crystalCluster, vibrantCrystalCluster, crystalBlocks, crystallineBoulder, redIceBoulder, metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor4, metalFloor5, basalt, magmarock, hotrock, snowWall, saltWall, darkPanel1, darkPanel2, darkPanel3, darkPanel4, darkPanel5, darkPanel6, darkMetal, pebbles, tendrils, @@ -668,6 +668,13 @@ public class Blocks{ clipSize = 128f; }}; + crystalBlocks = new TallBlock("crystal-blocks"){{ + variants = 3; + clipSize = 128f; + shadowAlpha = 0.5f; + shadowOffset = -2.5f; + }}; + crystallineBoulder = new Prop("crystalline-boulder"){{ variants = 2; crystallineStone.asFloor().decoration = this; diff --git a/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java b/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java index 6d46b778e9..de9e7dc7e7 100644 --- a/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java +++ b/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java @@ -221,6 +221,16 @@ public class ErekirPlanetGenerator extends PlanetGenerator{ && !near(x, y, 4, Blocks.crystalCluster) && !near(x, y, 4, Blocks.vibrantCrystalCluster)){ block = floor == Blocks.crystalFloor ? Blocks.vibrantCrystalCluster : Blocks.crystalCluster; } + + //TODO test, different placement + if(block == Blocks.regolithWall && rand.chance(0.16) && nearAir(x, y) && !near(x, y, 3, Blocks.crystalBlocks)){ + block = Blocks.crystalBlocks; + } + + //this is annoying as blocks under it can't be seen + //if(block == Blocks.air && floor == Blocks.regolith && rand.chance(0.004) && !near(x, y, 3, Blocks.crystalBlocks)){ + // block = Blocks.crystalBlocks; + //} }); //vents diff --git a/core/src/mindustry/world/blocks/environment/TallBlock.java b/core/src/mindustry/world/blocks/environment/TallBlock.java index cf3334b4f3..d2ca5bd004 100644 --- a/core/src/mindustry/world/blocks/environment/TallBlock.java +++ b/core/src/mindustry/world/blocks/environment/TallBlock.java @@ -11,6 +11,7 @@ public class TallBlock extends Block{ public float shadowOffset = -3f; public float layer = Layer.power + 1; public float rotationRand = 20f; + public float shadowAlpha = 0.6f; public TallBlock(String name){ super(name); @@ -30,7 +31,7 @@ public class TallBlock extends Block{ float rot = Mathf.randomSeedRange(tile.pos() + 1, rotationRand); Draw.z(Layer.power - 1); - Draw.color(0f, 0f, 0f, 0.6f); + Draw.color(0f, 0f, 0f, shadowAlpha); Draw.rect(variants > 0 ? variantShadowRegions[Mathf.randomSeed(tile.pos(), 0, Math.max(0, variantShadowRegions.length - 1))] : customShadowRegion, tile.worldx() + shadowOffset, tile.worldy() + shadowOffset, rot);