New team colors

This commit is contained in:
Anuken 2019-08-02 10:10:37 -04:00
parent 5acda423d8
commit 04c8ecf4af
22 changed files with 51 additions and 43 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 517 B

After

Width:  |  Height:  |  Size: 6.6 KiB

Before After
Before After

View file

@ -837,9 +837,10 @@ block.container.name = Container
block.launch-pad.name = Launch Pad
block.launch-pad-large.name = Large Launch Pad
team.blue.name = blue
team.red.name = red
team.crux.name = red
team.sharded.name = orange
team.orange.name = orange
team.none.name = gray
team.derelict.name = derelict
team.green.name = green
team.purple.name = purple
unit.spirit.name = Spirit Repair Drone

Binary file not shown.

Before

Width:  |  Height:  |  Size: 676 KiB

After

Width:  |  Height:  |  Size: 676 KiB

Before After
Before After

View file

@ -42,9 +42,9 @@ public class Vars{
/** maximum distance between mine and core that supports automatic transferring */
public static final float mineTransferRange = 220f;
/** team of the player by default */
public static final Team defaultTeam = Team.blue;
public static final Team defaultTeam = Team.sharded;
/** team of the enemy in waves/sectors */
public static final Team waveTeam = Team.red;
public static final Team waveTeam = Team.crux;
/** whether to enable editing of units in the editor */
public static final boolean enableUnitEditing = false;
/** max chat message length */

View file

@ -219,7 +219,7 @@ public class BlockIndexer{
}
private void process(Tile tile){
if(tile.block().flags.size() > 0 && tile.getTeam() != Team.none){
if(tile.block().flags.size() > 0 && tile.getTeam() != Team.derelict){
ObjectSet<Tile>[] map = getFlagged(tile.getTeam());
for(BlockFlag flag : tile.block().flags){

View file

@ -32,6 +32,7 @@ public class Mechs implements ContentList{
mineSpeed = 1.5f;
mass = 1.2f;
speed = 0.5f;
itemCapacity = 40;
boostSpeed = 0.95f;
buildPower = 1.2f;
engineColor = Color.valueOf("ffd37f");
@ -151,7 +152,7 @@ public class Mechs implements ContentList{
{
drillPower = 2;
mineSpeed = 1.5f;
itemCapacity = 50;
itemCapacity = 80;
speed = 0.36f;
boostSpeed = 0.6f;
mass = 4f;

View file

@ -115,7 +115,7 @@ public class EditorTile extends Tile{
return;
}
super.setTeam(Team.none);
super.setTeam(Team.derelict);
}
@Override

View file

@ -32,7 +32,7 @@ public class MapEditor{
public int brushSize = 1;
public int rotation;
public Block drawBlock = Blocks.stone;
public Team drawTeam = Team.blue;
public Team drawTeam = Team.sharded;
public StringMap getTags(){
return tags;

View file

@ -538,6 +538,11 @@ public class MapEditorDialog extends Dialog implements Disposable{
mid.table("underline", t -> {
Slider slider = new Slider(0, MapEditor.brushSizes.length - 1, 1, false);
slider.moved(f -> editor.brushSize = MapEditor.brushSizes[(int)(float)f]);
for(int j = 0; j < MapEditor.brushSizes.length; j++){
if(MapEditor.brushSizes[j] == editor.brushSize){
slider.setValue(j);
}
}
t.top();
t.add("$editor.brush");

View file

@ -394,10 +394,10 @@ public class MapGenerateDialog extends FloatingDialog{
//get result from buffer1 if there's filters left, otherwise get from editor directly
if(filters.isEmpty()){
Tile tile = editor.tile(px * scaling, py * scaling);
color = MapIO.colorFor(tile.floor(), tile.block(), tile.overlay(), Team.none);
color = MapIO.colorFor(tile.floor(), tile.block(), tile.overlay(), Team.derelict);
}else{
GenTile tile = buffer1[px][py];
color = MapIO.colorFor(content.block(tile.floor), content.block(tile.block), content.block(tile.ore), Team.none);
color = MapIO.colorFor(content.block(tile.floor), content.block(tile.block), content.block(tile.ore), Team.derelict);
}
pixmap.drawPixel(px, pixmap.getHeight() - 1 - py, color);
}

View file

@ -35,7 +35,7 @@ public class Damage{
public static void dynamicExplosion(float x, float y, float flammability, float explosiveness, float power, float radius, Color color){
for(int i = 0; i < Mathf.clamp(power / 20, 0, 6); i++){
int branches = 5 + Mathf.clamp((int)(power / 30), 1, 20);
Time.run(i * 2f + Mathf.random(4f), () -> Lightning.create(Team.none, Pal.power, 3,
Time.run(i * 2f + Mathf.random(4f), () -> Lightning.create(Team.derelict, Pal.power, 3,
x, y, Mathf.random(360f), branches + Mathf.range(2)));
}

View file

@ -79,7 +79,7 @@ public class Units{
/** Returns the neareset enemy tile in a range. */
public static TileEntity findEnemyTile(Team team, float x, float y, float range, Predicate<Tile> pred){
if(team == Team.none) return null;
if(team == Team.derelict) return null;
for(Team enemy : state.teams.enemiesOf(team)){
TileEntity entity = world.indexer.findTile(enemy, x, y, range, pred);
@ -102,7 +102,7 @@ public class Units{
/** Returns the closest target enemy. First, units are checked, then tile entities. */
public static TargetTrait closestTarget(Team team, float x, float y, float range, Predicate<Unit> unitPred, Predicate<Tile> tilePred){
if(team == Team.none) return null;
if(team == Team.derelict) return null;
Unit unit = closestEnemy(team, x, y, range, unitPred);
if(unit != null){
@ -114,7 +114,7 @@ public class Units{
/** Returns the closest enemy of this team. Filter by predicate. */
public static Unit closestEnemy(Team team, float x, float y, float range, Predicate<Unit> predicate){
if(team == Team.none) return null;
if(team == Team.derelict) return null;
result = null;
cdist = 0f;

View file

@ -83,7 +83,7 @@ public class Bullet extends SolidEntity implements DamageTrait, ScaleTrait, Pool
/** Internal use only. */
@Remote(called = Loc.server, unreliable = true)
public static void createBullet(BulletType type, float x, float y, float angle){
create(type, null, Team.none, x, y, angle);
create(type, null, Team.derelict, x, y, angle);
}
/** ok */

View file

@ -715,10 +715,10 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{
if(target == null){
isShooting = false;
if(Core.settings.getBool("autotarget")){
target = Units.closestTarget(team, x, y, getWeapon().bullet.range(), u -> u.getTeam() != Team.none, u -> u.getTeam() != Team.none);
target = Units.closestTarget(team, x, y, getWeapon().bullet.range(), u -> u.getTeam() != Team.derelict, u -> u.getTeam() != Team.derelict);
if(mech.canHeal && target == null){
target = Geometry.findClosest(x, y, world.indexer.getDamaged(Team.blue));
target = Geometry.findClosest(x, y, world.indexer.getDamaged(Team.sharded));
if(target != null && dst(target) > getWeapon().bullet.range()){
target = null;
}else if(target != null){
@ -771,7 +771,7 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{
public void resetNoAdd(){
status.clear();
team = Team.blue;
team = Team.sharded;
item.amount = 0;
placeQueue.clear();
dead = true;

View file

@ -45,7 +45,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
protected final Statuses status = new Statuses();
protected final ItemStack item = new ItemStack(content.item(0), 0);
protected Team team = Team.blue;
protected Team team = Team.sharded;
protected float drownTime, hitTime;
@Override

View file

@ -2,14 +2,15 @@ package io.anuke.mindustry.game;
import io.anuke.arc.Core;
import io.anuke.arc.graphics.Color;
import io.anuke.mindustry.graphics.*;
public enum Team{
none(Color.valueOf("4d4e58")),
blue(Color.valueOf("4169e1")),
red(Color.valueOf("e84737")),
green(Color.valueOf("1dc645")),
purple(Color.valueOf("ba5bd9")),
orange(Color.valueOf("e8c66a"));
derelict(Color.valueOf("4d4e58")),
sharded(Pal.accent),
crux(Color.valueOf("e82d2d")),
green(Color.valueOf("3ea56b")),
purple(Color.valueOf("8247b6")),
blue(Color.valueOf("ff7f50"));
public final static Team[] all = values();
public final Color color;

View file

@ -217,14 +217,14 @@ public class LegacyMapIO{
if(Structs.inBounds(worldx, worldy, pixmap.getWidth(), pixmap.getHeight())){
Tile write = tiles[worldx][worldy];
write.setBlock(BlockPart.get(dx - 1, dy - 1));
write.setTeam(Team.blue);
write.setTeam(Team.sharded);
}
}
}
//actual core parts
tile.setBlock(Blocks.coreShard);
tile.setTeam(Team.blue);
tile.setTeam(Team.sharded);
}
}
}

View file

@ -112,9 +112,9 @@ public class MapIO{
@Override
public Tile create(int x, int y, int floorID, int overlayID, int wallID){
if(overlayID != 0){
floors.drawPixel(x, floors.getHeight() - 1 - y, colorFor(Blocks.air, Blocks.air, content.block(overlayID), Team.none));
floors.drawPixel(x, floors.getHeight() - 1 - y, colorFor(Blocks.air, Blocks.air, content.block(overlayID), Team.derelict));
}else{
floors.drawPixel(x, floors.getHeight() - 1 - y, colorFor(content.block(floorID), Blocks.air, Blocks.air, Team.none));
floors.drawPixel(x, floors.getHeight() - 1 - y, colorFor(content.block(floorID), Blocks.air, Blocks.air, Team.derelict));
}
if(content.block(overlayID) == Blocks.spawn){
map.spawns ++;

View file

@ -299,7 +299,7 @@ public class Tile implements Position, TargetTrait{
}
public boolean interactable(Team team){
return getTeam() == Team.none || team == getTeam();
return getTeam() == Team.derelict || team == getTeam();
}
public Item drop(){

View file

@ -67,7 +67,7 @@ public class DeflectorWall extends Wall{
}
bullet.updateVelocity();
bullet.resetOwner(entity, Team.none);
bullet.resetOwner(entity, Team.derelict);
bullet.scaleTime(1f);
bullet.supress();

View file

@ -295,7 +295,7 @@ public class ServerControl implements ApplicationListener{
info(" &lyPlaying on map &fi{0}&fb &lb/&ly Wave {1}", Strings.capitalize(world.getMap().name()), state.wave);
if(state.rules.waves){
info("&ly {0} enemies.", unitGroups[Team.red.ordinal()].size());
info("&ly {0} enemies.", unitGroups[Team.crux.ordinal()].size());
}else{
info("&ly {0} seconds until next wave.", (int)(state.wavetime / 60));
}
@ -340,7 +340,7 @@ public class ServerControl implements ApplicationListener{
}
try{
Team team = arg.length == 0 ? Team.blue : Team.valueOf(arg[0]);
Team team = arg.length == 0 ? Team.sharded : Team.valueOf(arg[0]);
if(state.teams.get(team).cores.isEmpty()){
err("That team has no cores.");
@ -627,7 +627,7 @@ public class ServerControl implements ApplicationListener{
info("&lyCore destroyed.");
inExtraRound = false;
Events.fire(new GameOverEvent(Team.red));
Events.fire(new GameOverEvent(Team.crux));
});
handler.register("info", "<IP/UUID/name...>", "Find player info(s). Can optionally check for all names or IPs a player has had.", arg -> {

View file

@ -129,8 +129,8 @@ public class ApplicationTests{
createMap();
int bx = 4;
int by = 4;
world.setBlock(world.tile(bx, by), Blocks.coreShard, Team.blue);
assertEquals(world.tile(bx, by).getTeam(), Team.blue);
world.setBlock(world.tile(bx, by), Blocks.coreShard, Team.sharded);
assertEquals(world.tile(bx, by).getTeam(), Team.sharded);
for(int x = bx - 1; x <= bx + 1; x++){
for(int y = by - 1; y <= by + 1; y++){
if(x == bx && by == y){
@ -250,8 +250,8 @@ public class ApplicationTests{
void buildingOverlap(){
initBuilding();
Phantom d1 = (Phantom)UnitTypes.phantom.create(Team.blue);
Phantom d2 = (Phantom)UnitTypes.phantom.create(Team.blue);
Phantom d1 = (Phantom)UnitTypes.phantom.create(Team.sharded);
Phantom d2 = (Phantom)UnitTypes.phantom.create(Team.sharded);
d1.set(10f, 20f);
d2.set(10f, 20f);
@ -272,8 +272,8 @@ public class ApplicationTests{
void buildingDestruction(){
initBuilding();
Phantom d1 = (Phantom)UnitTypes.phantom.create(Team.blue);
Phantom d2 = (Phantom)UnitTypes.phantom.create(Team.blue);
Phantom d1 = (Phantom)UnitTypes.phantom.create(Team.sharded);
Phantom d2 = (Phantom)UnitTypes.phantom.create(Team.sharded);
d1.set(10f, 20f);
d2.set(10f, 20f);
@ -340,16 +340,16 @@ public class ApplicationTests{
createMap();
Tile core = world.tile(5, 5);
world.setBlock(core, Blocks.coreShard, Team.blue);
world.setBlock(core, Blocks.coreShard, Team.sharded);
for(Item item : content.items()){
core.entity.items.set(item, 3000);
}
assertEquals(core, state.teams.get(Team.blue).cores.first());
assertEquals(core, state.teams.get(Team.sharded).cores.first());
}
void depositTest(Block block, Item item){
BaseUnit unit = UnitTypes.spirit.create(Team.none);
BaseUnit unit = UnitTypes.spirit.create(Team.derelict);
Tile tile = new Tile(0, 0, Blocks.air.id, (byte)0, block.id);
int capacity = tile.block().itemCapacity;