v2.0.0: refactored sword dance, now applies to thrown weapons

This commit is contained in:
Evan Debenham
2023-03-08 12:46:21 -05:00
parent 12d91781db
commit 7b4df33d5c
3 changed files with 17 additions and 7 deletions
@@ -699,10 +699,6 @@ public class Hero extends Char {
float delay = 1f; float delay = 1f;
if (buff(Scimitar.SwordDance.class) != null){
delay /= 1.6f; //+60% speed
}
if (!RingOfForce.fightingUnarmed(this)) { if (!RingOfForce.fightingUnarmed(this)) {
return delay * belongings.attackingWeapon().delayFactor( this ); return delay * belongings.attackingWeapon().delayFactor( this );
@@ -711,13 +707,19 @@ public class Hero extends Char {
//Normally putting furor speed on unarmed attacks would be unnecessary //Normally putting furor speed on unarmed attacks would be unnecessary
//But there's going to be that one guy who gets a furor+force ring combo //But there's going to be that one guy who gets a furor+force ring combo
//This is for that one guy, you shall get your fists of fury! //This is for that one guy, you shall get your fists of fury!
delay *= 1f/RingOfFuror.attackSpeedMultiplier(this); float speed = RingOfFuror.attackSpeedMultiplier(this);
//ditto for furor + sword dance!
if (buff(Scimitar.SwordDance.class) != null){
speed += 0.6f;
}
//and augments + brawler's stance! My goodness, so many options now compared to 2014!
if (RingOfForce.unarmedGetsWeaponAugment(this)){ if (RingOfForce.unarmedGetsWeaponAugment(this)){
delay = ((Weapon)belongings.weapon).augment.delayFactor(delay); delay = ((Weapon)belongings.weapon).augment.delayFactor(delay);
} }
return delay; return delay/speed;
} }
} }
@@ -57,6 +57,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Shocki
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Unstable; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Unstable;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Vampiric; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Vampiric;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.RunicBlade; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.RunicBlade;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Scimitar;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
@@ -208,7 +209,13 @@ abstract public class Weapon extends KindOfWeapon {
} }
protected float speedMultiplier(Char owner ){ protected float speedMultiplier(Char owner ){
return RingOfFuror.attackSpeedMultiplier(owner); float multi = RingOfFuror.attackSpeedMultiplier(owner);
if (owner.buff(Scimitar.SwordDance.class) != null){
multi += 0.6f;
}
return multi;
} }
@Override @Override
@@ -40,6 +40,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfSharpshooting;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Projecting; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Projecting;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Scimitar;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.Dart; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.Dart;
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;