Misc balance / Fixed cross-planet sector 'lock'

This commit is contained in:
Anuken 2022-10-26 09:53:51 -04:00
parent cc4ea7af5e
commit 4e856bee90
3 changed files with 13 additions and 10 deletions

View File

@ -2459,8 +2459,8 @@ public class UnitTypes{
treadPullOffset = 3;
speed = 0.75f;
rotateSpeed = 3.5f;
health = 840;
armor = 5f;
health = 850;
armor = 6f;
itemCapacity = 0;
treadRects = new Rect[]{new Rect(12 - 32f, 7 - 32f, 14, 51)};
researchCostMultiplier = 0f;
@ -2471,7 +2471,7 @@ public class UnitTypes{
shootY = 4.5f;
recoil = 1f;
rotate = true;
rotateSpeed = 1.7f;
rotateSpeed = 2.2f;
mirror = false;
x = 0f;
y = -0.75f;
@ -2653,7 +2653,7 @@ public class UnitTypes{
weapons.add(new Weapon("vanquish-weapon"){{
shootSound = Sounds.mediumCannon;
layerOffset = 0.0001f;
reload = 110f;
reload = 90f;
shootY = 71f / 4f;
shake = 5f;
recoil = 4f;
@ -3534,7 +3534,7 @@ public class UnitTypes{
accel = 0.09f;
health = 600f;
armor = 3f;
armor = 1f;
hitSize = 11f;
engineOffset = 7f;
engineSize = 2f;
@ -3542,9 +3542,6 @@ public class UnitTypes{
useEngineElevation = false;
researchCostMultiplier = 0f;
//does this look better?
//engineColor = Pal.sapBullet;
abilities.add(new MoveEffectAbility(0f, -7f, Pal.sapBulletBack, Fx.missileTrailShort, 4f){{
teamColor = true;
}});
@ -3574,7 +3571,7 @@ public class UnitTypes{
shoot = new ShootSpread(2, 11f);
bullet = new BasicBulletType(5f, 20){{
bullet = new BasicBulletType(5f, 18){{
homingPower = 0.19f;
homingDelay = 4f;
width = 7f;

View File

@ -146,10 +146,16 @@ public class Universe{
turn++;
int newSecondsPassed = (int)(turnDuration / 60);
Planet current = state.getPlanet();
//update relevant sectors
for(Planet planet : content.planets()){
//planets with different wave simulation status are not updated
if(current != null && current.allowWaveSimulation != planet.allowWaveSimulation){
continue;
}
//first pass: clear import stats
for(Sector sector : planet.sectors){
if(sector.hasBase() && !sector.isBeingPlayed()){

View File

@ -1179,7 +1179,7 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
//make sure there are no under-attack sectors (other than this one)
for(Planet planet : content.planets()){
if(!planet.allowWaveSimulation && !debugSelect){
if(!planet.allowWaveSimulation && !debugSelect && planet.allowWaveSimulation == sector.planet.allowWaveSimulation){
//if there are two or more attacked sectors... something went wrong, don't show the dialog to prevent softlock
Sector attacked = planet.sectors.find(s -> s.isAttacked() && s != sector);
if(attacked != null && planet.sectors.count(s -> s.isAttacked()) < 2){