diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java index 99df99f7a..a95a2bd4c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java @@ -58,6 +58,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor; import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.AntiMagic; import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.Flow; import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.Obfuscation; +import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.Stone; import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.Swiftness; import com.shatteredpixel.shatteredpixeldungeon.items.armor.glyphs.Viscosity; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CapeOfThorns; @@ -1084,9 +1085,18 @@ public class Hero extends Char { if (step != -1) { + int moveTime = 1; + if (belongings.armor != null && belongings.armor.hasGlyph(Stone.class) && + (Dungeon.level.map[pos] == Terrain.DOOR + || Dungeon.level.map[pos] == Terrain.OPEN_DOOR + || Dungeon.level.map[step] == Terrain.DOOR + || Dungeon.level.map[step] == Terrain.OPEN_DOOR )){ + moveTime *= 2; + } sprite.move(pos, step); move(step); - spend( 1 / speed() ); + + spend( moveTime / speed() ); return true; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Stone.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Stone.java index 6f28e1c5c..f9d7f58e1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Stone.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Stone.java @@ -30,15 +30,10 @@ public class Stone extends Armor.Glyph { @Override public int proc(Armor armor, Char attacker, Char defender, int damage) { - //no proc effect, see armor.DrMin + //no proc effect, see armor.DrMin and the end of hero.getCloser return damage; } - @Override - public float tierSTRAdjust() { - return 1.5f; - } - @Override public ItemSprite.Glowing glowing() { return GREY; diff --git a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties index bdd004ed9..8935e3238 100644 --- a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties +++ b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties @@ -48,7 +48,7 @@ items.armor.glyphs.repulsion.name=%s of repulsion items.armor.glyphs.repulsion.desc=This glyph rebounds force against attackers, sending them flying back. items.armor.glyphs.stone.name=%s of stone -items.armor.glyphs.stone.desc=This glyph increases both the weight and defensive strength of armor it is attached to. +items.armor.glyphs.stone.desc=This glyph surrounds the armor with weightless magical stone that improves defense, but makes it difficult to fit through doorways. items.armor.glyphs.swiftness.name=%s of swiftness items.armor.glyphs.swiftness.desc=This glyph alters the nature of armor, reducing weight and increasing evasion and speed, at the cost of defense.