Fixed tutorial, many balancing changes

This commit is contained in:
Anuken
2017-12-03 17:08:28 -05:00
parent 9dd2bfaeeb
commit 8481a3a5f3
17 changed files with 125 additions and 94 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

View File

@@ -718,41 +718,48 @@ blocks/powerlaser
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/powerlaserrouter blocks/powerlasercorner
rotate: false rotate: false
xy: 315, 143 xy: 315, 143
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/pulseconduit blocks/powerlaserrouter
rotate: false rotate: false
xy: 325, 143 xy: 325, 143
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/pulseconduitbottom blocks/pulseconduit
rotate: false rotate: false
xy: 314, 133 xy: 314, 133
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/pulseconduittop blocks/pulseconduitbottom
rotate: false rotate: false
xy: 314, 123 xy: 314, 123
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/pump blocks/pulseconduittop
rotate: false rotate: false
xy: 324, 133 xy: 324, 133
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/pump
rotate: false
xy: 314, 113
size: 8, 8
orig: 8, 8
offset: 0, 0
index: -1
blocks/repairturret blocks/repairturret
rotate: false rotate: false
xy: 437, 243 xy: 437, 243
@@ -762,70 +769,70 @@ blocks/repairturret
index: -1 index: -1
blocks/rock1 blocks/rock1
rotate: false rotate: false
xy: 324, 123 xy: 314, 103
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/rock2 blocks/rock2
rotate: false rotate: false
xy: 314, 103 xy: 324, 113
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/router blocks/router
rotate: false rotate: false
xy: 324, 113 xy: 314, 93
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/rtgenerator blocks/rtgenerator
rotate: false rotate: false
xy: 314, 93 xy: 324, 103
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/sand1 blocks/sand1
rotate: false rotate: false
xy: 324, 103 xy: 314, 83
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/sand2 blocks/sand2
rotate: false rotate: false
xy: 314, 83 xy: 324, 93
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/sand3 blocks/sand3
rotate: false rotate: false
xy: 324, 93 xy: 314, 73
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/sandblock1 blocks/sandblock1
rotate: false rotate: false
xy: 314, 73 xy: 324, 83
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/sandblock2 blocks/sandblock2
rotate: false rotate: false
xy: 324, 83 xy: 314, 63
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/sandblock3 blocks/sandblock3
rotate: false rotate: false
xy: 314, 63 xy: 324, 73
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -846,7 +853,7 @@ blocks/shadow
index: -1 index: -1
blocks/shieldgenerator blocks/shieldgenerator
rotate: false rotate: false
xy: 314, 53 xy: 324, 63
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -860,21 +867,21 @@ blocks/shotgunturret
index: -1 index: -1
blocks/shrub blocks/shrub
rotate: false rotate: false
xy: 324, 53 xy: 314, 33
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/shrubshadow blocks/shrubshadow
rotate: false rotate: false
xy: 314, 33 xy: 324, 43
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/smelter blocks/smelter
rotate: false rotate: false
xy: 324, 43 xy: 314, 23
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -888,42 +895,42 @@ blocks/sniperturret
index: -1 index: -1
blocks/snow1 blocks/snow1
rotate: false rotate: false
xy: 314, 23 xy: 324, 33
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/snow2 blocks/snow2
rotate: false rotate: false
xy: 324, 33 xy: 314, 13
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/snow3 blocks/snow3
rotate: false rotate: false
xy: 314, 13 xy: 324, 23
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/snowblock1 blocks/snowblock1
rotate: false rotate: false
xy: 324, 23 xy: 324, 13
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/snowblock2 blocks/snowblock2
rotate: false rotate: false
xy: 324, 13 xy: 314, 3
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/snowblock3 blocks/snowblock3
rotate: false rotate: false
xy: 314, 3 xy: 324, 3
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -937,28 +944,28 @@ blocks/snowedge
index: -1 index: -1
blocks/sorter blocks/sorter
rotate: false rotate: false
xy: 324, 3 xy: 411, 217
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/steelconveyor blocks/steelconveyor
rotate: false rotate: false
xy: 411, 217 xy: 408, 207
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/steelconveyormove blocks/steelconveyormove
rotate: false rotate: false
xy: 408, 207 xy: 408, 197
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/steelwall blocks/steelwall
rotate: false rotate: false
xy: 408, 197 xy: 421, 217
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -972,7 +979,7 @@ blocks/steelwall-large
index: -1 index: -1
blocks/steelwall-large-icon blocks/steelwall-large-icon
rotate: false rotate: false
xy: 421, 217 xy: 431, 219
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -986,84 +993,84 @@ blocks/stone
index: -1 index: -1
blocks/stone1 blocks/stone1
rotate: false rotate: false
xy: 431, 219 xy: 418, 207
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/stone2 blocks/stone2
rotate: false rotate: false
xy: 418, 207 xy: 418, 197
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/stone3 blocks/stone3
rotate: false rotate: false
xy: 418, 197 xy: 441, 213
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/stoneblock-edge-0 blocks/stoneblock-edge-0
rotate: false rotate: false
xy: 441, 203 xy: 365, 198
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/stoneblock-edge-1 blocks/stoneblock-edge-1
rotate: false rotate: false
xy: 365, 198 xy: 365, 188
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/stoneblock-edge-2 blocks/stoneblock-edge-2
rotate: false rotate: false
xy: 365, 188 xy: 481, 325
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/stoneblock-edge-3 blocks/stoneblock-edge-3
rotate: false rotate: false
xy: 481, 325 xy: 481, 315
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/stoneblock-smooth1 blocks/stoneblock-smooth1
rotate: false rotate: false
xy: 481, 315 xy: 481, 305
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/stoneblock1 blocks/stoneblock1
rotate: false rotate: false
xy: 441, 213 xy: 431, 209
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/stoneblock2 blocks/stoneblock2
rotate: false rotate: false
xy: 431, 209 xy: 428, 199
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/stoneblock3 blocks/stoneblock3
rotate: false rotate: false
xy: 428, 199 xy: 441, 203
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/stonedrill blocks/stonedrill
rotate: false rotate: false
xy: 481, 305 xy: 479, 295
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -1077,35 +1084,35 @@ blocks/stoneedge
index: -1 index: -1
blocks/stoneformer blocks/stoneformer
rotate: false rotate: false
xy: 479, 295 xy: 479, 285
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/stonewall blocks/stonewall
rotate: false rotate: false
xy: 479, 285 xy: 479, 275
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/teleporter blocks/teleporter
rotate: false rotate: false
xy: 479, 275 xy: 479, 265
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/teleporter-top blocks/teleporter-top
rotate: false rotate: false
xy: 479, 265 xy: 479, 255
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/thermalgenerator blocks/thermalgenerator
rotate: false rotate: false
xy: 479, 255 xy: 479, 245
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -1126,49 +1133,49 @@ blocks/titancannon-icon
index: -1 index: -1
blocks/titanium1 blocks/titanium1
rotate: false rotate: false
xy: 479, 245 xy: 491, 329
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/titanium2 blocks/titanium2
rotate: false rotate: false
xy: 491, 329 xy: 491, 319
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/titanium3 blocks/titanium3
rotate: false rotate: false
xy: 491, 319 xy: 491, 309
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/titaniumdrill blocks/titaniumdrill
rotate: false rotate: false
xy: 491, 309 xy: 501, 329
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/titaniumpurifier blocks/titaniumpurifier
rotate: false rotate: false
xy: 501, 329 xy: 501, 319
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/titaniumshieldwall blocks/titaniumshieldwall
rotate: false rotate: false
xy: 501, 319 xy: 501, 309
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/titaniumwall blocks/titaniumwall
rotate: false rotate: false
xy: 501, 309 xy: 491, 299
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -1182,7 +1189,7 @@ blocks/titaniumwall-large
index: -1 index: -1
blocks/titaniumwall-large-icon blocks/titaniumwall-large-icon
rotate: false rotate: false
xy: 491, 299 xy: 501, 299
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -1196,35 +1203,35 @@ blocks/turret
index: -1 index: -1
blocks/uranium1 blocks/uranium1
rotate: false rotate: false
xy: 489, 279 xy: 499, 289
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/uranium2 blocks/uranium2
rotate: false rotate: false
xy: 499, 289 xy: 489, 269
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/uranium3 blocks/uranium3
rotate: false rotate: false
xy: 489, 269 xy: 499, 279
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/uraniumdrill blocks/uraniumdrill
rotate: false rotate: false
xy: 499, 279 xy: 489, 259
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
blocks/water blocks/water
rotate: false rotate: false
xy: 489, 259 xy: 499, 269
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -1588,28 +1595,28 @@ mechs/mech-standard
index: -1 index: -1
shell shell
rotate: false rotate: false
xy: 324, 73 xy: 314, 53
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
shot shot
rotate: false rotate: false
xy: 324, 63 xy: 314, 43
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
shot-long shot-long
rotate: false rotate: false
xy: 314, 43 xy: 324, 53
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
titanshell titanshell
rotate: false rotate: false
xy: 501, 299 xy: 489, 289
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -2147,14 +2154,14 @@ weapons/multigun
index: -1 index: -1
weapons/railgun weapons/railgun
rotate: false rotate: false
xy: 314, 113 xy: 324, 123
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
weapons/triblaster weapons/triblaster
rotate: false rotate: false
xy: 489, 289 xy: 489, 279
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View File

