From 108fd0085dfd8f5c02018092868bfe18024c8701 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Wed, 16 Dec 2015 18:08:26 -0500 Subject: [PATCH] v0.3.3: changed EVIL propery to DEMONIC, implemented it --- .../shatteredpixeldungeon/actors/Char.java | 2 +- .../actors/mobs/Elemental.java | 2 ++ .../actors/mobs/Eye.java | 2 ++ .../actors/mobs/FetidRat.java | 2 +- .../actors/mobs/Goo.java | 1 + .../actors/mobs/Guard.java | 2 +- .../actors/mobs/Mimic.java | 2 ++ .../actors/mobs/Scorpio.java | 2 ++ .../actors/mobs/Succubus.java | 2 ++ .../actors/mobs/Thief.java | 2 ++ .../actors/mobs/Yog.java | 6 ++++- .../items/wands/WandOfPrismaticLight.java | 23 ++----------------- 12 files changed, 23 insertions(+), 25 deletions(-) diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java index 37102d1ec..b4d5d58ed 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java @@ -456,7 +456,7 @@ public abstract class Char extends Actor { BOSS, MINIBOSS, UNDEAD, - EVIL, + DEMONIC, IMMOVABLE } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Elemental.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Elemental.java index 1e08e1d97..f186c3de8 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Elemental.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Elemental.java @@ -51,6 +51,8 @@ public class Elemental extends Mob { loot = new PotionOfLiquidFlame(); lootChance = 0.1f; + + properties.add(Property.DEMONIC); } @Override diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Eye.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Eye.java index 1675ef6d6..2e9af85e1 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Eye.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Eye.java @@ -60,6 +60,8 @@ public class Eye extends Mob { loot = new Dewdrop(); lootChance = 0.5f; + + properties.add(Property.DEMONIC); } @Override diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/FetidRat.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/FetidRat.java index b8e47604c..88bee452f 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/FetidRat.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/FetidRat.java @@ -46,7 +46,7 @@ public class FetidRat extends Rat { state = WANDERING; properties.add(Property.MINIBOSS); - properties.add(Property.UNDEAD); + properties.add(Property.DEMONIC); } @Override diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java index 666eecd61..dafac11ac 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java @@ -63,6 +63,7 @@ public class Goo extends Mob { lootChance = 0.333f; properties.add(Property.BOSS); + properties.add(Property.DEMONIC); } private int pumpedUp = 0; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Guard.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Guard.java index a62b353a6..c4d2f1243 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Guard.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Guard.java @@ -54,7 +54,7 @@ public class Guard extends Mob { loot = null; //see createloot. lootChance = 1; - properties.add(Property.UNDEAD); + properties.add(Property.DEMONIC); } @Override diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mimic.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mimic.java index d7520b7da..994f816cb 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mimic.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mimic.java @@ -50,6 +50,8 @@ public class Mimic extends Mob { { name = "mimic"; spriteClass = MimicSprite.class; + + properties.add(Property.DEMONIC); } public ArrayList items; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Scorpio.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Scorpio.java index 06971e196..7175f671f 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Scorpio.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Scorpio.java @@ -52,6 +52,8 @@ public class Scorpio extends Mob { loot = new PotionOfHealing(); lootChance = 0.2f; + + properties.add(Property.DEMONIC); } @Override diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Succubus.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Succubus.java index e646b067b..27b7fdacb 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Succubus.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Succubus.java @@ -59,6 +59,8 @@ public class Succubus extends Mob { loot = new ScrollOfLullaby(); lootChance = 0.05f; + + properties.add(Property.DEMONIC); } @Override diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Thief.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Thief.java index 2bc24a1ad..7d2a454aa 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Thief.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Thief.java @@ -56,6 +56,8 @@ public class Thief extends Mob { lootChance = 0.01f; FLEEING = new Fleeing(); + + properties.add(Property.DEMONIC); } private static final String ITEM = "item"; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Yog.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Yog.java index c04d669d3..586f4864d 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Yog.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Yog.java @@ -73,6 +73,7 @@ public class Yog extends Mob { properties.add(Property.BOSS); properties.add(Property.IMMOVABLE); + properties.add(Property.DEMONIC); } private static final String TXT_DESC = @@ -233,7 +234,7 @@ public class Yog extends Mob { state = WANDERING; properties.add(Property.BOSS); - properties.add(Property.UNDEAD); + properties.add(Property.DEMONIC); } @Override @@ -326,6 +327,7 @@ public class Yog extends Mob { state = WANDERING; properties.add(Property.BOSS); + properties.add(Property.DEMONIC); } @Override @@ -441,6 +443,8 @@ public class Yog extends Mob { EXP = 0; state = HUNTING; + + properties.add(Property.DEMONIC); } @Override diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfPrismaticLight.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfPrismaticLight.java index deb34e394..ef8d88945 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfPrismaticLight.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfPrismaticLight.java @@ -59,25 +59,6 @@ public class WandOfPrismaticLight extends Wand { collisionProperties = Ballistica.MAGIC_BOLT; } - //FIXME: this is sloppy - private static HashSet evilMobs = new HashSet(Arrays.asList( - //Any Location - Mimic.class, Wraith.class, - //Sewers - FetidRat.class, - Goo.class, - //Prison - Skeleton.class , Thief.class, Bandit.class, - //Caves - - //City - Warlock.class, Monk.class, Senior.class, - King.class, King.Undead.class, - //Halls - Succubus.class, Eye.class, Scorpio.class, Acidic.class, - Yog.class, Yog.RottingFist.class, Yog.BurningFist.class, Yog.Larva.class - )); - @Override protected void onZap(Ballistica beam) { Char ch = Actor.findChar(beam.collisionPos); @@ -100,7 +81,7 @@ public class WandOfPrismaticLight extends Wand { ch.sprite.emitter().burst(Speck.factory(Speck.LIGHT), 6 ); } - if (evilMobs.contains(ch.getClass())){ + if (ch.properties().contains(Char.Property.DEMONIC) || ch.properties().contains(Char.Property.UNDEAD)){ ch.sprite.emitter().start( ShadowParticle.UP, 0.05f, 10+level() ); Sample.INSTANCE.play(Assets.SND_BURNING); @@ -173,7 +154,7 @@ public class WandOfPrismaticLight extends Wand { "This wand is made of a solid piece of translucent crystal, like a long chunk of smooth glass. " + "It becomes clear towards the tip, where you can see colorful lights dancing around inside it.\n\n" + "This wand shoots rays of light which damage and blind enemies and cut through the darkness of the dungeon, " + - "revealing hidden areas and traps. Evildoers, demons, and the undead will burn in the bright light " + + "revealing hidden areas and traps. Demonic and undead foes will burn in the bright light " + "of the wand, taking significant bonus damage."; } }