Merge remote-tracking branch 'origin/master'

This commit is contained in:
Anuken 2021-02-23 10:47:58 -05:00
commit 1a75951840
6 changed files with 22 additions and 5 deletions

View File

@ -12,7 +12,7 @@ import mindustry.graphics.*;
import static mindustry.Vars.*;
public class StatusEffects implements ContentList{
public static StatusEffect none, burning, freezing, unmoving, slow, wet, muddy, melting, sapped, tarred, overdrive, overclock, shielded, shocked, blasted, corroded, boss, sporeSlowed;
public static StatusEffect none, burning, freezing, unmoving, slow, wet, muddy, melting, sapped, tarred, overdrive, overclock, shielded, shocked, blasted, corroded, boss, sporeSlowed, disarmed;
@Override
public void load(){
@ -173,5 +173,10 @@ public class StatusEffects implements ContentList{
color = Pal.plastanium;
damage = 0.1f;
}};
disarmed = new StatusEffect("disarmed"){{
color = Color.valueOf("e9ead3");
disarm = true;
}};
}
}

View File

@ -20,6 +20,7 @@ abstract class StatusComp implements Posc, Flyingc{
private transient Bits applied = new Bits(content.getBy(ContentType.status).size);
@ReadOnly transient float speedMultiplier = 1, damageMultiplier = 1, healthMultiplier = 1, reloadMultiplier = 1;
@ReadOnly transient boolean disarmed = false;
@Import UnitType type;
@ -111,6 +112,7 @@ abstract class StatusComp implements Posc, Flyingc{
applied.clear();
speedMultiplier = damageMultiplier = healthMultiplier = reloadMultiplier = 1f;
disarmed = false;
if(statuses.isEmpty()) return;
@ -132,6 +134,9 @@ abstract class StatusComp implements Posc, Flyingc{
healthMultiplier *= entry.effect.healthMultiplier;
damageMultiplier *= entry.effect.damageMultiplier;
reloadMultiplier *= entry.effect.reloadMultiplier;
disarmed |= entry.effect.disarm;
entry.effect.update(self(), entry.time);
}
}

View File

@ -32,7 +32,7 @@ import static mindustry.Vars.*;
@Component(base = true)
abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, Itemsc, Rotc, Unitc, Weaponsc, Drawc, Boundedc, Syncc, Shieldc, Commanderc, Displayable, Senseable, Ranged, Minerc, Builderc{
@Import boolean hovering, dead;
@Import boolean hovering, dead, disarmed;
@Import float x, y, rotation, elevation, maxHealth, drag, armor, hitSize, health, ammo, minFormationSpeed;
@Import Team team;
@Import int id;
@ -178,7 +178,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
@Replace
public boolean canShoot(){
//cannot shoot while boosting
return !(type.canBoost && isFlying());
return !disarmed && !(type.canBoost && isFlying());
}
@Override

View File

@ -16,6 +16,7 @@ import static mindustry.Vars.*;
@Component
abstract class WeaponsComp implements Teamc, Posc, Rotc, Velc, Statusc{
@Import float x, y, rotation, reloadMultiplier;
@Import boolean disarmed;
@Import Vec2 vel;
@Import UnitType type;
@ -81,7 +82,7 @@ abstract class WeaponsComp implements Teamc, Posc, Rotc, Velc, Statusc{
}
boolean canShoot(){
return true;
return !disarmed;
}
@Override

View File

@ -17,8 +17,10 @@ public class StatusEffect extends MappableContent{
public float healthMultiplier = 1f;
/** Unit speed multiplier */
public float speedMultiplier = 1f;
/** Unit speed multiplier */
/** Unit reload multiplier. */
public float reloadMultiplier = 1f;
/** Unit weapon(s) disabled. */
public boolean disarm = false;
/** Damage per frame. */
public float damage;
/** Chance of effect appearing. */

View File

@ -1,4 +1,8 @@
[
{
"name": "RCR",
"address": ["rcr.fvds.ru"]
},
{
"name": "mindustry.pl",
"address": ["mindustry.pl:6000", "mindustry.pl:6666", "mindustry.pl"]