@@ -155,9 +155,9 @@ public class Tutorial{
} }
public void setDefaultBlocks(int corex, int corey){ public void setDefaultBlocks(int corex, int corey){
world.tile(corex, corey - 1).setBlock(Blocks.air);
world.tile(corex, corey - 2).setBlock(Blocks.air); world.tile(corex, corey - 2).setBlock(Blocks.air);
world.tile(corex, corey - 2).setFloor(Blocks.stone); world.tile(corex, corey - 3).setBlock(Blocks.air);
world.tile(corex, corey - 3).setFloor(Blocks.stone);
} }
enum Stage{ enum Stage{
@@ -203,7 +203,7 @@ public class Tutorial{
canForward = false; canForward = false;
blockRotation = 1; blockRotation = 1;
blockPlaceX = 0; blockPlaceX = 0;
blockPlaceY = -1; blockPlaceY = -2;
targetBlock = DistributionBlocks.conveyor; targetBlock = DistributionBlocks.conveyor;
text = "Use [orange][[R][] to rotate the conveyor to face [orange]forwards[], then place it in the [yellow]marked location[] using the [orange][[left mouse button][]."; text = "Use [orange][[R][] to rotate the conveyor to face [orange]forwards[], then place it in the [yellow]marked location[] using the [orange][[left mouse button][].";
} }
@@ -216,7 +216,7 @@ public class Tutorial{
canForward = false; canForward = false;
blockRotation = 1; blockRotation = 1;
blockPlaceX = 0; blockPlaceX = 0;
blockPlaceY = -1; blockPlaceY = -2;
targetBlock = DistributionBlocks.conveyor; targetBlock = DistributionBlocks.conveyor;
text = "Use the [orange][[rotate button][] to rotate the conveyor to face [orange]forwards[], drag it into position with one finger, then place it in the [yellow]marked location[] using the [orange][[checkmark][]."; text = "Use the [orange][[rotate button][] to rotate the conveyor to face [orange]forwards[], drag it into position with one finger, then place it in the [yellow]marked location[] using the [orange][[checkmark][].";
} }
@@ -241,7 +241,7 @@ public class Tutorial{
showBlock = true; showBlock = true;
canForward = false; canForward = false;
blockPlaceX = 0; blockPlaceX = 0;
blockPlaceY = -2; blockPlaceY = -3;
targetBlock = ProductionBlocks.stonedrill; targetBlock = ProductionBlocks.stonedrill;
text = "Now, select and place a [yellow]stone drill[] at the marked location."; text = "Now, select and place a [yellow]stone drill[] at the marked location.";
} }
@@ -292,11 +292,12 @@ public class Tutorial{
void onSwitch(){ void onSwitch(){
for(int flip : new int[]{1, -1}){ for(int flip : new int[]{1, -1}){
world.tile(control.core.x + flip, control.core.y - 1).setBlock(DistributionBlocks.conveyor, 2 * flip); world.tile(control.core.x + flip, control.core.y - 2).setBlock(DistributionBlocks.conveyor, 2 * flip);
world.tile(control.core.x + flip*2, control.core.y - 1).setBlock(DistributionBlocks.conveyor, 2 * flip); world.tile(control.core.x + flip*2, control.core.y - 2).setBlock(DistributionBlocks.conveyor, 2 * flip);
world.tile(control.core.x + flip*2, control.core.y - 2).setBlock(DistributionBlocks.conveyor, 1); world.tile(control.core.x + flip*2, control.core.y - 3).setBlock(DistributionBlocks.conveyor, 2 * flip);
world.tile(control.core.x + flip*2, control.core.y - 3).setFloor(Blocks.stone); world.tile(control.core.x + flip*2, control.core.y - 3).setBlock(DistributionBlocks.conveyor, 1);
world.tile(control.core.x + flip*2, control.core.y - 3).setBlock(ProductionBlocks.stonedrill); world.tile(control.core.x + flip*2, control.core.y - 4).setFloor(Blocks.stone);
world.tile(control.core.x + flip*2, control.core.y - 4).setBlock(ProductionBlocks.stonedrill);
} }
} }
@@ -308,23 +309,24 @@ public class Tutorial{
showBlock = true; showBlock = true;
targetBlock = Blocks.air; targetBlock = Blocks.air;
blockPlaceX = 2; blockPlaceX = 2;
blockPlaceY = -1; blockPlaceY = -2;
text = !Vars.android ? text = !Vars.android ?
"You can delete blocks by holding the [orange]right mouse button[] on the block you want to delete. Try deleting this conveyor.": "You can delete blocks by holding the [orange]right mouse button[] on the block you want to delete. Try deleting this conveyor.":
"You can delete blocks by [orange]tapping and holding[] on the block you want to delete. Try deleting this conveyor."; "You can delete blocks by [orange]tapping and holding[] on the block you want to delete. Try deleting this conveyor.";
} }
}, },
/*
deleteBlock2{ deleteBlock2{
{ {
canBack = false; canBack = false;
canForward = false; canForward = false;
showBlock = true; showBlock = true;
targetBlock = Blocks.air; targetBlock = Blocks.air;
blockPlaceX = 1; blockPlaceX = -2;
blockPlaceY = -1; blockPlaceY = -2;
text = "Try deleting this other conveyor too."; text = "Try deleting this other conveyor too.";
} }
}, },*/
placeTurret{ placeTurret{
{ {
canBack = false; canBack = false;
@@ -333,12 +335,12 @@ public class Tutorial{
canPlace = true; canPlace = true;
targetBlock = WeaponBlocks.turret; targetBlock = WeaponBlocks.turret;
blockPlaceX = 2; blockPlaceX = 2;
blockPlaceY = -1; blockPlaceY = 2;
text = "Now, select and place a [yellow]turret[] at the [yellow]marked location[]."; text = "Now, select and place a [yellow]turret[] at the [yellow]marked location[].";
} }
void onSwitch(){ void onSwitch(){
Vars.ui.<ImageButton>find("sectionbuttondefense").fireClick(); Vars.ui.<ImageButton>find("sectionbuttonweapon").fireClick();
} }
}, },
placedTurretAmmo{ placedTurretAmmo{
@@ -349,6 +351,9 @@ public class Tutorial{
} }
void onSwitch(){ void onSwitch(){
for(int i = 0; i < 4; i ++){
world.tile(control.core.x + 2, control.core.y - 2 + i).setBlock(DistributionBlocks.conveyor, 1);
}
Vars.player.recipe = null; Vars.player.recipe = null;
} }
}, },
@@ -518,7 +523,7 @@ public class Tutorial{
void onSwitch(){ void onSwitch(){
world.tile(blockPlaceX + control.core.x, blockPlaceY + control.core.y).setBlock(Blocks.air); world.tile(blockPlaceX + control.core.x, blockPlaceY + control.core.y).setBlock(Blocks.air);
Vars.ui.<ImageButton>find("sectionbuttonproduction").fireClick(); Vars.ui.<ImageButton>find("sectionbuttoncrafting").fireClick();
Vars.control.addItem(Item.steel, 60); Vars.control.addItem(Item.steel, 60);
Vars.control.addItem(Item.iron, 60); Vars.control.addItem(Item.iron, 60);
} }
@@ -535,9 +540,9 @@ public class Tutorial{
world.tile(control.core.x + i + 4, control.core.y + 2).setFloor(Blocks.stone); world.tile(control.core.x + i + 4, control.core.y + 2).setFloor(Blocks.stone);
} }
for(int i = 0; i < 3; i ++){ world.tile(control.core.x + 3, control.core.y).setBlock(DistributionBlocks.conveyor, 2);
world.tile(control.core.x + 4 - 1 - i, control.core.y).setBlock(DistributionBlocks.conveyor, 2);
} world.tile(control.core.x + 2, control.core.y).setBlock(DistributionBlocks.junction, 2);
world.tile(control.core.x + 2, control.core.y + 1).setBlock(DistributionBlocks.conveyor, 0); world.tile(control.core.x + 2, control.core.y + 1).setBlock(DistributionBlocks.conveyor, 0);
world.tile(control.core.x + 3, control.core.y + 1).setBlock(DistributionBlocks.conveyor, 0); world.tile(control.core.x + 3, control.core.y + 1).setBlock(DistributionBlocks.conveyor, 0);

