From 1a5e32600cbc947b4331627cbaf38cc372a29313 Mon Sep 17 00:00:00 2001 From: JerichoFletcher <62737325+JerichoFletcher@users.noreply.github.com> Date: Fri, 19 Jun 2020 12:52:18 +0700 Subject: [PATCH] Piece of sh- quarry --- bundles/bundle.properties | 2 + bundles/bundle_fr.properties | 2 + content/blocks/drills/quarry.json | 21 ++++ content/blocks/environments/vanilla/char.json | 2 - .../blocks/environments/vanilla/craters.json | 2 - .../environments/vanilla/holostone.json | 2 - .../blocks/environments/vanilla/ignarock.json | 2 - .../blocks/environments/vanilla/stone.json | 2 - scripts/blocks/drills.js | 107 ++++++++++++++++++ sprites/blocks/drills/quarry-rim.png | Bin 0 -> 3070 bytes sprites/blocks/drills/quarry-rotator.png | Bin 0 -> 3104 bytes sprites/blocks/drills/quarry-top.png | Bin 0 -> 3589 bytes sprites/blocks/drills/quarry.png | Bin 0 -> 3488 bytes 13 files changed, 132 insertions(+), 10 deletions(-) create mode 100644 content/blocks/drills/quarry.json delete mode 100644 content/blocks/environments/vanilla/char.json delete mode 100644 content/blocks/environments/vanilla/craters.json delete mode 100644 content/blocks/environments/vanilla/holostone.json delete mode 100644 content/blocks/environments/vanilla/ignarock.json delete mode 100644 content/blocks/environments/vanilla/stone.json create mode 100644 sprites/blocks/drills/quarry-rim.png create mode 100644 sprites/blocks/drills/quarry-rotator.png create mode 100644 sprites/blocks/drills/quarry-top.png create mode 100644 sprites/blocks/drills/quarry.png diff --git a/bundles/bundle.properties b/bundles/bundle.properties index 67576b08..a9940594 100644 --- a/bundles/bundle.properties +++ b/bundles/bundle.properties @@ -47,6 +47,8 @@ block.mechanical-warfare-seism.description = A more powerful version of Quake, w // Region Production block.mechanical-warfare-chemical-drill.name = Chemical Drill block.mechanical-warfare-chemical-drill.description = A drill that employs corrosive acid. Capable of mining uranium. +block.mechanical-warfare-quarry.name = Quarry +block.mechanical-warfare-quarry.description = Extracts lumps of cobblestone. Must be placed on stone tiles. // End Region Production // Region Defense diff --git a/bundles/bundle_fr.properties b/bundles/bundle_fr.properties index 351c4611..7c785ada 100644 --- a/bundles/bundle_fr.properties +++ b/bundles/bundle_fr.properties @@ -58,6 +58,8 @@ block.mechanical-warfare-ghost.description = Une tourelle anti-aérienne avancé block.mechanical-warfare-chemical-drill.name = Foreuse chimique block.mechanical-warfare-chemical-drill.description = Une foreuse qui utilise de l'acide corrosif. Capable de miner de l'uranium. +block.mechanical-warfare-quarry.name = Carrière +block.mechanical-warfare-quarry.description = Extraits des morceaux de roche. Doit être placé sur des carreaux de pierre. // End Region Production diff --git a/content/blocks/drills/quarry.json b/content/blocks/drills/quarry.json new file mode 100644 index 00000000..bf51bee7 --- /dev/null +++ b/content/blocks/drills/quarry.json @@ -0,0 +1,21 @@ +size: 3 +hasPower: true +hasItems: true +updateEffect: pulverizeMedium +updateEffectChance: 0.05 +craftEffect: mineBig +craftTime: 30 +consumes: { + power: 1 +} +outputItem: cobblestone/1 +requirements: [ + copper/70 + lead/50 + silicon/60 + iron/45 +] +idleSound: drill +idleSoundVolume: 0.003 +category: production +research: water-extractor diff --git a/content/blocks/environments/vanilla/char.json b/content/blocks/environments/vanilla/char.json deleted file mode 100644 index 9ff1d9c5..00000000 --- a/content/blocks/environments/vanilla/char.json +++ /dev/null @@ -1,2 +0,0 @@ -itemDrop: cobblestone -playerUnmineable: true diff --git a/content/blocks/environments/vanilla/craters.json b/content/blocks/environments/vanilla/craters.json deleted file mode 100644 index 9ff1d9c5..00000000 --- a/content/blocks/environments/vanilla/craters.json +++ /dev/null @@ -1,2 +0,0 @@ -itemDrop: cobblestone -playerUnmineable: true diff --git a/content/blocks/environments/vanilla/holostone.json b/content/blocks/environments/vanilla/holostone.json deleted file mode 100644 index 9ff1d9c5..00000000 --- a/content/blocks/environments/vanilla/holostone.json +++ /dev/null @@ -1,2 +0,0 @@ -itemDrop: cobblestone -playerUnmineable: true diff --git a/content/blocks/environments/vanilla/ignarock.json b/content/blocks/environments/vanilla/ignarock.json deleted file mode 100644 index 9ff1d9c5..00000000 --- a/content/blocks/environments/vanilla/ignarock.json +++ /dev/null @@ -1,2 +0,0 @@ -itemDrop: cobblestone -playerUnmineable: true diff --git a/content/blocks/environments/vanilla/stone.json b/content/blocks/environments/vanilla/stone.json deleted file mode 100644 index 9ff1d9c5..00000000 --- a/content/blocks/environments/vanilla/stone.json +++ /dev/null @@ -1,2 +0,0 @@ -itemDrop: cobblestone -playerUnmineable: true diff --git a/scripts/blocks/drills.js b/scripts/blocks/drills.js index 386f22be..7167f4b9 100644 --- a/scripts/blocks/drills.js +++ b/scripts/blocks/drills.js @@ -26,3 +26,110 @@ const chemicalDrill = extendContent(Drill, "chemical-drill", { }, }); +// Stone floors +const stoneFloor = [Blocks.stone, Blocks.craters, Blocks.charr, Blocks.ignarock, Blocks.holostone]; +function isStone(floor){ + for(var i = 0; i < 5; i++){ + if(floor === stoneFloor[i]){return true;} + } + return false; +} + +// Quarry +const quarry = extendContent(GenericCrafter, "quarry", { + load(){ + this.region = Core.atlas.find(this.name); + this.rotatorRegion = Core.atlas.find(this.name + "-rotator"); + this.topRegion = Core.atlas.find(this.name + "-top"); + this.rimRegion = Core.atlas.find(this.name + "-rim"); + }, + generateIcons: function(){ + return [ + Core.atlas.find(this.name), + Core.atlas.find(this.name + "-rotator"), + Core.atlas.find(this.name + "-top") + ]; + }, + canPlaceOn: function(tile){ + return tile.getLinkedTilesAs(this, this.tempTiles).contains(boolf(other => isStone(other.floor()))); + }, + update(tile){ + this.super$update(tile); + var entity = tile.ent(); + entity.setHeat(Mathf.lerpDelta(entity.getHeat(), entity.efficiency() > 0 ? entity.power.status : 0, 0.02)); + entity.setRotation(entity.getRotation() + this.rotateSpeed * entity.delta() * entity.getHeat()); + entity.setEfficiency(Mathf.lerpDelta(entity.getEfficiency(), entity.efficiency(), 0.02)); + }, + draw(tile){ + var entity = tile.ent(); + Draw.rect(this.region, tile.drawx(), tile.drawy()); + + Draw.color(Color.black, Pal.turretHeat, entity.getHeat() * (0.7 + Mathf.absin(Time.time(), 3, 0.3))); + Draw.blend(Blending.additive); + Draw.rect(this.rimRegion, tile.drawx(), tile.drawy()); + Draw.blend(); + Draw.color(); + + Draw.rect(this.rotatorRegion, tile.drawx(), tile.drawy(), entity.getRotation()); + Draw.rect(this.topRegion, tile.drawx(), tile.drawy()) + }, + drawPlace(x, y, rotation, valid){ + var c = 0; + var t = Vars.world.tile(x, y); + if(t != null){ + t.getLinkedTilesAs(this, this.tempTiles).each( + boolf(other => isStone(other.floor())), + cons(other => c++) + ); + } + this.drawPlaceText(Core.bundle.formatFloat("bar.efficiency", c / 9 * 100, 1), x, y, valid); + }, + setBars(){ + this.super$setBars(); + this.bars.add("efficiency", func(entity => new Bar(prov(() => + Core.bundle.formatFloat("bar.efficiency", + entity.getEfficiency() * 100, 1 + )), + prov(() => Pal.ammo), + floatp(() => entity.getEfficiency()) + ))); + } +}); +quarry.rotateSpeed = 3; +quarry.entityType = prov(() => { + const entity = extend(GenericCrafter.GenericCrafterEntity, { + getRotation: function(){ + return this._rot; + }, + setRotation: function(val){ + this._rot = val % 360; + }, + efficiency: function(){ + var count = 0; + var res; + this.tile.getLinkedTilesAs(this.tile.block(), this.tile.block().tempTiles).each(boolf(other => isStone(other.floor())), cons(other => count++)); + if(this.items.total() != this.tile.block().itemCapacity){ + res = this.power.status * count / 9; + }else{ + res = 0; + } + return res; + }, + getHeat: function(){ + return this._heat; + }, + setHeat: function(val){ + this._heat = val; + }, + getEfficiency: function(){ + return this._efficiency; + }, + setEfficiency: function(val){ + this._efficiency = val; + } + }); + entity.setRotation(0); + entity.setHeat(0); + entity.setEfficiency(0); + return entity; +}); diff --git a/sprites/blocks/drills/quarry-rim.png b/sprites/blocks/drills/quarry-rim.png new file mode 100644 index 0000000000000000000000000000000000000000..9130720e8faabf332318b031ea4d12fbb4a909a2 GIT binary patch literal 3070 zcmbVOcQ73M7XA5%-Xdy*PcIw2MqPIG8mw3?x+Nk=BwEOd=sqGkSuN3Ph?P~M22oZJ zb(Lrl1TRWfqU@7-GjHDC@6Mci=FZ$ZbI$$i#NRa2XP~`G3jkm+G|;iUVCO%ero8AY z*+Dlhh{oT*_5lENSN?zu zHVX;*1lk#@HU8q{s8?|bgD1;juY9K3h+jv}o2E54st+)Yqg0*L^qB_o7K&*43K;L@ zFH!xyeamZ7T9LFu{(zaf(VhRnnIIWBj!;*>F3?H!9*_l3&{2a<)4WcZYq2DzEm)2N z8TuJnXJG0LV`?-j&#k2GBhSz#0nHr0Ouh$*Hv&+5;%)K`8om6nB$xI2n z6k))5Ku|CkJj(&Bdiyr&Kd#p@Z$K_SmD8Y(6H?KQw5OH~pt7-%;uXUia$ILsa{0?8 zS4*lpB!^2bQi18q!7u=YscaW+56*(|jJ0^YQZkm&Nph=$k|f~jx_Z7oTIH_=z;a;3 z*tvvs<5jd8CEEAASa_Gh>o#5CLt>(51Cv%0DBPU0Iq?7U8{MMkxY^nDwY3?eUYNbh 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 literal 0 HcmV?d00001 diff --git a/sprites/blocks/drills/quarry-top.png b/sprites/blocks/drills/quarry-top.png new file mode 100644 index 0000000000000000000000000000000000000000..f9356013a4811c2d65327418c7046f7ffff90c68 GIT binary patch literal 3589 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 LNkvXXu0mjf&^CbG literal 0 HcmV?d00001 diff --git a/sprites/blocks/drills/quarry.png b/sprites/blocks/drills/quarry.png new file mode 100644 index 0000000000000000000000000000000000000000..67661264d84e34bb98eba4f2eaf54216c37888b7 GIT binary patch literal 3488 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 literal 0 HcmV?d00001