Misc bugfixes

This commit is contained in:
Anuken
2022-05-09 17:33:43 -04:00
parent 8269d79e56
commit cf1fb98d5c
6 changed files with 20 additions and 14 deletions

View File

@@ -2568,14 +2568,6 @@ public class UnitTypes{
Lines.line(e.x, e.y, v.x, v.y);
});
});
pointEffectSpace = 8f;
if(false)
pointEffect = new Effect(20, e -> {
color(e.color);
Fill.poly(e.x, e.y, 3, 4f * e.fout(), e.rotation);
}).layer(Layer.bullet - 0.001f);
}};
}});
}};
@@ -2588,7 +2580,7 @@ public class UnitTypes{
health = 4500;
armor = 10f;
itemCapacity = 0;
treadRects = new Rect[]{new Rect(16 - 60f, 38 - 60f, 30, 75), new Rect(44 - 60f, 7 - 60f, 17, 60)};
treadRects = new Rect[]{new Rect(16 - 60f, 48 - 70f, 30, 75), new Rect(44 - 60f, 17 - 70f, 17, 60)};
researchCostMultiplier = 0f;
weapons.add(new Weapon("precept-weapon"){{

View File

@@ -63,7 +63,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
transient Tile tile;
transient Block block;
transient Seq<Building> proximity = new Seq<>(6);
transient byte cdump;
transient int cdump;
transient int rotation;
transient float payloadRotation;
transient String lastAccessed;
@@ -992,7 +992,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
}
public void incrementDump(int prox){
cdump = (byte)((cdump + 1) % prox);
cdump = ((cdump + 1) % prox);
}
/** Used for dumping items. */

View File

@@ -448,6 +448,7 @@ public class Block extends UnlockableContent implements Senseable{
/** Drawn when placing and when hovering over. */
public void drawOverlay(float x, float y, int rotation){
}
public float sumAttribute(@Nullable Attribute attr, int x, int y){
if(attr == null) return 0;
Tile tile = world.tile(x, y);

View File

@@ -47,7 +47,7 @@ public class DuctRouter extends Block{
public void setStats(){
super.setStats();
stats.add(Stat.itemsMoved, 60f / speed, StatUnit.itemsSecond);
stats.add(Stat.itemsMoved, 60f / speed * itemCapacity, StatUnit.itemsSecond);
}
@Override
@@ -78,6 +78,8 @@ public class DuctRouter extends Block{
public float progress;
public @Nullable Item current;
protected int acceptors;
@Override
public void draw(){
Draw.rect(region, x, y);
@@ -99,8 +101,7 @@ public class DuctRouter extends Block{
var target = target();
if(target != null){
target.handleItem(this, current);
int mod = sortItem != null && current != sortItem ? 2 : 3;
cdump = (byte)((cdump + 1) % mod);
cdump = ((cdump + 1) % acceptors);
items.remove(current, 1);
current = null;
progress %= (1f - 1f/speed);
@@ -124,6 +125,18 @@ public class DuctRouter extends Block{
public Building target(){
if(current == null) return null;
acceptors = 0;
//TODO this is horrible.
for(int i = -1; i <= 1; i++){
int dir = Mathf.mod(rotation + i, 4);
if(sortItem != null && (current == sortItem) != (dir == rotation)) continue;
Building other = nearby(dir);
if(other != null && other.team == team && other.acceptItem(this, current)){
acceptors ++;
}
}
for(int i = -1; i <= 1; i++){
int dir = Mathf.mod(rotation + (((i + cdump + 1) % 3) - 1), 4);
if(sortItem != null && (current == sortItem) != (dir == rotation)) continue;