From 04b2619ff9847e9b65112afa18f2b9b2d62406a1 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 16 Dec 2022 14:03:34 -0500 Subject: [PATCH] v2.0.0: added a unique starting thrown weapon for the duelist --- .../assets/messages/actors/actors.properties | 2 +- .../assets/messages/items/items.properties | 3 ++ core/src/main/assets/sprites/items.png | Bin 20654 -> 20675 bytes .../actors/hero/HeroClass.java | 7 ++-- .../items/Generator.java | 4 +- .../items/weapon/missiles/ThrowingSpike.java | 39 ++++++++++++++++++ .../sprites/ItemSpriteSheet.java | 35 ++++++++-------- .../sprites/MissileSprite.java | 2 + .../windows/WndHeroInfo.java | 2 +- 9 files changed, 71 insertions(+), 23 deletions(-) create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingSpike.java diff --git a/core/src/main/assets/messages/actors/actors.properties b/core/src/main/assets/messages/actors/actors.properties index af22ac8e2..1700c6093 100644 --- a/core/src/main/assets/messages/actors/actors.properties +++ b/core/src/main/assets/messages/actors/actors.properties @@ -507,7 +507,7 @@ actors.hero.heroclass.huntress_unlock=To unlock the Huntress _hit enemies with t actors.hero.heroclass.duelist=Duelist actors.hero.heroclass.duelist_desc_short=The Duelist is a weapons master who can use her weapon to trigger a _special weapon ability._ This special ability is _different for every weapon._ -actors.hero.heroclass.duelist_desc=The Duelist starts with a _unique rapier_ with a special ability that recharges over time.\n\nEvery weapon in the game has a _different special ability_ that the Duelist can use.\n\nThe duelist also starts with _three throwing knives_, cloth armor, a waterskin, and a velvet pouch.\n\nThe Duelist automatically identifies:\n_-_ Scrolls of Identify\n_-_ Potions of Strength\n_-_ Scrolls of Mirror Image +actors.hero.heroclass.duelist_desc=The Duelist starts with a _unique rapier_ with a special ability that recharges over time.\n\nEvery weapon in the game has a _different special ability_ that the Duelist can use.\n\nThe duelist also starts with _two throwing spikes_, cloth armor, a waterskin, and a velvet pouch.\n\nThe Duelist automatically identifies:\n_-_ Scrolls of Identify\n_-_ Potions of Strength\n_-_ Scrolls of Mirror Image actors.hero.heroclass.duelist_unlock=To unlock the Duelist _equip a tier 2 or higher weapon with no strength penalty._ actors.hero.herosubclass.berserker=berserker diff --git a/core/src/main/assets/messages/items/items.properties b/core/src/main/assets/messages/items/items.properties index c371a76a5..2007ce121 100644 --- a/core/src/main/assets/messages/items/items.properties +++ b/core/src/main/assets/messages/items/items.properties @@ -1785,6 +1785,9 @@ items.weapon.missiles.throwingknife.desc=These lightweight knives are balanced t items.weapon.missiles.throwingspear.name=throwing spear items.weapon.missiles.throwingspear.desc=These lightweight spears have thin frames which are clearly designed to be thrown, and not thrusted. +items.weapon.missiles.throwingspike.name=throwing spike +items.weapon.missiles.throwingspike.desc=These pointed shafts of metal are meant to be thrown into distant enemies. While they aren't very strong, their simple all-metal construction makes them reasonably durable. + 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. diff --git a/core/src/main/assets/sprites/items.png b/core/src/main/assets/sprites/items.png index effe9d6beb75c81c453b9fdec754fa2e7b815f51..da51340fe4860642c4186cdb10eec92444f5cb80 100644 GIT binary patch literal 20675 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[]{ ThrowingStone.class, - ThrowingKnife.class + ThrowingKnife.class, + ThrowingSpike.class }; MIS_T1.probs = new float[]{ 6, 5 }; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingSpike.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingSpike.java new file mode 100644 index 000000000..32bce40f1 --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingSpike.java @@ -0,0 +1,39 @@ +/* + * Pixel Dungeon + * Copyright (C) 2012-2015 Oleg Dolya + * + * Shattered Pixel Dungeon + * Copyright (C) 2014-2022 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.Assets; +import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; + +public class ThrowingSpike extends MissileWeapon { + + { + image = ItemSpriteSheet.THROWING_SPIKE; + hitSound = Assets.Sounds.HIT_STAB; + hitSoundPitch = 1.2f; + + bones = false; + + tier = 1; + } + +} 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 306db33ad..91ae74762 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java @@ -272,10 +272,10 @@ public class ItemSpriteSheet { //8 free slots - private static final int MISSILE_WEP = xy(1, 10); //16 slots. 3 per tier + boomerang + private static final int MISSILE_WEP = xy(1, 10); //16 slots. 3 per tier + bow public static final int SPIRIT_BOW = MISSILE_WEP+0; - public static final int DART = MISSILE_WEP+1; + public static final int THROWING_SPIKE = MISSILE_WEP+1; public static final int THROWING_KNIFE = MISSILE_WEP+2; public static final int THROWING_STONE = MISSILE_WEP+3; @@ -298,7 +298,7 @@ public class ItemSpriteSheet { static{ assignItemRect(SPIRIT_BOW, 16, 16); - assignItemRect(DART, 15, 15); + assignItemRect(THROWING_SPIKE, 11, 10); assignItemRect(THROWING_KNIFE, 12, 13); assignItemRect(THROWING_STONE, 12, 10); @@ -319,21 +319,22 @@ public class ItemSpriteSheet { assignItemRect(FORCE_CUBE, 11, 12); } - public static final int TIPPED_DARTS = xy(1, 11); //16 slots - public static final int ROT_DART = TIPPED_DARTS+0; - public static final int INCENDIARY_DART = TIPPED_DARTS+1; - public static final int ADRENALINE_DART = TIPPED_DARTS+2; - public static final int HEALING_DART = TIPPED_DARTS+3; - public static final int CHILLING_DART = TIPPED_DARTS+4; - public static final int SHOCKING_DART = TIPPED_DARTS+5; - public static final int POISON_DART = TIPPED_DARTS+6; - public static final int CLEANSING_DART = TIPPED_DARTS+7; - public static final int PARALYTIC_DART = TIPPED_DARTS+8; - public static final int HOLY_DART = TIPPED_DARTS+9; - public static final int DISPLACING_DART = TIPPED_DARTS+10; - public static final int BLINDING_DART = TIPPED_DARTS+11; + public static final int DARTS = xy(1, 11); //16 slots + public static final int DART = DARTS+0; + public static final int ROT_DART = DARTS+1; + public static final int INCENDIARY_DART = DARTS+2; + public static final int ADRENALINE_DART = DARTS+3; + public static final int HEALING_DART = DARTS+4; + public static final int CHILLING_DART = DARTS+5; + public static final int SHOCKING_DART = DARTS+6; + public static final int POISON_DART = DARTS+7; + public static final int CLEANSING_DART = DARTS+8; + public static final int PARALYTIC_DART = DARTS+9; + public static final int HOLY_DART = DARTS+10; + public static final int DISPLACING_DART = DARTS+11; + public static final int BLINDING_DART = DARTS+12; static { - for (int i = TIPPED_DARTS; i < TIPPED_DARTS+16; i++) + for (int i = DARTS; i < DARTS+16; i++) assignItemRect(i, 15, 15); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/MissileSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/MissileSprite.java index 732205d78..00c84afe2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/MissileSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/MissileSprite.java @@ -33,6 +33,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Kunai; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Shuriken; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.ThrowingKnife; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.ThrowingSpear; +import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.ThrowingSpike; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Trident; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.Dart; import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap; @@ -90,6 +91,7 @@ public class MissileSprite extends ItemSprite implements Tweener.Listener { static { ANGULAR_SPEEDS.put(Dart.class, 0); ANGULAR_SPEEDS.put(ThrowingKnife.class, 0); + ANGULAR_SPEEDS.put(ThrowingSpike.class, 0); ANGULAR_SPEEDS.put(FishingSpear.class, 0); ANGULAR_SPEEDS.put(ThrowingSpear.class, 0); ANGULAR_SPEEDS.put(Kunai.class, 0); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHeroInfo.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHeroInfo.java index a314ecb3c..0b0891e5a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHeroInfo.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHeroInfo.java @@ -195,7 +195,7 @@ public class WndHeroInfo extends WndTabbed { case DUELIST: icons = new Image[]{ new ItemSprite(ItemSpriteSheet.RAPIER), new ItemSprite(ItemSpriteSheet.WAR_HAMMER), - new ItemSprite(ItemSpriteSheet.THROWING_KNIFE), + new ItemSprite(ItemSpriteSheet.THROWING_SPIKE), new ItemSprite(ItemSpriteSheet.SCROLL_ISAZ)}; break; }