Skip to content

Commit 0bdde50

Browse files
authored
Merge pull request #27 from wmioch/codex/add-new-itemtype-and-assembler-recipe
Add advanced servo assembler structure and texture mappings
2 parents 4b590cc + f64c615 commit 0bdde50

File tree

10 files changed

+155
-1
lines changed

10 files changed

+155
-1
lines changed

TECH_TREE_REFERENCE.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,8 @@ This document provides a complete reference for the technology research tree, sh
183183
- DistillationColumn
184184
- SteelTube
185185
- Valve (requires Routers)
186+
- Assembler recipe: Advanced Servo (needs Blueprints + AdvancedTransport; consumes heavy Lubricant alongside catalysts for late-game turbines and precision frames)
187+
- Dedicated Advanced Servo Assembler structure mirrors the servo recipe with its own build slot (OilProcessing tier)
186188

187189
#### **SolarPower**
188190
- **ID:** 19

android/assets/i18n/TheQuarry_de.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ confirm.save_exists = Dieser Spielstand existiert bereits.
5252
confirm.save_game = Möchtest du dein aktives Spiel zunächst noch speichern?
5353
demo.playstore = Play Store
5454
item.AdvancedMachineFrame = Fortgeschrittener Maschinenrahmen
55+
item.AdvancedServo = Fortschrittliches Servomodul
5556
item.AnyStackable = Beliebige stapelbare Ressource
5657
item.Battery = Batterie
5758
item.Blueprint = Blaupausen
@@ -256,10 +257,13 @@ structure.arcwelder.recipe.machineframe = Schweißt ein essentielles Bau
256257
structure.arcwelder.recipe.platestack = Schweißt ein Sandwich aus verschiedenen Metallplatten zusammen.
257258
structure.arcwelder.recipe.tank = Konstruiert eine metallene Hochdruck-Gasflasche mit Schweißnähten.
258259
structure.assembler = Assemblierer
260+
structure.advanced_servo_assembler = Servo-Montagestation
259261
structure.assembler.recipe.battery = Montiert eine kleine Thermalbatterie mit moderater Kapazität.
260262
structure.assembler.recipe.blueprint = Stellt ein schützendes Cover und eine Schreibunterlage für das Papier her.
261263
structure.assembler.recipe.dynamite = Stellt einen Stab Dynamit unter größter Sorgfalt her.
262264
structure.assembler.recipe.dynamo = Montiert einen Elektrogenerator aus fortschrittlichen Materialen.
265+
structure.assembler.recipe.advanced_servo = Montiert ein präzises Servo-Modul mit geschmierten Rohren und fortgeschrittener Elektronik.
266+
structure.advanced_servo_assembler.recipe.advanced_servo = Montiert ein präzises Servo-Modul mit geschmierten Rohren und fortgeschrittener Elektronik.
263267
structure.assembler.recipe.pallet = Konstruiert eine hölzerne Standard-Palette mit Stahlnägeln.
264268
structure.assembler.recipe.rotor = Konstruiert einen robusten Turbinenrotor durch Anbringen von Turbinenschaufeln an einem zentralen Schaft.
265269
structure.assembler.recipe.turbine = Konstruiert eine hochperformante Turbine aus mehreren geölten Rotorschäften und Elektrogeneratoren.

android/assets/i18n/TheQuarry_en.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ confirm.save_exists = This save already exists. Overwrite?
5252
confirm.save_game = Do you want to save your current game first?
5353
demo.playstore = Play Store
5454
item.AdvancedMachineFrame = Advanced Machine Frame
55+
item.AdvancedServo = Advanced Servo
5556
item.AnyStackable = Any stackable resource
5657
item.Battery = Battery
5758
item.Blueprint = Blueprint
@@ -259,10 +260,13 @@ structure.arcwelder.recipe.machineframe = Welds together a fundamental b
259260
structure.arcwelder.recipe.platestack = Welds together a sandwich of multiple metal plates.
260261
structure.arcwelder.recipe.tank = Constructs a high pressure metal gas tank using weld joins.
261262
structure.assembler = Assembler
263+
structure.advanced_servo_assembler = Advanced Servo Assembler
262264
structure.assembler.recipe.battery = Assembles a small molten-salt battery with moderate capacity.
263265
structure.assembler.recipe.blueprint = Assembles a nice protective case and back-cover to protect the paper inside.
264266
structure.assembler.recipe.dynamite = Carefully assembles the explosive charge and wraps it to create a dynamite stick.
265267
structure.assembler.recipe.dynamo = Assembles an electric generator component out of advanced materials.
268+
structure.assembler.recipe.advanced_servo = Assembles a precision servo assembly using lubricated tubes and advanced electronics.
269+
structure.advanced_servo_assembler.recipe.advanced_servo = Assembles a precision servo assembly using lubricated tubes and advanced electronics.
266270
structure.assembler.recipe.pallet = Assembles a wooden standard size wooden pallet using steel nails.
267271
structure.assembler.recipe.rotor = Assembles a robust turbine rotor by attaching blades to a central core rod.
268272
structure.assembler.recipe.turbine = Assembles a high performance turbine using several lubricated rotors and dynamo components.

