v0.2.3: refactored buffs which provide immunities, added (unused) resistances as well.
This commit is contained in:
parent
b8355f0471
commit
4a3098c208
|
@ -21,9 +21,15 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
public class Buff extends Actor {
|
public class Buff extends Actor {
|
||||||
|
|
||||||
public Char target;
|
public Char target;
|
||||||
|
|
||||||
|
public static HashSet<Class<?>> resistances = new HashSet<Class<?>>();
|
||||||
|
|
||||||
|
public static HashSet<Class<?>> immunities = new HashSet<Class<?>>();
|
||||||
|
|
||||||
public boolean attachTo( Char target ) {
|
public boolean attachTo( Char target ) {
|
||||||
|
|
||||||
|
|
|
@ -26,10 +26,9 @@ public class EarthImbue extends FlavourBuff {
|
||||||
return "Imbued with Earth";
|
return "Imbued with Earth";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final HashSet<Class<?>> IMMUNITIES = new HashSet<Class<?>>();
|
|
||||||
static {
|
static {
|
||||||
IMMUNITIES.add( Paralysis.class );
|
immunities.add( Paralysis.class );
|
||||||
IMMUNITIES.add( Roots.class );
|
immunities.add( Roots.class );
|
||||||
IMMUNITIES.add( Slow.class );
|
immunities.add( Slow.class );
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -42,8 +42,7 @@ public class FireImbue extends Buff {
|
||||||
return "Imbued with Fire";
|
return "Imbued with Fire";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final HashSet<Class<?>> IMMUNITIES = new HashSet<Class<?>>();
|
|
||||||
static {
|
static {
|
||||||
IMMUNITIES.add( Burning.class );
|
immunities.add( Burning.class );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,12 +38,11 @@ public class GasesImmunity extends FlavourBuff {
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "Immune to gases";
|
return "Immune to gases";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final HashSet<Class<?>> IMMUNITIES = new HashSet<Class<?>>();
|
|
||||||
static {
|
static {
|
||||||
IMMUNITIES.add( ParalyticGas.class );
|
immunities.add( ParalyticGas.class );
|
||||||
IMMUNITIES.add( ToxicGas.class );
|
immunities.add( ToxicGas.class );
|
||||||
IMMUNITIES.add( ConfusionGas.class );
|
immunities.add( ConfusionGas.class );
|
||||||
IMMUNITIES.add( StenchGas.class );
|
immunities.add( StenchGas.class );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,9 +32,8 @@ public class ToxicImbue extends Buff {
|
||||||
return "Imbued with Toxicity";
|
return "Imbued with Toxicity";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final HashSet<Class<?>> IMMUNITIES = new HashSet<Class<?>>();
|
|
||||||
static {
|
static {
|
||||||
IMMUNITIES.add( ToxicGas.class );
|
immunities.add( ToxicGas.class );
|
||||||
IMMUNITIES.add( Poison.class );
|
immunities.add( Poison.class );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Combo;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Combo;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Fury;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Fury;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.GasesImmunity;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Light;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Light;
|
||||||
|
@ -82,7 +81,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMappi
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain;
|
||||||
|
@ -1437,8 +1435,12 @@ public class Hero extends Char {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HashSet<Class<?>> immunities() {
|
public HashSet<Class<?>> immunities() {
|
||||||
GasesImmunity buff = buff( GasesImmunity.class );
|
HashSet<Class<?>> immunities = new HashSet<Class<?>>();
|
||||||
return buff == null ? super.immunities() : GasesImmunity.IMMUNITIES;
|
for (Buff buff : buffs()){
|
||||||
|
for (Class<?> immunity : buff.immunities)
|
||||||
|
immunities.add(immunity);
|
||||||
|
}
|
||||||
|
return immunities;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static interface Doom {
|
public static interface Doom {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user