From 236e3c7e6109f03cdd20ab7ade4b8fd934b56102 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 30 Nov 2018 23:12:48 -0500 Subject: [PATCH] Added wet shocking --- .gitignore | 1 + .../mindustry/content/StatusEffects.java | 20 ++++++++++++++++++- .../content/bullets/TurretBullets.java | 2 ++ .../mindustry/entities/effect/Lightning.java | 1 - 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 20247e61be..611dd73e9a 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,7 @@ logs/ /ios/src/io/anuke/mindustry/gen/ /core/src/io/anuke/mindustry/gen/ ios/robovm.properties +config/ *.gif version.properties diff --git a/core/src/io/anuke/mindustry/content/StatusEffects.java b/core/src/io/anuke/mindustry/content/StatusEffects.java index a6e569e48f..c1671f481f 100644 --- a/core/src/io/anuke/mindustry/content/StatusEffects.java +++ b/core/src/io/anuke/mindustry/content/StatusEffects.java @@ -11,7 +11,7 @@ import io.anuke.ucore.core.Timers; import io.anuke.ucore.util.Mathf; public class StatusEffects implements ContentList{ - public static StatusEffect none, burning, freezing, wet, melting, tarred, overdrive, shielded; + public static StatusEffect none, burning, freezing, wet, melting, tarred, overdrive, shielded, shocked; @Override public void load(){ @@ -65,6 +65,17 @@ public class StatusEffects implements ContentList{ speedMultiplier = 0.9f; } + @Override + public StatusEntry getTransition(Unit unit, StatusEffect to, float time, float newTime, StatusEntry result){ + if(to == shocked){ + //get shocked when wet + unit.damage(15f); + return result.set(this, time); + } + + return super.getTransition(unit, to, time, newTime, result); + } + @Override public void update(Unit unit, float time){ if(Mathf.chance(Timers.delta() * 0.15f)){ @@ -145,6 +156,13 @@ public class StatusEffects implements ContentList{ } }; + shocked = new StatusEffect(1f){ + { + armorMultiplier = 3f; + } + }; + + wet.setOpposites(shocked); melting.setOpposites(wet, freezing); wet.setOpposites(burning); freezing.setOpposites(burning, melting); diff --git a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java index 2b28ec0016..8cd8d02a08 100644 --- a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java @@ -39,6 +39,8 @@ public class TurretBullets extends BulletList implements ContentList{ lifetime = Lightning.lifetime; hiteffect = BulletFx.hitLancer; despawneffect = Fx.none; + status = StatusEffects.shocked; + statusIntensity = 1f; } }; diff --git a/core/src/io/anuke/mindustry/entities/effect/Lightning.java b/core/src/io/anuke/mindustry/entities/effect/Lightning.java index d6ccaaf50f..1cf162f286 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Lightning.java +++ b/core/src/io/anuke/mindustry/entities/effect/Lightning.java @@ -91,7 +91,6 @@ public class Lightning extends TimedEntity implements DrawTrait, SyncTrait, Time x += Angles.trnsx(rotation, hitRange/2f); y += Angles.trnsy(rotation, hitRange/2f); } - } }