New WIP achievement definitions

This commit is contained in:
Anuken
2022-10-09 17:47:12 -04:00
parent dfdb4c1c1f
commit 4201106843
20 changed files with 419 additions and 26 deletions

View File

@@ -856,6 +856,10 @@ public class Block extends UnlockableContent implements Senseable{
return !isHidden() && (state.rules.editor || (!state.rules.hideBannedBlocks || !state.rules.isBanned(this)));
}
public boolean isVisibleOn(Planet planet){
return !Structs.contains(requirements, i -> planet.hiddenItems.contains(i.item));
}
public boolean isPlaceable(){
return isVisible() && (!state.rules.isBanned(this) || state.rules.editor) && supportsEnv(state.rules.env);
}

View File

@@ -1,5 +1,6 @@
package mindustry.world.blocks.defense;
import arc.*;
import arc.func.*;
import arc.graphics.*;
import arc.graphics.g2d.*;
@@ -10,6 +11,7 @@ import arc.util.io.*;
import mindustry.annotations.Annotations.*;
import mindustry.content.*;
import mindustry.entities.*;
import mindustry.game.EventType.*;
import mindustry.game.*;
import mindustry.gen.*;
import mindustry.graphics.*;
@@ -186,6 +188,9 @@ public class ForceProjector extends Block{
broken = true;
buildup = shieldHealth;
shieldBreakEffect.at(x, y, realRadius(), team.color);
if(team != state.rules.defaultTeam){
Events.fire(Trigger.forceProjectorBreak);
}
}
if(hit > 0f){

View File

@@ -1,18 +1,20 @@
package mindustry.world.blocks.defense;
import arc.math.*;
import arc.util.*;
import arc.struct.*;
import arc.*;
import arc.audio.*;
import arc.graphics.*;
import arc.graphics.g2d.*;
import arc.audio.*;
import arc.math.*;
import arc.struct.*;
import arc.util.*;
import mindustry.annotations.Annotations.*;
import mindustry.content.*;
import mindustry.entities.*;
import mindustry.game.EventType.*;
import mindustry.gen.*;
import mindustry.graphics.*;
import mindustry.world.meta.*;
import mindustry.world.*;
import mindustry.entities.*;
import mindustry.annotations.Annotations.Load;
import mindustry.world.meta.*;
import static mindustry.Vars.*;
@@ -89,6 +91,10 @@ public class ShockwaveTower extends Block{
target.remove();
}
}
if(team == state.rules.defaultTeam){
Events.fire(Trigger.shockwaveTowerUse);
}
}
}

View File

@@ -1,10 +1,12 @@
package mindustry.world.blocks.power;
import arc.*;
import arc.graphics.*;
import arc.math.*;
import arc.util.*;
import mindustry.content.*;
import mindustry.entities.*;
import mindustry.game.EventType.*;
import mindustry.graphics.*;
import mindustry.type.*;
import mindustry.world.consumers.*;
@@ -115,6 +117,7 @@ public class ConsumeGenerator extends PowerGenerator{
if(explodeOnFull && liquids.get(outputLiquid.liquid) >= liquidCapacity - 0.0001f){
kill();
Events.fire(new GeneratorPressureExplodeEvent(this));
}
}

View File

@@ -1,10 +1,12 @@
package mindustry.world.consumers;
import arc.*;
import arc.math.*;
import arc.scene.ui.layout.*;
import mindustry.*;
import mindustry.content.*;
import mindustry.entities.*;
import mindustry.game.EventType.*;
import mindustry.gen.*;
import mindustry.world.*;
import mindustry.world.meta.*;
@@ -34,6 +36,7 @@ public class ConsumeItemExplode extends ConsumeItemFilter{
if(Vars.state.rules.reactorExplosions && Mathf.chance(build.delta() * baseChance * Mathf.clamp(item.explosiveness - threshold))){
build.damage(damage);
explodeEffect.at(build.x + Mathf.range(build.block.size * tilesize / 2f), build.y + Mathf.range(build.block.size * tilesize / 2f));
Events.fire(Trigger.blastGenerator);
}
}
}