View File

@@ -124,7 +124,7 @@ public class Enemy extends DestructibleEntity{
void updateShooting(){ void updateShooting(){
if(Timers.get(this, "reload", reload * Vars.multiplier)){ if(Timers.get(this, "reload", reload * Vars.multiplier)){
shoot(bullet); shoot(bullet);
Effects.sound(shootsound, this); if(shootsound != null) Effects.sound(shootsound, this);
} }
} }

View File

@@ -6,12 +6,14 @@ import io.anuke.mindustry.Vars;
import io.anuke.mindustry.entities.BulletType; import io.anuke.mindustry.entities.BulletType;
import io.anuke.ucore.core.Draw; import io.anuke.ucore.core.Draw;
import io.anuke.ucore.core.Timers; import io.anuke.ucore.core.Timers;
import io.anuke.ucore.util.Mathf;
public class TargetEnemy extends Enemy{ public class TargetEnemy extends Enemy{
public TargetEnemy(){ public TargetEnemy(){
speed = 0f; speed = 0f;
maxhealth = 10; maxhealth = 25;
shootsound = null;
} }
@Override @Override
@@ -37,7 +39,7 @@ public class TargetEnemy extends Enemy{
Draw.color(Color.YELLOW); Draw.color(Color.YELLOW);
if(Vars.control.getTutorial().showTarget()){ if(Vars.control.getTutorial().showTarget()){
Draw.spikes(x, y, 11f, 4f, 8, Timers.time()); Draw.spikes(x, y, 11f + Mathf.sin(Timers.time(), 7f, 1f), 4f, 8, Timers.time());
} }
Draw.color(); Draw.color();

View File

@@ -68,6 +68,7 @@ public enum Recipe{
nuclearreactor(power, ProductionBlocks.nuclearReactor, stack(Item.titanium, 40), stack(Item.dirium, 40), stack(Item.steel, 50)), nuclearreactor(power, ProductionBlocks.nuclearReactor, stack(Item.titanium, 40), stack(Item.dirium, 40), stack(Item.steel, 50)),
powerbooster(power, DistributionBlocks.powerbooster, stack(Item.steel, 8), stack(Item.iron, 8)), powerbooster(power, DistributionBlocks.powerbooster, stack(Item.steel, 8), stack(Item.iron, 8)),
powerlaser(power, DistributionBlocks.powerlaser, stack(Item.steel, 3), stack(Item.iron, 3)), powerlaser(power, DistributionBlocks.powerlaser, stack(Item.steel, 3), stack(Item.iron, 3)),
powerlasercorner(power, DistributionBlocks.powerlasercorner, stack(Item.steel, 4), stack(Item.iron, 4)),
powerlaserrouter(power, DistributionBlocks.powerlaserrouter, stack(Item.steel, 5), stack(Item.iron, 5)), powerlaserrouter(power, DistributionBlocks.powerlaserrouter, stack(Item.steel, 5), stack(Item.iron, 5)),
shieldgenerator(power, DefenseBlocks.shieldgenerator, stack(Item.titanium, 30), stack(Item.dirium, 40)), shieldgenerator(power, DefenseBlocks.shieldgenerator, stack(Item.titanium, 30), stack(Item.dirium, 40)),

View File

@@ -286,7 +286,7 @@ public class World extends Module{
if(tile == null) return false; if(tile == null) return false;
if(type.isMultiblock() && Vars.control.getTutorial().active() && if(!type.isMultiblock() && Vars.control.getTutorial().active() &&
Vars.control.getTutorial().showBlock()){ Vars.control.getTutorial().showBlock()){
GridPoint2 point = Vars.control.getTutorial().getPlacePoint(); GridPoint2 point = Vars.control.getTutorial().getPlacePoint();

View File

@@ -92,6 +92,13 @@ public class DistributionBlocks{
fullDescription = "Laser that distributes power to three directions at once. " fullDescription = "Laser that distributes power to three directions at once. "
+ "Useful in situations where it is required to power multiple blocks from one generator."; + "Useful in situations where it is required to power multiple blocks from one generator.";
}}, }},
powerlasercorner = new PowerLaserRouter("powerlasercorner"){{
laserDirections = 2;
formalName = "laser corner";
description = "Splits input power into 2 lasers.";
fullDescription = "Laser that distributes power to two directions at once. "
+ "Useful in situations where it is required to power multiple blocks from one generator, and a normal router is imprecise.";
}},
teleporter = new Teleporter("teleporter"){{ teleporter = new Teleporter("teleporter"){{
description = "[interact]Tap block to config[]\nTeleports items to others of the same color."; description = "[interact]Tap block to config[]\nTeleports items to others of the same color.";
fullDescription = "Advanced item transport block. Teleporters input items to other teleporters of the same color." fullDescription = "Advanced item transport block. Teleporters input items to other teleporters of the same color."

View File

@@ -26,6 +26,7 @@ public class WeaponBlocks{
range = 52; range = 52;
reload = 15f; reload = 15f;
bullet = BulletType.stone; bullet = BulletType.stone;
health = 50;
ammo = Item.stone; ammo = Item.stone;
fullDescription = "A basic, cheap turret. Uses stone for ammo. Has slightly more range than the double-turret."; fullDescription = "A basic, cheap turret. Uses stone for ammo. Has slightly more range than the double-turret.";
} }
@@ -38,6 +39,7 @@ public class WeaponBlocks{
reload = 13f; reload = 13f;
bullet = BulletType.stone; bullet = BulletType.stone;
ammo = Item.stone; ammo = Item.stone;
health = 55;
health = 50; health = 50;
fullDescription = "A slightly more powerful version of the turret. Uses stone for ammo. Does significantly more damage, but has a lower range. Shoots two bullets."; fullDescription = "A slightly more powerful version of the turret. Uses stone for ammo. Does significantly more damage, but has a lower range. Shoots two bullets.";
} }

View File

@@ -22,6 +22,7 @@ public class LaserTurret extends PowerTurret{
public LaserTurret(String name) { public LaserTurret(String name) {
super(name); super(name);
shootsound = null;
} }
@Override @Override

View File

@@ -33,6 +33,12 @@ public class PowerTurret extends Turret implements PowerAcceptor{
list.add("[powerinfo]Power/shot: " + Strings.toFixed(powerUsed, 1)); list.add("[powerinfo]Power/shot: " + Strings.toFixed(powerUsed, 1));
} }
@Override
public void postInit(){
super.postInit();
description += "\n[powerinfo]Power/shot: " + Strings.toFixed(powerUsed, 1);
}
@Override @Override
public void drawPixelOverlay(Tile tile){ public void drawPixelOverlay(Tile tile){
Vector2 offset = getPlaceOffset(); Vector2 offset = getPlaceOffset();

View File

@@ -158,7 +158,7 @@ public class Turret extends Block{
float reload = Vars.multiplier*this.reload; float reload = Vars.multiplier*this.reload;
if(Angles.angleDist(entity.rotation, targetRot) < shootCone && Timers.get(tile, "reload", reload)){ if(Angles.angleDist(entity.rotation, targetRot) < shootCone && Timers.get(tile, "reload", reload)){
Effects.sound(shootsound, entity); if(shootsound != null) Effects.sound(shootsound, entity);
shoot(tile); shoot(tile);
consumeAmmo(tile); consumeAmmo(tile);
entity.ammo --; entity.ammo --;

View File

@@ -33,7 +33,7 @@ public class LiquidItemJunction extends LiquidBlock{
int dir = source.relativeTo(dest.x, dest.y); int dir = source.relativeTo(dest.x, dest.y);
dir = (dir+4)%4; dir = (dir+4)%4;
if(dir % 2 == 0) return false; if(dir+dest.getRotation() % 2 == 1) return false;
Tile to = dest.getNearby()[dir]; Tile to = dest.getNearby()[dir];
return to != null && to.block() != this && to.block() instanceof LiquidBlock && return to != null && to.block() != this && to.block() instanceof LiquidBlock &&
@@ -56,7 +56,7 @@ public class LiquidItemJunction extends LiquidBlock{
public boolean acceptItem(Item item, Tile dest, Tile source){ public boolean acceptItem(Item item, Tile dest, Tile source){
int dir = source.relativeTo(dest.x, dest.y); int dir = source.relativeTo(dest.x, dest.y);
if(dir % 2 == 1) return false; if((dir+dest.getRotation()) % 2 == 0) return false;
Tile to = dest.getNearby()[dir]; Tile to = dest.getNearby()[dir];
return to != null && to.block().acceptItem(item, to, dest); return to != null && to.block().acceptItem(item, to, dest);

View File

@@ -19,7 +19,7 @@ import io.anuke.ucore.core.Timers;
import io.anuke.ucore.util.Strings; import io.anuke.ucore.util.Strings;
public class LiquidPowerGenerator extends Generator implements LiquidAcceptor{ public class LiquidPowerGenerator extends Generator implements LiquidAcceptor{
public int generateTime = 5; public int generateTime = 15;
public Liquid generateLiquid; public Liquid generateLiquid;
/**Power to generate per generateInput.*/ /**Power to generate per generateInput.*/
public float generatePower = 1f; public float generatePower = 1f;

Binary file not shown.

Binary file not shown.