Many bugfixes

This commit is contained in:
Anuken
2022-03-02 21:03:45 -05:00
parent 315c273de3
commit 7865950ec8
18 changed files with 102 additions and 53 deletions

View File

@@ -874,7 +874,6 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
public void offload(Item item){
produced(item, 1);
int dump = this.cdump;
if(!net.client() && state.isCampaign() && team == state.rules.defaultTeam) item.unlock();
for(int i = 0; i < proximity.size; i++){
incrementDump(proximity.size);
@@ -911,7 +910,11 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
}
public void produced(Item item, int amount){
if(Vars.state.rules.sector != null && team == state.rules.defaultTeam) Vars.state.rules.sector.info.handleProduction(item, amount);
if(Vars.state.rules.sector != null && team == state.rules.defaultTeam){
Vars.state.rules.sector.info.handleProduction(item, amount);
if(!net.client()) item.unlock();
}
}
/** Dumps any item with an accumulator. May dump multiple times per frame. Use with care. */
@@ -1541,6 +1544,8 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
/** Changes this building's team in a safe manner. */
public void changeTeam(Team next){
if(this.team == next) return;
Team last = this.team;
boolean was = isValid();

View File

@@ -152,13 +152,13 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
public boolean inFogTo(Team viewer){
if(this.team == viewer || !state.rules.fog) return false;
if(hitSize <= 14f){
if(hitSize <= 16f){
return !fogControl.isVisible(viewer, x, y);
}else{
//for large hitsizes, check around the unit instead
float trns = hitSize / 2f;
for(var p : Geometry.d8){
if(fogControl.isVisible(team, x + p.x * trns, y + p.y * trns)){
if(fogControl.isVisible(viewer, x + p.x * trns, y + p.y * trns)){
return false;
}
}