diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java index 059596fe3..91b0ea251 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java @@ -110,8 +110,8 @@ public class ShatteredPixelDungeon extends Game { com.watabou.utils.Bundle.addAlias( com.shatteredpixel.shatteredpixeldungeon.actors.mobs.OldTengu.class, "com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Tengu" ); - - //v0.7.6 + + //v0.8.0 com.watabou.utils.Bundle.addAlias( com.shatteredpixel.shatteredpixeldungeon.actors.mobs.ArmoredBrute.class, "com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Shielded"); @@ -119,13 +119,11 @@ public class ShatteredPixelDungeon extends Game { com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM100.class, "com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Shaman"); com.watabou.utils.Bundle.addAlias( - com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Elemental.Fire.class, + com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Elemental.FireElemental.class, "com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Elemental"); com.watabou.utils.Bundle.addAlias( - com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Elemental.NewbornFire.class, + com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Elemental.NewbornFireElemental.class, "com.shatteredpixel.shatteredpixeldungeon.actors.mobs.NewbornElemental"); - - //v0.8.0 com.watabou.utils.Bundle.addAlias( com.shatteredpixel.shatteredpixeldungeon.actors.mobs.OldDM300.class, "com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM300"); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java index d6185a14b..066d823c6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java @@ -85,11 +85,9 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.traps.GrimTrap; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; -import com.watabou.noosa.Camera; import com.watabou.noosa.audio.Sample; import com.watabou.utils.Bundlable; import com.watabou.utils.Bundle; -import com.watabou.utils.GameMath; import com.watabou.utils.PathFinder; import com.watabou.utils.Random; @@ -725,13 +723,13 @@ public abstract class Char extends Actor { new HashSet( Arrays.asList(Bleeding.class, ToxicGas.class, Poison.class) )), BLOB_IMMUNE ( new HashSet(), new HashSet( Arrays.asList(Blob.class) )), - FIERY ( new HashSet( Arrays.asList(WandOfFireblast.class, Elemental.Fire.class)), + FIERY ( new HashSet( Arrays.asList(WandOfFireblast.class, Elemental.FireElemental.class)), new HashSet( Arrays.asList(Burning.class, Blazing.class))), - ICY ( new HashSet( Arrays.asList(WandOfFrost.class, Elemental.Frost.class)), + ICY ( new HashSet( Arrays.asList(WandOfFrost.class, Elemental.FrostElemental.class)), new HashSet( Arrays.asList(Frost.class, Chill.class))), ACIDIC ( new HashSet( Arrays.asList(Corrosion.class)), new HashSet( Arrays.asList(Ooze.class))), - ELECTRIC ( new HashSet( Arrays.asList(WandOfLightning.class, Shocking.class, Potential.class, Electricity.class, ShockingDart.class, Elemental.Shock.class )), + ELECTRIC ( new HashSet( Arrays.asList(WandOfLightning.class, Shocking.class, Potential.class, Electricity.class, ShockingDart.class, Elemental.ShockElemental.class )), new HashSet()), LARGE, IMMOVABLE; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Elemental.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Elemental.java index 51c970a33..31b7e8e79 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Elemental.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Elemental.java @@ -171,7 +171,7 @@ public abstract class Elemental extends Mob { } } - public static class Fire extends Elemental { + public static class FireElemental extends Elemental { { spriteClass = ElementalSprite.Fire.class; @@ -203,7 +203,7 @@ public abstract class Elemental extends Mob { } //used in wandmaker quest - public static class NewbornFire extends Fire { + public static class NewbornFireElemental extends FireElemental { { spriteClass = ElementalSprite.NewbornFire.class; @@ -228,7 +228,7 @@ public abstract class Elemental extends Mob { } - public static class Frost extends Elemental { + public static class FrostElemental extends Elemental { { spriteClass = ElementalSprite.Frost.class; @@ -256,7 +256,7 @@ public abstract class Elemental extends Mob { } } - public static class Shock extends Elemental { + public static class ShockElemental extends Elemental { { spriteClass = ElementalSprite.Shock.class; @@ -294,7 +294,7 @@ public abstract class Elemental extends Mob { } } - public static class Chaos extends Elemental { + public static class ChaosElemental extends Elemental { { spriteClass = ElementalSprite.Chaos.class; @@ -326,16 +326,16 @@ public abstract class Elemental extends Mob { public static Class random(){ if (Random.Int( 50 ) == 0){ - return Chaos.class; + return ChaosElemental.class; } float roll = Random.Float(); if (roll < 0.4f){ - return Fire.class; + return FireElemental.class; } else if (roll < 0.8f){ - return Frost.class; + return FrostElemental.class; } else { - return Shock.class; + return ShockElemental.class; } } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogDzewa.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogDzewa.java index a93ea4dd3..2a92a70db 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogDzewa.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogDzewa.java @@ -27,10 +27,8 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Actor; import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Amok; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm; -import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Light; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor; -import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Sleep; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Vertigo; @@ -90,9 +88,9 @@ public class YogDzewa extends Mob { private ArrayList fistSummons = new ArrayList<>(); { Random.pushGenerator(Dungeon.seedCurDepth()); - fistSummons.add(Random.Int(2) == 0 ? YogFist.Burning.class : YogFist.Soiled.class); - fistSummons.add(Random.Int(2) == 0 ? YogFist.Rotting.class : YogFist.Rusted.class); - fistSummons.add(Random.Int(2) == 0 ? YogFist.Bright.class : YogFist.Dark.class); + fistSummons.add(Random.Int(2) == 0 ? YogFist.BurningFist.class : YogFist.SoiledFist.class); + fistSummons.add(Random.Int(2) == 0 ? YogFist.RottingFist.class : YogFist.RustedFist.class); + fistSummons.add(Random.Int(2) == 0 ? YogFist.BrightFist.class : YogFist.DarkFist.class); Random.shuffle(fistSummons); Random.popGenerator(); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogFist.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogFist.java index 796362544..7aa6307c4 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogFist.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/YogFist.java @@ -30,6 +30,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Blindness; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; +import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Light; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Ooze; @@ -175,7 +176,7 @@ public abstract class YogFist extends Mob { rangedCooldown = bundle.getFloat(RANGED_COOLDOWN); } - public static class Burning extends YogFist { + public static class BurningFist extends YogFist { { spriteClass = FistSprite.Burning.class; @@ -220,7 +221,7 @@ public abstract class YogFist extends Mob { GameScene.updateMap( enemy.pos ); CellEmitter.get( enemy.pos ).burst( Speck.factory( Speck.STEAM ), 10 ); } else { - Buff.affect( enemy, com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning.class ).reignite( enemy ); + Buff.affect( enemy, Burning.class ).reignite( enemy ); } for (int i : PathFinder.NEIGHBOURS9){ @@ -236,7 +237,7 @@ public abstract class YogFist extends Mob { } - public static class Soiled extends YogFist { + public static class SoiledFist extends YogFist { { spriteClass = FistSprite.Soiled.class; @@ -324,7 +325,7 @@ public abstract class YogFist extends Mob { } - public static class Rotting extends YogFist { + public static class RottingFist extends YogFist { { spriteClass = FistSprite.Rotting.class; @@ -385,7 +386,7 @@ public abstract class YogFist extends Mob { } - public static class Rusted extends YogFist { + public static class RustedFist extends YogFist { { spriteClass = FistSprite.Rusted.class; @@ -417,7 +418,7 @@ public abstract class YogFist extends Mob { } - public static class Bright extends YogFist { + public static class BrightFist extends YogFist { { spriteClass = FistSprite.Bright.class; @@ -479,7 +480,7 @@ public abstract class YogFist extends Mob { } - public static class Dark extends YogFist { + public static class DarkFist extends YogFist { { spriteClass = FistSprite.Dark.class; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/AntiMagic.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/AntiMagic.java index b519710c0..06fc1574a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/AntiMagic.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/AntiMagic.java @@ -82,8 +82,8 @@ public class AntiMagic extends Armor.Glyph { RESISTS.add( Warlock.DarkBolt.class ); RESISTS.add( Eye.DeathGaze.class ); RESISTS.add( Yog.BurningFist.DarkBolt.class ); - RESISTS.add( YogFist.Bright.LightBeam.class ); - RESISTS.add( YogFist.Dark.DarkBolt.class ); + RESISTS.add( YogFist.BrightFist.LightBeam.class ); + RESISTS.add( YogFist.DarkFist.DarkBolt.class ); } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/CeremonialCandle.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/CeremonialCandle.java index 4ff01833e..03ca6a1dd 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/CeremonialCandle.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/CeremonialCandle.java @@ -97,7 +97,7 @@ public class CeremonialCandle extends Item { heapBottom.pickUp(); heapLeft.pickUp(); - Elemental.NewbornFire elemental = new Elemental.NewbornFire(); + Elemental.NewbornFireElemental elemental = new Elemental.NewbornFireElemental(); Char ch = Actor.findChar( ritualPos ); if (ch != null) { ArrayList candidates = new ArrayList<>(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java index d8f1b0a82..3fa8d479f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java @@ -953,7 +953,7 @@ public abstract class Level implements Bundlable { boolean[] blocking; if ((c instanceof Hero && ((Hero) c).subClass == HeroSubClass.WARDEN) - || c instanceof YogFist.Soiled) { + || c instanceof YogFist.SoiledFist) { blocking = Dungeon.level.losBlocking.clone(); for (int i = 0; i < blocking.length; i++){ if (blocking[i] && (Dungeon.level.map[i] == Terrain.HIGH_GRASS || Dungeon.level.map[i] == Terrain.FURROWED_GRASS)){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DistortionTrap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DistortionTrap.java index be2eb6ab0..54cbae2a7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DistortionTrap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DistortionTrap.java @@ -31,6 +31,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.ArmoredBrute; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Bandit; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Bestiary; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.CausticSlime; +import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM201; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Elemental; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mimic; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob; @@ -60,8 +61,8 @@ public class DistortionTrap extends Trap{ private static final ArrayList> RARE = new ArrayList<>(Arrays.asList( Albino.class, CausticSlime.class, Bandit.class, - ArmoredBrute.class, - Elemental.Chaos.class, Senior.class, + ArmoredBrute.class, DM201.class, + Elemental.ChaosElemental.class, Senior.class, Acidic.class)); @Override diff --git a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties index bed0750bf..21e9cfb1b 100644 --- a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties +++ b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties @@ -540,16 +540,16 @@ actors.mobs.dwarfking$dkghoul.rankings_desc=Fell Before the King of Dwarves actors.mobs.dwarfking$dkmonk.rankings_desc=Fell Before the King of Dwarves actors.mobs.dwarfking$dkwarlock.rankings_desc=Fell Before the King of Dwarves -actors.mobs.elemental$fire.name=fire elemental -actors.mobs.elemental$fire.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nFire elementals are a common type of elemental which deals damage with fiery magic. They will set their target ablaze with melee attacks, and can occasionally shoot bolts of fire as well. -actors.mobs.elemental$newbornfire.name=newborn fire elemental -actors.mobs.elemental$newbornfire.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nFire elementals are a common type of elemental which deals damage with fiery magic. They will set their target ablaze with melee attacks, and can occasionally shoot bolts of fire as well.\n\nThis fire elemental is freshy summoned, and is weakened as a result. In this state it is especially vulnerable to the cold. Its offensive capabilities are still great though, caution is advised. -actors.mobs.elemental$frost.name=frost elemental -actors.mobs.elemental$frost.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nFrost elementals are a common type of elemental which weakens enemies with chilling magic. They will chill their target with melee and occasional ranged attacks. Their magic is much more effective in water. -actors.mobs.elemental$shock.name=shock elemental -actors.mobs.elemental$shock.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nShock elementals are a less common type of elemental which disrupts its enemies with electricity and flashes of light. In melee they will arc electricity to nearby enemies, and deal bonus damage to their primary target if they are in water. They will also occasionally focus a ranged blast of light at their target, temporarily blinding them. -actors.mobs.elemental$chaos.name=chaos elemental -actors.mobs.elemental$chaos.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nChaos elementals are rare and dangerous elementals which haven't stabilized to a particular element. They will unleash wild unpredictable magic when they attack. +actors.mobs.elemental$fireelemental.name=fire elemental +actors.mobs.elemental$fireelemental.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nFire elementals are a common type of elemental which deals damage with fiery magic. They will set their target ablaze with melee attacks, and can occasionally shoot bolts of fire as well. +actors.mobs.elemental$newbornfireelemental.name=newborn fire elemental +actors.mobs.elemental$newbornfireelemental.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nFire elementals are a common type of elemental which deals damage with fiery magic. They will set their target ablaze with melee attacks, and can occasionally shoot bolts of fire as well.\n\nThis fire elemental is freshy summoned, and is weakened as a result. In this state it is especially vulnerable to the cold. Its offensive capabilities are still great though, caution is advised. +actors.mobs.elemental$frostelemental.name=frost elemental +actors.mobs.elemental$frostelemental.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nFrost elementals are a common type of elemental which weakens enemies with chilling magic. They will chill their target with melee and occasional ranged attacks. Their magic is much more effective in water. +actors.mobs.elemental$shockelemental.name=shock elemental +actors.mobs.elemental$shockelemental.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nShock elementals are a less common type of elemental which disrupts its enemies with electricity and flashes of light. In melee they will arc electricity to nearby enemies, and deal bonus damage to their primary target if they are in water. They will also occasionally focus a ranged blast of light at their target, temporarily blinding them. +actors.mobs.elemental$chaoselemental.name=chaos elemental +actors.mobs.elemental$chaoselemental.desc=Elementals are chaotic creatures that are often created when powerful occult magic isn't properly controlled. Elementals have minimal intelligence, and are usually associated with a particular type of magic.\n\nChaos elementals are rare and dangerous elementals which haven't stabilized to a particular element. They will unleash wild unpredictable magic when they attack. actors.mobs.eye.name=evil eye actors.mobs.eye.deathgaze_kill=The deathgaze killed you... @@ -764,20 +764,20 @@ actors.mobs.yogdzewa$yogripper.rankings_desc=Devoured by Yog-Dzewa actors.mobs.yogfist.invuln_warn=The fist is invulnerable while near to the eye! actors.mobs.yogfist.rankings_desc=Devoured by Yog-Dzewa actors.mobs.yogfist.desc=This fist is an aspect of Yog-Dzewa's power. Fists are linked to the power of Yog-Dzewa, and will be protected from all damage when they are close to the eye. -actors.mobs.yogfist$burning.name=burning fist -actors.mobs.yogfist$burning.desc=This fist is formed out of chaotic fiery magic. As it moves it will constantly set terrain around it ablaze. It is also capable of shooting blasts of fiery power, which spread flames where the impact.\n\nThe fist's ability to spread flames is suppressed when near water, but it's heat is so great that any water around it will evaporate after a short while! -actors.mobs.yogfist$soiled.name=soiled fist -actors.mobs.yogfist$soiled.desc=This fist is formed out of chaotic earthen magic. As it moves it will constantly cause vegetation to sprout around it. It can also shoot concentrated earthen blasts that will ensnare its target in rapidly growing vines and roots!\n\nThe fist derives power from this plant life, and will resist damage based on the amount of tall or furrowed vegetation near it! -actors.mobs.yogfist$rotting.name=rotting fist -actors.mobs.yogfist$rotting.desc=This fist is formed out of living corruption. It is a towering mass of decaying flesh that can spread caustic ooze in melee and toxic gas at range. Even worse, the fist's great mass causes it to bleed instead of taking damage directly.\n\nWater can be used to wash the ooze off, but the fist is also capable of adsorbing water to heal itself! Additionally, damaging the fist while it is bleeding will cause the bleed to refresh, but not stack! -actors.mobs.yogfist$rusted.name=rusted fist -actors.mobs.yogfist$rusted.desc=This fist is formed out of living metal. It is a towering mass of shifting metal that has powerful melee attacks, and can cripple its targets at range. Because of its tremendous mass, the fist will take any damage dealt to it over time, instead of immediately.\n\nThe fist is inflexible however, and cannot move into tight passageways. Additionally, while it may take damage slowly, the deferred damage will continue to increase if the fist is hit multiple times. -actors.mobs.yogfist$bright.name=bright fist -actors.mobs.yogfist$bright.teleport=The fist teleports away in a flash of light that seriously blinds you! -actors.mobs.yogfist$bright.desc=This fist is formed out of pure light energy. It is capable of shooting powerful rays of searing light every turn! These beams will temporarily blind you in addition to dealing heavy damage. The fist is also capable of briefly engulfing the arena in blinding light in order to escape!\n\nThe fist has no special abilities which it can use in melee range however. -actors.mobs.yogfist$dark.name=dark fist -actors.mobs.yogfist$dark.teleport=The fist teleports away in a blast of darkness that extinguishes your light source! -actors.mobs.yogfist$dark.desc=This fist is formed out of pure dark energy. It is capable of shooting powerful blasts of dark magic every turn! These blasts will weaken your light source in addition to dealing heavy damage. The fist is also capable of briefly engulfing the arena in darkness in order to escape!\n\nThe fist has no special abilities which it can use in melee range however. +actors.mobs.yogfist$burningfist.name=burning fist +actors.mobs.yogfist$burningfist.desc=This fist is formed out of chaotic fiery magic. As it moves it will constantly set terrain around it ablaze. It is also capable of shooting blasts of fiery power, which spread flames where the impact.\n\nThe fist's ability to spread flames is suppressed when near water, but it's heat is so great that any water around it will evaporate after a short while! +actors.mobs.yogfist$soiledfist.name=soiled fist +actors.mobs.yogfist$soiledfist.desc=This fist is formed out of chaotic earthen magic. As it moves it will constantly cause vegetation to sprout around it. It can also shoot concentrated earthen blasts that will ensnare its target in rapidly growing vines and roots!\n\nThe fist derives power from this plant life, and will resist damage based on the amount of tall or furrowed vegetation near it! +actors.mobs.yogfist$rottingfist.name=rotting fist +actors.mobs.yogfist$rottingfist.desc=This fist is formed out of living corruption. It is a towering mass of decaying flesh that can spread caustic ooze in melee and toxic gas at range. Even worse, the fist's great mass causes it to bleed instead of taking damage directly.\n\nWater can be used to wash the ooze off, but the fist is also capable of adsorbing water to heal itself! Additionally, damaging the fist while it is bleeding will cause the bleed to refresh, but not stack! +actors.mobs.yogfist$rustedfist.name=rusted fist +actors.mobs.yogfist$rustedfist.desc=This fist is formed out of living metal. It is a towering mass of shifting metal that has powerful melee attacks, and can cripple its targets at range. Because of its tremendous mass, the fist will take any damage dealt to it over time, instead of immediately.\n\nThe fist is inflexible however, and cannot move into tight passageways. Additionally, while it may take damage slowly, the deferred damage will continue to increase if the fist is hit multiple times. +actors.mobs.yogfist$brightfist.name=bright fist +actors.mobs.yogfist$brightfist.teleport=The fist teleports away in a flash of light that seriously blinds you! +actors.mobs.yogfist$brightfist.desc=This fist is formed out of pure light energy. It is capable of shooting powerful rays of searing light every turn! These beams will temporarily blind you in addition to dealing heavy damage. The fist is also capable of briefly engulfing the arena in blinding light in order to escape!\n\nThe fist has no special abilities which it can use in melee range however. +actors.mobs.yogfist$darkfist.name=dark fist +actors.mobs.yogfist$darkfist.teleport=The fist teleports away in a blast of darkness that extinguishes your light source! +actors.mobs.yogfist$darkfist.desc=This fist is formed out of pure dark energy. It is capable of shooting powerful blasts of dark magic every turn! These blasts will weaken your light source in addition to dealing heavy damage. The fist is also capable of briefly engulfing the arena in darkness in order to escape!\n\nThe fist has no special abilities which it can use in melee range however. actors.char.kill=%s killed you...