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
This commit is contained in:
Evan Debenham 2018-01-21 23:50:55 -05:00
parent 8aae9906ae
commit 57b4eaf753
13 changed files with 26 additions and 22 deletions

View File

@ -61,6 +61,6 @@ public class Bolas extends MissileWeapon {
@Override
public int price() {
return 12 * quantity;
return 18 * quantity;
}
}

View File

@ -61,6 +61,6 @@ public class Dart extends MissileWeapon {
@Override
public int price() {
return quantity * 4;
return 6 * quantity;
}
}

View File

@ -46,7 +46,7 @@ public class FishingSpear extends MissileWeapon {
@Override
public int price() {
return 12 * quantity;
return 18 * quantity;
}
}

View File

@ -46,6 +46,6 @@ public class Javelin extends MissileWeapon {
@Override
public int price() {
return 16 * quantity;
return 24 * quantity;
}
}

View File

@ -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,7 +141,7 @@ abstract public class MissileWeapon extends Weapon {
durability -= durabilityPerUse();
}
if (durability > 0){
if (enemy.isAlive()) Buff.affect(enemy, PinCushion.class).stick(this);
if (enemy.isAlive() && sticky) Buff.affect(enemy, PinCushion.class).stick(this);
else Dungeon.level.drop( this, enemy.pos).sprite.drop();
}
}

View File

@ -54,6 +54,6 @@ public class Shuriken extends MissileWeapon {
@Override
public int price() {
return 8 * quantity;
return 12 * quantity;
}
}

View File

@ -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;
}
}

View File

@ -89,6 +89,6 @@ public class ThrowingKnife extends MissileWeapon {
@Override
public int price() {
return 4 * quantity;
return 6 * quantity;
}
}

View File

@ -47,6 +47,6 @@ public abstract class TippedDart extends Dart {
@Override
public int price() {
return quantity * 6;
return 12 * quantity;
}
}

View File

@ -61,6 +61,6 @@ public class Tomahawk extends MissileWeapon {
@Override
public int price() {
return 16 * quantity;
return 24 * quantity;
}
}

View File

@ -46,7 +46,7 @@ public class Trident extends MissileWeapon {
@Override
public int price() {
return 20 * quantity;
return 30 * quantity;
}
}

View File

@ -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() );

View File

@ -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.