Added sector wave difficulty / ita bundle updated

This commit is contained in:
Anuken
2018-08-06 11:19:44 -04:00
parent 50461bb7c8
commit 80001246ef
9 changed files with 89 additions and 31 deletions

View File

@@ -245,7 +245,6 @@ block.liquidjunction.name=Incrocio per condotti
block.sorter.name=Filtro block.sorter.name=Filtro
block.smelter.name=fonderia block.smelter.name=fonderia
text.web.unsupported=La vcersione web non supporta questa funzione! Sacrica il gioco per utilizzarla. text.web.unsupported=La vcersione web non supporta questa funzione! Sacrica il gioco per utilizzarla.
text.host.web=La versione web non supporta l'hoting di server! Scarica il gioco per sfruttare questa funzione.
text.map.delete=Sei sicuro di voler eliminare questa mappa"[orange]{0}[]"? text.map.delete=Sei sicuro di voler eliminare questa mappa"[orange]{0}[]"?
text.construction.title=Guida blocchi da costruzione text.construction.title=Guida blocchi da costruzione
text.construction=Hai appena selezzionato la [accent]modalità di distruzione blocchi[].\n\nPer iniziare a piazzare, clicca in intorno appa tua navicella\nUna volta che sei soddisfatto del posizionamento, premi il conferma(✔), e la tua navicella inizierà a costruire il tutto.\n\n- [accentRimuovi i blocck[] dalla selezione cliccandoci sopra.\n- [accent]Sposta la selezione[] tenendo premuto e trascinando il tutto sullo schermo\n- [accent]Piazza i blocchi in linea[] Tenendo premuto nel punto d'inizio e poi trascinando il tutto nella direzione desiderata.\n- [accent]Cancella la selezione[] premendo la X in basso a sinistra. text.construction=Hai appena selezzionato la [accent]modalità di distruzione blocchi[].\n\nPer iniziare a piazzare, clicca in intorno appa tua navicella\nUna volta che sei soddisfatto del posizionamento, premi il conferma(✔), e la tua navicella inizierà a costruire il tutto.\n\n- [accentRimuovi i blocck[] dalla selezione cliccandoci sopra.\n- [accent]Sposta la selezione[] tenendo premuto e trascinando il tutto sullo schermo\n- [accent]Piazza i blocchi in linea[] Tenendo premuto nel punto d'inizio e poi trascinando il tutto nella direzione desiderata.\n- [accent]Cancella la selezione[] premendo la X in basso a sinistra.
@@ -261,7 +260,6 @@ text.sector=Settori Selezionati: [LIGHT_GRAY]{0}
text.sector.time=Tempo: [LIGHT_GRAY]{0} text.sector.time=Tempo: [LIGHT_GRAY]{0}
text.sector.deploy=Schiera text.sector.deploy=Schiera
text.sector.resume=Riprendi text.sector.resume=Riprendi
text.sector.unlocked=Settore completato!
text.sector.locked=[scarlet][[Incomplete] text.sector.locked=[scarlet][[Incomplete]
text.sector.unexplored=[accent][[Unexplored] text.sector.unexplored=[accent][[Unexplored]
text.close=Chiuso text.close=Chiuso
@@ -440,7 +438,6 @@ block.water-extractor.name=Estrattore d'acqua
block.cultivator.name=Coltivatore block.cultivator.name=Coltivatore
block.dart-ship-factory.name=Fabbriche di navi proiettile block.dart-ship-factory.name=Fabbriche di navi proiettile
block.delta-mech-factory.name=Fabbrica di mech block.delta-mech-factory.name=Fabbrica di mech
block.dronefactory.name=Fabbrica di droni
block.repairpoint.name=Punto di riparazione block.repairpoint.name=Punto di riparazione
block.resupplypoint.name=Punto di rifornimento block.resupplypoint.name=Punto di rifornimento
block.liquidtank.name=Tanica block.liquidtank.name=Tanica
@@ -468,8 +465,6 @@ block.solar-panel.name=Pannello solare
block.solar-panel-large.name=Pannrllo solare 3x3 block.solar-panel-large.name=Pannrllo solare 3x3
block.oil-extractor.name=Estrattore petrolio block.oil-extractor.name=Estrattore petrolio
block.javelin-ship-factory.name=Fabbrica ni navi block.javelin-ship-factory.name=Fabbrica ni navi
block.drone-factory.name=Fabbrica di droni
block.fabricator-factory.name=Fabbriche di droni avanzati
block.repair-point.name=Punto di riparazione block.repair-point.name=Punto di riparazione
block.resupply-point.name=Punto di rifornimento block.resupply-point.name=Punto di rifornimento
block.pulse-conduit.name=Condotta attiva block.pulse-conduit.name=Condotta attiva
@@ -479,4 +474,45 @@ block.liquid-tank.name=Tanica d'acqua
block.liquid-junction.name=Giunzione liquida block.liquid-junction.name=Giunzione liquida
block.bridge-conduit.name=Condotta forzata sopraelevata block.bridge-conduit.name=Condotta forzata sopraelevata
block.rotary-pump.name=Pompa a turbina block.rotary-pump.name=Pompa a turbina
block.nuclear-reactor.name=Reattore nucleare block.nuclear-reactor.name=Reattore nucleare
text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GRAY](In case you can't tell, this text is currently unfinished.\nTranslators, don't edit it yet!)
text.sector.gameover=This sector has been lost. Re-deploy?
text.sector.retry=Retry
text.wave.lasted=You lasted until wave [accent]{0}[].
text.mission=Mission:[LIGHT_GRAY] {0}
text.mission.complete=Mission complete!
text.mission.complete.body=Sector {0},{1} has been conquered.
text.mission.wave=Survive [accent]{0}[] waves.
text.mission.battle=Destroy the enemy base.
text.mission.resource=Obtain {0} x{1}
text.none=<none>
text.sector.corrupted=[orange]A save file for this sector was found, but loading failed.\nA new one has been created.
setting.fpscap.name=Max FPS
setting.fpscap.none=None
setting.fpscap.text={0} FPS
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
text.unit.health=[LIGHT_GRAY]Health: {0}
text.unit.speed=[LIGHT_GRAY]Speed: {0}
block.drone-pad.name=Drone Pad
block.fabricator-pad.name=Fabricator Pad
block.interceptor-pad.name=Interceptor Pad
block.monsoon-pad.name=Monsoon Pad
block.command-center.name=Command Center
block.mass-driver.name=Mass Driver
block.blast-drill.name=Blast Drill
block.thermal-pump.name=Thermal Pump
block.dagger-pad.name=Dagger Pad
block.titan-pad.name=Titan Pad
block.thermal-generator.name=Thermal Generator
unit.drone.name=Drone
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
unit.fabricator.name=Fabricator
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
unit.scout.name=Scout
unit.scout.description=A basic ground unit. Uses lead as ammo.
unit.titan.name=Titan
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
unit.monsoon.name=Monsoon
unit.monsoon.description=A heavy carpet bomber. Uses blast compound or pyratite as ammo.
unit.interceptor.name=Interceptor
unit.interceptor.description=A fast, hit-and-run strike unit. Uses lead as ammo.

View File

@@ -500,10 +500,10 @@ block.nuclear-reactor.name=Ядерный реактор
block.command-center.name=Командный центр block.command-center.name=Командный центр
block.mass-driver.name=Электромагнитная катапульта block.mass-driver.name=Электромагнитная катапульта
block.blast-drill.name=Буровая установка block.blast-drill.name=Буровая установка
block.thermal-pump.name=Тепловой насос block.thermal-pump.name=Thermal Pump
block.dagger-pad.name=Стартовая площадка "Кинжал" block.dagger-pad.name=Dagger Pad
block.titan-pad.name=Стартовая площадка титанов block.titan-pad.name=Titan Pad
block.thermal-generator.name=Термальный генератор block.thermal-generator.name=Thermal Generator
unit.drone.name=Дрон unit.drone.name=Дрон
unit.drone.description=Начальный дрон. По умолчанию появляется из ядра. Автоматически добывает руды, собирает предметы, ремонтирует блоки. unit.drone.description=Начальный дрон. По умолчанию появляется из ядра. Автоматически добывает руды, собирает предметы, ремонтирует блоки.
unit.fabricator.name=Сборщик unit.fabricator.name=Сборщик
@@ -516,7 +516,3 @@ unit.monsoon.name=Муссон
unit.monsoon.description=Тяжелый ковровый бомбардировщик. Использует взрывоопасное соединение или пиратит в качестве боеприпасов. unit.monsoon.description=Тяжелый ковровый бомбардировщик. Использует взрывоопасное соединение или пиратит в качестве боеприпасов.
unit.interceptor.name=Истребитель-перехватчик unit.interceptor.name=Истребитель-перехватчик
unit.interceptor.description=Быстрая и ударная боевая единица, которая использует набег с отскоком. Использует свинец как боеприпасы. unit.interceptor.description=Быстрая и ударная боевая единица, которая использует набег с отскоком. Использует свинец как боеприпасы.
block.thermal-pump.name=Thermal Pump
block.dagger-pad.name=Dagger Pad
block.titan-pad.name=Titan Pad
block.thermal-generator.name=Thermal Generator

View File

@@ -31,7 +31,7 @@ public class Vars{
//respawn time in frames //respawn time in frames
public static final float respawnduration = 60 * 4; public static final float respawnduration = 60 * 4;
//time between waves in frames (on normal mode) //time between waves in frames (on normal mode)
public static final float wavespace = 60 * 60 * 2f; public static final float wavespace = 60 * 60 * 1.5f;
//set ridiculously high for now //set ridiculously high for now
public static final float coreBuildRange = 800999f; public static final float coreBuildRange = 800999f;
//discord group URL //discord group URL

View File

@@ -220,6 +220,7 @@ public class World extends Module{
public void loadSector(Sector sector){ public void loadSector(Sector sector){
currentSector = sector; currentSector = sector;
state.mode = sector.missions.peek().getMode(); state.mode = sector.missions.peek().getMode();
state.difficulty = sector.missions.peek().getDifficulty(sector);
Timers.mark(); Timers.mark();
Timers.mark(); Timers.mark();

View File

@@ -38,22 +38,21 @@ public class Sectors{
sector.saveID = control.getSaves().addSave("sector-" + sector.packedPosition()).index; sector.saveID = control.getSaves().addSave("sector-" + sector.packedPosition()).index;
world.sectors().save(); world.sectors().save();
world.setSector(sector); world.setSector(sector);
}else{ }else try{
try{ sector.getSave().load();
sector.getSave().load(); world.setSector(sector);
world.setSector(sector); state.set(State.playing);
state.set(State.playing); }catch(Exception e){
}catch(Exception e){ Log.err(e);
Log.err(e); sector.getSave().delete();
sector.getSave().delete();
playSector(sector); playSector(sector);
if(!headless){ if(!headless){
threads.runGraphics(() -> ui.showError("$text.sector.corrupted")); threads.runGraphics(() -> ui.showError("$text.sector.corrupted"));
}
} }
} }
} }
/**If a sector is not yet unlocked, returns null.*/ /**If a sector is not yet unlocked, returns null.*/

View File

@@ -3,8 +3,10 @@ package io.anuke.mindustry.maps.missions;
import com.badlogic.gdx.math.GridPoint2; import com.badlogic.gdx.math.GridPoint2;
import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.Vars; import io.anuke.mindustry.Vars;
import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.game.Team; import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.maps.Sector;
import io.anuke.mindustry.maps.generation.FortressGenerator; import io.anuke.mindustry.maps.generation.FortressGenerator;
import io.anuke.mindustry.maps.generation.Generation; import io.anuke.mindustry.maps.generation.Generation;
import io.anuke.ucore.scene.ui.layout.Table; import io.anuke.ucore.scene.ui.layout.Table;
@@ -13,6 +15,11 @@ import io.anuke.ucore.util.Bundles;
public class BattleMission implements Mission{ public class BattleMission implements Mission{
private final static int coreX = 60, coreY = 60; private final static int coreX = 60, coreY = 60;
@Override
public Difficulty getDifficulty(Sector sector){
return Difficulty.normal;
}
@Override @Override
public void display(Table table){ public void display(Table table){
table.add("$text.mission.battle"); table.add("$text.mission.battle");

View File

@@ -3,6 +3,7 @@ package io.anuke.mindustry.maps.missions;
import com.badlogic.gdx.math.GridPoint2; import com.badlogic.gdx.math.GridPoint2;
import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.content.blocks.StorageBlocks;
import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.game.SpawnGroup;
import io.anuke.mindustry.game.Team; import io.anuke.mindustry.game.Team;
@@ -14,6 +15,7 @@ public interface Mission{
boolean isComplete(); boolean isComplete();
String displayString(); String displayString();
GameMode getMode(); GameMode getMode();
Difficulty getDifficulty(Sector sector);
void display(Table table); void display(Table table);
default Array<SpawnGroup> getWaves(Sector sector){ default Array<SpawnGroup> getWaves(Sector sector){

View File

@@ -1,7 +1,9 @@
package io.anuke.mindustry.maps.missions; package io.anuke.mindustry.maps.missions;
import io.anuke.mindustry.Vars; import io.anuke.mindustry.Vars;
import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.maps.Sector;
import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Item;
import io.anuke.ucore.scene.ui.layout.Table; import io.anuke.ucore.scene.ui.layout.Table;
import io.anuke.ucore.util.Bundles; import io.anuke.ucore.util.Bundles;
@@ -15,6 +17,11 @@ public class ResourceMission implements Mission{
this.amount = amount; this.amount = amount;
} }
@Override
public Difficulty getDifficulty(Sector sector){
return Difficulty.normal;
}
@Override @Override
public void display(Table table){ public void display(Table table){

View File

@@ -2,10 +2,7 @@ package io.anuke.mindustry.maps.missions;
import com.badlogic.gdx.math.GridPoint2; import com.badlogic.gdx.math.GridPoint2;
import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.*;
import io.anuke.mindustry.game.SpawnGroup;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.game.Waves;
import io.anuke.mindustry.maps.Sector; import io.anuke.mindustry.maps.Sector;
import io.anuke.mindustry.maps.generation.Generation; import io.anuke.mindustry.maps.generation.Generation;
import io.anuke.ucore.scene.ui.layout.Table; import io.anuke.ucore.scene.ui.layout.Table;
@@ -20,6 +17,19 @@ public class WaveMission implements Mission{
this.target = target; this.target = target;
} }
@Override
public Difficulty getDifficulty(Sector sector){
if(sector.difficulty == 0){
return Difficulty.easy;
}else if(sector.difficulty < 4){
return Difficulty.normal;
}else if(sector.difficulty < 9){
return Difficulty.hard;
}else{
return Difficulty.insane;
}
}
@Override @Override
public Array<SpawnGroup> getWaves(Sector sector){ public Array<SpawnGroup> getWaves(Sector sector){
Array<SpawnGroup> spawns = new Array<>(); Array<SpawnGroup> spawns = new Array<>();