diff --git a/core/src/main/assets/messages/items/items.properties b/core/src/main/assets/messages/items/items.properties index fb324cf87..d4de9d424 100644 --- a/core/src/main/assets/messages/items/items.properties +++ b/core/src/main/assets/messages/items/items.properties @@ -694,8 +694,8 @@ items.keys.crystalkey.desc=The cut surfaces of this crystalline key shimmer in t items.keys.ironkey.name=iron key items.keys.ironkey.desc=The notches on this ancient iron key are well worn; its leather lanyard is battered by age. What door might it open? -items.keys.skeletonkey.name=skeleton key -items.keys.skeletonkey.desc=This key looks serious: its head is shaped like a skull. Probably it can open some serious door. +items.keys.wornkey.name=worn key +items.keys.wornkey.desc=This key is worn and discolored, but looks serious. Probably it can open some serious door nearby. diff --git a/core/src/main/assets/sprites/items.png b/core/src/main/assets/sprites/items.png index ad2d29321..bf1f33fbd 100644 Binary files a/core/src/main/assets/sprites/items.png and b/core/src/main/assets/sprites/items.png differ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java index a86cdadd0..43175fdd5 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java @@ -47,6 +47,11 @@ public class ShatteredPixelDungeon extends Game { public ShatteredPixelDungeon( PlatformSupport platform ) { super( sceneClass == null ? WelcomeScene.class : sceneClass, platform ); + //pre-v3.3.0 + com.watabou.utils.Bundle.addAlias( + com.shatteredpixel.shatteredpixeldungeon.items.keys.WornKey.class, + "com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey" ); + //pre-v2.5.3 com.watabou.utils.Bundle.addAlias( com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfDetectMagic.class, diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java index fe20c8479..3c6969963 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java @@ -113,7 +113,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.keys.CrystalKey; import com.shatteredpixel.shatteredpixeldungeon.items.keys.GoldenKey; import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; import com.shatteredpixel.shatteredpixeldungeon.items.keys.Key; -import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey; +import com.shatteredpixel.shatteredpixeldungeon.items.keys.WornKey; import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion; import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfExperience; import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHealing; @@ -1219,7 +1219,7 @@ public class Hero extends Char { hasKey = true; } else if (door == Terrain.LOCKED_EXIT - && Notes.keyCount(new SkeletonKey(Dungeon.depth)) > 0) { + && Notes.keyCount(new WornKey(Dungeon.depth)) > 0) { hasKey = true; @@ -2345,7 +2345,7 @@ public class Hero extends Char { CellEmitter.get( doorCell ).start( Speck.factory( Speck.DISCOVER ), 0.025f, 20 ); } } else { - hasKey = Notes.remove(new SkeletonKey(Dungeon.depth)); + hasKey = Notes.remove(new WornKey(Dungeon.depth)); if (hasKey) Level.set(doorCell, Terrain.UNLOCKED_EXIT); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java index 7b718a163..e96a70a5b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Goo.java @@ -33,7 +33,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Ooze; import com.shatteredpixel.shatteredpixeldungeon.effects.FloatingText; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.DriedRose; -import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey; +import com.shatteredpixel.shatteredpixeldungeon.items.keys.WornKey; import com.shatteredpixel.shatteredpixeldungeon.items.quest.GooBlob; import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; @@ -287,7 +287,7 @@ public class Goo extends Mob { Dungeon.level.unseal(); GameScene.bossSlain(); - Dungeon.level.drop( new SkeletonKey( Dungeon.depth ), pos ).sprite.drop(); + Dungeon.level.drop( new WornKey( Dungeon.depth ), pos ).sprite.drop(); //60% chance of 2 blobs, 30% chance of 3, 10% chance for 4. Average of 2.5 int blobs = Random.chances(new float[]{0, 0, 6, 3, 1}); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/keys/SkeletonKey.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/keys/WornKey.java similarity index 92% rename from core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/keys/SkeletonKey.java rename to core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/keys/WornKey.java index e6ecd3220..92e270632 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/keys/SkeletonKey.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/keys/WornKey.java @@ -32,17 +32,17 @@ import com.watabou.utils.Callback; import java.io.IOException; -public class SkeletonKey extends Key { +public class WornKey extends Key { { - image = ItemSpriteSheet.SKELETON_KEY; + image = ItemSpriteSheet.WORN_KEY; } - public SkeletonKey() { + public WornKey() { this( 0 ); } - public SkeletonKey( int depth ) { + public WornKey( int depth ) { super(); this.depth = depth; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java index ac393ad40..e0c1760c3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/journal/Catalog.java @@ -68,7 +68,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.food.SupplyRation; import com.shatteredpixel.shatteredpixeldungeon.items.keys.CrystalKey; import com.shatteredpixel.shatteredpixeldungeon.items.keys.GoldenKey; import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; -import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey; +import com.shatteredpixel.shatteredpixeldungeon.items.keys.WornKey; import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.AquaBrew; import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.BlizzardBrew; import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.CausticBrew; @@ -253,7 +253,7 @@ public enum Catalog { ReclaimTrap.class, SummonElemental.class, BeaconOfReturning.class); MISC_CONSUMABLES.addItems( Gold.class, EnergyCrystal.class, Dewdrop.class, - IronKey.class, GoldenKey.class, CrystalKey.class, SkeletonKey.class, + IronKey.class, GoldenKey.class, CrystalKey.class, WornKey.class, TrinketCatalyst.class, Stylus.class, Torch.class, Honeypot.class, Ankh.class, CorpseDust.class, Embers.class, CeremonialCandle.class, DarkGold.class, DwarfToken.class, GooBlob.class, TengusMask.class, MetalShard.class, KingsCrown.class, 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 ebb6c3db0..0b44641d1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java @@ -144,7 +144,7 @@ public class ItemSpriteSheet { public static final int IRON_KEY = MISC_CONSUMABLE +7; public static final int GOLDEN_KEY = MISC_CONSUMABLE +8; public static final int CRYSTAL_KEY = MISC_CONSUMABLE +9; - public static final int SKELETON_KEY = MISC_CONSUMABLE +10; + public static final int WORN_KEY = MISC_CONSUMABLE +10; public static final int MASK = MISC_CONSUMABLE +11; public static final int CROWN = MISC_CONSUMABLE +12; public static final int AMULET = MISC_CONSUMABLE +13; @@ -171,7 +171,7 @@ public class ItemSpriteSheet { assignItemRect(IRON_KEY, 8, 14); assignItemRect(GOLDEN_KEY, 8, 14); assignItemRect(CRYSTAL_KEY, 8, 14); - assignItemRect(SKELETON_KEY, 8, 14); + assignItemRect(WORN_KEY, 8, 14); assignItemRect(MASK, 11, 9); assignItemRect(CROWN, 13, 7); assignItemRect(AMULET, 16, 16); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/KeyDisplay.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/KeyDisplay.java index 68f696835..645a091b3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/KeyDisplay.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/KeyDisplay.java @@ -27,7 +27,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.keys.CrystalKey; import com.shatteredpixel.shatteredpixeldungeon.items.keys.GoldenKey; import com.shatteredpixel.shatteredpixeldungeon.items.keys.IronKey; import com.shatteredpixel.shatteredpixeldungeon.items.keys.Key; -import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey; +import com.shatteredpixel.shatteredpixeldungeon.items.keys.WornKey; import com.shatteredpixel.shatteredpixeldungeon.journal.Notes; import com.watabou.gltextures.SmartTexture; import com.watabou.gltextures.TextureCache; @@ -57,7 +57,7 @@ public class KeyDisplay extends Visual { //and the order they will be truncated if there is no space (higher first, larger counts first) private static final LinkedHashMap, Integer> keyMap = new LinkedHashMap<>(); static { - keyMap.put(SkeletonKey.class, 1); + keyMap.put(WornKey.class, 1); keyMap.put(CrystalKey.class, 2); keyMap.put(GoldenKey.class, 3); keyMap.put(IronKey.class, 4); diff --git a/docs/recommended-changes.md b/docs/recommended-changes.md index 1a9bbca42..e62822ccd 100644 --- a/docs/recommended-changes.md +++ b/docs/recommended-changes.md @@ -34,7 +34,7 @@ For icons, you can find the icons for each platform here: [Android(debug)](/andr You will likely want to add yourself to the credits or change the current supporter link. Feel free to adjust these however you like, the relevant code is in [AboutScene.java](/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/AboutScene.java) and [SupporterScene.java](/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/SupporterScene.java). If you wish to disable the supporter link, simply comment out the line `add(btnSupport);` in [TitleScene.java](/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/TitleScene.java). -The game also has a one-time nag window that appears when the player first defeats Goo. If you wish to edit this window, the code is in [WndSupportPrompt.java](/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndSupportPrompt.java). If you wish to disable it entirely, the triggering logic is in [SkeletonKey.java](/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/keys/SkeletonKey.java). +The game also has a one-time nag window that appears when the player first defeats Goo. If you wish to edit this window, the code is in [WndSupportPrompt.java](/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndSupportPrompt.java). If you wish to disable it entirely, the triggering logic is in [WornKey.java](/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/keys/WornKey.java). Note that due to the GPLv3 license, any edits you make to the credits scene must avoid removing any existing credits, though you can reposition them however you like. Additionally, while not required, I would appreciate leaving in a reference and a link to my Patreon, though you are free to add your own as well.