Fixed #2433
|
Before Width: | Height: | Size: 186 KiB After Width: | Height: | Size: 184 KiB |
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 188 KiB After Width: | Height: | Size: 186 KiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
@@ -325,6 +325,10 @@ public class Logic implements ApplicationListener{
|
|||||||
Events.fire(Trigger.update);
|
Events.fire(Trigger.update);
|
||||||
universe.updateGlobal();
|
universe.updateGlobal();
|
||||||
|
|
||||||
|
if(Core.settings.modified() && !state.isPlaying()){
|
||||||
|
Core.settings.forceSave();
|
||||||
|
}
|
||||||
|
|
||||||
if(state.isGame()){
|
if(state.isGame()){
|
||||||
if(!net.client()){
|
if(!net.client()){
|
||||||
state.enemies = Groups.unit.count(u -> u.team() == state.rules.waveTeam && u.type().isCounted);
|
state.enemies = Groups.unit.count(u -> u.team() == state.rules.waveTeam && u.type().isCounted);
|
||||||
|
|||||||
@@ -696,8 +696,8 @@ public class NetServer implements ApplicationListener{
|
|||||||
public static void adminRequest(Player player, Player other, AdminAction action){
|
public static void adminRequest(Player player, Player other, AdminAction action){
|
||||||
|
|
||||||
if(!player.admin){
|
if(!player.admin){
|
||||||
Log.warn("ACCESS DENIED: Player @ / @ attempted to perform admin action without proper security access.",
|
Log.warn("ACCESS DENIED: Player @ / @ attempted to perform admin action '@' on '@' without proper security access.",
|
||||||
player.name, player.con.address);
|
player.name, player.con.address, action.name(), other == null ? null : other.name);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||||||
|
|
||||||
//apply knockback based on spawns
|
//apply knockback based on spawns
|
||||||
if(team != state.rules.waveTeam){
|
if(team != state.rules.waveTeam){
|
||||||
float relativeSize = state.rules.dropZoneRadius + bounds()/2f + 1f;
|
float relativeSize = state.rules.dropZoneRadius + hitSize/2f + 1f;
|
||||||
for(Tile spawn : spawner.getSpawns()){
|
for(Tile spawn : spawner.getSpawns()){
|
||||||
if(within(spawn.worldx(), spawn.worldy(), relativeSize)){
|
if(within(spawn.worldx(), spawn.worldy(), relativeSize)){
|
||||||
vel().add(Tmp.v1.set(this).sub(spawn.worldx(), spawn.worldy()).setLength(0.1f + 1f - dst(spawn) / relativeSize).scl(0.45f * Time.delta));
|
vel().add(Tmp.v1.set(this).sub(spawn.worldx(), spawn.worldy()).setLength(0.1f + 1f - dst(spawn) / relativeSize).scl(0.45f * Time.delta));
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ public class Teams{
|
|||||||
|
|
||||||
/** @return whether this team is controlled by the AI and builds bases. */
|
/** @return whether this team is controlled by the AI and builds bases. */
|
||||||
public boolean hasAI(){
|
public boolean hasAI(){
|
||||||
return state.rules.attackMode && team.rules().ai;
|
return team.rules().ai;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ public class UnitType extends UnlockableContent{
|
|||||||
public void display(Unit unit, Table table){
|
public void display(Unit unit, Table table){
|
||||||
table.table(t -> {
|
table.table(t -> {
|
||||||
t.left();
|
t.left();
|
||||||
t.add(new Image(icon(Cicon.medium))).size(8 * 4);
|
t.add(new Image(icon(Cicon.medium))).size(8 * 4).scaling(Scaling.fit);
|
||||||
t.labelWrap(localizedName).left().width(190f).padLeft(5);
|
t.labelWrap(localizedName).left().width(190f).padLeft(5);
|
||||||
}).growX().left();
|
}).growX().left();
|
||||||
table.row();
|
table.row();
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ public class PayloadConveyor extends Block{
|
|||||||
rotate = true;
|
rotate = true;
|
||||||
update = true;
|
update = true;
|
||||||
outputsPayload = true;
|
outputsPayload = true;
|
||||||
|
noUpdateDisabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
org.gradle.daemon=true
|
org.gradle.daemon=true
|
||||||
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
||||||
archash=2b13b4d008c3b5a35bf8ce3fc69a2de6708ba187
|
archash=29362f92e360f9feec432627e063e799500acf48
|
||||||
|
|||||||
@@ -382,7 +382,9 @@ public class Generators{
|
|||||||
}
|
}
|
||||||
|
|
||||||
for(Cicon icon : Cicon.scaled){
|
for(Cicon icon : Cicon.scaled){
|
||||||
Image scaled = new Image(icon.size, icon.size);
|
Vec2 size = Scaling.fit.apply(image.width, image.height, icon.size, icon.size);
|
||||||
|
Image scaled = new Image((int)size.x, (int)size.y);
|
||||||
|
|
||||||
scaled.drawScaled(image);
|
scaled.drawScaled(image);
|
||||||
scaled.save("../ui/unit-" + type.name + "-" + icon.name());
|
scaled.save("../ui/unit-" + type.name + "-" + icon.name());
|
||||||
}
|
}
|
||||||
|
|||||||