Cheaper initial erekir research
This commit is contained in:
@@ -1874,6 +1874,7 @@ public class Blocks{
|
|||||||
buildVisibility = BuildVisibility.berylliumOnly;
|
buildVisibility = BuildVisibility.berylliumOnly;
|
||||||
health = 90;
|
health = 90;
|
||||||
speed = 4f;
|
speed = 4f;
|
||||||
|
researchCostMultiplier = 1f / 12f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
ductRouter = new DuctRouter("duct-router"){{
|
ductRouter = new DuctRouter("duct-router"){{
|
||||||
@@ -2289,7 +2290,7 @@ public class Blocks{
|
|||||||
hasLiquids = true;
|
hasLiquids = true;
|
||||||
outputLiquid = new LiquidStack(Liquids.water, 5f / 60f / 9f);
|
outputLiquid = new LiquidStack(Liquids.water, 5f / 60f / 9f);
|
||||||
liquidCapacity = 20f;
|
liquidCapacity = 20f;
|
||||||
researchCostMultiplier = 0.18f;
|
researchCostMultiplier = 0.18f / 13f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
//TODO rename
|
//TODO rename
|
||||||
@@ -2495,7 +2496,7 @@ public class Blocks{
|
|||||||
tier = 3;
|
tier = 3;
|
||||||
size = 2;
|
size = 2;
|
||||||
range = 4;
|
range = 4;
|
||||||
researchCostMultiplier = 0.18f;
|
researchCostMultiplier = 0.18f / 12f;
|
||||||
|
|
||||||
consumeLiquid(Liquids.hydrogen, 0.25f / 60f).boost();
|
consumeLiquid(Liquids.hydrogen, 0.25f / 60f).boost();
|
||||||
}};
|
}};
|
||||||
@@ -3213,6 +3214,7 @@ public class Blocks{
|
|||||||
shootCone = 3f;
|
shootCone = 3f;
|
||||||
scaledHealth = 280;
|
scaledHealth = 280;
|
||||||
rotateSpeed = 1.6f;
|
rotateSpeed = 1.6f;
|
||||||
|
researchCostMultiplier = 0.3f;
|
||||||
|
|
||||||
coolant = consume(new ConsumeLiquid(Liquids.water, 15f / 60f));
|
coolant = consume(new ConsumeLiquid(Liquids.water, 15f / 60f));
|
||||||
limitRange();
|
limitRange();
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public class FogControl implements CustomChunk{
|
|||||||
if(state.rules.fog && event.tile.build != null && event.tile.isCenter() && !event.tile.build.team.isAI() && event.tile.block().flags.contains(BlockFlag.hasFogRadius)){
|
if(state.rules.fog && event.tile.build != null && event.tile.isCenter() && !event.tile.build.team.isAI() && event.tile.block().flags.contains(BlockFlag.hasFogRadius)){
|
||||||
var data = data(event.tile.team());
|
var data = data(event.tile.team());
|
||||||
if(data != null){
|
if(data != null){
|
||||||
data.dynamicUpdated = true;
|
data.dynamicUpdated = data.dynamicUpdatedClient = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized(staticEvents){
|
synchronized(staticEvents){
|
||||||
@@ -78,7 +78,7 @@ public class FogControl implements CustomChunk{
|
|||||||
if(state.rules.fog && e.tile.build != null && !e.tile.build.team.isAI() && e.tile.block().flags.contains(BlockFlag.hasFogRadius)){
|
if(state.rules.fog && e.tile.build != null && !e.tile.build.team.isAI() && e.tile.block().flags.contains(BlockFlag.hasFogRadius)){
|
||||||
var data = data(e.tile.team());
|
var data = data(e.tile.team());
|
||||||
if(data != null){
|
if(data != null){
|
||||||
data.dynamicUpdated = true;
|
data.dynamicUpdated = data.dynamicUpdatedClient = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -161,7 +161,7 @@ public class FogControl implements CustomChunk{
|
|||||||
|
|
||||||
if(data == null){
|
if(data == null){
|
||||||
data = fog[team.team.id] = new FogData();
|
data = fog[team.team.id] = new FogData();
|
||||||
data.dynamicUpdated = true;
|
data.dynamicUpdated = data.dynamicUpdatedClient = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized(staticEvents){
|
synchronized(staticEvents){
|
||||||
@@ -176,7 +176,7 @@ public class FogControl implements CustomChunk{
|
|||||||
if(unit.lastFogPos != pos){
|
if(unit.lastFogPos != pos){
|
||||||
pushEvent(event);
|
pushEvent(event);
|
||||||
unit.lastFogPos = pos;
|
unit.lastFogPos = pos;
|
||||||
data.dynamicUpdated = true;
|
data.dynamicUpdated = data.dynamicUpdatedClient = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -187,9 +187,9 @@ public class FogControl implements CustomChunk{
|
|||||||
}
|
}
|
||||||
|
|
||||||
//on the client, let the renderer know of all the fog sources
|
//on the client, let the renderer know of all the fog sources
|
||||||
//TODO this runs at a lower FPS and hence may look bad...?
|
if(data.dynamicUpdatedClient && !headless && team.team == Vars.player.team()){
|
||||||
if(data.dynamicUpdated && !headless && team.team == Vars.player.team()){
|
|
||||||
renderer.fog.flushDynamic(unitEventQueue);
|
renderer.fog.flushDynamic(unitEventQueue);
|
||||||
|
data.dynamicUpdatedClient = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//if it's time for an update, flush *everything* onto the update queue
|
//if it's time for an update, flush *everything* onto the update queue
|
||||||
@@ -480,6 +480,8 @@ public class FogControl implements CustomChunk{
|
|||||||
/** if true, a dynamic fog update must be scheduled. */
|
/** if true, a dynamic fog update must be scheduled. */
|
||||||
boolean dynamicUpdated;
|
boolean dynamicUpdated;
|
||||||
|
|
||||||
|
boolean dynamicUpdatedClient;
|
||||||
|
|
||||||
FogData(){
|
FogData(){
|
||||||
int len = ww * wh;
|
int len = ww * wh;
|
||||||
|
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ public class FogRenderer{
|
|||||||
|
|
||||||
//TODO render all (clipped) view circles
|
//TODO render all (clipped) view circles
|
||||||
|
|
||||||
|
dynamicFog.end();
|
||||||
ScissorStack.pop();
|
ScissorStack.pop();
|
||||||
Draw.proj(Core.camera);
|
Draw.proj(Core.camera);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user