android/assets/tex.atlas

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,6 +1007,13 @@ item_advancedmachineframe
10071007
orig: 24, 24
10081008
offset: 0, 0
10091009
index: -1
1010+
item_advanced_servo
1011+
rotate: false
1012+
xy: 3055, 1595
1013+
size: 24, 24
1014+
orig: 24, 24
1015+
offset: 0, 0
1016+
index: -1
10101017
item_au_dust
10111018
rotate: false
10121019
xy: 651, 585
@@ -1448,6 +1455,13 @@ item_pallet
14481455
orig: 24, 24
14491456
offset: 0, 0
14501457
index: -1
1458+
item_advanced_servo_pallet
1459+
rotate: false
1460+
xy: 1587, 505
1461+
size: 24, 24
1462+
orig: 24, 24
1463+
offset: 0, 0
1464+
index: -1
14511465
item_paper
14521466
rotate: false
14531467
xy: 1613, 505
@@ -2015,6 +2029,13 @@ structure_assembler
20152029
orig: 384, 384
20162030
offset: 0, 0
20172031
index: -1
2032+
structure_advanced_servo_assembler
2033+
rotate: false
2034+
xy: 291, 637
2035+
size: 384, 384
2036+
orig: 384, 384
2037+
offset: 0, 0
2038+
index: -1
20182039
structure_ballmill
20192040
rotate: false
20202041
xy: 1, 121

android/assets/tex.atlas.backup

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,13 @@ item_advancedmachineframe
426426
orig: 24, 24
427427
offset: 0, 0
428428
index: -1
429+
item_advanced_servo
430+
rotate: false
431+
xy: 1513, 1707
432+
size: 24, 24
433+
orig: 24, 24
434+
offset: 0, 0
435+
index: -1
429436
item_au_dust
430437
rotate: false
431438
xy: 1513, 1681
@@ -1056,6 +1063,13 @@ structure_assembler
10561063
orig: 384, 384
10571064
offset: 0, 0
10581065
index: -1
1066+
structure_advanced_servo_assembler
1067+
rotate: false
1068+
xy: 1539, 1663
1069+
size: 384, 384
1070+
orig: 384, 384
1071+
offset: 0, 0
1072+
index: -1
10591073
structure_ballmill
10601074
rotate: false
10611075
xy: 935, 89
@@ -2203,6 +2217,13 @@ item_pallet
22032217
orig: 24, 24
22042218
offset: 0, 0
22052219
index: -1
2220+
item_advanced_servo_pallet
2221+
rotate: false
2222+
xy: 1249, 1887
2223+
size: 24, 24
2224+
orig: 24, 24
2225+
offset: 0, 0
2226+
index: -1
22062227
item_paper
22072228
rotate: false
22082229
xy: 127, 27

android/assets/tex.atlas.original

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,13 @@ item_advancedmachineframe
426426
orig: 24, 24
427427
offset: 0, 0
428428
index: -1
429+
item_advanced_servo
430+
rotate: false
431+
xy: 1513, 1707
432+
size: 24, 24
433+
orig: 24, 24
434+
offset: 0, 0
435+
index: -1
429436
item_au_dust
430437
rotate: false
431438
xy: 1513, 1681
@@ -1056,6 +1063,13 @@ structure_assembler
10561063
orig: 384, 384
10571064
offset: 0, 0
10581065
index: -1
1066+
structure_advanced_servo_assembler
1067+
rotate: false
1068+
xy: 1539, 1663
1069+
size: 384, 384
1070+
orig: 384, 384
1071+
offset: 0, 0
1072+
index: -1
10591073
structure_ballmill
10601074
rotate: false
10611075
xy: 935, 89
@@ -2203,6 +2217,13 @@ item_pallet
22032217
orig: 24, 24
22042218
offset: 0, 0
22052219
index: -1
2220+
item_advanced_servo_pallet
2221+
rotate: false
2222+
xy: 1249, 1887
2223+
size: 24, 24
2224+
orig: 24, 24
2225+
offset: 0, 0
2226+
index: -1
22062227
item_paper
22072228
rotate: false
22082229
xy: 127, 27

