From 25ee9d1401274c9aae3d9a08c16b242f812cb887 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 21 Jul 2017 17:23:27 -0400 Subject: [PATCH] v0.6.1: implement ring of energy (takes the place of ring of magic) --- .../shatteredpixeldungeon/items/Generator.java | 6 +++--- .../shatteredpixeldungeon/items/rings/Ring.java | 2 +- .../items/rings/{RingOfMagic.java => RingOfEnergy.java} | 6 +++--- .../shatteredpixeldungeon/items/wands/Wand.java | 4 ++++ .../shatteredpixeldungeon/journal/Catalog.java | 3 ++- .../shatteredpixeldungeon/messages/items/items.properties | 4 ++-- 6 files changed, 15 insertions(+), 10 deletions(-) rename core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/{RingOfMagic.java => RingOfEnergy.java} (89%) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java index 474699c58..ff2009a94 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java @@ -64,11 +64,11 @@ import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfToxicGas; import com.shatteredpixel.shatteredpixeldungeon.items.rings.Ring; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfAccuracy; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfElements; +import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEnergy; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEvasion; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfForce; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfFuror; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfHaste; -import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfMagic; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfMight; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfSharpshooting; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfTenacity; @@ -324,12 +324,12 @@ public class Generator { RingOfForce.class, RingOfFuror.class, RingOfHaste.class, - RingOfMagic.class, //currently removed from drop tables, pending rework + RingOfEnergy.class, RingOfMight.class, RingOfSharpshooting.class, RingOfTenacity.class, RingOfWealth.class}; - RING.probs = new float[]{ 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1 }; + RING.probs = new float[]{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; ARTIFACT.classes = new Class[]{ CapeOfThorns.class, diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/Ring.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/Ring.java index beea7ce48..a96e445b6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/Ring.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/Ring.java @@ -54,7 +54,7 @@ public class Ring extends KindofMisc { RingOfForce.class, RingOfFuror.class, RingOfHaste.class, - RingOfMagic.class, + RingOfEnergy.class, RingOfMight.class, RingOfSharpshooting.class, RingOfTenacity.class, diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfMagic.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfEnergy.java similarity index 89% rename from core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfMagic.java rename to core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfEnergy.java index 275759c03..6031fd3eb 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfMagic.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfEnergy.java @@ -21,13 +21,13 @@ package com.shatteredpixel.shatteredpixeldungeon.items.rings; -public class RingOfMagic extends Ring { +public class RingOfEnergy extends Ring { @Override protected RingBuff buff( ) { - return new Magic(); + return new Energy(); } - public class Magic extends RingBuff { + public class Energy extends RingBuff { } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java index 0b070b963..8118613a2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/Wand.java @@ -37,6 +37,8 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile; import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag; import com.shatteredpixel.shatteredpixeldungeon.items.bags.WandHolster; +import com.shatteredpixel.shatteredpixeldungeon.items.rings.Ring; +import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEnergy; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff; import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; @@ -426,6 +428,8 @@ public abstract class Wand extends Item { private void recharge(){ int missingCharges = maxCharges - curCharges; + missingCharges += Ring.getBonus(target, RingOfEnergy.Energy.class); + missingCharges = Math.max(0, missingCharges); float turnsToCharge = (float) (BASE_CHARGE_DELAY + (SCALING_CHARGE_ADDITION * Math.pow(scalingFactor, missingCharges))); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java index f6f9699df..e54c0027a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java @@ -59,6 +59,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfStrength; import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfToxicGas; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfAccuracy; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfElements; +import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEnergy; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEvasion; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfForce; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfFuror; @@ -202,12 +203,12 @@ public enum Catalog { WANDS.seen.put( WandOfRegrowth.class, false); RINGS.seen.put( RingOfAccuracy.class, false); + RINGS.seen.put( RingOfEnergy.class, false); RINGS.seen.put( RingOfElements.class, false); RINGS.seen.put( RingOfEvasion.class, false); RINGS.seen.put( RingOfForce.class, false); RINGS.seen.put( RingOfFuror.class, false); RINGS.seen.put( RingOfHaste.class, false); - //RINGS.seen.put( RingOfMagic.class, false); RINGS.seen.put( RingOfMight.class, false); RINGS.seen.put( RingOfSharpshooting.class, false); RINGS.seen.put( RingOfTenacity.class, false); 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 36fd99c5f..0c41fce9b 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 @@ -549,8 +549,8 @@ items.rings.ringoffuror.desc=This ring grants the wearer an inner fury, allowing items.rings.ringofhaste.name=ring of haste items.rings.ringofhaste.desc=This ring reduces the stress of movement on the wearer, allowing them to run at superhuman speeds. A cursed ring will instead weigh the wearer down. -items.rings.ringofmagic.name=ring of magic -items.rings.ringofmagic.desc=Your wands will become more powerful in the arcane field that radiates from this ring. Cursed rings of magic will instead weaken your wands. +items.rings.ringofenergy.name=ring of energy +items.rings.ringofenergy.desc=Your wands will recharge more quickly in the arcane field that radiates from this ring. A cursed ring will instead slow wand recharge. items.rings.ringofmight.name=ring of might items.rings.ringofmight.desc=This ring enhances the physical traits of the wearer, granting them greater physical strength and constitution. A cursed ring will weaken the wearer.