diff --git a/core/src/main/assets/items.png b/core/src/main/assets/items.png index 7c2b3efbb..4878a551b 100644 Binary files a/core/src/main/assets/items.png and b/core/src/main/assets/items.png differ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java index a6bffe327..706fdb134 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java @@ -39,8 +39,8 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Knuckles; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.WornShortsword; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Boomerang; -import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Dart; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.ThrowingKnife; +import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.ThrowingStone; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.watabou.utils.Bundle; @@ -107,20 +107,20 @@ public enum HeroClass { private static void initWarrior( Hero hero ) { (hero.belongings.weapon = new WornShortsword()).identify(); - Dart darts = new Dart(); - darts.identify().quantity(3).collect(); + ThrowingStone stones = new ThrowingStone(); + stones.identify().quantity(3).collect(); if ( Badges.isUnlocked(Badges.Badge.TUTORIAL_WARRIOR) ){ if (!Dungeon.isChallenged(Challenges.NO_ARMOR)) hero.belongings.armor.affixSeal(new BrokenSeal()); - Dungeon.quickslot.setSlot(0, darts); + Dungeon.quickslot.setSlot(0, stones); } else { if (!Dungeon.isChallenged(Challenges.NO_ARMOR)) { BrokenSeal seal = new BrokenSeal(); seal.collect(); Dungeon.quickslot.setSlot(0, seal); } - Dungeon.quickslot.setSlot(1, darts); + Dungeon.quickslot.setSlot(1, stones); } new PotionOfHealing().identify(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingStone.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingStone.java new file mode 100644 index 000000000..a1b08871e --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingStone.java @@ -0,0 +1,61 @@ +/* + * Pixel Dungeon + * Copyright (C) 2012-2015 Oleg Dolya + * + * Shattered Pixel Dungeon + * Copyright (C) 2014-2017 Evan Debenham + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ + +package com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles; + +import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; + +public class ThrowingStone extends MissileWeapon { + + { + image = ItemSpriteSheet.THROWING_STONE; + + sticky = false; + + bones = false; + + } + + @Override + public int min(int lvl) { + return 1; + } + + @Override + public int max(int lvl) { + return 5; + } + + @Override + public int STRReq(int lvl) { + return 9; + } + + @Override + protected float durabilityPerUse() { + return super.durabilityPerUse()*3.34f; + } + + @Override + public int price() { + return quantity; + } +} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java index fbaa1ef6f..8585ac568 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java @@ -211,6 +211,7 @@ public class ItemSpriteSheet { public static final int DART = MISSILE_WEP+1; public static final int THROWING_KNIFE = MISSILE_WEP+2; + public static final int THROWING_STONE = MISSILE_WEP+3; public static final int SHURIKEN = MISSILE_WEP+4; @@ -228,6 +229,7 @@ public class ItemSpriteSheet { assignItemRect(DART, 15, 15); assignItemRect(THROWING_KNIFE, 12, 13); + assignItemRect(THROWING_STONE, 9, 9); assignItemRect(SHURIKEN, 12, 12); 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 524139545..7e5da4db8 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 @@ -964,6 +964,9 @@ items.weapon.missiles.throwinghammer.desc=These hefty hammers are designed to be 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. +items.weapon.missiles.throwingstone.name=throwing stone +items.weapon.missiles.throwingstone.desc=These stones are sanded down to make them able to be thrown with more power than a regular stone. Despite the craftsmanship, they still aren't a very reliable weapon. + items.weapon.missiles.tomahawk.name=tomahawk items.weapon.missiles.tomahawk.desc=These throwing axes have a serrated edge that makes using them tricky to use. However, a solid blow with this weapon will cause an enemy to bleed.