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);
|
||||
universe.updateGlobal();
|
||||
|
||||
if(Core.settings.modified() && !state.isPlaying()){
|
||||
Core.settings.forceSave();
|
||||
}
|
||||
|
||||
if(state.isGame()){
|
||||
if(!net.client()){
|
||||
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){
|
||||
|
||||
if(!player.admin){
|
||||
Log.warn("ACCESS DENIED: Player @ / @ attempted to perform admin action without proper security access.",
|
||||
player.name, player.con.address);
|
||||
Log.warn("ACCESS DENIED: Player @ / @ attempted to perform admin action '@' on '@' without proper security access.",
|
||||
player.name, player.con.address, action.name(), other == null ? null : other.name);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -224,7 +224,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
||||
|
||||
//apply knockback based on spawns
|
||||
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()){
|
||||
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));
|
||||
|
||||
@@ -181,7 +181,7 @@ public class Teams{
|
||||
|
||||
/** @return whether this team is controlled by the AI and builds bases. */
|
||||
public boolean hasAI(){
|
||||
return state.rules.attackMode && team.rules().ai;
|
||||
return team.rules().ai;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -127,7 +127,7 @@ public class UnitType extends UnlockableContent{
|
||||
public void display(Unit unit, Table table){
|
||||
table.table(t -> {
|
||||
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);
|
||||
}).growX().left();
|
||||
table.row();
|
||||
|
||||
@@ -29,6 +29,7 @@ public class PayloadConveyor extends Block{
|
||||
rotate = true;
|
||||
update = true;
|
||||
outputsPayload = true;
|
||||
noUpdateDisabled = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
org.gradle.daemon=true
|
||||
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
||||
archash=2b13b4d008c3b5a35bf8ce3fc69a2de6708ba187
|
||||
archash=29362f92e360f9feec432627e063e799500acf48
|
||||
|
||||
@@ -382,7 +382,9 @@ public class Generators{
|
||||
}
|
||||
|
||||
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.save("../ui/unit-" + type.name + "-" + icon.name());
|
||||
}
|
||||
|
||||