Status nullcheck
This commit is contained in:
@@ -1,16 +1,14 @@
|
|||||||
package io.anuke.mindustry.entities.units;
|
package io.anuke.mindustry.entities.units;
|
||||||
|
|
||||||
import io.anuke.arc.collection.Array;
|
|
||||||
import io.anuke.arc.collection.Bits;
|
import io.anuke.arc.collection.Bits;
|
||||||
import io.anuke.arc.graphics.Color;
|
import io.anuke.arc.collection.*;
|
||||||
import io.anuke.arc.util.Time;
|
import io.anuke.arc.graphics.*;
|
||||||
import io.anuke.arc.util.Tmp;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.arc.util.pooling.Pools;
|
import io.anuke.arc.util.pooling.*;
|
||||||
import io.anuke.mindustry.content.StatusEffects;
|
import io.anuke.mindustry.content.*;
|
||||||
import io.anuke.mindustry.entities.traits.Saveable;
|
import io.anuke.mindustry.entities.traits.*;
|
||||||
import io.anuke.mindustry.entities.type.Unit;
|
import io.anuke.mindustry.entities.type.*;
|
||||||
import io.anuke.mindustry.type.ContentType;
|
import io.anuke.mindustry.type.*;
|
||||||
import io.anuke.mindustry.type.StatusEffect;
|
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
|
||||||
@@ -29,7 +27,7 @@ public class Statuses implements Saveable{
|
|||||||
private float armorMultiplier;
|
private float armorMultiplier;
|
||||||
|
|
||||||
public void handleApply(Unit unit, StatusEffect effect, float duration){
|
public void handleApply(Unit unit, StatusEffect effect, float duration){
|
||||||
if(effect == StatusEffects.none || unit.isImmune(effect)) return; //don't apply empty or immune effects
|
if(effect == StatusEffects.none || effect == null || unit.isImmune(effect)) return; //don't apply empty or immune effects
|
||||||
|
|
||||||
if(statuses.size > 0){
|
if(statuses.size > 0){
|
||||||
//check for opposite effects
|
//check for opposite effects
|
||||||
@@ -86,6 +84,10 @@ public class Statuses implements Saveable{
|
|||||||
removals.clear();
|
removals.clear();
|
||||||
|
|
||||||
for(StatusEntry entry : statuses){
|
for(StatusEntry entry : statuses){
|
||||||
|
if(entry.effect == null){
|
||||||
|
removals.add(entry);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
entry.time = Math.max(entry.time - Time.delta(), 0);
|
entry.time = Math.max(entry.time - Time.delta(), 0);
|
||||||
applied.set(entry.effect.id);
|
applied.set(entry.effect.id);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user