Merge branch 'master' of https://github.com/Anuken/Mindustry into 7.0-features
Conflicts: core/src/mindustry/ai/BlockIndexer.java gradle.properties
This commit is contained in:
@@ -251,6 +251,10 @@ public class ContentLoader{
|
||||
return getByID(ContentType.item, id);
|
||||
}
|
||||
|
||||
public Item item(String name){
|
||||
return getByName(ContentType.item, name);
|
||||
}
|
||||
|
||||
public Seq<Liquid> liquids(){
|
||||
return getBy(ContentType.liquid);
|
||||
}
|
||||
@@ -259,6 +263,10 @@ public class ContentLoader{
|
||||
return getByID(ContentType.liquid, id);
|
||||
}
|
||||
|
||||
public Liquid liquid(String name){
|
||||
return getByName(ContentType.liquid, name);
|
||||
}
|
||||
|
||||
public Seq<BulletType> bullets(){
|
||||
return getBy(ContentType.bullet);
|
||||
}
|
||||
@@ -271,10 +279,18 @@ public class ContentLoader{
|
||||
return getBy(ContentType.status);
|
||||
}
|
||||
|
||||
public StatusEffect statusEffect(String name){
|
||||
return getByName(ContentType.status, name);
|
||||
}
|
||||
|
||||
public Seq<SectorPreset> sectors(){
|
||||
return getBy(ContentType.sector);
|
||||
}
|
||||
|
||||
public SectorPreset sector(String name){
|
||||
return getByName(ContentType.sector, name);
|
||||
}
|
||||
|
||||
public Seq<UnitType> units(){
|
||||
return getBy(ContentType.unit);
|
||||
}
|
||||
@@ -283,7 +299,15 @@ public class ContentLoader{
|
||||
return getByID(ContentType.unit, id);
|
||||
}
|
||||
|
||||
public UnitType unit(String name){
|
||||
return getByName(ContentType.unit, name);
|
||||
}
|
||||
|
||||
public Seq<Planet> planets(){
|
||||
return getBy(ContentType.planet);
|
||||
}
|
||||
}
|
||||
|
||||
public Planet planet(String name){
|
||||
return getByName(ContentType.planet, name);
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ import mindustry.gen.*;
|
||||
public class MoveLightningAbility extends Ability{
|
||||
/** Lightning damage */
|
||||
public float damage = 35f;
|
||||
/** Chance of firing every tick. Set >= 1 to always fire lightning every tick at max speed. */
|
||||
/** Chance of firing every tick. Set >= 1 to always fire lightning every tick at max speed */
|
||||
public float chance = 0.15f;
|
||||
/** Length of the lightning. <= 0 to disable */
|
||||
public int length = 12;
|
||||
@@ -24,8 +24,10 @@ public class MoveLightningAbility extends Ability{
|
||||
public Color color = Color.valueOf("a9d8ff");
|
||||
/** Shifts where the lightning spawns along the Y axis */
|
||||
public float offset = 0f;
|
||||
/** Offset along the X axis. */
|
||||
/** Offset along the X axis */
|
||||
public float width = 0f;
|
||||
/** Whether the spawn side alternates */
|
||||
public boolean alternate = true;
|
||||
/** Jittering heat sprite like the shield on v5 Javelin */
|
||||
public String heatRegion = "error";
|
||||
/** Bullet type that is fired. Can be null */
|
||||
@@ -36,6 +38,8 @@ public class MoveLightningAbility extends Ability{
|
||||
public Effect shootEffect = Fx.sparkShoot;
|
||||
public boolean parentizeEffects;
|
||||
public Sound shootSound = Sounds.spark;
|
||||
|
||||
protected float side = 1f;
|
||||
|
||||
MoveLightningAbility(){}
|
||||
|
||||
@@ -64,10 +68,10 @@ public class MoveLightningAbility extends Ability{
|
||||
public void update(Unit unit){
|
||||
float scl = Mathf.clamp((unit.vel().len() - minSpeed) / (maxSpeed - minSpeed));
|
||||
if(Mathf.chance(Time.delta * chance * scl)){
|
||||
float x = unit.x + Angles.trnsx(unit.rotation, offset, width), y = unit.y + Angles.trnsy(unit.rotation, offset, width);
|
||||
float x = unit.x + Angles.trnsx(unit.rotation, offset, width * side), y = unit.y + Angles.trnsy(unit.rotation, offset, width * side);
|
||||
|
||||
shootEffect.at(x, y, unit.rotation, color, parentizeEffects ? unit : null);
|
||||
shootSound.at(unit);
|
||||
shootSound.at(x, y);
|
||||
|
||||
if(length > 0){
|
||||
Lightning.create(unit.team, color, damage, x + unit.vel.x, y + unit.vel.y, unit.rotation, length);
|
||||
@@ -76,6 +80,8 @@ public class MoveLightningAbility extends Ability{
|
||||
if(bullet != null){
|
||||
bullet.create(unit, unit.team, x, y, unit.rotation + bulletAngle + Mathf.range(bulletSpread));
|
||||
}
|
||||
|
||||
if(alternate) side *= -1f;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -302,11 +302,13 @@ public class Administration{
|
||||
public boolean adminPlayer(String id, String usid){
|
||||
PlayerInfo info = getCreateInfo(id);
|
||||
|
||||
var wasAdmin = info.admin;
|
||||
|
||||
info.adminUsid = usid;
|
||||
info.admin = true;
|
||||
save();
|
||||
|
||||
return true;
|
||||
return wasAdmin;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -32,7 +32,7 @@ public class Liquid extends UnlockableContent{
|
||||
public @Nullable Color barColor;
|
||||
/** Color used to draw lights. Note that the alpha channel is used to dictate brightness. */
|
||||
public Color lightColor = Color.clear.cpy();
|
||||
/** 0-1, 0 is completely inflammable, anything above that may catch fire when exposed to heat, 0.5+ is very flammable. */
|
||||
/** 0-1, 0 is completely not flammable, anything above that may catch fire when exposed to heat, 0.5+ is very flammable. */
|
||||
public float flammability;
|
||||
/** temperature: 0.5 is 'room' temperature, 0 is very cold, 1 is molten hot */
|
||||
public float temperature = 0.5f;
|
||||
|
||||
@@ -25,6 +25,7 @@ public class Attributes implements JsonSerializable{
|
||||
|
||||
public void add(Attributes other){
|
||||
check();
|
||||
other.check();
|
||||
for(int i = 0; i < arr.length; i++){
|
||||
arr[i] += other.arr[i];
|
||||
}
|
||||
@@ -32,6 +33,7 @@ public class Attributes implements JsonSerializable{
|
||||
|
||||
public void add(Attributes other, float scl){
|
||||
check();
|
||||
other.check();
|
||||
for(int i = 0; i < arr.length; i++){
|
||||
arr[i] += other.arr[i] * scl;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user