This commit is contained in:
Anuken
2022-11-11 15:08:38 -05:00
parent fd911539ee
commit 59ca257cca
4 changed files with 15 additions and 2 deletions

View File

@@ -1803,7 +1803,7 @@ gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors.
gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets.
gz.defend = Enemy incoming, prepare to defend. gz.defend = Enemy incoming, prepare to defend.
gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo.
gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. gz.scatterammo = Supply the Scatter turret with \uf837 [accent]lead[], using conveyors.
gz.supplyturret = [accent]Supply Turret gz.supplyturret = [accent]Supply Turret
gz.zone1 = This is the enemy drop zone. gz.zone1 = This is the enemy drop zone.
gz.zone2 = Anything built in the radius is destroyed when a wave starts. gz.zone2 = Anything built in the radius is destroyed when a wave starts.

View File

@@ -3956,6 +3956,7 @@ public class Blocks{
coolantMultiplier = 6f; coolantMultiplier = 6f;
shootSound = Sounds.shootAlt; shootSound = Sounds.shootAlt;
targetUnderBlocks = false;
shake = 1f; shake = 1f;
ammoPerShot = 2; ammoPerShot = 2;
drawer = new DrawTurret("reinforced-"); drawer = new DrawTurret("reinforced-");
@@ -4006,6 +4007,7 @@ public class Blocks{
ammoPerShot = 3; ammoPerShot = 3;
maxAmmo = 30; maxAmmo = 30;
consumeAmmoOnce = true; consumeAmmoOnce = true;
targetUnderBlocks = false;
shootSound = Sounds.shootAltLong; shootSound = Sounds.shootAltLong;
@@ -4606,6 +4608,7 @@ public class Blocks{
minWarmup = 0.94f; minWarmup = 0.94f;
shootWarmupSpeed = 0.03f; shootWarmupSpeed = 0.03f;
targetAir = false; targetAir = false;
targetUnderBlocks = false;
shake = 6f; shake = 6f;
ammoPerShot = 20; ammoPerShot = 20;

View File

@@ -226,6 +226,14 @@ public class NetServer implements ApplicationListener{
con.kick(KickReason.idInUse); con.kick(KickReason.idInUse);
return; return;
} }
for(var otherCon : net.getConnections()){
if(otherCon != con && uuid.equals(otherCon.uuid)){
con.uuid = packet.uuid;
con.kick(KickReason.idInUse);
return;
}
}
} }
packet.name = fixName(packet.name); packet.name = fixName(packet.name);

View File

@@ -81,12 +81,14 @@ public class Turret extends ReloadTurret{
public boolean playerControllable = true; public boolean playerControllable = true;
/** If true, this block will display ammo multipliers in its stats (irrelevant for certain types of turrets). */ /** If true, this block will display ammo multipliers in its stats (irrelevant for certain types of turrets). */
public boolean displayAmmoMultiplier = true; public boolean displayAmmoMultiplier = true;
/** If false, 'under' blocks like conveyors are not targeted. */
public boolean targetUnderBlocks = true;
/** Function for choosing which unit to target. */ /** Function for choosing which unit to target. */
public Sortf unitSort = UnitSorts.closest; public Sortf unitSort = UnitSorts.closest;
/** Filter for types of units to attack. */ /** Filter for types of units to attack. */
public Boolf<Unit> unitFilter = u -> true; public Boolf<Unit> unitFilter = u -> true;
/** Filter for types of buildings to attack. */ /** Filter for types of buildings to attack. */
public Boolf<Building> buildingFilter = b -> !b.block.underBullets; public Boolf<Building> buildingFilter = b -> targetUnderBlocks || !b.block.underBullets;
/** Color of heat region drawn on top (if found) */ /** Color of heat region drawn on top (if found) */
public Color heatColor = Pal.turretHeat; public Color heatColor = Pal.turretHeat;