From 57b4eaf753f5e66e5bd1948d022c2449dd3111c8 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sun, 21 Jan 2018 23:50:55 -0500 Subject: [PATCH] v0.6.3: Missile weapon balance: - increased shop prices by 50% - adjusted shop spawn rate to a consistent 2 (5 for darts) - reduced throwing hammer durability by 25% - throwing hammers now always drop to the floor --- .../items/weapon/missiles/Bolas.java | 2 +- .../items/weapon/missiles/Dart.java | 2 +- .../items/weapon/missiles/FishingSpear.java | 2 +- .../items/weapon/missiles/Javelin.java | 2 +- .../items/weapon/missiles/MissileWeapon.java | 6 ++++-- .../items/weapon/missiles/Shuriken.java | 2 +- .../items/weapon/missiles/ThrowingHammer.java | 6 ++++-- .../items/weapon/missiles/ThrowingKnife.java | 2 +- .../items/weapon/missiles/TippedDart.java | 2 +- .../items/weapon/missiles/Tomahawk.java | 2 +- .../items/weapon/missiles/Trident.java | 2 +- .../levels/rooms/special/ShopRoom.java | 16 ++++++++-------- .../messages/items/items.properties | 2 +- 13 files changed, 26 insertions(+), 22 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Bolas.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Bolas.java index ea7dca790..40466276d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Bolas.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Bolas.java @@ -61,6 +61,6 @@ public class Bolas extends MissileWeapon { @Override public int price() { - return 12 * quantity; + return 18 * quantity; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Dart.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Dart.java index 4a7879ea2..0ee95a36d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Dart.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Dart.java @@ -61,6 +61,6 @@ public class Dart extends MissileWeapon { @Override public int price() { - return quantity * 4; + return 6 * quantity; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/FishingSpear.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/FishingSpear.java index d529f84aa..91834e840 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/FishingSpear.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/FishingSpear.java @@ -46,7 +46,7 @@ public class FishingSpear extends MissileWeapon { @Override public int price() { - return 12 * quantity; + return 18 * quantity; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Javelin.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Javelin.java index 26024ca9f..251219953 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Javelin.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Javelin.java @@ -46,6 +46,6 @@ public class Javelin extends MissileWeapon { @Override public int price() { - return 16 * quantity; + return 24 * quantity; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/MissileWeapon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/MissileWeapon.java index 4f36cf052..cde6aa885 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/MissileWeapon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/MissileWeapon.java @@ -49,6 +49,8 @@ abstract public class MissileWeapon extends Weapon { usesTargeting = true; } + protected boolean sticky = true; + protected static final float MAX_DURABILITY = 100; protected float durability = MAX_DURABILITY; @@ -139,8 +141,8 @@ abstract public class MissileWeapon extends Weapon { durability -= durabilityPerUse(); } if (durability > 0){ - if (enemy.isAlive()) Buff.affect(enemy, PinCushion.class).stick(this); - else Dungeon.level.drop( this, enemy.pos).sprite.drop(); + if (enemy.isAlive() && sticky) Buff.affect(enemy, PinCushion.class).stick(this); + else Dungeon.level.drop( this, enemy.pos).sprite.drop(); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Shuriken.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Shuriken.java index 01f0ec51e..5e476684e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Shuriken.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Shuriken.java @@ -54,6 +54,6 @@ public class Shuriken extends MissileWeapon { @Override public int price() { - return 8 * quantity; + return 12 * quantity; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingHammer.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingHammer.java index 0616fbdb7..95fffeaae 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingHammer.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingHammer.java @@ -27,6 +27,8 @@ public class ThrowingHammer extends MissileWeapon { { image = ItemSpriteSheet.THROWING_HAMMER; + + sticky = false; } @Override @@ -46,11 +48,11 @@ public class ThrowingHammer extends MissileWeapon { @Override protected float durabilityPerUse() { - return super.durabilityPerUse()/2f; + return super.durabilityPerUse()/1.5f; } @Override public int price() { - return 20 * quantity; + return 30 * quantity; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingKnife.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingKnife.java index d20de77a6..7adf98e10 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingKnife.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingKnife.java @@ -89,6 +89,6 @@ public class ThrowingKnife extends MissileWeapon { @Override public int price() { - return 4 * quantity; + return 6 * quantity; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/TippedDart.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/TippedDart.java index 8e582311a..2beabdd7e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/TippedDart.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/TippedDart.java @@ -47,6 +47,6 @@ public abstract class TippedDart extends Dart { @Override public int price() { - return quantity * 6; + return 12 * quantity; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Tomahawk.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Tomahawk.java index 3e23e5cb4..29933137f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Tomahawk.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Tomahawk.java @@ -61,6 +61,6 @@ public class Tomahawk extends MissileWeapon { @Override public int price() { - return 16 * quantity; + return 24 * quantity; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Trident.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Trident.java index bf10160ff..7cc8a2cc0 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Trident.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Trident.java @@ -46,7 +46,7 @@ public class Trident extends MissileWeapon { @Override public int price() { - return 20 * quantity; + return 30 * quantity; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/ShopRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/ShopRoom.java index ae2672024..188d83bd0 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/ShopRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/ShopRoom.java @@ -168,32 +168,32 @@ public class ShopRoom extends SpecialRoom { case 6: itemsToSpawn.add( (Random.Int( 2 ) == 0 ? new Shortsword().identify() : new HandAxe()).identify() ); itemsToSpawn.add( Random.Int( 2 ) == 0 ? - new Shuriken().random() : - new IncendiaryDart().random()); + new Shuriken().quantity(2) : + new IncendiaryDart().quantity(5)); itemsToSpawn.add( new LeatherArmor().identify() ); break; case 11: itemsToSpawn.add( (Random.Int( 2 ) == 0 ? new Sword().identify() : new Mace()).identify() ); itemsToSpawn.add( Random.Int( 2 ) == 0 ? - new FishingSpear().random() : - new Bolas().random()); + new FishingSpear().quantity(2) : + new Bolas().quantity(2)); itemsToSpawn.add( new MailArmor().identify() ); break; case 16: itemsToSpawn.add( (Random.Int( 2 ) == 0 ? new Longsword().identify() : new BattleAxe()).identify() ); itemsToSpawn.add( Random.Int( 2 ) == 0 ? - new Javelin().random() : - new Tomahawk().random()); + new Javelin().quantity(2) : + new Tomahawk().quantity(2)); itemsToSpawn.add( new ScaleArmor().identify() ); break; case 21: itemsToSpawn.add( Random.Int( 2 ) == 0 ? new Greatsword().identify() : new WarHammer().identify() ); itemsToSpawn.add( Random.Int(2) == 0 ? - new Trident().random() : - new ThrowingHammer().random()); + new Trident().quantity(2) : + new ThrowingHammer().quantity(2)); itemsToSpawn.add( new PlateArmor().identify() ); itemsToSpawn.add( new Torch() ); itemsToSpawn.add( new Torch() ); 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 a53460763..5ffa33605 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 @@ -958,7 +958,7 @@ items.weapon.missiles.shuriken.name=shuriken items.weapon.missiles.shuriken.desc=Star-shaped pieces of metal with razor-sharp blades. They are lightweight and easy to use on the move. A single shuriken can be thrown instantly after moving. items.weapon.missiles.throwinghammer.name=throwing hammer -items.weapon.missiles.throwinghammer.desc=These hefty hammers are designed to be thrown at an enemy. While they are a bit lacking in damage, their all-metal construction makes them quite durable. +items.weapon.missiles.throwinghammer.desc=These hefty hammers are designed to be thrown at an enemy. While they are a bit lacking in damage, their smooth all-metal construction means they are quite durable, and won't stick to enemies. items.weapon.missiles.throwingknife.name=throwing knife items.weapon.missiles.throwingknife.desc=These lightweight knives are balanced to arc through the air right into their target. They are most effective against unaware enemies.