core/src/de/dakror/quarry/game/Item.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ public enum ItemType {
244244
Rotor(60, "rotor", 156747, ItemCategory.Component),
245245
MachineFrame(61, "machineframe", 29208, ItemCategory.Component),
246246
AdvancedMachineFrame(62, "advancedmachineframe", 6679663, ItemCategory.Component),
247+
AdvancedServo(73, "advanced_servo", 5220000, ItemCategory.Component),
247248
PlateStack(63, "platestack", 1078504, ItemCategory.Component),
248249
SteelCable(64, "steel_cable", 39688, ItemCategory.Component),
249250
WoodChips(65, "wood_chips", 1, ItemCategory.Component),
@@ -356,6 +357,7 @@ public enum ItemType {
356357
RotorPallet(Pallet, 68, Rotor),
357358
MachineFramePallet(Pallet, 69, MachineFrame),
358359
AdvancedMachineFramePallet(Pallet, 70, AdvancedMachineFrame),
360+
AdvancedServoPallet(Pallet, 88, AdvancedServo),
359361
PlateStackPallet(Pallet, 71, PlateStack),
360362
SteelCablePallet(Pallet, 72, SteelCable),
361363

core/src/de/dakror/quarry/structure/base/StructureType.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
import de.dakror.quarry.structure.power.SuperCapacitor;
6363
import de.dakror.quarry.structure.power.WaterWheel;
6464
import de.dakror.quarry.structure.producer.AirPurifier;
65+
import de.dakror.quarry.structure.producer.AdvancedServoAssembler;
6566
import de.dakror.quarry.structure.producer.ArcWelder;
6667
import de.dakror.quarry.structure.producer.Assembler;
6768
import de.dakror.quarry.structure.producer.BallMill;
@@ -161,6 +162,7 @@ public enum StructureType {
161162
Polarizer(86, Polarizer.class),
162163
Compactor(87, Compactor.class),
163164
Assembler(88, Assembler.class),
165+
AdvancedServoAssembler(215, AdvancedServoAssembler.class),
164166
Refinery(89, Refinery.class),
165167
DistillationColumn(90, DistillationColumn.class),
166168
Polymerizer(91, Polymerizer.class),
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
/*******************************************************************************
2+
* Copyright 2017 Maximilian Stark | Dakror <mail@dakror.de>
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
******************************************************************************/
16+
17+
package de.dakror.quarry.structure.producer;
18+
19+
import de.dakror.quarry.Const;
20+
import de.dakror.quarry.game.Item.ItemType;
21+
import de.dakror.quarry.game.Item.Items;
22+
import de.dakror.quarry.game.Item.Items.Amount;
23+
import de.dakror.quarry.game.Science.ScienceType;
24+
import de.dakror.quarry.structure.base.Direction;
25+
import de.dakror.quarry.structure.base.Dock;
26+
import de.dakror.quarry.structure.base.Dock.DockFilter;
27+
import de.dakror.quarry.structure.base.Dock.DockType;
28+
import de.dakror.quarry.structure.base.ProducerStructure;
29+
import de.dakror.quarry.structure.base.RecipeList;
30+
import de.dakror.quarry.structure.base.Schema.Flags;
31+
import de.dakror.quarry.structure.base.StructureType;
32+
import de.dakror.quarry.util.Sfx;
33+
34+
/**
35+
* Dedicated assembler schema for the advanced servo chain.
36+
*/
37+
public class AdvancedServoAssembler extends ProducerStructure {
38+
public static final ProducerSchema classSchema = new ProducerSchema(0, StructureType.AdvancedServoAssembler, 6, 6,
39+
"advanced_servo_assembler", new Items(ItemType.StoneBrick, 45, ItemType.SteelIngot, 70, ItemType.WoodPlank, 85, ItemType.Scaffolding, 60, ItemType.CopperIngot, 80),
40+
new RecipeList() {
41+
@Override
42+
protected void init() {
43+
add(new Recipe(70f, "advanced_servo", 2600)
44+
.input(
45+
new Amount(ItemType.Lubricant, 12_500),
46+
new Amount(ItemType.SulfurDust, 90),
47+
new Amount(ItemType.PlasticCasing, 3),
48+
new Amount(ItemType.SteelTube, 16),
49+
new Amount(ItemType.Chip, 2))
50+
.output(new Amount(ItemType.AdvancedServo, 1))
51+
.science(ScienceType.OilProcessing, ScienceType.Blueprints, ScienceType.AdvancedTransport));
52+
}
53+
}, new Sfx("assembler" + Const.SFX_FORMAT),
54+
false,
55+
new Dock(5, 0, Direction.South, DockType.ItemOut),
56+
new Dock(0, 5, Direction.West, DockType.ItemIn, new DockFilter(ItemType.CopperWire, ItemType.BronzePlate, ItemType.Rotor, ItemType.Paper, ItemType.WoodPlank)),
57+
new Dock(5, 5, Direction.East, DockType.ItemIn, new DockFilter(ItemType.Magnet, ItemType.IronPlate, ItemType.Dynamo, ItemType.IronPlate, ItemType.Gunpowder, ItemType.SteelWire, ItemType.Chip)),
58+
new Dock(5, 3, Direction.East, DockType.ItemIn, new DockFilter(ItemType.SteelIngot, ItemType.SulfurDust, ItemType.SteelTube, ItemType.Sand)),
59+
new Dock(0, 3, Direction.West, DockType.ItemIn, new DockFilter(ItemType.CarbonBlock, ItemType.PlasticCasing, ItemType.SteelPlate, ItemType.Clay)),
60+
new Dock(1, 5, Direction.North, DockType.Power), new Dock(4, 5, Direction.North, DockType.FluidIn, new DockFilter(ItemType.Lubricant)))
61+
.sciences(ScienceType.Electricity)
62+
.flags(Flags.TextureAlwaysUpright);
63+
64+
public AdvancedServoAssembler(int x, int y) {
65+
super(x, y, classSchema);
66+
}
67+
}

core/src/de/dakror/quarry/structure/producer/Assembler.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,22 @@ protected void init() {
9898
new Amount(ItemType.Lubricant, 10_000))
9999
.output(new Amount(ItemType.Turbine, 1))
100100
.science(ScienceType.OilProcessing));
101+
102+
add(new Recipe(70f, "advanced_servo", 2600)
103+
.input(
104+
new Amount(ItemType.Lubricant, 12_500),
105+
new Amount(ItemType.SulfurDust, 90),
106+
new Amount(ItemType.PlasticCasing, 3),
107+
new Amount(ItemType.SteelTube, 16),
108+
new Amount(ItemType.Chip, 2))
109+
.output(new Amount(ItemType.AdvancedServo, 1))
110+
.science(ScienceType.OilProcessing, ScienceType.Blueprints, ScienceType.AdvancedTransport));
101111
}
102112
}, new Sfx("assembler" + Const.SFX_FORMAT),
103113
false,
104114
new Dock(5, 0, Direction.South, DockType.ItemOut),
105115
new Dock(0, 5, Direction.West, DockType.ItemIn, new DockFilter(ItemType.CopperWire, ItemType.BronzePlate, ItemType.Rotor, ItemType.Paper, ItemType.WoodPlank)),
106-
new Dock(5, 5, Direction.East, DockType.ItemIn, new DockFilter(ItemType.Magnet, ItemType.IronPlate, ItemType.Dynamo, ItemType.IronPlate, ItemType.Gunpowder, ItemType.SteelWire)),
116+
new Dock(5, 5, Direction.East, DockType.ItemIn, new DockFilter(ItemType.Magnet, ItemType.IronPlate, ItemType.Dynamo, ItemType.IronPlate, ItemType.Gunpowder, ItemType.SteelWire, ItemType.Chip)),
107117
new Dock(5, 3, Direction.East, DockType.ItemIn, new DockFilter(ItemType.SteelIngot, ItemType.SulfurDust, ItemType.SteelTube, ItemType.Sand)),
108118
new Dock(0, 3, Direction.West, DockType.ItemIn, new DockFilter(ItemType.CarbonBlock, ItemType.PlasticCasing, ItemType.SteelPlate, ItemType.Clay)),
109119
new Dock(1, 5, Direction.North, DockType.Power), new Dock(4, 5, Direction.North, DockType.FluidIn, new DockFilter(ItemType.Lubricant)))

0 commit comments

Comments
 (0)